找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 7499|回复: 4
收起左侧

[求助]TMOD的写法。

[复制链接]
ID:23090 发表于 2010-4-18 14:25 | 显示全部楼层 |阅读模式
如何用C语言来写TMOD? 例:使用用定时器功能,10秒计时,
回复

使用道具 举报

ID:18297 发表于 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
回复

使用道具 举报

ID:25506 发表于 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

   {

;  //这部分自己写

    }

}

回复

使用道具 举报

ID:25278 发表于 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    { ;  //这部分自己写     } } 补充一句,中断函数不用声明
回复

使用道具 举报

ID:25601 发表于 2010-8-16 00:54 | 显示全部楼层
哈哈 啊   啊   啊啊
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表