导航:首页 > 操作系统 > 基于单片机开发红绿灯项目前言

基于单片机开发红绿灯项目前言

发布时间:2022-07-10 20:21:22

1. 单片机的红绿灯控制程序如何写啊

//--------------------------------------------------
//名称:LED模拟交通灯
//作者:彭伟《单片机C语言程序设计实训100例-基于8051+PROTEUS仿真》
//--------------------------------------------------
//说明:东西向绿灯亮若干秒后,黄灯闪烁,闪烁5次后亮红灯
// 红灯亮后,南北向由红灯变为绿灯,若干秒后南北向黄灯闪烁
// 闪烁5次后亮红灯,东西向绿灯亮,如此重复
//---------------------------------------------------
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
sbit RED_A=P0^0;//东西向指示灯
sbit YELLOW_A=P0^1;
sbit GREEN_A=P0^2;
sbit RED_B=P0^3;//南北向指示灯
sbit YELLOW_B=P0^4;
sbit GREEN_B=P0^5;
uchar Flash_count=0;Operation_type=1;//闪烁次数及操作类型变量
//-----------------------------------------------------
//延时
//----------------------------------------------------
void DelayMS(uint x)
{
uchar i;
while(x--)for(i=0;i<120;i++)
}
//---------------------------------------------------
//交通灯切换子程序
//---------------------------------------------------
void Traffic_light()
{
switch(Operation_type)
{
case 1://东西向绿灯南北向红灯亮
RED_A=1;YELLOW_A=1;GREEN_A=0;
RED_B=0;YELLOW_B=1;GREEN_B=1;
DelayMS(2000);
Operation_type=2;
break;
case 2://东西向黄灯闪烁,绿灯关闭
DelayMS(300);
GREEN_A=1;
YELLOW_A=~YELLOW_A;
//闪烁5次
if (++Flash_count!=10) return;
Flash_count=0;
Operation_type=3;
break;
case 3://南北向绿灯东西向红灯亮
RED_A=0;YELLOW_A=1;GREEN_A=1;
RED_B=1;YELLOW_B=1;GREEN_B=0;
DelayMS(2000);
Operation_type=4;
break;
case 4://南北向黄灯闪烁,绿灯关闭
DelayMS(300);
GREEN_B=1;
YELLOW_B=~YELLOW_B;
//闪烁5次
if (++Flash_count!=10) return;
Flash_count=0;
Operation_type=1;
}
}
void main()
{
while(1) Traffic_light();

}

2. 单片机红绿灯交通信号c语言编程

仿真实例可以参考一下,仿真试试。

3. 求大神解答,用51单片机汇编语言实现一个红绿灯的程序,不是一个路口的,大概注释下就好

;------------------------------------

;程序实现功能

;西南北路口直行与转弯交替通行,数码管显示直行通行倒计时,红绿黄灯显示包括人行道在内的道路交通状态。

;某一方向道路拥挤时,可以人工控制调节东西南北方向通行时间。

;紧急情况时,各路口交通灯显示红灯,数码管保持数据不变。

;工作寄存器及存储单元分配

;1.工作寄存器

;R2设置为定时器定时中断次数,R6、R7用于延时程序中的寄存器

;2.片内存储单元

;30H、31H作为两组数码管显示数据存储单元;32H、33H作为交通灯初始状态存储单元;40H、41H作为交通灯显示数据存储单元

;3.标志位

;00H:南北通行标志位 ; 01H:东西通行标志位;02H:紧急事件标志位

;-----------------------------------

SNF EQU 00H ;;;南北通行标志位

EWF EQU 01H ;;;东西通行标志位

URF EQU 02H ;;;紧急事件标志位

ORG 0000H

LJMP MAIN ;;;上电转主程序

ORG 000BH ;;;定时中断入口

LJMP DSZD

ORG 0003H ;;;紧急中断入口

LJMP URZD

ORG 0030H

MAIN: LCALL INIT ;;;调用初始化子程序

LOOP: LCALL DIS ;;;循环执行显示子程序

AJMP LOOP

;///////////初始化程序

INIT: SETB SNF

SETB EWF

SETB URF

MOV R2,#20 ;;;定时器中断20次为1s

MOV TMOD,#01H ;;;初始化定时器

MOV TL0,#0B0H

MOV TH0,#3CH

SETB EA ;;;开定时中断与紧急中断

SETB ET0

SETB TR0

SETB EX0

SETB IT0 ;;;设置中断程控方式

MOV DPTR,#TAB ;;;数值首地址放入DPTR中

