普中开源电子分享网

 找回密码
 立即注册
搜索
查看: 5831|回复: 3

Keil 4.0, 定时器debug

 关闭 [复制链接]

5

主题

10

帖子

47

积分

新手上路

Rank: 1

积分
47
发表于 2016-9-19 09:21:40 | 显示全部楼层 |阅读模式
求教大侠,定时器程序如下,各变量均正确声明:
  1. <div>void main()</div><div>{</div><div>unsigned char counter=0;</div><div>ENLED =0; ADDR0 =0; ADDR1 =1;</div><div>ADDR2 =1; ADDR3 = 1; LED =1;</div><div>TMOD =0X01;//设置定时器T0模式为01</div><div>TH0 = 0XB8;</div><div>TL0 = 0x00;  //定时器赋值</div><div>TR0 = 1; //打开定时器T0</div><div>while(1)</div><div>{</div><div>if(TF0 ==1)</div><div>{</div><div>TF0 =0;</div><div>TH0=0x8b;</div><div>TL0 =0x00;</div><div>counter++;</div><div>if(counter ==50) //计算50次</div><div>{</div><div>counter =0; // 计数器清零</div><div>LED != LED; //取反操作</div><div>}</div><div>}</div><div>}</div><div>}</div>
复制代码
程序编译无错误,没有警告,进入debug状态时,不管是按下F5键,还是单步执行F11键,因为定时器不运行,没有溢出产生,停在if(TF0 ==1)语句,程序不进入计时状态,请问有什么办法?谢了!



回复

使用道具 举报

5

主题

10

帖子

47

积分

新手上路

Rank: 1

积分
47
 楼主| 发表于 2016-9-19 09:43:17 | 显示全部楼层
void main() { unsigned char counter=0; ENLED =0; ADDR0 =0; ADDR1 =1; ADDR2 =1; ADDR3 = 1; LED =1; TMOD =0X01;//设置定时器T0模式为01 TH0 = 0XB8; TL0 = 0x00;  //定时器赋值 TR0 = 1; //打开定时器T0 while(1) { if(TF0 ==1) { TF0 =0; TH0=0x8b; TL0 =0x00; counter++; if(counter ==50) //计算50次 { counter =0; // 计数器清零 LED != LED; //取反操作 } } } }
回复 支持 反对

使用道具 举报

3

主题

56

帖子

286

积分

中级会员

Rank: 3Rank: 3

积分
286
发表于 2016-9-20 06:59:10 | 显示全部楼层
本帖最后由 PuZong_WZT 于 2016-9-20 07:12 编辑
li7032 发表于 2016-9-19 09:43
void main() { unsigned char counter=0; ENLED =0; ADDR0 =0; ADDR1 =1; ADDR2 =1; ADDR3 = 1; LED =1; TM ...

中断允许寄存器IE中T0中断控制位和总中断控制位EA没有打开,最后一个语句LED!=LED应该改为LED=~LED
回复 支持 反对

使用道具 举报

5

主题

10

帖子

47

积分

新手上路

Rank: 1

积分
47
 楼主| 发表于 2016-9-20 14:16:14 | 显示全部楼层
PuZong_WZT 发表于 2016-9-20 06:59
中断允许寄存器IE中T0中断控制位和总中断控制位EA没有打开,最后一个语句LED!=LED应该改为LED=~LED

多谢高手指点,非常感谢。
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

站长推荐上一条 /1 下一条

Archiver|手机版|小黑屋|普中开源电子分享网 粤ICP备16123577号-2

GMT+8, 2024-5-5 11:31 , Processed in 0.103526 second(s), 30 queries .

Powered by 论坛搭建 X3.4

Copyright © 2001-2021, Tencent Cloud.

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