欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
單片機控制發光二級管閃爍
[打印本頁]
作者:
1596325
時間:
2019-9-5 09:28
標題:
單片機控制發光二級管閃爍
用P1口作為輸出口,接
8
位用作邏輯電平顯示的發光二極管。設計程序使發光二極管間
隔
300
ms先奇數亮再偶數亮,循環
3
次;一個發光二極管亮上下循環
3
次;兩個分別從兩
邊向中間流動
3
次;再從中間向兩邊流動
3
次;
8
個全部閃爍
3
次;關閉全部發光二極管
,停止。綜合實驗程序:
#庫定義
#include<reg52.h>
#include<intrins.h>
sbit led=P1^0; #位定義
int i,j,k,num,e,p,m;
void delay(int k) #定義延時函數
{
while(k--);
}
void timer0() #定時器0的初始化
{
TMOD=0X01; #工作模式
TR0=1;
EA=1; #開啟總中斷
ET0=1;
TH0=0XDc; #定時時間 需經過換算
TL0=0X00;
}
void Pled()
{
EA=0;
//P1=0xfe;
//delay(50000);
for(p=0;p<3;p++){
P1=0xfe;
for(num=0;num<8;num++)
{
delay(50000);
P1=_crol_(P1,1); #_crol_(左移函數)
if(num==6)
{
for(e=0;e<6;e++){
delay(50000);
P1=_cror_(P1,1); #_cror_(左移函數)
}
}
}
}
}
void flowmiddle()
{
for(m=0;m<3;m++)
{
P1=0x7e;
delay(50000);
P1=0XBD;
delay(50000);
P1=0XDB;
delay(50000);
P1=0XE7;
delay(50000);
}
for(m=0;m<3;m++)
{
P1=0XE7;
delay(50000);
P1=0XDB;
delay(50000);
P1=0XBD;
delay(50000);
P1=0x7e;
delay(50000);
}
for(m=0;m<3;m++){
P1=0xff;
delay(50000);
P1=0;
delay(50000);
}
}
void main()
{
timer0();
while(1){
if(j==7)
{ j=0;
Pled();
flowmiddle();
} if(j==0)
{
P1=0xff;
}
}
}
void time0() interrupt 1 #定時器0中斷響應
{
TH0=0Xdc;
TL0=0X00;//10ms
i++;
if(i==30)
{ i=0;
j++;
if(j%2==0){
P1=0x55;}
if(j%2!=0)
{
P1=0xaa;
}
}
}
實驗實現說明:使用定時器0設定一個計時300ms的計時器,通過判斷變量j在計時器計時到后是奇偶數,分別亮對應的小燈,當變量到7時,清除變量值,并執行通過左右移操作,以及流向中間的操作。
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1