MOV 40H,#40 ;;;东南西北通行时间设置

MOV 41H,#40

MOV 30H,#40 ;;;通行时间初始化

MOV 31H,#60

MOV P0,#4CH ;;;初始化时南北通行并把交通灯状态分别放在32H和33H中

MOV 32H,#4CH

MOV P2,#15H

MOV 33H,#15H

RET

;////////////显示子程序

DIS: MOV P3,#0DFH ;;;选中南北方向的十位数码管

MOV A,30H ;;;把显示数据送人数码管显示

MOV B,#10

DIV AB

MOVC A,@A+DPTR

MOV P1,A ;;;

LCALL D1MS

MOV P3,#0EFH ;;;选中南北方向的个位数码管

MOV A,B ;;;送入数码管显示

MOVC A,@A+DPTR

MOV P1,A

LCALL D1MS

MOV P3,#7FH ;;;选中第东西方向的十位数码管

MOV A,31H ;;;送入数码管显示

MOV B,#10

DIV AB

MOVC A,@A+DPTR

MOV P1,A

LCALL D1MS

MOV P3,#0BFH ;;;选中第东西方向的个位数码管

MOV A,B

MOVC A,@A+DPTR

MOV P1,A

LCALL D1MS

SETB P3.0

SETB P3.1

JNB P3.0,DIS_S ;;;查询是否第一个按键按下

JNB P3.1,DIS_E ;;;查询是否第二个按键按下

AJMP DIS_R ;;;没有键按下则返回

DIS_S:LCALL D5MS ;;;按键去抖

JNB P3.0,DIS_SN

AJMP DIS_R

DIS_SN:MOV 40H,#50 ;;;对通行时间从新分配,南北通行时间加长

MOV 41H,#30

AJMP DIS_R

DIS_E:LCALL D5MS ;;;按键去抖

JNB P3.1,DIS_EW

AJMP DIS_R

DIS_EW:MOV 40H,#30 ;;;东西通行时间加长

MOV 41H,#50

DIS_R:RET

;///////定时中断处理程序

DS_C: LJMP DS_R ;;;接力跳转

DSZD: PUSH ACC ;;;保护现场

PUSH PSW

CLR TR0 ;;;关定时器及中断标志位并重新赋值

CLR TF0

MOV TL0,#0B0H

MOV TH0,#3CH

DJNZ R2,DS_C ;;;判断1m时间是否到达

MOV R2,#20 ;;;到达重新赋值

DEC 30H ;;;南北方向通行时间减一

MOV A,30H ;;;把减一后的时间送入显示存储单元

;;;;;;;南北通行到达最后4秒时黄灯闪烁

DS_10:CJNE A,#4,DS_11 ;;;如果通行时间剩余4秒

JNB SNF,DS_11 ;;;判断是否是南北通行

MOV P0,#8AH

MOV 32H, #8AH ;;;把交通灯状态存入存储单元(后面类似)

DS_11:CJNE A,#3,DS_12 ;;;不是剩余3秒,返回

JNB SNF,DS_12 ;;;不是南北通行时间,返回

MOV P0,#88H

MOV 32H, #88H

DS_12:CJNE A,#2,DS_13

JNB SNF,DS_13

MOV P0,#8AH

MOV 32H, #8AH

DS_13:CJNE A,#1,DS_14

JNB SNF,DS_14

MOV P0,#88H

MOV 32H, #88H

;------------------------

DS_14:JNZ DS_NE ;;;通行时间没有结束转向改变东西方向的数码管

CPL SNF ;;;如果通行时间结束则对标志位取反

JNB SNF,DS_1 ;;;判断是否南北通行

MOV 30H,40H ;;;是,点亮相应的交通灯

MOV P0,#4CH

MOV 32H,#4CH ;;;存储交通灯状态

MOV P2,#15H

MOV 33H, #15H ;;;存储交通灯状态

DS_NE:DEC 31H ;;;东西方向通行时间减一

MOV A,31H ;;;把通行剩余时间送入显示存储单元

;;;;;;;;东西方向通行时间剩余4秒钟黄灯闪烁(程序注释与南北方向类似 略)

DS_20:CJNE A,#4,DS_21

JB EWF,DS_21

MOV P0,#51H

MOV 32H, #51H

DS_21:CJNE A,#3,DS_22

JB EWF,DS_22

MOV P0,#41H

MOV 32H, #41H

DS_22:CJNE A,#2,DS_23

JB EWF,DS_23

MOV P0,#51H

