社区导航

 

搜索
12
返回列表 发新帖
楼主: QWE4562009

[求助] 写程序的时候看到的是TMOD=1,没有看到对每位的操作,这样8个位有啥意义? 还有些...

  [复制链接]

1026

TA的帖子

0

TA的资源

一粒金砂(高级)

Rank: 3Rank: 3

 楼主| 发表于 2020-6-24 14:12 | 显示全部楼层
maychang 发表于 2020-6-24 14:03 QWE4562009 发表于 2020-6-24 12:04 TMOD=1操作的是整个字节啊,不是位操作啊。为什么一定是0000 0001? ...

TMOD=2,就是0000 0010? 这样表示的话  也就是M1=1?

点评

再一次强调:绝对不能写00000010,必须写00000010B。 00000010的意思,就是十进制的10。  详情 回复 发表于 2020-6-24 14:59

回复

使用道具 举报

1

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2020-6-24 14:38 | 显示全部楼层

这个指的就是对位的操作,头文件都定义过的


回复

使用道具 举报

1万

TA的帖子

0

TA的资源

超级版主

Rank: 6Rank: 6

发表于 2020-6-24 14:59 | 显示全部楼层
QWE4562009 发表于 2020-6-24 14:12 TMOD=2,就是0000 0010? 这样表示的话  也就是M1=1?

再一次强调:绝对不能写00000010,必须写00000010B。

00000010的意思,就是十进制的10。


回复

使用道具 举报

3678

TA的帖子

0

TA的资源

版主

Rank: 6Rank: 6

发表于 2020-6-26 18:27 | 显示全部楼层

89H是不可以位操作的,所以只能TMOD=1

51单片机的内存单元只要模8等于0的单元可以位操作

点评

寄存器地址整除8为0的才可以位操作?那得先把那些地址换成10进制再除以8咯?  详情 回复 发表于 2020-6-28 16:02

回复

使用道具 举报

1026

TA的帖子

0

TA的资源

一粒金砂(高级)

Rank: 3Rank: 3

 楼主| 发表于 2020-6-28 08:14 | 显示全部楼层
maychang 发表于 2020-6-24 14:11 TMOD=1,就是把00000001B或者01H或者1这个立即数赋值给TMOD这个寄存器。 TMOD=17,就是把00010001B或 ...

17应该是0001 0111B吧

点评

可又来。 17H是00010111B。17是十进制,就是16+1。你说十进制的17等于二进制的多少?  详情 回复 发表于 2020-6-28 09:44

回复

使用道具 举报

1万

TA的帖子

0

TA的资源

超级版主

Rank: 6Rank: 6

发表于 2020-6-28 09:44 | 显示全部楼层
QWE4562009 发表于 2020-6-28 08:14 17应该是0001 0111B吧

可又来。

17H是00010111B。17是十进制,就是16+1。你说十进制的17等于二进制的多少?

点评

10001  详情 回复 发表于 2020-6-28 16:04

回复

使用道具 举报

1026

TA的帖子

0

TA的资源

一粒金砂(高级)

Rank: 3Rank: 3

 楼主| 发表于 2020-6-28 16:02 | 显示全部楼层
huo_hu 发表于 2020-6-26 18:27 89H是不可以位操作的,所以只能TMOD=1 51单片机的内存单元只要模8等于0的单元可以位操作

寄存器地址整除8为0的才可以位操作?那得先把那些地址换成10进制再除以8咯?

点评

为什么要转成十进制再除以8?16进制除以8,二进制除以8,和十进制除以8,结果是一样的,只不过表示方式不一样而已。  详情 回复 发表于 2020-6-28 17:09
不转10进制也可以,进制数统一结果就是对的。 数就是数,数本身没有进制的概念,只是人有10根手指才弄出个10进制 模8是取余数并不是除8  详情 回复 发表于 2020-6-28 17:02

回复

使用道具 举报

1026

TA的帖子

0

TA的资源

一粒金砂(高级)

Rank: 3Rank: 3

 楼主| 发表于 2020-6-28 16:04 | 显示全部楼层
maychang 发表于 2020-6-28 09:44 可又来。 17H是00010111B。17是十进制,就是16+1。你说十进制的17等于二进制的多少?

10001


回复

使用道具 举报

3678

TA的帖子

0

TA的资源

版主

Rank: 6Rank: 6

发表于 2020-6-28 17:02 来自手机 | 显示全部楼层
QWE4562009 发表于 2020-6-28 16:02
寄存器地址整除8为0的才可以位操作?那得先把那些地址换成10进制再除以8咯?

不转10进制也可以,进制数统一结果就是对的。
数就是数,数本身没有进制的概念,只是人有10根手指才弄出个10进制
模8是取余数并不是除8

回复

使用道具 举报

1万

TA的帖子

0

TA的资源

超级版主

Rank: 6Rank: 6

发表于 2020-6-28 17:09 | 显示全部楼层
QWE4562009 发表于 2020-6-28 16:02 寄存器地址整除8为0的才可以位操作?那得先把那些地址换成10进制再除以8咯?

为什么要转成十进制再除以8?16进制除以8,二进制除以8,和十进制除以8,结果是一样的,只不过表示方式不一样而已。


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

关闭

站长推荐上一条 1/7 下一条

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

词云| Archiver|手机版|小黑屋|电子工程世界 ( 京ICP证 060456 )

GMT+8, 2020-7-13 01:10 , Processed in 0.322794 second(s), 29 queries , Gzip On, MemCache On.

快速回复 返回顶部 返回列表