當前位置:編程學習大全網 - 網站源碼 - 求單片機c語言定時程序。初始條件下繼電器斷開,繼電器低電平有效。

求單片機c語言定時程序。初始條件下繼電器斷開,繼電器低電平有效。

#include //假定繼電器是安裝在P3.5,按鍵分別安裝在P3.6, P3.7,時鐘頻率12MHzsbit sw1=P3^6;sbit sw2=P3^7;sbit relay=P3^5; void SetupTimer0(){ TMOD &= 0XF0; //僅保留T1信息 TMOD |= 0X02; //設置T0: 定時功能,方式2,自動重載8位定時器/計數器 TH0 = 256-250;//定時每0.25ms中斷壹次 TL0 = 256-250; TR0 = 1; //開啟定時器 ET0 = 1; //定時器0中斷打開} data unsigned char us250;data unsigned int relay_timer;void Timer0_ISR() interrupt 1 //定時中斷服務程序,為按鍵消抖服務{//如果壹個動作過程剛剛開始,則設定繼電器延時3000ms,並打開繼電器if (0==relay_timer && 0==sw1) {relay_timer=3000; relay=1;} if (++us250>=4) //250us中斷壹次,每四次得到1ms { us250=0; if(relay_timer==0) relay=0; //如繼電器延時為0,則關繼電器 else --relay_timer; //否則繼電器延時遞減 } //如果當前正處於壹個動作過程且有sw2按下,則修改繼電器延時為1000msif (relay_timer && 0==sw2) relay_timer=1000;} void main(){us250=0;relay_timer=0;relay=0; SetupTimer0(); EA = 1; //全局中斷打開 while(1); //所有的動作均在中斷函數內完成}

  • 上一篇:我下載的html網站源碼,用瀏覽器打開正常,用dreamweaver打開為什麽會變形?
  • 下一篇:用JAVA實現P2P文件***享功能的代碼
  • copyright 2024編程學習大全網