Proteus-Keil联调例程-手动计数器
时间:2026-01-19
时间:2026-01-19
手动计数器设计内容 利用单片机AT89C51制作一个0~99计数器手动计 数器,用其P2.0~P2.7接一个共阴极数码管,输 出显示0~99计数值的个位,用P0.0~P0.7接数码 管输出显示计数值的十位数。P3.3引脚外接一轻触 开关,要求每按下一次按键,计数值加1,当计数 值超出99后自动返回0重新开始循环计数。 训练目的 掌握AT89C51单片机I/O口输入输出的应用方法; 掌握单片机驱动7段数码管显示数字的编程方法。
Proteus电路设计 Proteus电路设计1. 元件清单列表 打开Proteus ISIS编辑环境,按表6-1所列的清单添加元件。表6-1 元件清单元件名称 所 属 类 所属子类
AT89C51
Microprocessor ICs
8051 Family
CAP
Capacitors
Generic
CAP-ELEC
Capacitors
Generic
CRYSTAL
Miscellaneous
-
RES
Resistors
Generic
7SEG-COM-CAT-GRN
Optoelectronics
7-Segment Displays
BUTTON
Switches&Relays
Switches
2. 电路原理图 元件全部添加后,在Proteus ISIS的编辑区域中按 下图所示的原理图(晶振和复位电路略)连接硬件电 路。
电路原理图
Proteus调试与仿真 Proteus调试与仿真1. 建立程序文件 (1) 打开Keil µVision2,新建Keil项目,选择AT89C51单 片机作为CPU; (2) 新建汇编源文件,编写程序并将其导入到“Source Group 1”中; (3) 在“Options for Target”对话框中,选中“Output” 选项卡中的“Create HEX File”选项和“Debug”选项卡 中的“Use:Proteus VSM Simulator”选项; (4) 编译源程序,修改程序中的错误直至通过。
2. 加载目标代码文件 (1) 在Proteus ISIS中,左键双击AT89C51元件打开“Edit Component”对话框,设置单片机的频率为12MHz; (2) 在该窗口的“Program File”栏中,选择先前在Keil中编译产生 的“.HEX”文件;
(3) 在Proteus ISIS菜单栏中选择【File】→【Save Design Design】选项,保存设计; (4) 在Proteus ISIS菜单栏中,打开“Debug”下拉菜单 ,在菜单中选择“Use Remote Debug Monitor”选项, 以支持与Keil的联调。 3. 进行调试与仿真 (1) 在Keil的菜单栏中选择【Debug】→【Start/Stop
Debug Session】选项,或者在工具栏中直接单击图 标,进入调试环境;
3. 进行调试与仿真 (1) 在Keil的菜单栏中选择【Debug】→【 Start/Stop Debug Session】选项,或者在工具 栏中直接单击图标,进入调试环境; (2) 按“F5”键或图标,顺序执行程序; (3) 在Proteus ISIS界面中,按动开关,可看到数 码管的显示值随之加1,如图所示。
图
程序运行结果
总结与提示AT89C51单片机的P0口在作为普通I/O使用时必须 加上拉电阻,否则不能准确输入或输出高低电平。 仿真时可通过观察P0口的电平状态来体会这一点。 在Proteus与Keil的联调过程中,可以综合运用Keil 中的多种调试功能来详细观察电路的工作情况
。
下一篇:慈溪市天元镇小学英语课题组