MOV 32H, #51H

DS_23:CJNE A,#1,DS_24

JB EWF,DS_24

MOV P0,#41H

MOV 32H, #41H

;-----------------------------

DS_24:JNZ DS_R ;;;东西方向时间没有结束,返回

CPL EWF ;;;对通行状态取反

JNB EWF,DS_2 ;;;东西方向通行时间到来,跳转

MOV 31H,#80 ;;;东西方向通行结束,重新显示时间

MOV P0,#89H ;;;点亮相应的交通灯

MOV 32H, #89H

MOV P2,#29H

MOV 33H, #29H

AJMP DS_R

DS_1: MOV 30H,#80 ;;;南北通行时间结束,重新对显示存储单元赋值

MOV P0,#89H ;;;执行转弯状态1

MOV 32H, #89H

MOV P2,#26H

MOV 33H, #26H

AJMP DS_NE

DS_2: MOV 31H,41H ;;;东西方向开始通行,赋值予显示存储单元

MOV P0,#61H ;;;点亮相应的交通灯

MOV 32H, #61H

MOV P2,#15H

MOV 33H, #15H

DS_R: SETB TR0

POP PSW ;;;恢复现场

POP ACC

RETI

;/////////////紧急中断处理程序

URZD: PUSH ACC ;;;保护现场

PUSH PSW

CLR IE0 ;;;清除中断标志位

CLR TR0 ;;;关定时器

CPL URF ;;;紧急事件标志位

JB URF,UR_CON ;;;紧急结束;跳转

MOV P0,#49H ;;;各路口灯全显示红灯亮

MOV P2,#15H

AJMP UR_R

UR_CON:SETB TR0 ;;;恢复正常交通

MOV A,32H

MOV P0,A

MOV A,33H

MOV P2,A

UR_R: POP PSW ;;;恢复现场

POP ACC

RETI

;////////////查表指令0,1,2,3,4,5,6,7,8,9

TAB: DB 3FH, 06H, 5BH, 4FH, 66H, 6DH

DB 7DH, 07H, 7FH, 6FH

;//////////延时5ms与1ms

D5MS: MOV R7,#5

D1MS: MOV R7,#10

MOV R6,#50

L1: DJNZ R6,$

DJNZ R7,L1

RET

4. 基于51单片机的红绿灯原理

注p0口为东西红灯
; p1口为东西黄灯
;p2口为东西绿灯
;p3南北红灯
;p4南北黄灯
;p5南北绿灯

;绿灯停留3s;黄灯闪烁5次,每次0.2s,红的停留4s
ORG 0000H
LJMP MAIN
ORG 0030H
MAIN:MOV DPTR,#B1
MOV R2,#4
MOV A,#0H
F3:MOV R1,A
MOVC A,@A+DPTR
JNB ACC.4,SS1 ;判断东西方向黄灯是否亮,若亮则转移到黄灯闪烁程序
JNB ACC.1,SS2 ;判断南北方向黄灯是否亮,若亮则转移到黄灯闪烁程序
MOV P1,A
LCALL DY1S
SS:MOV A,R1
INC A
DJNZ R2,F3
SJMP MAIN

SS1:MOV R0,#10
XH1:CPL ACC.4
MOV P1,A
LCALL DYS
DJNZ R0,XH1
SJMP SS
SS2:MOV R0,#10
XH2:CPL ACC.1
MOV P1,A
LCALL DYS
DJNZ R0,XH2
SJMP SS

DY1S:MOV R5,#30
DLP0:MOV R6,#100
DLP1:MOV R7,#250 ;F=6MHZ
DLP2:DJNZ R7,DLP2 ;2X250X2uS=1ms
DJNZ R6,DLP1 ;1x100=0.1S
DJNZ R5,DLP0 ;0.1X30=3s
RET

DYS:MOV R6,#200
DLP3:MOV R7,#250 ;F=6MHZ
DLP4:DJNZ R7,DLP4 ;2X250X1uS=500us=1ms
DJNZ R6,DLP3 ;1x200=0.2S
RET
B1: DB 11011110B,11101110B,11110011B,11110101B
END

5. 编程加实践(单片机):求利用89C51 CPU编写红绿灯程序

仅供参考

功能说明:

利用单片机P1端口控制6个交通信号灯,并使用定时/计数器T0作定时,实现交通信号灯控制。

在马路的十字路过东西南北各设置红、黄、绿3种信号灯。由P1.0~P1.2控制南北方向,其中P1.0为红灯,P1.1为黄灯,P1.2为绿灯。P1.3~P1.5控制东西方向,其中P1.3为红灯,P1.4为黄灯,P1.5为绿灯。

