1.2 單片機使用中的常用術語
課件 單片機常用術語

視頻 單片機常用術語

1.存儲器
存儲器是計算機系統中的記憶設備,用來存放程序和數據空間。計算機中的全部信息,包括輸入的原始數據、計算機程序、中間運行結果和最終運行結果都要保存在存儲器中。有了存儲器,計算機才有記憶功能,才能保證準確高效運行。
1)位和字節
存儲器由大量的存儲單元構成,每個存儲單元都有0和1兩種狀態,因此可以存放1個二進制數據,即1位(bit)數據。位是存儲器最小的存儲單位,每1個存儲單元就是1個位。
存儲器中的最基本的存儲單位是字節,1字節(Byte)由8個二進制位(bit)組成。
2)存儲器地址和工作原理
存儲器的結構如圖1-5(a)所示,感覺上就像中藥店內存放中藥的一個個的小抽屜。每1個小抽屜里又分成八個小格子,這些小格子就是用來存放數據的空間。通過與之相連的導線中電流的變化,可以完成數據的存取。存儲器中每個小抽屜可以存放一個數據,稱為一個“存儲單位”,即1字節,每一個小格子稱為一個“存儲單元”,即1位。
比如,想要放進一個十進制數據14(二進制表示為00010100),只需要把對應抽屜的第三號和第五號小格子里存滿電荷,而將其他小格子里的電荷放掉(清零)就行了,如圖1-5(b)所示。

圖1-5 存儲器的存儲結構示意圖
但是一個存儲器由很多存儲單元組成,數據線(D0~D7)是并聯的,在放入電荷(數據)的時候,會將電荷(數據)放入所有的單元中,而釋放電荷(數據)的時候,又會把每個單元中的電荷都放掉,這樣的話,不管存儲器有多少個單元,都只能放同一個數據,顯然這不是我們希望的結果。因此,要為每個單元再增加一條控制線,當要把數據放進某個單元時,就通過控制線,發一個打開信號給這個單元,將這個存儲單元的開關打開,數據就能順利寫入了,而其他單元控制線上沒有打開信號,即“抽屜”沒打開,所以不會受到影響。如此,就解決了多個不同數據存儲和讀取的問題。
由上面的分析可知,存儲器中不同的存儲單元要由不同的控制線來控制開/關狀態,因此需要為每一個存儲單元都單獨設定一條控制線。比如27C512存儲器芯片有65536個存儲單元,就需要65536根控制線。但是這些線又不能都引出到集成電路外部,只能有少量的外接引腳引出。為了解決這個問題,通常在存儲器內部帶有譯碼器,如圖1-5(a)所示。譯碼器的輸出端即為通向各個存儲單元的控制線,譯碼器的輸入端通過集成電路的外部引腳接入,稱為地址線。而每一根地址線都可以有0和1兩種狀態,n條地址線就可以得出2n種狀態。那么要順利訪問到27C512芯片中的每一個存儲單元,顯然需要16根地址線(216=65536)就可以了。將這些不同的輸入線組合值分配給每一個存儲單元,作為該單元的唯一標識編號,這個編號就稱為該存儲單元的地址。
3)存儲器體系結構
51系列單片機中主要有兩類存儲器:一類是ROM又稱程序存儲器,用來存放用戶編寫的程序代碼;另一類是RAM又稱數據存儲器,用來存放程序運行中產生的臨時數據以及用作特殊功能寄存器使用。這兩類存儲器在單片機中訪問方式的不同,形成了兩種不同的體系結構,一種是普林斯頓結構,另一種是哈佛結構,如圖1-6所示。

