51单片机定时计数器工作方式疑点

如题所述

因为51单片机处理数据是按八位进行的,所以给定时器赋初值的时候,不能将一个数直接赋到T0中,而是将这个数先转化为一个十六进制数,将它的高两位数(也就是二进制的高八位)传送给TH0,将低两位(也就是二进制的低八位)传送给TL0!(65536-x)/256就是取计数值的高八位运算表达式,因为八位二进制的最大值为256,所以将一个十进制数除以256后就会得到这个十进制数高八位数。最后将所得的余数传送到TL0,也就是后面(65536-x)%256的工作!希望能帮助你
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-11-16
65536-X是模值减去计数个数得到计数初值;
至于取整还是取余,可以从十进制看:如果X是整型变量,X/10整除就是看有几个10,X%10就是取不足10的那个余数;2^8=256,10换成256是一样的。
第2个回答  2019-12-29
因为你选的是16的计数方式,TH0和TLO合起来才是个完整的16位,所以可以说TH0为商的话,那TL0就是余数,充分体会两个8位合成一个16位的概念...