/*文件名:JT21-3.c*/

/*程序功能:交通信号灯控制*/

#include<AT89X51.H>/*头文件*/

charcount;/*声明count为字符变量*/

bitflag;/*声明flag为位变量*/

charsum=0;/*声明sum为字符变量并赋初始值0*/

xhd();/*信号灯函数xhd()*/

/*――――――――主函数(主程序)―――――――――――*/

main()/*主函数*/

{

TMOD=0x01;/*设定T0为模式1*/

TH0=-(50000/256);/*设定时器初始值50000*/

TL0=-(50000%256);

EA=1;/*总允许中断*/

ET0=1;/*允许定时器T0中断*/

TR0=1;/*启动定时器工作*/

P1=0xff;/*P1初始值,关闭所有信号灯*/

xhd();/*调用信号灯函数*/

}

/*―――――――中断函数(中断服务程序)――――――――*/

T0_srv()interrupt1using1/*中断服务程序*/

{

TH0=-(50000/256);/*重装定时器初始值*/

TL0=-(50000%256);

count++;/*count加1*/

if(count==20)/*判断count是否等于20*/

{

count=0;/*count清0,以便从新计数*/

flag=1;/*标志位为1*/

}

}

/*――――――――信号灯函数(子程序)――――――――*/

xhd()/*信号灯函数*/

{

while(1)/*无限循环*/

{

/*―――――――――――――*/

P1_3=0;P1_2=0;/*东西红灯亮,南北绿灯亮*/

while(sum<15)/*循环15次,延时15秒*/

{

while(!flag);/*等待1秒*/

flag=0;/*标志位清0*/

sum++;/*sum加1*/

}

sum=0;/*sum清0,以便从新计数*/

/*―――――――――――――*/

P1_2=1;P1_1=0;/*南北绿灯灭,黄灯亮*/

while(sum<3)/*循环3次,延时3秒*/

{

while(!flag);

flag=0;

sum++;

}

sum=0;

/*―――――――――――――*/

P1_1=1;P1_0=0;/*南北黄灯灭,红灯亮*/

P1_3=1;P1_5=0;/*东西红灯灭,绿灯亮*/

while(sum<10)/*延时10秒*/

{

while(!flag);

flag=0;

sum++;

}

sum=0;

/*―――――――――――――*/

P1_5=1;P1_4=0;/*东西绿灯灭,黄灯亮*/

while(sum<3)/*延时3秒*/

{

while(!flag);

flag=0;

sum++;

}

sum=0;

/*―――――――――――――*/

P1_4=1;P1_0=1;/*东西黄灯灭,南北红灯灭*/

}

}



6. 基于51单片机控制交通灯的电路图与C语言程序

思路:

红灯停,绿灯行,黄灯闪烁提示行人红绿灯即将切换。四个方向各有一个红、黄、绿显示和两个数码管。

东西道为人行道(20秒),南北道为车行道(60秒),黄灯延时最后三秒时,闪烁并切换。

三、硬件电路设计

此电中路设计采用AT89C51单片机,74LS47(数码管驱动)74LS373(数码管驱动输出锁存),8个数码管显示其延时值,四个红、黄、绿指示灯。硬件设计关键在于,延时显示时,要考虑到当个位数字显示时,要确保十位数字显示输出的不变。因此,可加输出锁存器。在延时最后三秒时,要让黄灯进行闪烁,并同时显示数字(这一步在软件设计上很关键)。

四、软件程序(C语言)

以下是整个设计的软件程序,直接可以编译成*。Hex代码。通过以上电路,下载到单片机,可直接运行。

//*****************************//

//程序名:十字路口交通灯控制

//编写人:黄庭剑

//初写时间:2009年1月2日

//程序功能:南北为车行道,延时60秒;东西方向为人行道,延时20秒,且在最后3秒黄灯显示2秒钟再实现切换.

//CPU说明:AT89C51型单片机;24MHZ晶体振荡器

//完成时间:2009年1月6日

//*****************************//

#include<stdio.h>

#include<reg51.h>

#include<intrins.h>

sfrp0=0x80;

sfrp1=0x90;

sfrp2=0xA0;

sfrp3=0xb0;//这部分内容其实在“#include<reg51.h>”里已经有,但里面定义的必须区分大小写,在这里,因为我程序采用的是小写,reg51.h里对各个端口与寄存器的定义都是大写,所以在编译连接时,会报错,所以,在本设计程序里,我只用到了端口,在这里也就只定义了四个,而没有去改reg51.h里面的内容。其实两者是一样的。

