當前位置:編程學習大全網 - 編程軟體 - 單片機定時器控制電子門鈴c語言程序

單片機定時器控制電子門鈴c語言程序

圖中那示波器的接法有什麽用?應該是監測P2.0口和P2.3口吧。

編程如下:

#include <reg52.h> //52系列頭文件

#define uchar unsigned char //變量類型宏定義

#define uint unsigned int

sbit Key = P2^0; //按鍵位聲明

sbit Bell = P2^3; //門鈴位聲明

uint p; //中斷次數變量

void main() //主程序

{

TMOD = 0x00; //設置T0工作於方式0

TH0 = (8192-700)/32; //T0計數器裝入定時700us初值

TL0 = (8192-700)%32;

IE = 0x82; //開總中斷,開T0中斷

if(Key==0) //如果鍵被按下

{

TR0 = 1; //啟動T0定時器計時

}

while(Key==0); //等待按鍵松開

}

void Timer0() interrupt 1 //T0中斷服務子程序

{

Bell = ~Bell; //每次中斷發生時,門鈴狀態取反

p++; //中斷計次值加1

if(p<=400) //如果中斷<=400次,

{

TH0 = (8192-700)/32; //重裝700us定時初值

TL0 = (8192-700)%32;

}

if(p>400) //如果中斷次數>400

{

TH0 = (8192-1000)/32; //則重裝定時 1ms 初值

TL0 = (8192-1000)%32;

if(p==1000) //如果中斷次數 =800次

{

P = 0; //中斷計數值歸0

TR0 = 0; //關閉T0定時器

}

}

}

操作說明:每當按下並保持,響鈴壹聲。松開後再按,即重復上述狀態。

  • 上一篇:關於XBOX360的幾個問題
  • 下一篇:什麽是severlet,及在Java開發中的作用?
  • copyright 2024編程學習大全網