導航:首頁 > 編程語言 > 中斷led顯示程序

中斷led顯示程序

發布時間:2025-08-11 18:48:37

⑴ 單片機c語言程序高手進 這個程序應該怎樣實現中斷

給你個思路吧。
首先來個鍵盤掃描程序。採集是A鍵按下還是B鍵按下。如果是A鍵按下的話,就給LED1口輸出高電平然後延時1S,延時程序可以用delay來粗略延時,也可以用定時器精確延時;延時1S過後,讓LED1口輸出低電平,然後再延時1S。給這段程序用while或者for語句來循環5次,這樣就能得到啟動LED1(1S閃爍一次,持續10S)的動作了;
然後再這段語句後面啟動另一個定時器,用來定時20S。可以讓這個定時器定時50ms,然後循環變數加400次,就是20S的定時了。
在此期間,如果A鍵又按下了,就判斷看定時器是否循環超過400次,如果超過了,就說明A鍵按下距離前一個狀態已經超過20S了,這樣的話,就重復 啟動LED1(1S閃爍一次,持續10S)的動作,如果循環變數沒超過400次的話,就說明 20S內A鍵已經被再按一次了,這樣的話,就執行 LED2(0.5秒閃爍一次,持續20S) 這個動作。
而LED2(0.5秒閃爍一次,持續20S)的程序就是 LED2的IO口輸出高電平,然後延時0.5秒,然後LED2口輸出低電平,延時0.5秒。之後再用while或者for語句,循環這段程序10次,就能完成 LED2(0.5秒閃爍一次,持續20S)這個動作了。
當然,再鍵盤掃描程序中,如果按下的是B鍵的話,就直接讓LED2口輸出高電平。這樣,LED2就會一直亮了

⑵ 單片機C語言定時中斷LED燈程序求修改

#include<reg52.h>
sbit P00=P0^復0;
sbit key=P1^0;
unsigned int i=0;
void main(void)
{
TMOD=0x10;//設定定時器制的工作模式為定時器1方式1
TH1=15536/256;//向定時器裝入初值高八位
TL1=15536%256;//向定時器裝入初值低八位
EA=1;//開總開關
ET1=1;//開分開關
TR1=1;//啟動定時器
while(1)
{
if(key==0)TR1=0;

else TR1=1;

}
}
void t1(void) interrupt 3//定時器0服務函數
{
TH1=15536/256;//向定時器裝入初值高八位
TL1=15536%256;//向定時器裝入初值低八位

if(++i==30)//延時1.5S
{
i=0;
P00=~P00;//閃爍
}
}

閱讀全文

與中斷led顯示程序相關的資料

熱點內容
網路中常用的傳輸介質 瀏覽:518
文件如何使用 瀏覽:322
同步推密碼找回 瀏覽:865
樂高怎麼才能用電腦編程序 瀏覽:65
本機qq文件為什麼找不到 瀏覽:264
安卓qq空間免升級 瀏覽:490
linux如何刪除模塊驅動程序 瀏覽:193
at89c51c程序 瀏覽:329
怎麼創建word大綱文件 瀏覽:622
裊裊朗誦文件生成器 瀏覽:626
1054件文件是多少gb 瀏覽:371
高州禁養區內能養豬多少頭的文件 瀏覽:927
win8ico文件 瀏覽:949
仁和數控怎麼編程 瀏覽:381
項目文件夾圖片 瀏覽:87
怎麼在東芝電視安裝app 瀏覽:954
plc顯示數字怎麼編程 瀏覽:439
如何辨別假網站 瀏覽:711
寬頻用別人的賬號密碼 瀏覽:556
新app如何佔有市場 瀏覽:42

友情鏈接