TH1=TL1= -(FOSC/12/32/BAUD)那个负号啥意思哦?一直这样用但是都...

2020-01-26 12:52发布

void InitUart()
{
        SCON = 0x5a;                        
        TMOD |= 0x20;                       
    TH1 = TL1 = -(FOSC/12/32/BAUD);   
    TR1 = 1;                           
}
一直都这样用  但是不知道啥意思哦
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
15条回答
a13736925316
2020-01-27 17:25
这个是类型的处理,   int i=-1  (-1 的实际数据是 0XFFFF)  char i=-1(0XFF)、-2(0XFE)、 -3(0XFD) 。。。。-128(0X80)

计算定时值的时候一般用  
TH0 = (65536-1000)>>8;  
TL0 = 65536-1000;  
来表示,   

TH0 = (-1000)>>8;  
TL0 = -1000;   结果是一样的

所得出的结果均可以在KEIL 仿真查看。

360截图20130707113402968.jpg (20.91 KB, 下载次数: 0)

下载附件

2013-7-7 11:34 上传

一周热门 更多>