C51设计和仿真

本文讲述了如何通过Proteus进行AT89C51LED流水灯的电路设计,以及使用KeiluVision5进行程序编写和仿真过程。

一、Proteus下载和安装

参考Proteus使用教程并仿真51程序——LED流水灯_proteus 51 仿真-优快云博客

二、创建一个proteus工程

1、在主界面点击创建新工程文件

2、自定义工程名,保存位置,选择新工程

3、创建原理图(如果不需要创建原理图,可以勾选 Do not create a schematic),然后默认选择 DEFAULT ,再点击 Next 。

4、创建 PCB(如果不需要创建PCB,可以勾选Do not create a PCB layout),默认选择 DEFAULT ,再点击 Next 。接着连点三次Next.

5、勾选创建固件项目,芯片选择AT89C51,Finish.

6、设计流水灯

1)添加元件

(1)点击绘制原理图按钮

(2)左键单击元件,然后再点击P按钮,进入元件选择界面。

(3)在 Keywords 处输入 AT89C51 ,然后在中间的窗口内双击AT89C51芯片,即可添加到元件列表中,而后依次添加LED-YELLOW、RES。 

2)摆放元件

(1)左击元件列表窗内的 AT89C51 芯片,然后再原理图编辑窗口内左击摆放。

(2)左击元件列表内的 LED-YELLOW ,再点击 旋转按钮 ,可以在预览窗内看见元件顺时针旋转了下,再在原理图编辑框内一次摆放LED灯共8个。

(3)再按照(2)的步骤依次摆放8个电阻,然后左键双击“10K”,弹出修改值的对话框,将10K修改为300,以至于让LED更亮。

(4)拉一条主线。(左击一下起点,然后移动鼠标,然后双击一下终点,即可拉一条主线)

(5)连接管脚。(左击一下起点和左击一下终点即可连接)

(6)点击终端接口→选择POWER,放置电源,然后左键双击电源图标,修改为VCC,再点击OK。

(7)使用 LBL 为支线标记编号,连接到主线的支线,需要对支线进行编号才能正常连接,否则后面需要正常实验成功(使用方法:点击 LBL 后,在左键单击支线上,修改值)

(8)完成

三、程序编写

软件:keil uVision5

(1)主界面点击Project,选择 New uVision Project …

(2)命名

(3)选择AT89C51芯片,点OK,再点“是”

(4)编写C51代码:新建一个文件,命名为main.c

<p><code>//51单片机编程常用的头文件</code>
    <code>#include &lt;reg51.h&gt;</code>
    <code>#include &lt;intrins.h&gt;</code>
    <code>//延迟函数</code>
    <code>void delay_ms(int a)</code>
    <code>{</code>
        <code>int i,j;</code>
        <code>for(i=0;i&lt;a;i++)</code>
        <code>{</code>
            <code>for(j=0;j&lt;1000;j++) _nop_();</code>
``  </p>
<p> <code>}</code>
<code>}</code></p>
<p><code>void main(void)</code>
<code>{</code>
    <code>while(1)</code>
    <code>{</code>
        <code>P0=0xfe;</code>
        <code>delay_ms(50);</code>
        <code>P0=0xfd;</code>
        <code>delay_ms(50);</code>
        <code>P0=0xfb;</code>
        <code>delay_ms(50);</code>
        <code>P0=0xf7;</code>
        <code>delay_ms(50);</code>
        <code>P0=0xef;</code>
        <code>delay_ms(50);</code>
        <code>P0=0xdf;</code>
        <code>delay_ms(50);</code>
        <code>P0=0xbf;</code>
        <code>delay_ms(50);</code>
        <code>P0=0x7f;</code>
        <code>delay_ms(50);</code>
    <code>}</code>
<code>}</code></p>
​

输入代码后,保存,命名main.c

(5)右键点击 Source Group 1 ,再点击 Add Existing Files to Group “Source Group 1”…

(6)选中刚刚创建的 main.c 文件,并点击 Add 。

(7)点击魔法棒图标,在弹出窗口点击output,再勾选 Create HEX File ,然后点击 OK

(8)编译。会发现main下面生成了两个头文件。

4开始仿真

回到Proteus软件的原理图内,双击 AT89C51 芯片图标后,在弹出的窗口的 Program File 一栏从刚才 keil 软件编译后的路径中添加 .hex 文件(Objects中),再点击 OK ,接着开始调试。可以看到LED灯轮流闪亮。

四、总结

操作过程中一定要注意Proteus和keil工程中的芯片一致。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值