久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
基于89c51的交通燈
[打印本頁]
作者:
lt123456789
時間:
2018-6-21 00:25
標題:
基于89c51的交通燈
基于89c51的交通燈
0.png
(11.31 KB, 下載次數: 40)
下載附件
2018-6-21 05:42 上傳
單片機源程序如下:
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
#define ON 0
#define OFF 1
sbit g1=P1^0;
sbit y1=P1^1;
sbit l1=P1^2;
sbit g2=P1^3;
sbit y2=P1^4;
sbit l2=P1^5;
uchar num,num1,key,a,b,c,d;
uint t0,t1; /*t0,t1,要大于255!!*/
uchar code table[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71,0};
void init(); //初值函數
void display(uchar a,uchar b,uchar c,uchar d); //顯示程序
void Keyscan(); // 按鍵
void delay (uint z) //延時函數
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void main()//主函數
{
init();
while(1)
{
display(a,b,c,d);
Keyscan();
if(key) //如果有按鍵按下,
{
TR0=0;
TR1=0; //不計時
P0=table[9]; //顯示99
P2=0; //全部顯示
if(key==1) //東西方向
{
P1=0xde; //LED狀態
}
if(key==2) //南北方向
{
P1=0xf3; //LED狀態
}
}
while(key)
{
Keyscan(); //等待按下正常
}
TR0=1;
TR1=1;
}
}
void Keyscan()
{
uchar temp;
temp=P3;
while(temp!=0xff)
{
delay(5); //延時,消抖
temp=P3; //再次確認是否有健按下
temp=temp&0xff;
while(temp!=0xff)
{
temp=P3;
switch(temp)
{
case 0xfe:key=1; //
break;
case 0xfd:key=2;
break;
case 0xfb:key=0;
break;
}
while(temp!=0xff) //松手檢測
{
temp=P3;
temp=temp&0xff;
}
}
}
}
void init() //改初值函數
{
g1=ON;
y1=OFF;
l1=OFF;
g2=OFF;
y2=OFF;
l2=ON;
num=20;
num1=23;
a=num/10;
b=num%10;
c=num1/10;
d=num1%10;
TMOD=0x11;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
TH1=(65536-50000)/256;
TL1=(65536-50000)%256;
EA=1;
ET0=1;
ET1=1;
TR0=1;
TR1=1;
}
void timer0() interrupt 1 //定時器0中斷 控制東西時間
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
t0++;
if(t0%20==0) //每一秒進入 一次
{
if(t0<=400) //綠燈 時間
{
num--;
if(num==0) //綠燈結束,開黃燈
{
num=3;
g1=OFF;
y1=ON;
l1=OFF;
}
}
if(t0>400&&t0<=460) //黃燈時間
{
num--;
if(num==0) //黃燈結束,開紅燈
{
num=23;
g1=OFF;
y1=OFF;
l1=ON;
}
}
if(t0>460&&t0<=920) //紅燈時間
{
num--;
if(num==0) //紅燈結束,開綠燈
{
num=20;
g1=ON;
y1=OFF;
l1=OFF;
}
if(t0==920)
t0=0;
}
a=num/10;
b=num%10;
}
}
void timer1() interrupt 3 //定時器1中斷 控制南北時間
{
TH1=(65536-50000)/256;
TL1=(65536-50000)%256;
t1++;
if(t1%20==0)
{
if(t1<=460)
{
num1--;
if(num1==0)
{
num1=20;
g2=ON;
y2=OFF;
l2=OFF;
}
}
if(t1>460&&t1<=860)
{
num1--;
if(num1==0)
{
num1=3;
g2=OFF;
y2=ON;
l2=OFF;
}
}
if(t1>860&&t1<=920)
{
num1--;
if(num1==0)
{
num1=23;
g2=OFF;
y2=OFF;
l2=ON;
}
if(t1==920)
t1=0;
}
c=num1/10;
d=num1%10;
}
}
/*void display(uchar a,uchar b,uchar c,uchar d) //顯示程序
{
P0=table[a];
P2=1;
delay(1);
P2=255;
P0=table[b];
P2=2;
delay(1);
P2=255;
P0=table[c];
P2=4;
delay(1);
P2=255;
P0=table[d];
P2=8;
delay(1);
P2=255;
}
*/
void display(uchar a,uchar b,uchar c,uchar d) //顯示程序
{
P0=table[a];
P2=0xfe;
delay(1);
P2=0xff;
P0=table[b];
P2=0xfd;
delay(1);
P2=0xff;
P0=table[c];
P2=0xfb;
delay(1);
P2=0xff;
P0=table[d];
P2=0xf7;
delay(1);
P2=0xff;
}
復制代碼
所有資料51hei提供下載:
王建寶.zip
(62.96 KB, 下載次數: 23)
2018-6-21 00:25 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
作者:
xwl_
時間:
2023-7-3 22:21
好厲害,也很全,謝謝分享我會學習的
歡迎光臨 (http://m.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
国产精品久久久久久久久久久久久久久
|
国产浮力第一页
|
在线日韩欧美
|
日韩成人精品一区二区
|
亚洲精品蜜桃
|
欧美视频在线观看一区
|
国产寡妇亲子伦一区二区三区四区
|
日本一区二区三区免费观看
|
色综合五月
|
中文字幕在线观看网站
|
中文字幕日韩视频
|
国产精品日韩欧美
|
国产精品高潮呻吟久久
|
avxxxxx
|
国产黄色精品视频
|
狠狠操狠狠操
|
黄色成人免费网站
|
一区二区在线视频
|
国产精品乱码一区二区三区
|
好色影院
|
性视频在线
|
日韩有码在线视频
|
超碰麻豆
|
国产一区二区日韩
|
国产无遮挡又黄又爽又色
|
亚洲福利视频一区
|
国产日韩欧美日韩大片
|
国产不卡在线视频
|
成人a级片
|
亚洲精品国产精品国自产观看浪潮
|
国产成人99久久亚洲综合精品
|
成人午夜视频在线观看
|
久久久久久国产精品
|
永久免费看mv网站入口亚洲
|
日本中文字幕在线播放
|
av手机天堂网
|
色婷婷av一区二区三区之e本道
|
黄色片免费网站
|
成人超碰在线
|
国产丝袜一区
|
欧美18免费视频
|