在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ 數(shù)據(jù)庫(kù)/ 2.4 51單片機(jī)特殊功能寄存器和位定義
2.1 單片機(jī)內(nèi)部資源(內(nèi)部結(jié)構(gòu))
5.1 單片機(jī)邏輯電路與邏輯運(yùn)算
6.1 C 語(yǔ)言數(shù)組
5.7 單片機(jī)數(shù)碼管的靜態(tài)顯示
4.8 單片機(jī) LED 流水燈程序[詳細(xì)]
6.7 單片機(jī)中斷的優(yōu)先級(jí)
5.2 單片機(jī)定時(shí)器介紹
1. 如何學(xué)習(xí)單片機(jī)
1.3 單片機(jī)學(xué)習(xí)的準(zhǔn)備工作
4.3 C 語(yǔ)言基本運(yùn)算符
5.5 單片機(jī)中 LED 數(shù)碼管的介紹
2.6 第一個(gè)單片機(jī)程序(C 語(yǔ)言編寫(xiě))
3.5 單片機(jī)中 74HC138 三八譯碼器的應(yīng)用
3.2 單片機(jī)中去耦電容的應(yīng)用
6.4 單片機(jī)數(shù)碼管動(dòng)態(tài)顯示程序[帶解釋]
1.5 Keil uVision4簡(jiǎn)單使用教程
第一章問(wèn)題匯總
1.2 如何學(xué)習(xí)單片機(jī)
4.4 C 語(yǔ)言 for 循環(huán)語(yǔ)句
6.5 單片機(jī)數(shù)碼管顯示消隱
單片機(jī)上的發(fā)光二極管(LED 燈)
5. 單片機(jī)定時(shí)器與數(shù)碼管基礎(chǔ)
5.3 單片機(jī)定時(shí)器的寄存器
5.6 單片機(jī)數(shù)碼管的真值表
6.2 C 語(yǔ)言 if 語(yǔ)句
3.3 三極管的的概念及其工作原理
4. C 語(yǔ)言基礎(chǔ)及流水燈的實(shí)現(xiàn)
點(diǎn)亮你的 LED 燈
4.6 C 語(yǔ)言函數(shù)的簡(jiǎn)單介紹
2.4 51單片機(jī)特殊功能寄存器和位定義
6.6 單片機(jī)中斷系統(tǒng)
3.1 電磁干擾 EMI
4.1 二進(jìn)制、十進(jìn)制和十六進(jìn)制
4.5 C 語(yǔ)言 while 循環(huán)語(yǔ)句
3. 單片機(jī)硬件基礎(chǔ)知識(shí)學(xué)習(xí)
2.5 使用 Keil uVision 新建一個(gè)工程
1.4 單片機(jī)開(kāi)發(fā)環(huán)境搭建--Keil uVision4安裝教程
4.7 單片機(jī)延時(shí)方法(Keil 軟件延時(shí))
6. 單片機(jī)的中斷與數(shù)碼管動(dòng)態(tài)顯示
3.6 單片機(jī) LED 燈閃爍程序
6.3 C 語(yǔ)言 switch 語(yǔ)句
1.1 學(xué)習(xí)什么單片機(jī)
4.2 C 語(yǔ)言變量類型和范圍
5.4 單片機(jī)中定時(shí)器的應(yīng)用
2.7 將程序下載到單片機(jī)
3.4 單片機(jī)中三極管的應(yīng)用
2.2 單片機(jī)最小系統(tǒng)[配圖][超詳細(xì)]

2.4 51單片機(jī)特殊功能寄存器和位定義

接下來(lái)的幾節(jié),我們會(huì)帶著大家編寫(xiě)第一個(gè)單片機(jī)程序。在此之前,我們先來(lái)了解一些51單片機(jī)特有的程序語(yǔ)法以及 Keil 軟件的基本操作步驟,請(qǐng)大家一定要有耐心。

我們主要是用 C 語(yǔ)言來(lái)對(duì)單片機(jī)編程,而有的單片機(jī)有那么幾條很特殊的獨(dú)有的編程語(yǔ)句,51單片機(jī)就有,先介紹2條。

第一條語(yǔ)句是:sfr P0 = 0x80;