圖1-6 普林斯頓結構與哈佛結構
普林斯頓結構如圖1-6(a)所示,是一種將程序指令存儲器和數據存儲器合并在一起的存儲器結構。即用來存儲程序和數據的物理存儲器是在同一個物理存儲器空間中,因此程序指令和數據的寬度相同。采用普林斯頓結構的計算機,結構簡單,編程靈活,因此常見的通用計算機(如X86系列)普遍采用這種形式。
哈佛結構如圖1-6(b)所示,是一種將程序指令存儲、數據存儲分開來進行的存儲器結構。中央處理器首先到程序指令存儲器中讀取程序指令內容,解碼后得到數據地址,再到相應的數據存儲器中讀取數據,并進行下一步的操作(通常是執行)。程序指令存儲和數據存儲分開,可以使指令和數據具有不同的數據寬度,增加了系統處理的靈活性。
采用哈佛結構的微處理器通常具有較高的執行效率。主要源于程序指令和數據指令分開組織、存儲,使得系統在執行前一條指令時,可以預先讀取下一條指令。目前使用哈佛結構的中央處理器和微控制器有很多,51系列單片機就采用哈佛結構。
4)51系列單片機的存儲器配置
從物理上看,51系列單片機有4個存儲器:內部程序存儲器、外部程序存儲器、內部數據存儲器和外部數據存儲器。從邏輯上看,51系列單片機只有3個存儲器:芯片內外部統一的程序存儲器、內部數據存儲器、外部數據存儲器。51系列單片機的存儲器配置如圖1-7所示。
內外部統一的程序存儲器由引腳來區分,當
引腳為低電平時,表示此時操作的是外部程序存儲空間;當
引腳為高電平時,表示使用的是內部程序存儲空間。由于8031/8032單片機本身沒有內部程序存儲空間,所以它的
引腳必須接低電平。即使芯片內部有ROM,也可以通過調整
,只使用外部程序存儲空間。尤其是在產品開發階段,便于修改程序。程序存儲器的地址為0000H~FFFFH,共64KB,單片機對于內、外部ROM采用統一編址并使用同樣時序訪問。如果內部ROM為4KB,程序執行訪問超過0FFFH時,會自動轉向外部ROM;反之,當訪問低于1000H時,也會自動轉回內部ROM。

圖1-7 51系列單片機的存儲器配置
內部數據存儲器即內部RAM,最大空間為256B(8031/8051)或384B(8052/8032),采用8位地址為00H~FFH。外部數據存儲器即外部RAM,采用16位地址,其地址空間為0000H~FFFFH,共64KB。
5)鎖存器與特殊功能寄存器
所謂鎖存器實際也是一種對脈沖電平敏感的存儲單元電路,它的輸出端狀態不會隨輸入端的狀態變化而變化,只有當鎖存信號有效時輸入的狀態才被保存到輸出,直到下一個鎖存信號到來時才改變。鎖存器雖然也是一種存儲單元,但它不屬于ROM也不屬于RAM,典型的鎖存器邏輯電路是D觸發器電路。
鎖存器的作用除了把信號暫存以維持某種電平狀態即緩存數據,還能解決高速的控制與慢速外設不同步問題,以及I/O口既能輸出也能輸入的問題。因此對51系列單片機并行I/O口的讀寫只要將數據送入對應I/O口的鎖存器即可。
對于定時/計數器、串行I/O口等操作是通過對特殊功能寄存器的訪問來實現的。特殊功能寄存器(SFR)是51系列單片機中CPU各外圍功能部件所對應的寄存器,它們起著專用寄存器的作用,用來設置片內電路的運行方式,記錄電路的運行狀態,并表明有關標志等。51單片機共有21個特殊功能寄存器(SFR)。這些特殊功能寄存器屬于RAM范疇,位于內部RAM的高128B。從功能上大體可分為兩類:一類是與芯片的引腳有關,如P0~P3是映射并行和串行I/O端口的寄存器,對這些寄存器的讀/寫,可實現從相應I/O端口的輸入、輸出操作;另一類則作為片內功能的控制使用,見表1-2。
21個特殊功能寄存器不連續地分布在128B的SFR存儲空間中,地址空間為80H~FFH。在SFR空間中,包含128個位地址空間,地址也是80H~FFH,但只有83個有效位地址,其中可對11個特殊功能寄存器進行位尋址操作。
表1-2 51系列單片機的特殊功能寄存器

2.時鐘電路
時鐘電路產生單片機所需要的時鐘信號。51系列單片機內部有時鐘電路,負責將內部振蕩電路產生或外部輸入的時間信號進行分頻,送往CPU以及其他各功能部件。
51系列單片機內部有一個高增益的反相放大器,其輸入端為引腳XTAL1,輸出端為引腳XTAL2,用于外接石英晶體振蕩器或陶瓷諧振器和微調電容,構成穩定的自激振蕩器,其發出的脈沖可直接送入內部的時鐘電路,如圖1-8(a)所示。
外部接入方式常用于多片單片機組成的系統中,以便各單元之間的時鐘信號同步運行。
對于HMOS型單片機(如8051),可用來輸入外部脈沖信號,如圖1-8(b)所示,XTAL1接地,XTAL2接外部時鐘,由于XTAL2的邏輯電平與TTL電平不兼容,所以還要接一個上拉電阻。
對于CHMOS型單片機(如80C51),外部時鐘要由XTAL1引入,而XTAL2引腳應懸空,如圖1-8(c)所示。

