Chinaunix首页 | 论坛 | 博客
  • 博客访问: 630763
  • 博文数量: 1008
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 5175
  • 用 户 组: 普通用户
  • 注册时间: 2012-07-31 09:44
文章分类
文章存档

2012年(1008)

我的朋友

分类:

2012-08-01 11:30:30

原文地址:IT0定时器 作者:luozhiyong131

  1. /************************************************
  2. 文件名:8051 IT0定时器
  3. [ ]:罗志勇、周彬炎、霍小波
  4. 描 述:初始化 init_IT0(int IT0_das0) IT0_das0=秒数
  5.         处理函数 IT0_done()        
  6. 时间:2011年1月9日
  7. ************************************************/

  8. int IT0_1S = 20;             //定时1秒的值

  9. int IT0_da=0;    
  10. int IT0_das;              //变量、要定时多少秒


  11. void init_IT0(int IT0_das0)     //IT0初始化

  12. {
  13.     TMOD = TMOD||0x01;        //设定为定时模式

  14.     TH0 = 0X3C;
  15.     TL0 = 0XB0;                //赋初值 (50ms)

  16.     EA = 1;                    //开起总中断

  17.     ET0 = 1;                //开起定时中断

  18.     TR0 = 1;                //启动定时器

  19.     IT0_das = IT0_1S * IT0_das0;    //把IT0_das0值转换成定时器计数值

  20. }

  21. void IT0_done();    //处理函数声明


  22. void time0_int(void) interrupt 1
  23. {
  24.     TH0 = 0X3C;
  25.     TL0 = 0XB0;            //重新赋值

  26.     IT0_da++;            //进行定时器加一计算

  27.     if(IT0_das==IT0_da)        //判断时间到

  28.     {
  29.         IT0_da=0;        //定时器计算清0

  30.         IT0_done();        //调用处理函数

  31.     }
  32. }
阅读(123) | 评论(0) | 转发(0) |
0

上一篇:峰鸣器

下一篇:ITI外部计数

给主人留下些什么吧!~~