標題: [求助]TMOD的寫法。 [打印本頁]
作者: 單斗魚 時間: 2010-4-18 14:25
標題: [求助]TMOD的寫法。
如何用C語言來寫TMOD?
例:使用用定時器功能,10秒計時,
作者: zjjhtony 時間: 2010-4-22 11:19
// T1 | T0
//GATE|C/T|M1|M0|GATE|C/T|M1|M0
TMOD=0X01 // 0 0 0 0 0 0 0 1
//定時器0設置為16位定時器,可用定時50000×200=10 000 000(us)=10S
作者: s393936863 時間: 2010-8-9 17:34
#include<reg52.h>
#define uint unsigned int //宏定義
#define uchar unsigned char、//宏定義
uint i;
void inter0();
void main()
{
TMOD=0x01; //定時器中斷0.,方式1
TH0=(65536-50000)/256; //設定初值 定時為50ms
TL0=(65536-500000)%256; //設定初值 定時為50ms
EA=1; //開總中斷
ET0=1; //開定時器0中斷
TR0=1; //啟動中斷
}
void inter0() interrupt 1 //中斷程序
{
TH0=(65536-50000)/256;
TL0=(65536-500000)%256;
i++;
if(i==200)//i=200即10s
{
; //這部分自己寫
}
}
作者: angang 時間: 2010-8-14 17:11
以下是引用s393936863在2010-8-9 17:34:22的發言:
#include#define uint unsigned int //宏定義#define uchar unsigned char、//宏定義uint i;void inter0(); void main(){
TMOD=0x01; //定時器中斷0.,方式1TH0=(65536-50000)/256; //設定初值 定時為50msTL0=(65536-500000)%256; //設定初值 定時為50msEA=1; //開總中斷ET0=1; //開定時器0中斷TR0=1; //啟動中斷}
void inter0() interrupt 1 //中斷程序
{
TH0=(65536-50000)/256;
TL0=(65536-500000)%256;
i++;
if(i==200)//i=200即10s
{
; //這部分自己寫
}
}
補充一句,中斷函數不用聲明
作者: 吳旭明 時間: 2010-8-16 00:54
哈哈 啊 啊 啊啊
| 歡迎光臨 (http://www.denmoz.com/bbs/) |
Powered by Discuz! X3.1 |