91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 424KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2021-06-18
  • 語言: 其他
  • 標簽: 交通燈??51單片機??

資源簡介

以AT89C51單片機為核心,起著控制作用。系統包括數碼管顯示電路、復位電路、時鐘電路、發光二級管電路和按鍵電路。設計思路分為六個模塊:復位電路、晶振電路模塊、AT89C51、數碼管顯示電路、發光二級管電路和按鍵電路這六個模塊。

資源截圖

代碼片段和文件信息

#include
#include
typedef?unsigned?char?uchar;
typedef?unsigned?int??uint;
sbit?k1=P1^6;
sbit?k2=P1^7;
sbit?k3=P2^7;
sbit?k4=P3^0;
sbit?yellowled_nb=P1^4; //南北黃燈
sbit?yellowled_dx=P1^1; //東西黃燈
uchar?code?table[11]={0x3f0x060x5b0x4f0x660x6d0x7d0x070x7f0x6f0x00};
uchar?data?dig; //位選
uchar?data?led; //偏移量
uchar?data?buf[4];
uchar?data?sec_dx=39;//東西數碼指示值
uchar?data?sec_nb=39;//南北數碼指示值
uchar?data?set_timedx=39;
uchar?data?set_timenb=39;//倒計時設置的鍵值保存
uchar?data?b;//定時器中斷次數
bit?time;//燈狀態循環標志
bit?int0_time;//中斷強行標志
bit?set;//調時方向切換鍵標志
void?delay(int?ms)
{
uint?jk;
for(j=0;j for(k=0;k<124;k++);
}
void?key_to1()
{
TR0=0; ?//關定時器
if(set==0)
sec_nb++;?//南北加1S
else
sec_dx++;//東西加1S
if(sec_nb==100)
sec_nb=1;
if(sec_dx==100)
sec_dx=1;//加到100置1
}
void?key_to2()
{
TR0=0;//關定時器
if(set==0)
sec_nb--;??//南北減1S
else
sec_dx--;??//東西減1S
if(sec_nb==0)
sec_nb=99;
if( sec_dx==0?)
sec_dx=99;//減到1重置99
}
void?key() //按鍵掃描子程序
{
if(k1!=1)
{
delay(10);
if(k1!=1)
{
while(k1!=1);
key_to1();
}
}
if(k2!=1)
{
delay(10);
if(k2!=1)
{
while(k2!=1);
key_to2();
}
}
if(k4!=1)
{
delay(10);
if(k4!=1)
{
while(k4!=1);
set=!set;
}
}
if(k3!=1&&int0_time==1)
{
TR0=1;???//啟動定時器
sec_nb=59;
sec_dx=59;
int0_time=0;//清標志
}?
else?if(k3!=1&&int0_time==0)
{
TR0=1;
set_timenb=sec_nb;
set_timedx=sec_dx;?//設置的鍵值返回保存
}
}
void?display()
{
buf[1]=sec_dx/10;?//第1位?東西秒十位
buf[2]=sec_dx%10;?//第2位?東西秒個位
buf[3]=sec_nb/10;?//第3位?南北秒十位
buf[0]=sec_nb%10;?//第4位?南北秒個位
P0=table[buf[led]];
delay(2); //先延時,提前顯示一位了
P2=dig;
dig=_crol_(dig1);
led++;
if(led==4)
{
led=0;
dig=0xfe;
}
}
void?main()
{
TMOD=0x01;
TH0=0x3C;
TL0=0xB0;
EA=1;
ET0=1;
TR0=1;
EX0=1;
EX1=1;
P1=0Xf3;//?東西通行
while(1)
{
key();?//調用按鍵掃描程序
display();?//調用顯示程序
}
}
void?t0()?interrupt?1?using?1??//定時中斷子程序
{
b++;
if(b==10) ??//?定時器中斷次數。
{
b=0;
sec_dx--;
sec_nb--;
//南北黃燈閃爍判斷
if(sec_nb==3&&time==0)
{
yellowled_nb=1;//南北黃燈亮
delay(300);
yellowled_nb=0;
}
if(sec_nb==2&&time==0)
{
yellowled_nb=1;//南北黃燈亮
delay(300);
yellowled_nb=0;
}
if(sec_nb==1&&time==0)
{
yellowled_nb=1;
delay(300);
yellowled_nb=0;
} ?
//東西黃燈閃判斷 ????
if(sec_dx==3&&time==1)
{
yellowled_dx=1;//南北黃燈亮
delay(300);
yellowled_dx=0;
} ?
if(sec_dx==2&&time==1)
{
yellowled_dx=1;//南北黃燈亮
delay(300);
yellowled_dx=0;
}
if(sec_dx==1&&time==1)
{
yellowled_dx=1;
delay(300);
yellowled_dx=0;
}
if(sec_dx==0||sec_nb==0)?//東西或南北先到達1S時即開始重新計時
{?
sec_dx=set_timedx;
sec_nb=set_timenb;?//第一次循環結束重置
if(time==1)
{
P1=0xF3;??//東西通行
}
else
{
P1=0xde;?//南北通行
}
time=!time;???//取反
}
}
}
void?wb0()?interrupt?0?using?1 ?//

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????8269??2015-02-16?13:40??源程序?-?副本\1、源程序\001

?????文件???????3450??2015-02-16?13:40??源程序?-?副本\1、源程序\001.c

?????文件???????1918??2015-02-16?13:40??源程序?-?副本\1、源程序\001.hex

?????文件?????????23??2015-02-16?13:40??源程序?-?副本\1、源程序\001.lnp

?????文件???????9583??2015-02-16?13:40??源程序?-?副本\1、源程序\001.LST

?????文件??????12709??2015-02-16?13:40??源程序?-?副本\1、源程序\001.M51

?????文件???????9720??2015-02-16?13:40??源程序?-?副本\1、源程序\001.OBJ

?????文件????????228??2016-10-16?14:19??源程序?-?副本\1、源程序\001.plg

?????文件??????54873??2016-10-16?14:39??源程序?-?副本\1、源程序\001.uvopt

?????文件??????13232??2012-11-01?19:50??源程序?-?副本\1、源程序\001.uvproj

?????文件??????54875??2015-02-16?13:40??源程序?-?副本\1、源程序\001_uvopt.bak

?????文件?????425140??2019-10-08?10:08??源程序?-?副本\交通燈壓縮文件.rar

?????目錄??????????0??2020-03-06?12:19??源程序?-?副本\1、源程序

?????目錄??????????0??2020-03-06?12:19??源程序?-?副本

-----------?---------??----------?-----??----

???????????????594020????????????????????14


評論

共有 條評論