想多了解下TH1赋值问题

2019-03-24 19:24发布

12c5a60s2 这个芯片 有2个串口 想让两个在一个程序中使用 一个接受 一个发送 过程是像下边这样吗 ???
A接受了 在A送给B 然后B接收 再B发送出去??
要是这种情况就是2个串口都有接受发送过程了??!!   第二个问题 void T_Init(void)//定时中断初始化
{
 TMOD = 0x11;//T1使用定时模式,工作模式1,无门控位T0使用定时模式,工作模式1,无门控位
 TH0 = 0xD8;;// 为T0填入初值,定时时间10ms
 TL0 = 0xF0;
 TH1 = 0xD8;;// 为T1填入初值,定时时间10ms
 TL1 = 0xF0;

 TR0 = 1;// 启动T0
 TR1 = 1;// 启动T1
 ET0=1;//开T0中断
 ET1=1;//开T1中断
} ///////功能:串口初始化,波特率9600,方式1/////////
void Init_Com(void)
{
 TMOD = 0x20;
 PCON = 0x00;
 SCON = 0x50;
 TH1 = 0xFd;
 TL1 = 0xFd;

 TR1 = 1; }   这个斑竹帮我解答了一些 但是还是不明白 我看见下面的情况来   TI的 不一样啊 这个是肯定不一样吧
TH1 = 0xD8;;// 为T1填入初值,定时时间10ms
TL1 = 0xF0;
串口的一样 这个能不一样吗???
TH1 = 0xFd;
TL1 = 0xFd; 这如何是好??
  此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
4条回答
jishuaihu
2019-03-25 10:30
首先在定时器中断里面再进行配置串口,就收数据是不太合适的,配置串口一般都放在初始化程序里面,需要的时候进行检测或者打开就可以了。再一个定时器0的用法有点儿乱,当定时器做为串口的波特率控制器使用时,定时器工作在自动装填模式,是模式几自己去看看吧。我记不清了,好久不用51了。这是也不需要再在定时器中断里面重新装填值了

一周热门 更多>