新聞中心

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

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

        作者: 時(shí)間:2016-11-22 來源:網(wǎng)絡(luò) 收藏
        表2-1是在芯片手冊(cè)里截取出來的,比如SCON這個(gè)寄存器它的地址是98h,那么可以從reg52.h頭文件中找到“sfr SCON =0x98;”,用一個(gè)SCON的符號(hào)與0x98這個(gè)地址掛鉤,在51單片機(jī)的源代碼中直接操作SCON,就等于操作0x98這個(gè)地址,再對(duì)應(yīng)一下手冊(cè),0x98就是98h這個(gè)地址,也就是單片機(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文件中的部分代碼如下:





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

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

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


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

        評(píng)論


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

        關(guān)閉
        主站蜘蛛池模板: 温宿县| 綦江县| 深州市| 台州市| 新安县| 固阳县| 德格县| 高雄市| 张家港市| 阿合奇县| 刚察县| 临夏市| 潼南县| 山东省| 九台市| 奇台县| 普定县| 德庆县| 马龙县| 泰宁县| 鄂尔多斯市| 襄樊市| 通河县| 九龙城区| 大埔县| 龙胜| 磐安县| 兴和县| 陆川县| 滕州市| 元江| 福建省| 南郑县| 双辽市| 孝感市| 高雄县| 读书| 特克斯县| 望都县| 赣榆县| 隆化县|