51定时器的一个问题

[复制链接]
2332|1
 楼主| 421648362 发表于 2012-1-3 16:45 | 显示全部楼层 |阅读模式
题目是:51单片机已被使用两个外部中断即INT0和INT1,定时器T1工作在模式2,作串口通信的波特率;现在要求在单片机上再加一个外部中断源,并由P1.0引脚输出一个5KHZ的方波,金振是12MHZ
然后这个题目的答案应该是用T0的模式3,低八位设置成计数器,TL0=0FFH,当外部来一个脉冲就产生了中断,模拟成了外部中断,高八位就是定时器,拿来产生方波的

我的问题是,在T0高八位的时候,是占用了TF1和TR1的,可以产生T1的定时器中断,但是T1在里面产生波特率的时候定时也会有溢出,那么溢出后会不会误当做是T0高八位的中断,但是书上说T0高八位是占用了TF1和TR1的,所以应该这两个寄存器都不会变,那么波特率是根据什么T1溢出位来确定的
xiaomuhong26 发表于 2012-1-12 19:29 | 显示全部楼层
在T0设置为模式3的时候,定时器T1通常用来作串行口的波特率发生器,因为没有了TF1这个计标志位可供使用,因此只能把计数溢出直接送给串行口,而且只需设置好工作方式就可以自动运行了,此时T1的溢出并不会产生TF1,因此无需担心它会干扰你的T0高8位定时器
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

14

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部