找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 10108|回复: 5
打印 上一主题 下一主题
收起左侧

同时使用两个单片机定时器的问题

[复制链接]
楼主
ID:410399 发表于 2018-12-14 08:10 | 显示全部楼层
2个定时器就这样用,功能你自己搞定了
  1. void main()
  2. {
  3. TMOD = 0x11;
  4.        
  5.         TH0 = (65536 - 15000) / 256;                //定时器 0: 15ms
  6.         TL0 = (65536 - 15000) % 256;
  7.        
  8.         TH1 = (65536 - 50000) / 256;                //定时器 1: 50ms
  9.         TL1 = (65536 - 50000) % 256;
  10.        
  11.         IE = 0x8a;
  12.        
  13.         TR0 = 1;
  14.         TR1 = 1;
  15. }
  16. void Time0(void) interrupt 1
  17. {
  18.         TH0 = (65536 - 15000) / 256;                //恢复定时器0初值
  19.         TL0 = (65536 - 15000) % 256;
  20.        
  21.         if(++tc0 == 10)                                                //150ms 转换状态
  22.         {
  23.                 tc0 = 0;
  24.                 //
  25.                
  26.         }
  27.        
  28. }

  29. //T1中断函数
  30. void Time1(void) interrupt 3
  31. {
  32.         TH1 = (65536 - 50000) / 256;                //恢复定时器1初值
  33.         TL1 = (65536 - 50000) % 256;
  34.        
  35.         if(++tcl == 10)                                                //500ms 转换状态
  36.         {
  37.                 tc1 = 0;
  38.                 //
  39.         }
  40. }
复制代码
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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