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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 29743|回復(fù): 11
收起左側(cè)

TMOD&=0x0f;TMOD|=0x01; 這兩句單片機(jī)代碼什么意思?

  [復(fù)制鏈接]
ID:263267 發(fā)表于 2018-1-1 21:50 | 顯示全部樓層 |閱讀模式
7黑幣
TMOD&=0x0f;   
  TMOD|=0x01;   

最佳答案

查看完整內(nèi)容

TMOD是一個不能位尋址的寄存器,所以用此種方法賦值。 TMOD&=0x0f的意思是:TMOD=(TMOD&0x0f),&與運(yùn)算的作用是“有0得0”,則這條語句,讓TMOD高四位清零,并保存低四位不變化。 TMOD|=0x01的意思是:TMOD=(TMOD|0x01),|或運(yùn)算的作用是“有1得1”,則這條語句,讓TMOD低四位其它位不變,選擇定時器0工作方式為方式1,即16位定時器。
回復(fù)

使用道具 舉報

ID:164602 發(fā)表于 2018-1-1 21:50 | 顯示全部樓層
TMOD是一個不能位尋址的寄存器,所以用此種方法賦值。
TMOD&=0x0f的意思是:TMOD=(TMOD&0x0f),&與運(yùn)算的作用是“有0得0”,則這條語句,讓TMOD高四位清零,并保存低四位不變化。
TMOD|=0x01的意思是:TMOD=(TMOD|0x01),|或運(yùn)算的作用是“有1得1”,則這條語句,讓TMOD低四位其它位不變,選擇定時器0工作方式為方式1,即16位定時器。
回復(fù)

使用道具 舉報

ID:14237 發(fā)表于 2018-1-2 07:29 | 顯示全部樓層
按位與和按位或,這樣是為了不影響其他函數(shù)調(diào)用TMOD的其他功能。
回復(fù)

使用道具 舉報

ID:213173 發(fā)表于 2018-1-2 07:30 | 顯示全部樓層
你寫錯了,應(yīng)該是:
        TMOD &= 0xF0;                //清除定時器0模式位
        TMOD |= 0x01;                //設(shè)置為定時器0模式
回復(fù)

使用道具 舉報

ID:269986 發(fā)表于 2018-1-2 09:25 來自觸屏版 | 顯示全部樓層
你那個是定時器的工作方式選擇,定時器在MCU中有兩個或者三個以上的定時器,主要用來定義定時器的工作方式,低四位呢是用來控制定時器0的工作方式的,高四位是用來定義定時器1的工作方式的,TMOD=0x11.就是0001 0001這樣的話,就是兩個定器一起定義了,兩個都用了,兩個定時器都為工作方式1
回復(fù)

使用道具 舉報

ID:266854 發(fā)表于 2018-1-2 10:34 | 顯示全部樓層
HC6800-ES-V2.0 發(fā)表于 2018-1-2 08:24
TMOD是一個不能位尋址的寄存器,所以用此種方法賦值。
TMOD&=0x0f的意思是:TMOD=(TMOD&0x0f),&與運(yùn)算 ...

新手稍稍補(bǔ)充一下,0x是16進(jìn)制標(biāo)志,0xf0對應(yīng)的二進(jìn)制是1111 0000共8位,TMOD這些個寄存器都是8位的 ,也就是用這種方式來把寄存器的各個位置寫成你想要的數(shù)值(0或1)。
回復(fù)

使用道具 舉報

ID:268704 發(fā)表于 2018-1-2 13:12 | 顯示全部樓層
設(shè)置tmod控制字
回復(fù)

使用道具 舉報

ID:123289 發(fā)表于 2018-1-2 20:25 | 顯示全部樓層
查一下TMOD各個位的功能,就清楚其目的了。
也就知道還可以用其它方式來做這件事。
回復(fù)

使用道具 舉報

ID:263267 發(fā)表于 2018-1-5 21:09 | 顯示全部樓層
那和直接讓TMOD=0x01有什么區(qū)別;
回復(fù)

使用道具 舉報

ID:47286 發(fā)表于 2021-5-27 01:07 來自觸屏版 | 顯示全部樓層
進(jìn)擊的蝸牛 發(fā)表于 2018-1-5 21:09
那和直接讓TMOD=0x01有什么區(qū)別;

結(jié)果一樣但那么做可靠 因?yàn)榧僭O(shè)之前定義第7位是1即0x80 這里再=0x01 之前的設(shè)定就被清除了 那么最終TMOD就不是0x81 而是0x01 就錯了
回復(fù)

使用道具 舉報

ID:554500 發(fā)表于 2021-5-27 08:24 | 顯示全部樓層
遇到這種問題,首先你要先了解與運(yùn)算和或運(yùn)算到底怎么回事?
拿本子來驗(yàn)算一下,要不然下次碰到類似的問題還是沒辦法解決。
要知道:“授人以魚,不如授之以漁”
回復(fù)

使用道具 舉報

ID:1093578 發(fā)表于 2023-9-22 23:06 | 顯示全部樓層
dzbj 發(fā)表于 2021-5-27 01:07
結(jié)果一樣但那么做可靠 因?yàn)榧僭O(shè)之前定義第7位是1即0x80 這里再=0x01 之前的設(shè)定就被清除了 那么最終TMOD ...

其實(shí)很簡單,TMOD |=0x01  //(0000 0001) 只對最低位賦1,設(shè)置T0定時器為工作方式1,其他定時器的工作方式和以前一樣,不受影響。 如果是 TMOD=0x01,之前有其他定時器在工作,它的TMOD值就被清零了。
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表