简单I/O实验(交通灯控制)
<table height="24" cellspacing="0" cellpadding="0" width="100%" background="img/subindex_bar_long_ed2.gif"><tbody><tr><td align="center"><font color="#000000" style="FONT-SIZE: 11pt;">简单I/O实验(交通灯控制)</font></td></tr></tbody></table><br/><p><a name="一.实验要求"><font lang="ZH-CN" face="黑体">一</font><font lang="ZH-CN" face="System,黑体">.</font><font lang="ZH-CN" face="黑体">实验要求</font></a><font face="宋体"><br/><br/>以74LS273作为输出口,控制4个双色LED灯(可发红,绿,黄光),模拟交通灯管理。<br/><br/></font><font face="黑体"><a name="二.实验目的">二.实验目的</a></font><font face="宋体"><br/><br/>1.学习在单片机系统中扩展简单I/O接口的方法。<br/><br/>2.学习数据输出程序的设计方法。<br/><br/>3.学习模拟交通灯控制的方法。<br/><br/>4.学习双色灯的使用。<br/><br/></font><font face="黑体"><a name="三.实验电路及连线">三.实验电路及连线</a></font></p><p><font face="黑体"><a href="http://www.zjicm.com/"><img src="http://www.mcuzb.com/upfile/200412/200412867140000.JPG" alt=""/></a></font></p><p><a name="四.实验说明"><font face="黑体">四.实验说明</font></a><font face="宋体"><br/><br/>1.因为本实验是交通灯控制实验,所以要先了解实际交通灯的变化规律。假设一个十字路口为东西南北走向。初始状态0为东西红灯,南北红灯。然后转状态1南北绿灯通车,东西红灯。过一段时间转状态2,南北绿灯闪几次转亮黄灯,延时几秒,东西仍然红灯。再转状态3,东西绿灯通车,南北红灯。过一段时间转状态4,东西绿灯闪几次转亮黄灯,延时几秒,南北仍然红灯。最后循环至状态1。<br/><br/>2.双色LED是由一个红色LED管芯和一个绿色LED管芯封装在一起,公用负端。当红色正端加高电平,绿色正端加低电平时,红灯亮;红色正端加低电平,绿色正端加高电平时,绿灯亮;两端都加高电平时,黄灯亮。<br/><br/></font><font face="黑体"><a name="五.实验程序框图">五.实验程序框图</a></font><font face="宋体"><br/><br/>程序框图:</font></p><p><font face="宋体"><img src="http://www.mcuzb.com/upfile/200412/200412867151999.JPG" alt=""/></font></p><p><font face="宋体"> <p><br/>源代码:</p></font></p><p><br/>源代码:</p><p> ORG 0000H<br/> LJMP START<br/> ORG 0040H<br/>START:<br/> MOV SP,#60H<br/> LCALL STATUS0 ;初始状态(都是红灯)<br/>CIRCLE: LCALL STATUS1 ;南北绿灯,东西红灯<br/> LCALL STATUS2 ;南北绿灯闪转黄灯,东西红灯<br/> LCALL STATUS3 ;南北红灯,东西绿灯<br/> LCALL STATUS4 ;南北红灯,东西绿灯闪转黄灯<br/> LJMP CIRCLE<br/>STATUS0: ;南北红灯,东西红灯<br/> MOV DPTR,#8300H<br/> MOV A,#0FH<br/> MOVX @DPTR,A<br/> MOV R2,#10 ;延时1秒<br/> LCALL DELAY<br/> RET<br/>STATUS1: ;南北绿灯,东西红灯<br/> MOV DPTR,#08300H<br/> MOV A,#5AH ;南北绿灯,东西红灯<br/> MOVX @DPTR,A<br/> MOV R2,#50 ;延时5秒<br/> LCALL DELAY<br/> RET<br/>STATUS2: ;南北绿灯闪转黄灯,东西红灯<br/> MOV DPTR,#8300H<br/> MOV R3,#03H ;绿灯闪3次<br/>FLASH: MOV A,#5FH<br/> MOVX @DPTR,A<br/> MOV R2,#03H<br/> LCALL DELAY<br/> MOV A,#5AH<br/> MOVX @DPTR,A<br/> MOV R2,#03H<br/> LCALL DELAY<br/> DJNZ R3,FLASH<br/> MOV A,#0AH ;南北黄灯,东西红灯<br/> MOVX @DPTR,A<br/> MOV R2,#10 ;延时1秒<br/> LCALL DELAY<br/> RET<br/>STATUS3: ;南北红灯,东西绿灯<br/> MOV DPTR,#8300H<br/> MOV A,#0A5H<br/> MOVX @DPTR,A<br/> MOV R2,#50 ;延时5秒<br/> LCALL DELAY<br/> RET<br/>STATUS4: ;南北红灯,东西绿灯闪转黄灯<br/> MOV DPTR,#8300H<br/> MOV R3,#03H ;绿灯闪3次<br/>FLASH1: MOV A,#0AFH<br/> MOVX @DPTR,A<br/> MOV R2,#03H<br/> LCALL DELAY<br/> MOV A,#0A5H<br/> MOVX @DPTR,A<br/> MOV R2,#03H<br/> LCALL DELAY<br/> DJNZ R3,FLASH1<br/> MOV A,#05H ;南北红灯,东西黄灯<br/> MOVX @DPTR,A<br/> MOV R2,#10 ;延时1秒<br/> LCALL DELAY<br/> NOP<br/> RET<br/>DELAY: ;延时子程序<br/> PUSH 2<br/> PUSH 1<br/> PUSH 0<br/>DELAY1: MOV 1,#00H<br/>DELAY2: MOV 0,#0B2H<br/> DJNZ 0,$<br/> DJNZ 1,DELAY2 ;延时 100 mS<br/> DJNZ 2,DELAY1<br/> POP 0<br/> POP 1<br/> POP 2<br/> RET<br/> END<br/></p>街上为什么到处都是如此的办证广告
*** 作者被禁止或删除 内容自动屏蔽 ***页:
[1]