您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 交通运输 > 单片机课程设计项目(二)_交通灯
单片机实时交通信号灯控制模拟实训目的:1.了解可编程I/O芯片8255的结构功能及编程方法2.学习掌握用单片机进行交通灯控制的实现方法。3.掌握用软件编程实现延时的方法。单片机应用实训设计项目(二)设计内容及要求:1.编程DJ—598KC单片机扩展连接的8255的PA、PB口为输出I/O口,控制DJ—598KC实验箱上的黄、绿、红、三色十二个发光二极管亮灭,并分别用实验箱上的两位七段LED数码倒计时显示两通车道车辆通行时间(即黄、绿、红三色发光二极管亮灭时间),模拟十字路口交通信号灯控制和管理,并完成在DJ—598KC单片机实验箱上的仿真。2.将8255的PA、PB口输出控制改为用单片机的P1、P3口实现输出控制,再完成控制电路连接设计及控制程序的编制和仿真。8255控制电路逻辑图DJ-598KC实验系统LED显示器接口电路连接控制程序框图8255A的逻辑结构和信号引脚DJ-5198KC实验箱8255的I/O口地址分配ORG0100HHA4S:MOVSP,#60H;8255初始化MOVDPTR,#0FF2BHMOVA,#88HMOVX@DPTR,AMOVDPTR,#0FF23HMOVA,#88HMOVX@DPTR,A;四个红灯MOVDPTR,#0FF28HMOVA,#0B6HMOVX@DPTR,AINCDPTRMOVA,#0DHMOVX@DPTR,A;5秒延时MOV2AH,#05HLCALLDELAY;东西绿灯,南北红灯HA4S3:MOVDPTR,#0FF28HMOVA,#75HMOVX@DPTR,AINCDPTRMOVA,#0DHMOVX@DPTR,A;80秒延时MOV2AH,#50HLCALLDELAY;东西黄灯,南北红灯HA4S1:MOVDPTR,#0FF28HMOVA,#0F3HMOVX@DPTR,AINCDPTRMOVA,#0CHMOVX@DPTR,A;10秒延时MOV2AH,#0AHLCALLDELAY用8255的PA、PB口控制程序清单:;东西红灯,南北绿灯MOVDPTR,#0FF28HMOVA,#0AEHMOVX@DPTR,AINCDPTRMOVA,#0BHMOVX@DPTR,A;50秒延时MOV2AH,#32HLCALLDELAY;东西红灯,南北黄灯HA4S2:MOVDPTR,#0FF28HMOVA,#9EHMOVX@DPTR,AINCDPTRMOVA,#07HMOVX@DPTR,A;10秒延时MOV2AH,#0AHLCALLDELAYLJMPHA4S3;重复东西通行DELAY:LCALLDISP;调用秒值显示子程序DJNZ2AH,DELAY;计数器非零循环RET;秒值显示子程序(约1,000,800µsfosc=12MHz)指令周期数DISP:MOVA,2AH;秒数转换为十进制数1MOVB,#0AH;2DIVAB;AB←(A)/(B)4MOVDPTR,#TABLE;查表十位数的字形码2MOVCA,@A+DPTR;2MOVR2,A;十位数的字形码存R21MOVA,B;4MOVCA,@A+DPTR;查表个位数的字形码2MOVR3,A;个位数的字形码存R31MOVP2,#0FFH;1MOVR0,#21H;1MOVR1,#20H;1MOVR6,#0FAH;1:(共23);软件秒倒计时延时显示子程序;250×((250×8+1)×2×1+1)sLOOP:MOVR5,#0FAH;1LOOP1:MOVA,R3;1MOVX@R0,A;2MOVA,#0FEH;1MOVX@R1,A;2DJNZR5,LOOP1;(2508+1)2s2MOVR5,#0FAH;1LOOP2:MOVA,R2;1MOVX@R0,A;2MOVA,#0FDH;1MOVX@R1,A;2DJNZR5,LOOP2;(2508+1)s2DJNZR6,LOOP;2RET;2;’0’~’f’字符七段LED代码表TABLE:DB0C0H,0F9H,0A4H,0B0H,99HDB92H,82H,0F8H,80H,90HEND用单片机P1和P3口的控制电路逻辑图ORG0100HHA4S:MOVSP,#60H;8255初始化MOVDPTR,#0FF23HMOVA,#88HMOVX@DPTR,A;四个红灯MOVP1,#0B6HCLRP3.3MOV2AH,#03H;3秒延时LCALLDELAY;东西绿灯,南北红灯HA4S3:SETBP3.5MOVP1,#75HCLRP3.3MOV2AH,#32H;50秒延时LCALLDELAY;东西黄灯,南北红灯HA4S1:MOVP1,#0F3HCLRP3.2CLRP3.3MOV2AH,#05H;5秒延时LCALLDELAYSETBP3.2SETBP3.3;东西红灯,南北绿灯MOVP1,#0AEHCLRP3.4MOV2AH,#1EH;30秒延时LCALLDELAYSETBP3.4;东西红灯,南北黄灯HA4S2:MOVP1,#9EHCLRP3.5MOV2AH,#03H;3秒延时LCALLDELAYLJMPHA4S3;重复东西通行用89C51的P1、P3口控制程序清单:DELAY:LCALLDISP;调用秒值显示子程序DJNZ2AH,DELAY;计数器非零循环RET;秒值显示子程序(约1,000,800µsfosc=12MHz)指令周期数DISP:MOVA,2AH;秒数转换为十进制数1MOVB,#0AH;2DIVAB;AB←(A)/(B)4MOVDPTR,#TABLE;查表十位数的字形码2MOVCA,@A+DPTR;2MOVR2,A;十位数的字形码存R21MOVA,B;4MOVCA,@A+DPTR;查表个位数的字形码2MOVR3,A;个位数的字形码存R31MOVP2,#0FFH;1MOVR0,#21H;1MOVR1,#20H;1MOVR6,#0FAH;1:(共23);软件秒倒计时延时显示子程序;125×((250×8+1)×2×2+2)sLOOP:MOVR5,#0FAH;1LOOP1:MOVA,R3;1MOVX@R0,A;2MOVA,#0EEH;1MOVX@R1,A;2DJNZR5,LOOP1;(2508+1)2s2MOVR5,#0FAH;1LOOP2:MOVA,R2;1MOVX@R0,A;2MOVA,#0DDH;1MOVX@R1,A;2DJNZR5,LOOP2;(2508+1)s2DJNZR6,LOOP;2RET;2;’0’~’f’字符七段LED代码表TABLE:DB0C0H,0F9H,0A4H,0B0H,99HDB92H,82H,0F8H,80H,90HEND
本文标题:单片机课程设计项目(二)_交通灯
链接地址:https://www.777doc.com/doc-226661 .html