实验二 指示灯开关控制器
一、 实验目的
学习汇编語言指令系统的编程与调试方法
二、 实验内容
1、参照教材图A.19完成实验二电路原理图的绘制; 2、根据图A.20的程序流程图编写汇编语言程序;
3、利用ISIS的汇编工具查找并修正程序的语法错误和逻辑错误; 4、观察仿真结果,完成实验报告。
三、 实验要求
实验报告应包含如下内容:1、完成的电路原理图,要求说明P2口控制LED亮灭和P3口读取开关状态的工作原理;2、编写的汇编源程序,要求源程序中含有能说明语句功能的注释区段和至少2条伪指令;3、汇编程序的调试过程,要求简述使用的调试方法,展示调试过程主要截图;4、实现的仿真运行效果,要求提交3~4幅运行截图;5、实验小结,说明遇到的主要问题或实验2体会等。
实验报告的电子邮件主题及存盘文件名的格式为:2005041220马晓明实验2,应采用2003或2007版word文档格式。
1、电路原理图
2、汇编源程序
ORG 30H ;主程序代码从ROM30H开始 NUM EQU 3 ;循环次数 CIRCU DATA 100 ;延时系数
MOV R5,#NUM ;循环计数器初值 LOOP1: MOV P2,#0 ;LED亮灯 ACALL DEL100 ;延时100ms MOV P2,#0FFH ;LED熄灯 ACALL DEL100
DJNZ R5,LOOP1 ;循环控制
LOOP2: MOV P2,P3 ;根据P2口状态控制LED SJMP LOOP2
ORG 100H ;延时子程序代码从ROM100H开始 DEL100: MOV R0,#CIRCU ;三重循环,延时约0.1s DEL0: MOV R1,#CIRCU/2 DEL1: MOV R2,#CIRCU/4 DJNZ R2,$ DJNZ R1,DEL1 DJNZ R0,DEL0 RET
END 3、程序调试过程
(1)将源文件的创建与编译好 (2)将源代码写入单片机中去
(3)点击仿真运行,将开关一个一个的关闭,查看效果。
4、仿真运行效果
关闭2个开关仿真运行效果
关闭6个开关仿真运行效果
关闭全部开关仿真运行效果
5、实验小结
通过本次实验,我了解到了编译软件的结构及使用方法,并且知道也学习了有关软件的结构与功能,认识到要想学好单片机除了在课堂好好听老师讲课外,课外还要在仿真软件上多加练习,不懂的多跟老师和其他同学交流。另外,调试程序时要有耐心认真检查电路和编写的程序。
总体来说,本次实验还是比较顺利的。实验过程中,让我更直观的认识到单片机的工作原理,增添了对学习单片机的兴趣和信心。