1.求一基于AT89C52单片机的单片单片交通灯程序: 要求:
2.单片机数码管静态显示学号1830508,用keil 最好有过程,机动机动在图上的态数态数过程上修改
求一基于AT89C52单片机的交通灯程序: 要求:
A、B两干道交于一个十字路口,码管码管趋势判断 源码各干道有一组红、源码源码黄、单片单片绿三色的机动机动指示灯,指挥车辆和行人安全通行。态数态数红灯亮禁止通行,码管码管绿灯亮允许通行。源码源码黄灯亮提示人们注意红、单片单片github预约平台源码绿灯的机动机动状态即将切换,且黄灯燃亮时间为A、态数态数B两干道的码管码管公共停车时间。设A道比B道的源码源码车流量大,指示灯燃亮的负数源码与补码方案如表1。
3 3 3 ……
A道 黄灯亮 红灯亮 黄灯亮 绿灯亮 黄灯亮 红灯亮 ……
B道 黄灯亮 绿灯亮 黄灯亮 红灯亮 黄灯亮 绿灯亮 ……
此表1说明:
(1)当为黄灯时 A、B两道同时为黄灯;以提示行人或车辆下一个灯色即将到来 时间 3秒。
(2)当A到为红灯,A 道车辆禁止通行,A 道行人可通过;B 道为绿灯,javac的源码在哪B 道车辆通过,行人禁止通行。时间为秒。
(3)当A道绿灯,A 道车辆通行;B 道为红灯,三端网站源码B 道车辆禁止通过,行人通行。时间为秒。 A道车流大 通行时间长
(4)这样如上表的时间和红、绿、黄出现的顺序依次出现这样行人和车辆就能安全畅通的通行。
(5)此表可根据车流量动态设定
R4 存放黄灯时间 3 H (此时间可以动态设定)
R5 存放红灯时间 3CH
R6 存放绿灯时间 H
PC0 显示黄灯信号
PC1 显示红灯信号
PC2 显示黄灯信号
工作于方式0
PA、PB、 PC口输出 PC 控制字为B (H)
程序源代码:
ORG H
LJMP MAIN
ORG H
MAIN: MOV R1,#H 初始化
MOV A,#H
MOVX @R1,A
AGAIN: MOV P3,#H 设置初值
MOV A,P3
JB ACC.7, NEXT0
AGAIN1: MOV P3,#H
MOV A,P3
JB ACC.6, RED
MOV P3,#0FH
MOV A,P3
ANL A,#0FH
MOV R3,A
AJMP AGAIN1
RED: MOV P3,#0FH
MOV A,P3
ANL A,#0FH
MOV R2,A
AJMP AGAIN
NEXT0: MOV R1,#H
NEXT1: MOV DPTR,#TAB 显示黄灯个位
MOV A,R1
MOVC A,@A+DPTR
MOV R1,#H
MOVX @R1, A
MOV R1,#O
MOV DPTR,#TAB 显示黄灯十位
MOV A,R0
MOVC A,@A+DPTR
MOV R1,#H
MOVX @R1,A
MOV DPTR,#0CH 显示黄灯信号
MOV A,#H
LCALL 0F4E0H
ACALL DELAY
DJNZ R0,NEXT1
MOV A,R3
MOV R0,A
NEXT2: MOV DPTR,#TAB 显示红灯个位
MOV A,R0
MOVC A,@A+DPTR
MOV R1,#H
MOVX @R1,A
MOV DPTR,#TAB 显示红灯十位
MOV A,R0
MOVC A,@A+DPTR
MOV R1,#H
MOV A,R0
MOVX @R1,R0
MOV R1,#H 显示红灯信号
MOV A,#H
MOVX @R1,A
ACALL DELAY 延时1秒
DJNZ R0,NEXT2
MOV A,R2
MOV R0,A
NEXT3: MOV DPTR,#TAB 显示绿灯个位
MOV A,R0
MOVC A,@A+DPTR
MOV R1,#H
MOVX @R1,R0
MOV DPTR,#TAB 显示绿灯十位
MOV A,R0
MOVC A,@A+DPTR
MOV R1,#H
MOV A,R0
MOVX @R1,R0
MOV R1,#H 显示绿灯信号
MOV A,#H
MOVX @R1,A
ACALL DELAY 延时1秒
DJNZ R0,NEXT3
AJMP NEXT0
DELAY: MOV R4,#H 延时1秒子程序
DE2: LCALL DELAY1
DJNZ R4,DE2
RET
DELAY1:MOV R6,#0
MOV R5,#0
DE1: DJNZ R5,$
DJNZ R6,DE1
RET
TAB:DB3FH,H,5BH,4FH,H,6DH,7DH,H,7FH,6FH,H,7CH,H,5EH,H,H
END
单片机数码管静态显示学号,用keil 最好有过程,在图上的过程上修改
// 单片机数码管动态显示学号(注多位数码管用静态显示电路会很复杂,所以一般多用动态显示),方法有多种,下面是一个仿真例程可以参考。#include<reg.h>
#define uchar unsigned char
// 此表为 LED 的字模 0 1 2 3 4 5 6 7 8 9 a b c d e f
unsigned char code LED7Code[] = { 0x3F,0x,0x5B,0x4F,0x,0x6D,0x7D,0x,0x7F,0x6F,0x,0x7C,0x,0x5E,0x,0x};
void delay(uchar z)
{
uchar i,j;
for(i=0;i<;i++)
for(j=0;j<z;j++);
}
void main()
{
while(1)
{
P0=0xff;
P2=LED7Code[0];
P0=0xfe;
delay(5);
P0=0xff;
P2=LED7Code[1];
P0=0xfd;
delay(5);
P0=0xff;
P2=LED7Code[8];
P0=0xfb;
delay(5);
P0=0xff;
P2=LED7Code[3];
P0=0xf7;
delay(5);
P0=0xff;
P2=LED7Code[0];
P0=0xef;
delay(5);
P0=0xff;
P2=LED7Code[5];
P0=0xdf;
delay(5);
P0=0xff;
P2=LED7Code[0];
P0=0xbf;
delay(5);
P0=0xff;
P2=LED7Code[8];
P0=0x7f;
delay(5);
}
}