本文属于:随便传点上机报告赚积分系列
一、实验目的
1.学习 keil 软件的使用方法(创建 C 语言工程、创建汇编语言工程)
2.学习利用 proteus 的单片机和外围电路设计方法
3.掌握 proteus 和 keil 联合调试
二、实验工具
1.Proteus 仿真软件
2.Keil 单片机源码集成开发环境
三、实验要求
1.利用 proteus 完成原理图设计
2.利用 keil 完成 C 和汇编源代码设计
3.实现流水灯功能和联合调试
四、实验内容
1.keil软件使用
(1)keil创建工程
图 1 选择单片机89C51
(2)创建新文件
若创建汇编程序,保存后缀名为.asm ;
若创建c语言程序,保存后缀名为.c 。
图 2 创建空白文件
(3)开发界面
图 3 keil开发界面
(4)创建hex文件
点击魔术棒> Output> 勾选Create HEX file.
图 4 魔术棒界面
(5)keil中的debug调试
写好代码后,点击编译按钮(F7)检查是否有错误,编译无误后,点击工具栏的放大镜进入debug模式(或Ctrl+F5)。
debug界面中:
·左侧Register为寄存器窗口,显示内部寄存器的内容、运行次数等。
·上方Disassenmbly为反汇编窗口,显示每行代码的机器码等。
·右下Watch为查看窗口,可以设置变量、表达式等并观察其变化。
·右下Memory为内存窗口,可以查看内存单元中的数据。
图 5 debug界面
(6)逐行调试
点逐行调试(F10),同时查看寄存器变化。
例如:执行“mov a,#5”后,寄存器a从0x00变成了0x05。
图 7 逐行调试
(7)查看指定内存的方法
x:代表外部数据存储器,i:代表内部数据存储器,c:代表程序存储器。
例如:想查看外部RAM的0050h单元,在memory窗口输入x:0050h。
图 8 查看内存
(8)查看指定变量的方法
在watch窗口中输入相应变量名即可。
图 9 查看指定变量
2.Proteus软件使用
(1)元件选择
右键DEVICES的空白处,选Pick Devices打开元件库选择元件。可以使用关键词搜索元件。
图 10 元件库
(2)电源选择
电源和地都在TERMINALS里面。
(3)去掉多余
Template > Edit Design Default >取消勾选Show hidden text。
3.最小系统设计
连接晶振、电容、电阻、电源、地等,构成最小系统。
图 11 最小系统
4.LED流水灯设计
(1)电路设计
图 12 LED流水灯电路
(2)程序设计
流水灯程序用汇编语言编写,原理为将P3寄存器的各端口依次置0。
start部分为主程序,delay为延迟程序,用于控制流水灯闪烁的延迟时间。
图 13 流水灯汇编程序
5.报警器程序设计
(1)包含头文件:reg51.h
(2)主程序:调用两次不同频率的警铃程序,包含在while(1)循环中。
(3)警铃程序:不断将P2.1端口置零和置1,延迟时间由外部参数t决定。
图 14 蜂鸣器程序
6.Keil和Proteus联合调试
(1)keil中的设置
魔术棒> Debug> 选择Use:Proteus VSM Monitor-51 Device。
图 15 Keil设置联合调试
(2)Proteus中的设置
·Debug > 勾选Use Remote Debug Monitor
·双击89c51 >Program File选择hex文件。
(3)联合调试过程
·在Keil中开始Debug,Proteus仿真也自动运行
·Keil中进行单步调试,Proteus仿真流水灯也相应闪烁。
图 16 联合调试
本文详细介绍了如何使用Keil和Proteus进行89c51单片机的联合调试,包括Keil的工程创建、代码编写、调试步骤,以及Proteus的电路设计和联合调试配置,通过流水灯和报警器程序实例展示整个流程。

264

被折叠的 条评论
为什么被折叠?



