仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
51hei.gif (121.23 KB, 下載次數: 33)
下載附件
2022-6-21 18:16 上傳
6e4eae2ef7a82e1141f217d58cbfef0.png (43.88 KB, 下載次數: 30)
下載附件
2022-6-21 16:57 上傳
單片機源程序如下:
#include<reg51.h>
unsigned char delay_par=0x8; //閃燈次數初值
unsigned char light_code=0xf7; //閃燈位置初值
void delay(void){ //可控硅觸發維持時間
unsigned char i=5;
if(i>=0) i--;
}
void main(){
TCON=0x01; //中斷設置為下降沿觸發
EA=1;
EX0=1; //開中斷
while(1);
}
void INT0_srv(void) interrupt 0 {
P1=light_code; //觸發可控硅(閃燈開始)
delay(); //延時20us
P1=0xff; //關斷觸發
delay_par--; //統計閃燈次數
if(delay_par==0){ //切換閃燈位置
switch(light_code){
case 0xf7: light_code=0xfb; break;
case 0xfb: light_code=0xfd; break;
case 0xfd: light_code=0xfe; break;
case 0xfe: light_code=0xf7; break;
default: break;
}
delay_par=0x8; //重置閃燈次數
}
}
51hei.png (10.12 KB, 下載次數: 30)
下載附件
2022-6-21 18:19 上傳
Keil代碼與Proteus仿真下載:
閃燈.7z
(67.66 KB, 下載次數: 41)
2022-6-21 18:19 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|