sbitsw=p0^0;

sbitOE=P0^6;

sbitLE=P0^7;//74LS373锁存器控制端定义

chardisplay[]={0x00,0x11,0x22,0x33,0x44,0x55,0x66,0x77,0x88,0x99};//p1口的数码管时间显示调用,利用74L74BCD码,8位驱动输出;

//函数声明begin

voiddelay1(intcount);

voiddelay_long(intnumber1,intnumber2);

voidpeople_car_drive();

//函数声明end

//***********************//延时子程序

voiddelay1(intcount)

{inti;

for(i=count;i>0;i--)

{;}

}

voiddelay_long(intnumber1,intnumber2)

{

inta,b;

for(a=number1;a>0;a--)

{

for(b=number2;b>0;b--)

{_nop_();}

}

}

//**********************//延时子程序

voidpeople_car_drive()

{

intp_1=2,i,j=9,p_2=6;//****************//行人通行时,延时20秒

p2=0x09;//南北红灯亮

p3=0x24;//东西绿灯亮

while(p_1-->0)

{LE=1;

OE=0;

if(p_1==0){OE=1;}//当十位数减到0时,只显示个位数

p1=display[p_1];

delay1(1000);

LE=0;

j=9;

for(i=10;i>0;i--)

{

if(p_1==0&&j==3)break;//减到3时退出循环,让其黄灯闪烁显示

p1=display[j--];

delay_long(16000,2);

if(sw==1)return;

}

}

//*******************************************************************************//

p2=0x12;//南北黄灯闪烁三秒,以提醒行人注意

p3=0x12;

p1=display[3];

delay_long(8000,1);

p2=0x00;

p3=0x00;

delay_long(14000,1);

p2=0x12;

p3=0x12;

p1=display[2];

delay_long(8000,1);

p2=0x00;

p3=0x00;

delay_long(14000,1);

p2=0x12;

p3=0x12;

p1=display[1];

delay_long(8000,1);

p2=0x00;

p3=0x00;

delay_long(14000,1);

//*****************以下是车辆通行时延时60秒//

p2=0x24;//南北绿灯亮

p3=0x09;//东西红灯亮

while(p_2-->0)

{LE=1;

OE=0;

if(p_2==0){OE=1;}//当十位数减到0时,只显示个位数

p1=display[p_2];

delay1(1000);

LE=0;

j=9;

for(i=10;i>0;i--)

{

if(p_2==0&&j==3)break;//减到2时退出循环

p1=display[j--];

delay_long(16000,2);

if(sw==1)return;

}

}

p2=0x12;//南北黄灯闪烁三秒,以提醒行人注意

p3=0x12;

p1=display[3];

delay_long(8000,1);

p2=0x00;

p3=0x00;

delay_long(14000,1);

p2=0x12;

p3=0x12;

p1=display[2];

delay_long(8000,1);

p2=0x00;

p3=0x00;

delay_long(14000,1);

p2=0x12;

p3=0x12;

p1=display[1];

delay_long(8000,1);

p2=0x00;

p3=0x00;

delay_long(14000,1);//南北黄灯闪烁三秒完毕

}

voidmain()//主函数入口处

{

p0=0x01;

p1=0x00;

p2=0x00;

p3=0x00;//初始化各端口

{while(1)

{

if(sw==0)

{people_car_drive();}

else

{

p2=0x00;

p3=0x00;//关闭所有交通灯

}

}

}

}

详情访问:http://hi..com/hjiannew/

7. 基于51单片机的红绿灯设计

ORG 0000H
MOV DPTR ,#0B00H ;选中8155的命令寄存器,P2.2接CE端,p2.1接I/O
MOV A,#01H ;命令寄存器设为01H=000000001B D0=1A口输出,D1=0B口输入
MOVX @DPTR,A
LOOP :MOV DPTR,#0B01H
LED0:MOV A,#0FFH ;第一组灯点亮
MOVX @DPTR,A
MOV R4,#09H
LOOP0:ACALL DELAY
DJNZ R4,LOOP0
MOV A,#11011110B
MOVX @DPTR,A
ACALL DELAY
ACALL DELAY
ACALL DELAY
LED1:ACALL DELAY ;第二组灯点亮
MOV A,#11101101B
MOVX @DPTR,A
ACALL DELAY
MOV A,#0FFH
MOVX @DPTR,A
ACALL DELAY
MOV A,#11101101B
MOVX @DPTR,A
ACALL DELAY
MOV A,#0FFH
MOVX @DPTR,A
ACALL DELAY
MOV A,#11101101B
MOVX @DPTR,A
ACALL DELAY