圖1-8 MCS-51振蕩電路及外部時鐘源的連接
圖1-8中部分元件的作用及推薦取值如下:
①電容C1、C2對頻率具有微調作用,電容一般取值10~30pF,典型值為30pF;
②晶振:選擇范圍為1.2~12MHz,典型值為6MHz和12MHz。(一般情況下,選用12MHz的石英晶體,而在串行通信情況下通常選用11.0592MHz。)
3.時序
時序就是CPU執行指令時所需要的控制信號的時間順序。時序中使用的定時單位有大有小,51系列單片機的時序定時單位有4個,分別是節拍、狀態、機器周期和指令周期,如圖1-9所示。

圖1-9 MCS-51單片機的時序單位
1)節拍
一個振蕩周期(時鐘周期)就是一個節拍,其值為外接晶振的頻率或外部輸入的時鐘頻率的倒數。例如,外接晶振的頻率為12MHz,則其1個節拍(振蕩周期、時鐘周期)=。
2)狀態
經過內部二分頻觸發器對振蕩頻率分頻產生的連續兩個節拍稱為一個狀態(或狀態周期)。一個狀態的前半周期稱為P1,后半周期稱為P2。
3)機器周期
一個機器周期包括6個狀態,依次可以記為S1~S6。而每個狀態又包括2個節拍,每個節拍又是一個振蕩周期,所以每個機器周期等于12個振蕩周期(節拍),或者說是機器周期是振蕩頻率的12分頻。
4)指令周期
指令周期是指執行一條指令所需要的時間。根據指令不同,51系列單片機的指令周期可以包括1、2或4個機器周期。
單片機的基本操作周期為機器周期。一個機器周期分為6個狀態,每個狀態由2個脈沖組成,也就是所謂的兩相(前一個脈沖P1稱為相位1,后一個脈沖P2稱為相位2)。因此一個機器周期共有12個振蕩脈沖。再根據時鐘頻率計算出一個機器周期的時長,就可以得出指令周期的時長。
比如某單片機的振蕩頻率為12MHz時,一條指令的執行時長最短為一個指令周期,即一個機器周期,計算得出,最長的指令周期為4個機器周期,計算得出
。
4.單片機的復位
單片機控制系統設計完成交付使用后,第一步就是上電開始工作。為了使系統能從一個確定的狀態開始工作,必須進行內部的復位操作,然后再進入程序執行方式。或者是在系統運行過程當中,因為有外部干擾或者是其他因素導致不正常的工作狀態時,也需要通過手動方式對系統進行復位。
單片機的復位是通過對RST引腳提供一個持續2個機器周期以上的高電平信號來觸發的。51單片機的上電復位電路原理如圖1-10所示。

圖1-10 51單片機的上電復位電路原理
分析圖中的復位電路,可以看到:
(1)上電復位:上電瞬間,電容充電電流最大,電容相當于短路,RST端自然是高電平,這一過程持續的時長會超過2個機器周期,因此單片機進行自動復位;當電容兩端的電壓達到電源電壓時,電容充電電流為零,電容相當于開路,于是RST端為低電平,單片機程序開始正常運行。
(2)手動復位:當按下復位按鍵時,此時RST直接與VCC相連,RST端為高電平,系統開始復位,與此同時電路中的電解電容被短路放電;按鍵松開時,VCC對電容充電,充電電流在電阻上,RST依然為高電平,重復上電復位過程,充電完成后,電容相當于開路,RST為低電平,正常工作。
5.最小系統
單片機最小系統,也可稱為最小應用系統,是指用最少的元件組成的可以工作的單片機系統。對51系列單片機來說,最小系統一般主要由電源、復位、振蕩電路以及擴展部分等部分組成。單片機最小系統如圖1-11所示。

圖1-11 單片機最小系統
6.單片機中常用的邏輯電平
單片機是一種數字集成芯片。數字電路中通常只有兩種電平:高電平和低電平。單片機的輸入和輸出需要使用不同的邏輯電平信號作為標識。
常用的邏輯電平有TTL、CMOS、RS-232-C等。其中,TTL和CMOS的邏輯電平按典型電壓可分為4類:5V系列、3.3V系列、2.5V系列和1.8V系列。5V TTL和5V CMOS是通用的邏輯電平。3.3V及以下的邏輯電平稱為低電壓邏輯電平。
TTL電平在單片機中使用最多,這是因為數據表示通常采用二進制,TTL電平中+5V等價于邏輯1,0V等價于邏輯0,這被稱為TTL(晶體管-晶體管邏輯電平)信號系統,是計算機處理器控制的設備內部各部分之間通信的標準技術。
計算機串口通信使用的是RS-232-C電平,RS-232-C是負邏輯電平,即高電平為-12V,低電平為+12V。因此,當計算機與單片機之間通過串口通信時,要進行電平轉換。