欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
通過程序概述一下交通燈是怎樣運行工作的,要詳細一點 謝謝
[打印本頁]
作者:
877140465
時間:
2017-12-16 13:12
標題:
通過程序概述一下交通燈是怎樣運行工作的,要詳細一點 謝謝
#include<reg52.h>
sbit RED1=P0^0;
sbit YELLOW1=P0^1;
sbit GREEN1=P0^2;
sbit RED2=P0^4;
sbit YELLOW2=P0^5;
sbit GREEN2=P0^6;
void delay(long dly)
{
while(dly--);
}
void main()
{
signed int i,x,y,z;
while(1)
{
RED1=0;YELLOW1=1;GREEN1=1;//南北紅
RED2=1;YELLOW2=1;GREEN2=0;//東西綠
x=10,y=7,z=3;
for(i=0;i<10;i++)
{
P2=((x/10)<<4)+x%10; //nanbeihong
x--;
if(y>0)
{
P1=((y/10)<<4)+y%10; //dongxilv
y--;
delay(15000);
}
else
{
RED2=1;YELLOW2=0;GREEN2=1; //dongxihuang
P1=((z/10)<<4)+z%10;
RED2=1;YELLOW2=0;GREEN2=1;
delay(7500);
RED2=1;YELLOW2=1;GREEN2=1;
delay(7500);
z--;
}
}
RED1=1;YELLOW1=1;GREEN1=0;//南北綠
RED2=0;YELLOW2=1;GREEN2=1;//東西紅
x=18,y=15,z=3;
for(i=0;i<18;i++) //dongxihong
{
P1=((x/10)<<4)+x%10;
x--;
if(y>0)
{
P2=((y/10)<<4)+y%10; //nanbeilv
y--;
delay(15000);
}
//nanbeihuang
else
{
RED1=1;YELLOW1=0;GREEN1=1;
P2=((z/10)<<4)+z%10;
RED1=1;YELLOW1=0;GREEN1=1;
delay(7500);
RED1=1;YELLOW1=1;GREEN1=1;
delay(7500);
z--;
}
}
}
}
作者:
zl2168
時間:
2017-12-16 18:22
先學理論,打基礎,否則,問題多多,事倍功半。
作者:
angmall
時間:
2017-12-16 19:25
// 模擬交通信號燈的程序
// 典型的51紅綠燈程序,用89C51,S51, 分別定義了 P0.0,0.1,0.2 ,P0.4,0.5,0.6 接外部輸出,會自動運行。
#include <reg52.h>
sbit RED1 =P0^0; // 南北交通信號燈
sbit YELLOW1=P0^1;
sbit GREEN1 =P0^2;
sbit RED2 =P0^4; // 東西交通信號燈
sbit YELLOW2=P0^5;
sbit GREEN2 =P0^6;
/*------------------------------------------------
uS延時函數,含有輸入參數 long dly,無返回值
long 是定義無符號字符變量,其值的范圍是
-2147483648~+2147483647 這里使用晶振12M,精確延時請使用匯編,大致延時
長度如下 T=dly x 2 + 5 uS
------------------------------------------------*/
void delay(long dly)
{
while(dly--);
}
void main()
{
int i,x,y,z;
while(1)
{
RED1=0;YELLOW1=1;GREEN1=1;//南北紅
RED2=1;YELLOW2=1;GREEN2=0;//東西綠
x=10,y=7,z=3;
for(i=0;i<10;i++)
{ //2位的數碼管模塊 進行硬件譯碼
P2=((x/10)<<4)+x%10; //nanbeihong 驅動數碼管顯示 要顯示的數字的BCD碼數組
x--;
if(y>0)
{ //2位的數碼管模塊 送入的 BCD譯碼器 轉碼
P1=((y/10)<<4)+y%10; //dongxilv 驅動數碼管顯示
y--;
delay(15000); //大致延時30mS
}
else
{
RED2=1;YELLOW2=0;GREEN2=1; //dongxihuang
P1=((z/10)<<4)+z%10; // 驅動數碼管顯示 要顯示的數字的BCD碼數組
RED2=1;YELLOW2=0;GREEN2=1;
delay(7500); //大致延時15mS
RED2=1;YELLOW2=1;GREEN2=1;
delay(7500); //大致延時15mS
z--;
}
}
RED1=1;YELLOW1=1;GREEN1=0;//南北綠
RED2=0;YELLOW2=1;GREEN2=1;//東西紅
x=18,y=15,z=3;
for(i=0;i<18;i++) //dongxihong
{
P1=((x/10)<<4)+x%10; //驅動數碼管顯示
x--;
if(y>0)
{
P2=((y/10)<<4)+y%10; //nanbeilv 驅動數碼管顯示
y--;
delay(15000); //大致延時30mS
}
//nanbeihuang
else
{
RED1=1;YELLOW1=0;GREEN1=1;
P2=((z/10)<<4)+z%10; // 驅動數碼管顯示
RED1=1;YELLOW1=0;GREEN1=1;
delay(7500); //大致延時15mS
RED1=1;YELLOW1=1;GREEN1=1;
delay(7500); //大致延時15mS
z--;
}
}
}
}
復制代碼
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1