单 片 机 仿 真 实 验 系 统 MCS-51实验指导书
南昌大学
本实验指导是为适应单片机原理与应用方面的课程需做大量软硬件实验的需要而编写的,供学生编程用。完成本实验指导中的实验,可使学生基本掌握 MCS-51单片机的结构原理、接口技术、程序设计技巧。实验指导书中详细叙述了各实验的目的、内容,列出了接线图、程序框图和实验步骤。
单片机实验注意事项:
1:主CPU为8032,需要扩充一片6264作为数据区,连接6264的读写信号到
CPU的读写信号,连接CS1到A15;连接数据线,连接地址高低线;
2:实验仪上的波段开关必须选择9600波特率,和51系统;
3:接线和拔线时必须断电, PC微机必须与本实验系统保持联机状态,即软件界面右上角有编译进度条,确定连机状态才可调试程序;
4:通过RS232通信接口,利用上位机实现用户程序的编辑、编译和调试运行。
在软件的设置栏内,点击仿真模式,选择系统、系统;注意:上位机的存盘文件名只能用英文字母和数字组合,长度不能超过8位且存盘路径必须在默认的C盘DAIS目录下;
5:系统接口实验电路为单元电路方式,数据总线以8芯扁平线形式引出,硬件学生连线为电路图上粗实线。部分机器硬件介绍可参考微机原理实验指导书。
1
目 录
软件实验部分:
实验一 清零程序 实验二 拆字程序 实验三 拼字程序
实验四 数据区传送子程序 实验五 数据排序实验 实验六 查找相同数个数
实验七 无符号双字节快速乘法子程序 实验八 多分支程序
实验九 脉冲计数(定时/计数器实验)
实验十 电脑时钟(定时器、中断综合实验)
硬件实验部分:
实验一 P1口亮灯实验 实验二 P1口转弯灯实验
实验三 P3.3口输入,P1口输出 实验四 工业顺序控制 实验五 继电器控制
实验六 8255控制交通灯
实验七 LED16×16点阵显示实验 实验八 串并转换实验 实验九 A/D转换实验 实验十 D/A转换 实验十一 电子音响 实验十二 步进电机控制
实验十三 8032串行口应用实验㈠——双机通信 实验十四 小直流电机调速实验
软件实验部分
本节共编了十个软件实验,通过这些实验程序的调试,使学生熟悉MCS-51的指令系统,了解程序设计过程,掌握汇编语言设计方法以及如何使用实验系统提供的调试手段来排除程序错误。 本节提供的软件实验,涉及外部数据存储器扩展寻址操作,因此需按下图连接实验线路。
2
1. 将存储器单元的D0—D7总线接口用8芯扁平线与数据总线单元D0—D7的任一接口相连,存储器单元的A0—A7地址接口与地址总线单元(低8)A0—A7的任一接口相连,存储器单元的A8—A12地址接口与地址总线单元(高8)A8—A12的任一接口相连。注意外部扩充的数据区的有效范围。
2. 存储器单元的WE/PGM插孔与六位LED左下方的IOWE插孔相连。 3. 存储器单元的OE插孔与六位LED左下方的IORD插孔相连。 4. 存储器单元的CS1插孔与六位LED右下方的IOWE插孔相连。
实验一 清零程序
一、实验目的
掌握汇编语言设计和调试方法,熟悉键盘操作。
二、实验内容
把2000H-20FFH的内容清零
三、程序框图
四、实验步骤
用连续或单步方式运行程序,检查2000-20FF中执行程序前后的内容变化。
五、思考
假使把2000H-20FFH中的内容改成FF,如何修改程序。
接P1.0到L1,试编写程序,对片外数据存储器6264进行读写操作,若L1闪动则表示6264RAM读写正常。(此思考题也可留在硬件实验中做)
ORG 0640H
3
SE01: MOV R0,#00H
MOV DPTR,#2000H ;(2000H)送DPTR LOO1: MOVX @DPTR,A ;0送(DPTR) INC DPTR ;DPTR+1 INC R0 ;字节数加1 CJNE R0,#00H,LOO1 ;不到FF个字节再清 SJMP $ END
实验二 拆字程序
一、实验目的
掌握汇编语言设计和调试方法。
二、实验内容
把2000H的内容拆开,高位送2001H低位,低位送2002H低位,2001H、2002H高位清零,一般本程序用于把数据送显示缓冲区时用。
三、程序框图
四、实验步骤
用连续或单步方式运行程序,检查2000—2002H中内容变化情况。
五、思考
如何用断点方式调试本程序。
ORG 0660H
SE02: MOV DPTR,#2000H MOVX A,@DPTR
MOV B,A ;(2000)→A→B SWAP A ;交换 ANL A,#0FH ;屏敝高位 INC DPTR
MOVX @DPTR,A ;送2001H INC DPTR MOV A,B
ANL A,#0FH ;(2000)内容屏敝高位 MOVX @DPTR,A ;送2002H SJMP $ END
4