欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標(biāo)題:
超級(jí)交通燈proteus仿真,立體實(shí)物,行人道上的紅綠燈第二輪,發(fā)代碼,大家點(diǎn)評(píng)
[打印本頁(yè)]
作者:
q23154762
時(shí)間:
2017-12-13 22:26
標(biāo)題:
超級(jí)交通燈proteus仿真,立體實(shí)物,行人道上的紅綠燈第二輪,發(fā)代碼,大家點(diǎn)評(píng)
超級(jí)交通燈proteus仿真,立體實(shí)物,行人道上的紅綠燈第二輪,發(fā)代碼,大家點(diǎn)評(píng)
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
0.jpg
(154.46 KB, 下載次數(shù): 83)
下載附件
2017-12-13 23:45 上傳
0.png
(6.33 KB, 下載次數(shù): 72)
下載附件
2017-12-13 23:45 上傳
單片機(jī)源程序如下:
#include<reg51.h>
sbit P3_5=P3^5;
sbit shi=P3^6; //十位
sbit ge=P3^7; //個(gè)位
sbit fm=P3^4;
sbit hw1=P3^3;
sbit LED1=P1^0; //南紅北綠
sbit LED2=P1^1; //南北黃
sbit LED3=P1^2; //南綠北紅
sbit LED4=P1^3; //東紅西綠
sbit LED5=P1^4; //東西黃
sbit LED6=P1^5; //東綠西紅
sbit k2=P1^6;
sbit sw=P1^7;
sbit led1=P3^1; //電機(jī)啟動(dòng)為0
sbit led2=P3^2;
sbit k1=P3^0;
sbit P2_0=P2^0;
sbit P2_1=P2^1;
sbit P2_2=P2^2;
sbit P2_3=P2^3;
sbit P2_4=P2^4;
sbit P2_5=P2^5;
sbit P2_6=P2^6;
sbit P2_7=P2^7;
sbit P0_0=P0^0;
sbit P0_1=P0^1;
sbit P0_2=P0^2;
sbit P0_3=P0^3;
sbit P0_4=P0^4;
sbit P0_5=P0^5;
sbit P0_6=P0^6;
sbit P0_7=P0^7;
unsigned char count=0; //計(jì)數(shù)50ms
unsigned char miaoa; //東西方向
unsigned char miaob; //南北方向
unsigned char DY=1; //標(biāo)志第一個(gè)方式
unsigned char DX=1;
unsigned char DZ=0;
unsigned char DB=0;
unsigned int c=0;
unsigned int b=0;
unsigned char miao; //加減時(shí)間
void disp1();
void disp2();
void delay(unsigned int t) //延時(shí)函數(shù)
{
unsigned int a;
for(a=0;a<t;a++);
}
void timer_1() interrupt 3 //定時(shí)器T1的中斷函數(shù),工作方式1下50ms產(chǎn)生中斷,執(zhí)行該中斷函數(shù)
{
TH1=(65536-50000)/256; //重新設(shè)置T1計(jì)數(shù)初值高8位
TL1=(65536-50000)%256; //重新設(shè)置T1計(jì)數(shù)初值低8位
count++; //50ms計(jì)數(shù)器加1
}
//void hongwai1()
//{
// bit flag;
// flag=0; //燈滅
//
// if(hw1==1&&flag==0)
// {
// fm=0;
// delay(50000);
// flag=1;
// }
// else if(hw1==0&&flag==1)
// {
// fm=1;
// delay(50000);
// flag=0;
// }
//}
void shumaguan()
{
if(DX==1) //方式1
{
if(DY==1)
{
// hongwai1();
P0_0=1;
P0_1=0;
P0_2=0;
P0_3=1;
switch(c) //切換閑忙時(shí)間范圍
{
case 0:miaoa=15+miao;miaob=12+miao;break; //忙
case 1:miaoa=25+miao;miaob=22+miao;break; //不忙
case 2:miaoa=35+miao;miaob=32+miao;break; //閑
default:break;
}
DY=0;
}
if(count==20)
{
miaoa--;
miaob--;
count=0; //50ms計(jì)數(shù)清零
}
if(miaoa<10&&miaob<7)
{
disp1();
}
if(DZ==0)
{
LED6=1; //滅東綠西紅,亮東西黃燈
LED3=1;
LED1=0; //南紅北綠,東紅西綠
LED4=0;
LED2=1;
LED5=1;
if(miaoa==3&&miaob==0)
{
miaob=3; //東西方向減為0
LED1=1; //滅南紅北綠,南北亮黃
LED4=1;
DZ=1;
}
}
if(DZ==1)
{
LED1=1; //滅南紅北綠,南北亮黃
LED4=1;
if(count<10)
{
LED2=0; // 南北紅燈亮,東西黃燈滅
LED5=0;
}
else {
LED2=1;
LED5=1 ;
}}
if(miaoa==-1&&miaob==-1) //東西南北都減為0
{
DX=0;
DZ=0;
//DY置0,準(zhǔn)備方式2
}
}
else if(DX==0)
{ //方式2啟動(dòng)
if(DY==0)
{
// hongwai1();
P0_0=0;
P0_1=1;
P0_2=1;
P0_3=0;
switch(c) //切換閑忙時(shí)間范圍
{
case 0:miaoa=12+miao;miaob=15+miao;break; //忙
case 1:miaoa=22+miao;miaob=25+miao;break; //不忙
case 2:miaoa=32+miao;miaob=35+miao;break; //閑
default:break;
}
DY=1;
}
if(count==20)
{
miaoa--;
miaob--;
count=0;
}
if(miaob<10&&miaoa<7)
{
disp2() ;
}
if(DB==0)
{
LED1=1; //滅南紅北綠,南北亮黃
LED4=1;
LED3=0; //南綠北紅,東綠西紅
LED6=0;
LED2=1;
LED5=1 ;
if(miaob==3&&miaoa==0)
{
miaoa=3;
LED6=1;
LED3=1; //滅東綠西紅,亮東西黃燈
DB=1 ;
}
}
if(DB==1)
{
LED6=1; //滅東綠西紅,亮東西黃燈
LED3=1;
if(count<10)
{
LED2=0; // 南北紅燈亮,東西黃燈滅
LED5=0;
}
else {LED2=1;
LED5=1 ;
}}
if(miaob==-1&&miaoa==-1)
{
DX=1;
DB=0; //轉(zhuǎn)為方式1
}
}
}
void disp() //顯示函數(shù)
{
unsigned char led1[]={0,1,0,1,0,1,0,1,0,1};
unsigned char led2[]={0,0,1,1,0,0,1,1,0,0};
unsigned char led3[]={0,0,0,0,1,1,1,1,0,0};
unsigned char led4[]={0,0,0,0,0,0,0,0,1,1};
P2_7=led4[miaoa/10%10]; //顯示十位 西東
P2_6=led3[miaoa/10%10];
P2_5=led2[miaoa/10%10];
P2_4=led1[miaoa/10%10];
P2_3=led4[miaob/10%10]; //南北
P2_2=led3[miaob/10%10];
P2_1=led2[miaob/10%10];
P2_0=led1[miaob/10%10];
shi=0;
delay(5);
shi=1;
P2_7=led4[miaoa%10]; //顯示十位 西東
P2_6=led3[miaoa%10];
P2_5=led2[miaoa%10];
P2_4=led1[miaoa%10];
P2_3=led4[miaob%10]; //南北
P2_2=led3[miaob%10];
P2_1=led2[miaob%10];
P2_0=led1[miaob%10];
ge=0;
delay(5);
ge=1;
}
void disp1()
{
unsigned char led1[]={0,1,0,1,0,1,0,1,0,1};
unsigned char led2[]={0,0,1,1,0,0,1,1,0,0};
unsigned char led3[]={0,0,0,0,1,1,1,1,0,0};
unsigned char led4[]={0,0,0,0,0,0,0,0,1,1};
P0_7=led4[miaoa]; //顯示十位 西東
P0_6=led3[miaoa];
P0_5=led2[miaoa];
P0_4=led1[miaoa];
P3_5=0;
delay(5);
P3_5=1;
}
void disp2()
{
unsigned char led1[]={0,1,0,1,0,1,0,1,0,1};
unsigned char led2[]={0,0,1,1,0,0,1,1,0,0};
unsigned char led3[]={0,0,0,0,1,1,1,1,0,0};
unsigned char led4[]={0,0,0,0,0,0,0,0,1,1};
P0_7=led4[miaob]; //南北
P0_6=led3[miaob];
P0_5=led2[miaob];
P0_4=led1[miaob];
P3_5=0;
delay(5);
P3_5=1;
}
void main()
{
TMOD=0x10;
TH1=(65536-50000)/256; //設(shè)置T1計(jì)數(shù)初值高八位
TL0=(65536-50000)%256; //設(shè)置T1計(jì)數(shù)初值低八位
EA=1;
while(1)
{
while(!sw)
{
……………………
…………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼
所有資料51hei提供下載:
超級(jí)交通燈(proteus仿真).rar
(224.99 KB, 下載次數(shù): 34)
2017-8-28 21:19 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
作者:
renqian4436
時(shí)間:
2017-12-14 08:48
不錯(cuò)不錯(cuò)
作者:
578293667
時(shí)間:
2018-4-18 18:16
很棒很棒
作者:
yuchen173
時(shí)間:
2018-5-24 16:47
大佬,發(fā)個(gè)說(shuō)明書(shū)吧,沒(méi)有看懂按鍵和左上角的led顯示啥意思
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1