打印

51定时器的一个问题

[复制链接]
1344|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

粉丝