標題:
使用定時器做的一個LED閃爍試驗
[打印本頁]
作者:
a15616
時間:
2015-11-13 08:48
標題:
使用定時器做的一個LED閃爍試驗
#include <reg52.h> //頭文件
#define uint unsigned int //宏定義
sbit LED=P0^7; //LED接在P0口第7腳
sbit DUAL=P2^6; //數(shù)碼段鎖存器
sbit WEAL=P2^7; //數(shù)碼位鎖存器
sbit LEDON=P1^4; //LED上接電阻PNP三極管基極
uint num; //定義num為無符號整型變量
void main() //主函數(shù)
{
LEDON=0; //LED上拉電阻上三極管打開
DUAL=0; //數(shù)碼段鎖存器鎖存
WEAL=0; //數(shù)碼位鎖存器鎖存
LED=0; //LED點亮
num=0; //num賦初值
TMOD=0x02; //設置定時器0工作方式2——自動重裝8位定時器
TH0=0x38; //定時器0高8位賦值56
TL0=0x38; //定時器0低8位賦值56,256-56=200,1/11.0592*12*200=0.217ms
EA=1; //打開中斷允許
ET0=1; //定時器0中斷有效
TR0=1; //定時器0啟動
while(1) //進入循環(huán)
{
if(num==5000) //中斷5000次,0.217*5000=1.085s
{
num=0; //num復零
LED=~LED; //LED取反
}
}
}
void T0_time() interrupt 1 //定時器0中斷函數(shù)
{
num++; //每次定時時間到num變量自加1
}
作者:
51hei_kmee
時間:
2015-11-13 09:08
中斷真好
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1