标题: [求助]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.51hei.com/bbs/) |
Powered by Discuz! X3.1 |