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

標題: 單片機位運算 &運算(與運算)和|運算(或運算)詳解 [打印本頁]

作者: luotechnically    時間: 2017-2-19 17:39
標題: 單片機位運算 &運算(與運算)和|運算(或運算)詳解

今天,將兩個單片機里用的比較多的位運算。

&運算(與運算)和|運算(或運算)


一般來說,定時器用的比較多。

比如,定時器的TMOD(定時器模式寄存器),這個寄存器是不可位尋址的,也就是不能單獨的用sbit來操作這個寄存器的每一位。


TMOD——定時器模式寄存器的位分配(地址 0x89、不可位尋址

76543210
符號
GATE
(T1)
C/T
(T1)
M1
(T1)
M0
(T1)
GATE
(T0)
C/T
(T0)
M1
(T0)
M0
(T0)
復位值
00000000

這里,TMOD有8位,低4位是控制T0定時器的,而高4位控制T1定時器。

如果想要選擇定時器T0的模式1,怎么做呢?

我們假設,這8位數為yyyyxxxx

1、我們先清零低4位,同時,不能影響到高4位yyyy。即(yyyy0000),我們的做法是這樣的:

(yyyyxxxx) & 0xf0

寫作:TMOD &= 0xf0;

2、我們選擇定時器0的模式一,即(yyyy0001)。我們的做法是這樣的:

(yyyy0000) |= 0x01

寫作:TMOD |= 0x01;


總結一下:

1、如果要保留一些位不變的同時,其他位清零,用 & 運算

2、如果要保留一些位不變的同時,其他位置1,用 | 運算



作者: 5314039    時間: 2017-2-19 23:06
謝謝樓主很詳細的說明!很通俗易懂。
作者: 張小帥1126    時間: 2017-2-23 20:34
適合新手!




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1