标题: 单片机写程序的时候看到的是TMOD=1,没有看到对每位的操作,这样8个位有啥意义? [打印本页]

作者: QWE4562012    时间: 2020-6-24 11:57
标题: 单片机写程序的时候看到的是TMOD=1,没有看到对每位的操作,这样8个位有啥意义?
写程序的时候看到的是TMOD=1,没有看到对每位的操作,这样8个位有啥意义?
还有些字节地址89H,在程序上好像也没有体现出来,那这个地址有啥作用呢?

51hei图片20200624112313.png (395.99 KB, 下载次数: 51)

51hei图片20200624112313.png

作者: yzwzfyz    时间: 2020-6-24 13:36
你需要认真阅读51的手册,特别是特殊寄存器部分。
作者: 5959539    时间: 2020-6-24 14:55
TMOD(工作方式控制寄存器)是特殊功能寄存器,是8位寄存器, 是让单片机选择定时器或者计数器的,高4 位和低4位分别控制定时器1和0
作者: cjjdemon    时间: 2020-6-24 14:55
TMOD=1,代表这个寄存器写入十进制的1,意思就是TMOD=0000 0001。这个写法与TMOD=0X01是完全一样的。TMOD不能位寻址,只能整个字节写入。
作者: 1224527279    时间: 2020-6-24 15:14

这是从STC官网上下载的文件里面的截图,那上面的寄存器描述的比较详细,你可以根据这个去理解。
寄存器的地址你可以理解为一个小组的名字,你要它做什么你首先要找到他才能对他下命令,而中间的每一位都是有他独立的功能,TMOD=1;是给TMOD这个寄存器赋值0X01也就是二进制的00000001,然后根据数据手册可知M1=0,M0=1按照数据手册上的说明就是 16位定时器/计数器,TL0、TH0全用。

作者: QWE4562012    时间: 2020-6-24 15:25
cjjdemon 发表于 2020-6-24 14:55
TMOD=1,代表这个寄存器写入十进制的1,意思就是TMOD=0000 0001。这个写法与TMOD=0X01是完全一样的。TMOD不 ...

TMOD=2呢
作者: gegehhh    时间: 2020-6-24 15:40
QWE4562012 发表于 2020-6-24 15:25
TMOD=2呢

那就是TMOD=0x02,也就是0000 0010
作者: 天风情    时间: 2020-6-24 15:42
语法上没错,只是写法问题。
作者: cjjdemon    时间: 2020-6-24 16:32
QWE4562012 发表于 2020-6-24 15:25
TMOD=2呢

0000 0010,把十进制转化为二进制就行了
作者: 嘿黑潶嗨    时间: 2020-6-24 17:10
不知道可不可以这么理解:这些程序都是占了空间地址的,顺便输入相应的指令都存在和单片机里的存储区域,但是也没有先在程序里面写这个指令放在哪个地址,而是自动分配。TMOD=1这中的这个1是十进制表示的,应当化为8位二进制再来对应相应的位。希望有所帮助😅




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1