新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 單片機(jī)的引腳是如何被控制的

單片機(jī)的引腳是如何被控制的

作者: 時間:2016-11-22 來源:網(wǎng)絡(luò) 收藏
表2-1是在芯片手冊里截取出來的,比如SCON這個寄存器它的地址是98h,那么可以從reg52.h頭文件中找到“sfr SCON =0x98;”,用一個SCON的符號與0x98這個地址掛鉤,在51單片機(jī)的源代碼中直接操作SCON,就等于操作0x98這個地址,再對應(yīng)一下手冊,0x98就是98h這個地址,也就是單片機(jī)內(nèi)部真正的SCON寄存器的地址。
表2-1 STC89C51RC/RD+ 系列 8051單片機(jī) 串行口特殊功能寄存器 Serial I/O Port SRFs

所以說,98h、99h、B9h、A9h等都是單片機(jī)的內(nèi)部地址,而“Reset Value”這一列都是該寄存器復(fù)位后的默認(rèn)值,比如98h的復(fù)位后默認(rèn)值是0000 0000。
還有更多的關(guān)聯(lián)和掛鉤的。截取reg52.h文件中的部分代碼如下:





可以看到代碼中對P0、P1、P2、P3都有定義,例如“sfr P0=0x80;”可以與下表2-2的對應(yīng)上。
表 2-2 8051單片機(jī)特殊功能寄存器

那么如果要訪問P0.0和P0.1這兩個引腳該怎么處理呢?只需要使用sbit關(guān)鍵詞和符號“^”就可以,例如:
Sbit aa = P0^0;
Sbit bb = P0^1;
可以使得aa代表P0.0引腳,而bb代表P0.1管腳,并且可以看到通過這個sbit的定義,訪問到80h這個寄存器P0里的任何一位,如表2-3所列。
表 2-3 訪問P0口寄存器

51單片機(jī)就是這樣,可以用代碼控制所有的寄存器。


關(guān)鍵詞: 單片機(jī)引腳被控

評論


技術(shù)專區(qū)

關(guān)閉