sfr 這個(gè)關(guān)鍵字,是51單片機(jī)特有的,他的作用是定義一個(gè)單片機(jī)特殊功能寄存器(special function register)。51單片機(jī)內(nèi)部有很多個(gè)小模塊,每個(gè)模塊居住在擁有唯一房間號(hào)的房間內(nèi),同時(shí)每個(gè)模塊都有8個(gè)控制開(kāi)關(guān)。P0 就是一個(gè)功能模塊,就住在了 0x80 這個(gè)房間里,我們就是通過(guò)設(shè)置 P0 內(nèi)部這個(gè)模塊的8個(gè)開(kāi)關(guān),來(lái)讓單片機(jī)的 P0 這8個(gè) IO 口輸出高電平或者低電平的。而51單片機(jī)內(nèi)部有很多寄存器,如果我們想使用的話必須提前進(jìn)行 sfr 聲明。不過(guò) Keil 軟件已經(jīng)把所有這些聲明都預(yù)先寫(xiě)好并保存到一個(gè)專門的文件中去了,我們要用的話只要文件開(kāi)頭添加一行#include即可,這個(gè)在后邊有用法詳解。

第二條語(yǔ)句是:sbit LED = P0^0;

這個(gè) sbit,就是對(duì)剛才所說(shuō)的 SFR 里邊的8個(gè)開(kāi)關(guān)其中的一個(gè)進(jìn)行定義。經(jīng)過(guò)上邊第二條語(yǔ)句后,以后只要在程序里寫(xiě) LED,就代表了 P0.0 口(“^”這個(gè)符號(hào)在數(shù)字鍵6上邊),注意這個(gè) P 必須大寫(xiě),也就是說(shuō)我們給 P0.0 又取了一個(gè)更形象的名字叫做 LED。

了解了這兩個(gè)語(yǔ)句后,我們來(lái)大概看一下單片機(jī)的特殊功能寄存器。請(qǐng)注意,每個(gè)型號(hào)的單片機(jī)都會(huì)配有生產(chǎn)廠商所編寫(xiě)的數(shù)據(jù)手冊(cè)(Datasheet),所以我們來(lái)看一下 STC89C52 的數(shù)據(jù)手冊(cè),從21頁(yè)到24頁(yè),全部是對(duì)特殊功能寄存器的介紹以及地址映射列表。我們?cè)谑褂眠@個(gè)寄存器之前,必須對(duì)這個(gè)寄存器的地址進(jìn)行說(shuō)明。是不是花花綠綠的太多了,記不住啊,這個(gè)沒(méi)關(guān)系的,不需要你記住,了解一下,后邊大部分我會(huì)慢慢給大家解釋,少部分需要用到的時(shí)候,自己過(guò)來(lái)查手冊(cè)就可以了,做技術(shù)不是為了應(yīng)付考試,你可以隨時(shí)翻閱手冊(cè)查找你需要的資料。

如圖2-7,是截取的手冊(cè)中第22頁(yè)最下邊的一個(gè)表格。

http://wiki.jikexueyuan.com/project/mcu-tutorial-one/images/7.png" alt="" />

圖2-7 IO 口特殊功能寄存器

我們來(lái)看一下這個(gè)表,其中 P4 口 STC89C52 對(duì)標(biāo)準(zhǔn)51的擴(kuò)展,我們先忽略它,只看前邊的 P0、P1、P2、P3 這4個(gè),每個(gè) P 口本身又有8個(gè)控制端口。大家可以結(jié)合我們的開(kāi)發(fā)板原理圖或者圖2-1來(lái)看,那么這樣就確定了我們的單片機(jī)一共有32個(gè) IO 口(IO,Input 和 Output,分別是輸入和輸出)。

其中 P0 口所在的地址是 0x80,一共有從7到0這8個(gè) IO 口控制位,后邊有個(gè) Reset Value(復(fù)位值),這個(gè)很重要,是我們看寄存器必看的一個(gè)參數(shù),8個(gè)控制位復(fù)位值全部都是1。

這就是告訴我們,每當(dāng)單片機(jī)上電復(fù)位的時(shí)候,所有的引腳的值默認(rèn)是都是1,即高電平,我們?cè)谠O(shè)計(jì)電路的時(shí)候也要充分的考慮這個(gè)問(wèn)題。

那么上邊那2條語(yǔ)句,我們寫(xiě) sfr 的時(shí)候,必須要根據(jù)手冊(cè)里的這個(gè)地址(Add)去寫(xiě),寫(xiě) sbit 的時(shí)候,就可以直接將一個(gè)字節(jié)其中某一位取出來(lái)。我們編程的時(shí)候,也有現(xiàn)成的寫(xiě)好寄存器地址的頭文件,我們直接包含該頭文件就可以了,不需要逐一去寫(xiě)了。