单片机中TH0和TLO可以取负数吗
发布网友
发布时间:2022-08-27 13:15
我来回答
共2个回答
热心网友
时间:2024-03-17 13:01
可以用十进制的负数形式表示
举例说明:
定时器方式1时:
TH0
=
-10000/256;
TL0
=
-10000%256;
相当于
TH0
=(65536
-10000)/256;
TL0
=
(65536-10000)%256;
大家都知道计算机中的负数是以补码形式存储的,负数的补码为他的绝对值取反加1,|-10000|=二进制(0010011100010000),反码为1101100011101111,再加1为
补码
1101100011110000,对于有符号数来说最高位为符号位,对于计数器来说显然为无符号数,最高位为数据位,将补码转换为十进制正好
为55536。
这种表示方法往往更简洁,在单片机的编程中经常被应用,我在编程中就经常这样用,可以确认TH0和TLO用十进制的负数形式表示是没有问题的。
热心网友
时间:2024-03-17 13:02
这是寄存器中的两位,非0即1,是二进制的,连2都不认,更没有正负之说了。