欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 33322|回復: 23
收起左側

請問,TMOD |=0x01;是什么意思?

  [復制鏈接]
ID:86913 發表于 2017-6-5 20:21 | 顯示全部樓層 |閱讀模式
看到一個程序中設置定時器器模式:
TMOD |=0x01;
這個“|=”是位邏輯或賦值吧,用了“|=”是什么意思啊,敬請指教。

回復

使用道具 舉報

ID:208050 發表于 2017-6-5 21:19 | 顯示全部樓層
TMOD |= 0x01 等價于TMOD = TMOD | 0x01。這里|=是按位或運算并賦值。
本語句意思是,將TMOD表示成二進制數,然后與0x01按位進行或運算,并把最終結果賦值給TMOD。
回復

使用道具 舉報

ID:137239 發表于 2017-6-5 21:27 | 顯示全部樓層
TMOD|=0x01等價于TMOD=TMOD|0x01;意思是將TMOD這個寄存器的最低位置一,這樣做的好處是可以保持其他位的值不動;類似的,這樣的運算還有:
a != b  等價于  a = a | b  a &= b 等價于  a = a & b
a ^= b 等價于  a = a ^ b
回復

使用道具 舉報

ID:111634 發表于 2017-6-5 21:36 | 顯示全部樓層
本帖最后由 zl2168 于 2017-6-5 21:37 編輯

定時器T1工作方式保持不變,定時器T0工作方式設置方式1。但一般不這樣用,若定時器T0工作方式未設置或設置為方式0,則不出錯,否則會出錯。因你只提出這一句,因此,無法作出其他評論。若你是一個初學者,不要學這種寫法。
回復

使用道具 舉報

ID:208197 發表于 2017-6-5 22:06 | 顯示全部樓層
這是定義寄存器為工作1狀態
回復

使用道具 舉報

ID:151348 發表于 2017-6-5 22:19 | 顯示全部樓層
zl2168 發表于 2017-6-5 21:36
定時器T1工作方式保持不變,定時器T0工作方式設置方式1。但一般不這樣用,若定時器T0工作方式未設置或設置 ...

這樣做有益于程序穩定,尤其是用多個定時器的時候
回復

使用道具 舉報

ID:207204 發表于 2017-6-5 22:52 | 顯示全部樓層
等價于TMOD =TMOD | 0x01;//設置定時器方式的語句
回復

使用道具 舉報

ID:34643 發表于 2017-6-6 06:33 | 顯示全部樓層
TMOD |= 0x01 等價于TMOD = TMOD | 0x01。這里|是按位或運算符。
本語句意思是,將TMOD表示成二進制數,然后與0x01按位進行或運算,并把最終結果賦值給TMOD。
回復

使用道具 舉報

ID:111634 發表于 2017-6-6 08:59 | 顯示全部樓層
imxuheng 發表于 2017-6-5 22:19
這樣做有益于程序穩定,尤其是用多個定時器的時候

1. 并非多個,TMOD控制的定時器只有2個。
2. 若定時器T0原控制碼為1110,執行該指令后,豈非亂套?
回復

使用道具 舉報

ID:208262 發表于 2017-6-6 09:11 | 顯示全部樓層
等價于TMOD =TMOD | 0x01;就是為了設置TMOD的工作方式
回復

使用道具 舉報

ID:151348 發表于 2017-6-6 09:40 | 顯示全部樓層
zl2168 發表于 2017-6-6 08:59
1. 并非多個,TMOD控制的定時器只有2個。
2. 若定時器T0原控制碼為1110,執行該指令后,豈非亂套?

實際上這要做確實要好些,以前做過一些板子,實現功能時都會用到定時器0和定時器1,要是不寫成TMOD|=0X01這種形式的話,板子就沒法用
回復

使用道具 舉報

ID:208291 發表于 2017-6-6 10:22 | 顯示全部樓層
就是在不改變TMOD原來的其他位上的值,同時使TMOD的最低位置一。也就是說例如原來TMOD的值是0x40,TMOD|=0X01后,TMOD的值就變成了0x41。
回復

使用道具 舉報

ID:86913 發表于 2017-6-9 08:44 | 顯示全部樓層
這么多的朋友為我熱心指導,萬分感謝,祝各位快樂、健康!
回復

使用道具 舉報

ID:162242 發表于 2017-6-9 13:11 | 顯示全部樓層
TMOD|=0x01等價于TMOD=TMOD|0x01;
回復

使用道具 舉報

ID:38727 發表于 2017-6-9 15:26 | 顯示全部樓層
意思就是  TMOD =TMOD | 0x01
用來設置TMOD的工作方式的
回復

使用道具 舉報

ID:209672 發表于 2017-6-9 21:11 | 顯示全部樓層
加不加效果都一樣只是一個或運算  相當于TMOD=TMOD|0x01
回復

使用道具 舉報

ID:197788 發表于 2017-6-9 23:37 | 顯示全部樓層
這個就是設置定時器工作方式1。
回復

使用道具 舉報

ID:209712 發表于 2017-6-9 23:54 | 顯示全部樓層
TMOD = TMOD | 0x01 ,把最低位置1,其他不變
回復

使用道具 舉報

ID:209743 發表于 2017-6-10 09:38 | 顯示全部樓層
把最低位置1
回復

使用道具 舉報

ID:210264 發表于 2017-6-11 22:15 | 顯示全部樓層
定時器T1用方式一工作
回復

使用道具 舉報

ID:207302 發表于 2017-6-14 22:17 | 顯示全部樓層
應該是設定定時器工作方式1
回復

使用道具 舉報

ID:211219 發表于 2017-6-15 10:54 | 顯示全部樓層
設置定時器工作方式啊,TO 和T1
回復

使用道具 舉報

ID:211605 發表于 2017-6-15 17:02 | 顯示全部樓層
定義寄存器為工作1狀態
回復

使用道具 舉報

ID:211611 發表于 2017-6-15 17:08 | 顯示全部樓層
這是設置定時器的工作方式為狀態1的
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表