单片机实验二、MCS-51单片机并行端口实验
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
大连理工大学实验报告
实验时间:2014年6月30日星期1时间:10:00~ 11 :40
实验室(房间号):420实验台号码:班级:姓名:
指导教师签字:成绩:
实验二 MCS-51单片机并行端口实验
一、实验目的和要求
1.目的:进一步熟悉、掌握KEIL软件和DP-51PROC综合试验系统的使用。掌握单片机并行端口的编程和使用方法。
2.要求:编制简单的程序,利用P1口的8位端口使用排线与LED1~LED8按顺序连接,使用一条单独连线将P
3.2与SW1连接,编制一个P1口的输出程序,实现8个LED灯依次点亮的流水灯效果。
二、实验算法
本程序属于无限循环结构,循环中通过判断P3.2的电平来决定彩灯的右移还是左移。主程序中主要变量是A,P3.2,P1,其中A作为数据移动寄存器,P3.2作为按键输入口,为高电平右移A,低电平则左移A,P1由A传送数据,外接LED1~8,实现彩灯移动现象。由于不加延时的循环在时钟频率作用下是很快的,现象是所有的灯一直是亮的状态。,解决这个问题就是在程序里面加延时函数。
三、实验流程图
四、程序清单
ORG 8000H
LJMP START
ORG 8100H START: MOV SP,#60H
SETB P3.2
MOV A,#0FEH LED: JB P3.2,RIGHT
RL A
AJMP RUN RIGHT: RR A
RUN: MOV P1,A CALL DELAY
AJMP LED DELAY: PUSH 01H
PUSH 02H
MOV R1,#00H DELAY1: MOV R2,#00H
DJNZ R2,$
DJNZ R1,DELAY1
POP 02H
POP 01H
RET
END
五、实验结果与分析
实验现象:拨动开关闭合,彩灯左移;拨动开关断开,彩灯右移。无问题。
实验中,我们通过控制开关SW1能够控制彩灯移位的方向,SW1=1,即将P3.2口置一,理论上使小灯循环右移;SW1=0,即将P3.2口置零,理论上小灯应循环左移,但是由于实验仿真系统中的LED灯的高位和低位位置刚好相反,导致我们操作时看到的结果正好相反,但实际上实验是成功的。
六、实验体会和建议
通过本次单片机的并行输入输出端口实验,我对Keil仿真调试软件的操作更为熟练;也对单片机的P1等端口的应用有了更清楚的认识,同时学会了分支程序的设计,JB指令的方便和实用性。
七、主要仪器设备