资源描述:
《单片机课程实验报告-延时子程序.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、单片机实验报告实验报告单片机实验报告一、实验目的:学习P1口的使用方法,学习延时子程序的编写二、实验要求:以P1口作为输出口,控制6个发光二极管,模拟交通信号灯的管理。在实验仪上选择两组红、黄、绿指示灯,代表交通信号灯。设有一个十字路口为东西南北方向,其中东西方向为支路,南北方向为主路。初始状态为4个路口的红灯全亮。之后,南北路口的绿灯亮,东西路口的红灯亮。南北路口方向通车,延时20秒后,南北路口绿灯熄灭,黄灯开始闪烁,闪烁5次后红灯亮。而同时东西方向路口的绿灯亮,东西方向开始通车,延时10秒后,东西路口的绿灯熄灭,而黄灯开始闪烁。闪烁5次后,在切换到南北路口的绿灯亮,东西路口
2、的红灯亮。之后重复上述过程。三、实验电路:四、程序框图:五、程序清单:ORG4000H;定义程序存放区域的起始地址START:CLRP1.0;红灯亮LOOP:SETBP1.1SETBP1.2CLRP1.5SETBP1.6SETBP1.7ACALLDELAYSSETBP1.0;南北绿灯亮,东西红灯亮CLRP1.2ACALLDELAYL2;长延时20sMOVR3,#5;南北黄灯闪烁5次,东西红灯亮YELLOW1:;南北黄灯亮,东西红灯亮CLRP1.1SETBP1.2ACALLDELAYS;短延时;南北黄灯灭,东西红灯亮SETBP1.1ACALLDELAYS;短延时DJNZR3,YE
3、LLOW1;南北红灯亮,东西绿灯亮CLRP1.0SETBP1.5CLRP1.7ACALLDELAYL1;长延时10sMOVR3,#5;南北红灯亮,东西黄灯闪烁五次YELLOW2:CLRP1.6;东西黄灯亮SETBP1.7ACALLDELAYS;短延时SETBP1.6;南北红灯灭,东西黄灯亮ACALLDELAYS;短延时DJNZR3,YELLOW2AJMPLOOP;循环DELAYL2:MOVR4,#200;长延迟20sDELAY1:MOVR5,#200DELAY2:MOVR6,#250DELAY3:DJNZR6,DELAY3DJNZR5,DELAY2DJNZR4,DELAY1RE
4、TDELAYS:MOVR4,#10;短延迟1sDELAY4:MOVR5,#200DELAY5:MOVR6,#250DELAY6:DJNZR6,DELAY6DJNZR5,DELAY5DJNZR4,DELAY4RETDELAYL1:MOVR4,#100;长延迟10sDELAY7:MOVR5,#200DELAY8:MOVR6,#250DELAY9:DJNZR6,DELAY9DJNZR5,DELAY8DJNZR4,DELAY7六、LST文件A51MACROASSEMBLERLED04/21/201016:50:30PAGE1MACROASSEMBLERA51V7.01OBJECTMOD
5、ULEPLACEDINLED.OBJASSEMBLERINVOKEDBY:C:KeilC51BINA51.EXELED.asmSET(SMALL)DEBUGEPLOCOBJLINESOURCE00001ORG0000H2300007590DE4START:MOVP1,#11011110B000311555CALLDALY1;0.5S00057590DB6MOVP1,#11011011B000811337CALLDALY;20S000A78058MOVR0,#5H000C74DD9LOOP1:MOVA,#11011101B000EF59010MOVP1,A00101155
6、11CALLDALY1;0.-5S001274DF12MOVA,#11011111B0014F59013MOVP1,A0016115514CALLDALY10018D8F215DJNZR0,LOOP1001A747E16MOVA,#01111110B001CF59017MOVP1,A001E114418CALLDALY2;10S0020780519MOVR0,#5H002274BE20LOOP2:MOVA,#10111110B0024F59021MOVP1,A0026115522CALLDALY1002874FE23MOVA,#11111110B002AF59024MOVP1,
7、A002C115525CALLDALY1002ED8F226DJNZR0,LOOP2003002000027LJMPSTART2829;20S00337C6430DALY:MOVR4,#10000357B6431DELAY1:MOVR3,#10000377A1432DELAY2:MOVR2,#200039792D33DELAY3:MOVR1,#45003BD9FE34DELAY4:DJNZR1,DELAY4003DDAFA35DJNZR2,DELAY3003FDBF636DJNZR3,DEL