Chinaunix首页 | 论坛 | 博客
  • 博客访问: 7688006
  • 博文数量: 961
  • 博客积分: 15795
  • 博客等级: 上将
  • 技术积分: 16612
  • 用 户 组: 普通用户
  • 注册时间: 2010-08-07 14:23
文章分类

全部博文(961)

文章存档

2016年(1)

2015年(61)

2014年(41)

2013年(51)

2012年(235)

2011年(391)

2010年(181)

分类: 嵌入式

2011-01-10 10:35:34

  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. }
阅读(1977) | 评论(0) | 转发(2) |
0

上一篇:ITI外部计数

下一篇:峰鸣器

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