首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 单片机 >

关于52系列T2定时器的应用,切请问

2012-03-11 
关于52系列T2定时器的应用,急切请教!我的T0,T1已经用了,现在要用串口,所以模拟了一个,要用一个定时器,正好

关于52系列T2定时器的应用,急切请教!
我的T0,T1已经用了,现在要用串口,所以模拟了一个,要用一个定时器,正好我的还有T2,我就是想设置成定时器,因为模拟串口要改定时的值,所以不用自动重装模式,只能用捕获了吧。我的设置如下:
T2CON   =   0X01;//捕获模式
TL2   =   rs_START_BIT_L;//初值
TH2   =   rs_START_BIT_H;
IP_PTx   =   1;                                                 //置中断优先级为高       IE_ETx   =   1;                                                 //允许定时器中断    
TCON_ENABLE_TIMER   =   1;                           //启动定时器      
中断函数如下:
void   timer0   (void)   interrupt   5   using   3
        {
                if   (rs_RXD   ==   0   |   rs_shift_count   >   0)
                {   soft_rs232_interrupt();   }
                else
                {
                        rs_timerH   =   rs_TEST_H;
                        rs_timerL   =   rs_TEST_L;
                }
        }  
可是这样做了,得到的串口数据不对,以前没用过T2,麻烦各位高人指教一下,谢谢!

[解决办法]
出现串口数据不对的原因很多的啊,波特率对吗?通讯模式对吗?中断处理语句引起的定时误差影响大吗?
[解决办法]
这个和T2的用法无关的,定时器都是那么个用,没问题的...
[解决办法]
你找找其它的地方看看
[解决办法]
可以直接用T2做波特率发生器的啊
[解决办法]
用T2做波特率发生器:
RCLK=1
TCLK=1
自动重装
注意时钟输入是fosc/2 不是fosc/12

热点排行