您的当前位置:首页正文

(完整版)流水灯(电路和汇编)-Proteus和Keil仿真演示实例

2021-02-18 来源:爱go旅游网


示例要求:

在80C51单片机的P2口连接8个发光二极管指示灯,编程实现流水灯的控制,轮流点亮指示灯。 在KEIL 51中编程序,形成HEX文件;在PROTEUS中设计硬件,下载HEX文件,运行看结果。

第1篇:PROTEUS电路设计

1、打开PROTEUS的ISIS软件,如图1所示。新建电路图文件,将文件保存到E:\\projectio(新建文件夹projectio)下面,文件基本名为io,扩展名默认。

选择元件

图1 ISIS窗口图

2、在component mode模式下单击选择元件按钮P,打开元件选择对话框,如图2所示。

图2 元件选择窗口

在元件选择对话框的keywords窗口中输入元件关键字可换搜索元件,找到元件后,双击元件则可选中元

件,添加元件到图3的device列表栏。在这里依次添加元件单片机80C51、电阻RES、电容CAP、按键BUTTON、晶振CRYSTAL、发光二极管LED-RED,如图3所示。

图3 添加元件的device列表栏

3、选择devices元件列表中的元件放到工作窗口,注意放置在工作窗口合适的位置,在元件放置时可对元件进行移动、旋转等操作;如图4所示。电源(POWER)与地(GROUND):(右键-放置-终端里选)。

图4 放置元件图

4、连接导线,如图5所示。连接后存盘。

图5 连接元件图

5、在Keil软件中设计软件程序,形成HEX文件(具体过程见第2篇Keil软件编程)。保存软件项目到电路文件相同的文件夹E:\\projectio下。

6、在PROTEUS电路图中,单击单片机80C51芯片,选中,再次单击打开单片机80C51的属性对话框,在属性对话框中的program file框中选择下载到80C51芯片中的程序。这里是同一个文件夹下面的shili.hex文件。如图6所示。

图6 下载程序到单片机

7、单击仿真运行按钮play,运行程序。可通过LED二极管看到相应的结果。如图7所示。

图7 仿真结果图

第2篇:Keil软件编程

1、 运行KEIL51软件,出现图1所示KEIL 51主界面。

图1 KEIL 51主界面

首先用Project菜单下的New Project命令建立项目文件,过程如下:

(1)选择Project菜单下的New Project命令,弹出如图2所示的Create new Project对话框。

(2)在Create New Project对话框中选择新建项目文件的位置(与PROTEUS电路图文件同一个文件夹下E:\\projectio),输入新建项目文件的名称,例如,项目文件名为shili,单击【保存】按钮将弹出如图3所示的Select Device for Target ‘Target 1’对话框,用户可以根据使用情况选择单片机型号。Keil uVision2 IDE几乎支持所有的51核心的单片机,并以列表的形式给出。选中芯片后,在右边的描述框中将同时显示选中的芯片的相关信息以供用户参考。

图2 Create New Project对话框

图3 Select Device for Target ‘Target 1’对话框

(3)这里选择atmel公司的AT89c51。单击【确定】按钮,这时弹出如图4所示的Copy Standard 8051 Startup Code to Project Folder and Add File to Project确认框,C语言开发选择【是】,汇编语言开发选择【否】。单击后,项目文件就创建好了。项目文件创建后,在主界面的左侧的项目窗口可以看到项目文件的内容。这时只有一个框架,紧接着需向项目文件中添加程序文件内容。

图4 Copy Standard 8051 Startup Code to Project Folder and Add File to Project确认框

2、给项目添加程序文件

当项目文件建立好后,就可以给项目文件加入程序文件了,Keil uVision2支持C语言程序,也支持汇编语言程序。这些程序文件可以是已经建立好了的程序文件,也可以是新建的程序文件,这里我们新建的汇编程序文件后再添加。

(1) 选择文件菜单上的new命令,出现新建文本窗口,如图5所示。

图5 新建文本窗口

在文本编辑窗口中输入程序。存盘,假设文件名为chengxu.asm。注意汇编程序文件扩展名为.asm,这时默认路径为工程文件夹。参考程序如下:

ORG 0000H LJMP MAIN ORG 0100H

MAIN: MOV A, #01H LOOP: MOV P2, A LCALL DELAY RL A

SJMP LOOP SJMP $

DELAY: MOV R2, #0FFH DELAY1: MOV R3, #0FFH DJNZ R3, $

DJNZ R2, DELAY1 RET END

(2)添加文件到项目中。在项目管理器窗口中,展开Target1项,可以看到Source Group1子项。右击Source Group1,在出现菜单中选择Add Files to Group ‘Source Group1’命令。出现添加文件的窗口,加程序chengxu.asm如到项目中。如图6所示。注意文件类型要选择为*.a*。

图6 添加程序文件到项目

3、编译、连接项目,形成目标文件

当把程序文件添加到项目文件中,并且程序文件已经建立好存盘后,就可以进行编译、连接,形成HEX目标文件(只在keil 51中软件仿真可以不形成目标文件)。

(1)选择Project菜单下的Built Target命令(或快捷键F7) 编译、连接当前项目,编译、连接时,如果程序有错,则编译不成功,并在下面的信息窗口给出相应的出错提示信息,以便用户进行修改,修改后再编译、连接,这个过程可能会重复多次。如果没有错误,则编译、连接成功,并且在信息窗口给出提示信息。如图7所示。

图7 编译、连接后的显示图

(2)如果要做硬件下载可硬件仿真,则要形成HEX目标文件,须先对输出选项进行相应的设置,设置后再进行编译连接。方法如下:右击项目管理器窗口的Target1项,在右键菜单中选择下面的Options for Target ‘Target 1’命令,在Options for Target ‘Target 1’对话框选择Output选项卡,在该选项卡选中Create HEX File选项,选择生成HEX文件,然后按(1)操作进行编译连接。如图8所示。

图8 Options for Target ‘Target 1’ 对话框

4、运行调试观察结果(本示例不需要的步骤)

当项目编译、连接成功后,就可以运行它来观察结果。

先用Debug菜单下的Start/Stop Debug Session命令(快捷键Ctrl+F5)启动调试过程,启动后可用Debug菜单下Go连续运行命令、Step单步运行、Stop running停止运行命令等运行程序观察结果。

因篇幅问题不能全部显示,请点此查看更多更全内容