求单片机交通灯模拟设计 汇编程序 和原理图 晶振为11.0592MHzFIRST EQU P2.7;第一位数码管的位控制SECOND EQU P2.6;第二位数码管的位控制SEC BIT 00H;1秒到的标记VALUE EQU 21HCOUNT EQU 22H;软件计数器COUNTER EQU 20;软件计数器的计数值,20乘以定时器的定时值(50ms),即得到1s的定时值DISPBUF EQU 5EH;5E,5FH是显示缓冲区TMRVAR EQU 16857;(65536-50000)*12/11.0592 定时器初值HIDDEN EQU 16;当秒十位为0时的消隐码RED EQU P1.0;红灯LEDGREEN EQU P1.1;绿灯LEDYLW EQU P1.2;黄灯LEDFLAG EQU P1.3;红绿灯交替标志,不用接LED灯ORG 0000HJMP STARTORG 0003H;INT0中断入口RETIORG 000BH;TIMER0中断入口JMP INT_T0;转去定时器0中断服务程序入口ORG 0013H;INT1中断入口RETIORG 001BH;TIMER1中断入口RETIORG 0023H;串行中断入口RETISTART:MOV SP,#5FH;设置堆栈指针初值MOV VALUE,#1EH;秒计数器30MOV DISPBUF,#0;MOV DISPBUF+1,#0CALL DISPCALL INIT_T0CLR SECSETB EA;开总中断LOOP:JBC SEC,NEXT;一秒到,清除一秒到的标志CALL DISP;调用显示程序JMP LOOP;一秒未到,继续循环NEXT:MOV A,VALUEJNZ RGCPL FLAGSETB YLW;关闭黄灯RG:JB FLAG,REDLSETB REDCLR GREENJMP。
求高手帮忙写一个汇编语言的简易交通灯程序 最简单的单片机交通信号灯单片机要求使用 AT89C51,信号灯连接电路如下:东西:绿灯P0.0 黄灯P0.1 红灯P0.2南北:绿灯P0.5 黄灯P0.6 红灯P0.7运行步骤:开始东西 南北 都是红灯步骤(1)南北绿灯亮15s,东西红灯亮15s。南北黄灯亮 3s,东西红灯亮 3s。南北红灯亮15s,东西绿灯亮15s。南北红灯亮 3s,东西黄灯亮 3s。循环步骤(1)用汇编语言编写的程序如下,在12MHz的条件下,已经通过了仿真调试。ORG 0000HMOV P0,#01111011B;P0.7=P0.2=0,东西 南北 都是红灯.CALL DL3SLOOP:MOV P0,#11011011B;P0.5=P0.2=0,南北绿 东西红.CALL DL15SMOV P0,#10111011B;P0.6=P0.2=0,南北黄 东西红.CALL DL3SMOV P0,#01111110B;P0.7=P0.0=0,南北红 东西绿.CALL DL15SMOV P0,#01111101B;P0.7=P0.1=0,南北红 东西黄.CALL DL3SSJMP LOOPDL15S:MOV R4,#5DL2:CALL DL3SDJNZ R4,DL2RETDL3S:;延时3s,实测3.03sMOV R5,#23DL3:MOV R6,#0DL4:MOV R7,#0DL5:DJNZ R7,DL5DJNZ R6,DL4DJNZ R5,DL3RETEND电路图,可以搜索:做而论道 最简单的单片机交通信号灯一下,即可找到。
急求! 交通灯的汇编程序。。。 你可以改一下~加按键实验内容:用并口实现模拟交通灯;要求:东西向的绿灯亮,接着该方向的黄灯闪烁5次,然后红灯亮;同时南北向的绿灯亮,接着该方向的黄灯闪烁5次,然后红灯亮;如此重复。转向灯可以不需要。includesbit r1=P2^0;sbit y1=P2^1;sbit g1=P2^2;sbit r2=P2^3;sbit y2=P2^4;sbit g2=P2^5;void Delay(unsigned i){unsigned int j;for;i>;0;i+)for(j=0;j;j-){;}}void main(){unsigned char i;while(1){g1=0;r2=0;Delay(2000);g1=1;for(i=5;i>;0;i-){y1=0;Delay(500);y1=1;Delay(500);}r2=1;r1=0;g2=0;Delay(2000);g2=1;for(i=5;i>;0;i-){y2=0;Delay(500);y2=1;Delay(500);}r1=1;}}