|
編寫交通燈程序,下面程序能夠?qū)崿F(xiàn)紅綠燈顯示及對應(yīng)流水燈的顯示,但是怎么實(shí)現(xiàn)在黃燈時(shí)間流水燈閃爍不知道怎么調(diào)試了嘗試過黃燈流水燈亮?xí)r直接加入延時(shí)函數(shù)發(fā)現(xiàn)數(shù)碼管閃爍了,求大神指點(diǎn)實(shí)現(xiàn)黃燈閃爍。附錄為單片機(jī)的原理圖,圖片為使用單片機(jī)。
#include <REGX52.H>
#define uint unsigned int
#define uchar unsigned char
sbit nsred=P1^0;
sbit nsgreen=P1^1;
sbit nsyellow=P1^2;
sbit ewred=P1^4;
sbit ewgreen=P1^5;
sbit ewyellow=P1^6;
sbit wela=P2^6;
sbit dula=P2^7;
#define nsred() do{nsred=0;nsgreen=1;nsyellow=1;} while(0);
#define nsgreen() do{nsred=1;nsgreen=0;nsyellow=1;} while(0);
#define nsyellow() do{nsred=1;nsgreen=1;nsyellow=0;} while(0);
#define ewred() do{ewred=0;ewgreen=1;ewyellow=1;} while(0);
#define ewgreen() do{ewred=1;ewgreen=0;ewyellow=1;} while(0);
#define ewyellow() do{ewred=1;ewgreen=1;ewyellow=0;} while(0);
#define yeltime 4
#define ewtime 28+yeltime
#define nstime 16+yeltime
uchar t=ewtime;
uchar flag=1;
uchar tt=0;
uchar keyflag=0;
uchar table1[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
uchar table2[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
sbit key2=P3^4;
sbit key3=P3^5;
void delayms(uint xms)
{
|
|