LED2:MOV R5,#09H ;第三组灯点亮
LOOP1:ACALL DELAY
DJNZ R5,LOOP1
MOV A,#11110011B
MOVX @DPTR,A
ACALL DELAY
ACALL DELAY
ACALL DELAY
SJMP LOOP
DELAY:MOV R3,#02H
LOP3:MOV R1,#85H
LOP1:MOV R2,#0FAH
LOP2:DJNZ R2,LOP2
DJNZ R1,LOP1
DJNZ R3,LOP3
RET
END

8. 单片机:编写十字路口交通灯程序

#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
//sbit BI=P3^4; //74Ls49的消隐引脚
sbit DXR=P1^0; //东西红
sbit DXG=P1^1; //东西绿
sbit DXY=P1^2; //东西黄
sbit NBR=P1^3; //南北红
sbit NBG=P1^4; //南北绿
sbit NBY=P1^5; //南北黄
uchar code table0[30]={0x29,0x28,0x27,0x26,0x25,0x24,0x23,0x22,0x21,0x20,
0x19,0x18,0x17,0x16,0x15,0x14,0x13,0x12,0x11,0x10,
0x09,0x08,0x07,0x06,0x05,0x04,0x03,0x02,0x01,0x00};

void delay(uchar x)
{
uchar t;
while(x--)
for(t=0;t<10;t++);
}
uint count;
char i,j,k=1;
void main()
{
TMOD=0x01;
TH0=0x3c;
TL0=0xb0;
EA=1;
ET0=1;
TR0=1;
P3=0xff;
while(1)
{
// BI=0;
// BI=1;

switch(k)
{

case 1: //南北方向黄灯灭,红灯亮(29-06)s,东西方向红灯灭,绿灯亮24S
P0=table0[i];
P2=table0[j+6];
NBY=1;DXR=1;NBR=0;DXG=0;
if(i==24)
{
i=0;
j=0;
k++;
// delay(0);
}
break;
case 2://南北方向红灯依然亮(05-00)s,东西方向绿灯灭,黄灯亮6s

P0=table0[i+24];
P2=table0[j+24];
DXG=1;DXY=0;
if(i==6)
{ i=0;
j=0;
k++;
}
break;
case 3: //南北方向红灯灭,绿灯亮24s,东西方向黄灯灭,红灯(30-06)s
P0=table0[i+6];
P2=table0[j];
NBR=1;DXY=1;NBG=0;DXR=0;
if(i==24)
{
i=0;
j=0;
k++;
}
break;
case 4://南北方向绿灯灭,黄灯亮6s,东西方向红灯依然亮6s
P0=table0[i+24];
P2=table0[j+24];
NBG=1;NBY=0;
if(i==6)
{
i=0;
j=0;
k=1;
}
break;
}
}
}
void timer0() interrupt 1
{
TH0=0x3c; //50ms
TL0=0xb0;
count++;
if(count==20) //20次中断为1s
{
count=0;
i++;
j++;
}
}

具体时间参数你可以自己在修改。 我的是红灯30S 绿灯24 黄灯 6S

9. 跪求51单片机设计红绿灯程序,C和汇编都行,最好有注释,,具体要求如下

《单片机原理与应用》,李明主编,北京航空航天大学出版社,书上有现成的,只不过是汇编的,修改延时就可用。

阅读全文

与基于单片机开发红绿灯项目前言相关的资料

热点内容
程序员穿越到宋代 浏览:620
怎么使用云服务器挂游戏 浏览:616
真实的幸福pdf 浏览:342
d盘php调用c盘的mysql 浏览:264
怎么样搭建源码网站 浏览:427
新概念四册pdf 浏览:361
怎么下载悦虎检测app 浏览:528
cad表达式命令 浏览:198
程序员去一个小公司值不值得 浏览:846
程序员做个程序多少钱 浏览:495
win10原始解压软件 浏览:319
阿里程序员的老家 浏览:258
量子加密银行 浏览:193
命令方块获得指令手机 浏览:499
学习结束感言简短程序员 浏览:398
android关机闹钟实现 浏览:968
鼠标一键打开文件夹设置 浏览:161
程序员看过来我想静静搞笑视频 浏览:370
curlphp爬虫 浏览:874
python按日期循环 浏览:110