Keil与Proteus联合调试89c51单片机

本文详细介绍了如何使用Keil和Proteus进行89c51单片机的联合调试,包括Keil的工程创建、代码编写、调试步骤,以及Proteus的电路设计和联合调试配置,通过流水灯和报警器程序实例展示整个流程。

本文属于:随便传点上机报告赚积分系列

一、实验目的

1.学习 keil 软件的使用方法(创建 C 语言工程、创建汇编语言工程)
2.学习利用 proteus 的单片机和外围电路设计方法
3.掌握 proteus 和 keil 联合调试

二、实验工具

1.Proteus 仿真软件
2.Keil 单片机源码集成开发环境

三、实验要求

1.利用 proteus 完成原理图设计
2.利用 keil 完成 C 和汇编源代码设计
3.实现流水灯功能和联合调试

四、实验内容

1.keil软件使用
(1)keil创建工程
选择单片机89C51图 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 联合调试

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值