趙春陽
河南大學歐亞國際學院,河南 開封 475001
?
淺析單片機
——以80C51單片機為例
趙春陽*
河南大學歐亞國際學院,河南 開封 475001
本文以單片機中的經典型號80C51為例剖析了單片機基本概念、內部結構和應用領域
80C51單片機;基本概念;內部結構;應用領域
單片微型計算機簡稱單片機(Single Chip Microcomputer)。單片機是一在塊超大規模集成電路芯片上,集成了CPU(中央處理單元)、存儲器(RAM、ROM),其中RAM為Random-Access Memory(隨機存取存儲器)高速存取,讀寫時間相等,且與地址無關;ROM(Read Only Memory)只讀存儲器,是一種固態的半導體存儲器。ROM的顯著特性是資料儲存后就無法再將之改變或刪除。只讀存儲器的應用領域一般而言,應用在不需經常變更資料的電子設備和系統中,并且資料不會因為掉電而遺失。此外,還有定時器/計數器、中斷控制電路和系統總線等電路的微型計算機。
(一)80C51單片機的概述
8051是英特爾公司,一家坐落在美國加州圣克拉的集成電子公司,生產的一系列單片機中最典型的單片機系統,MCS51是系列的總稱。所以人們習慣于用8051來稱呼MCS51系列單片機。該系列其它的子單片機都是建立在8051的基礎上進行功能的篩選和升級進而改變而來的。51子系列的有基本型,對應的芯片為8031、8051、8751、8951,依據片內不同的只讀存儲器的配置對應不同的芯片。51單片的鼻祖是51系列,后來又延伸出了許多子系列,其中C系列是較為著名的一個。如果單單是從外形和外部結構來看,二者并無較大的差異與不同,二者的操作指令系統、引腳信號基本完全一致,換言之,二者的程序可以互相移植,具有較高的可兼容性與可移植性,可以批量生產,只要相應的引腳順序適當。但80C51與8051相比,制造工藝更加先進科學,最顯著的特點就是低功耗。80C51有兩個16位定時計數器,兩個外中斷,兩個定時計數中斷,及一個串行中斷,并有4個8位并行輸入口。因為80C51的系統核心性能特點能更加滿足系統數據收集以及處理的要求和時間精確性上的要求。此外,另一方面因為80C51產量較大,在市場上隨處可見,應用時間長,技術也很成熟,故采80C51用來作為控制核心。
(二)80C51單片機內部結構
累加器ACC的主要功能是在運算前存放一個操作數,運算后存放一個操作結果。80C51系列單片機雖然在結構上仍然以累加器A作為重要部件。毋庸諱言,累加器A在數據的傳輸以及處理方面、邏輯指令的操作方面的重要作用得到一定程度上的衰減。但另一方面由于內部電路事先準備了預防性的措施,使得數據和邏輯指令在片內直接或者間接地址的存儲器之間直接傳送,實現直達,一步到位。而不必經過累加器A。但,加、減、乘、除等基本的算術運算指令的計算結果都須要存放在累加器A寄存器中。
CY:進位標志。它是累加器A的進位位,它的含義是若運算結果在最高位有進位或借位)時,則用于置1,否則將進位位清0。AC:半進位標志。它是累加器A中A4位接收A3位的進位,一般是低半字節的進位位,主要用于BCD碼調整。低4位有進位(加法時)或向高4位有借位時(減法時),AC是
1,否則,AC清0。OV:溢出標志位,用于表示有符號數算術運算的溢出。溢出時OV為1,否則OV為0。P:奇偶標志位。每個指令周期都需要由硬件來通過置位或者清零來表示累加器A中1的個數的奇偶性。若1的個數為奇數,則P置位;若1的個數為偶數,則清零。控制器是控制單片機各種操作的部件,用于完成指令規定的操作。它包括程序計數器PC、堆棧指針SP、指令寄存器、數據指針寄存器DPTR、定時控制邏輯時鐘發生器、復位電路等。指令寄存器IR用來暫時存放當前取出的指令,并由指令譯碼器ID譯碼,產生相應的譯碼信號,并傳送給定時控制電路,定時控制電路發出各種控制信號控制各器件
完成指令規定的操作。DPTR為16位寄存器。由于80C51單片機采用的是哈佛結構,而非馮諾依曼結構,程序指令和數據數傳具有較高的獨立性和并行性。因此,程序存儲器的地址是由程序計數器PC提供,而數據存儲器的地址是由數據指針DPTR提供的,所以DPTR用于存放片外數據存儲器及I/O口的地址。為了使程序指令從內部只讀存儲器開始執行,對于有內部只讀存儲器的單片機,在正常運行時,應把引腳置1,并將其接高電平。其次由于80C51單片機系統中內部和外部程序存儲器的地址空間是一致的,總共計64K字節。當寄存器PC指針計數值超出內部ROM的容量時,會立即轉向外部程序存儲器空間。80C51單片機內的特殊功能寄存器有狀態標志寄存器、I/O口鎖存器、數據緩沖器等它們離散地分布在內部RAM地址空間(80H-0FFH)內,表2列出了這些特殊功能寄存器的標識符、名稱及地址。由表2-2可知累加器ACC、寄存器B、程序狀態字PSW、I/O口P0-P3等均為特殊功能寄存器。
80C51單片機通常是指芯片本身以及最小系統,最小系統集成的是一些基本組成部分從而構成開發板以及學習板。是嵌入式系統的主要構成基礎單元,即將其嵌入到對象環境中、結構里、體系中作為其中的一個基礎組成部分和智能化控制單元實現基本功能比如計數、計時以及搭載OLED或者LCD屏幕來顯示特定內容。80C51單片機的應用領域十分廣泛,第一用單片機構成智能化產品:在智能儀器儀表中的應用;第二在家用產品中的應用;第三在醫療儀器中的應用以及在計算機外部設備中的應用等等不勝枚舉。在商業方面,80C51由于其簡單易操作的顯著特點已經用于激光的噪聲測量,頻率計、洗衣機等商用或者家用電器。在日常生活方面,許多多功能四旋翼飛行器因搭載80C51微控制器可以實現全方面功能比如視頻的拍攝、農業的噴灑以及溫度濕度的測量。打印機、通信設備、現場總線控制單元等也大多采用80C51。在工業自動化方面:許多三軸加速度計配合80C51實現測量力、熱、速度、加速度、位移等物理量。在智能儀器儀表方面:可以通過使用80C51來降低成本、其次也可以簡并優化化系統的結構、提高整體裝置的可靠性和實用性。
[1]《單片機原理及應用》.武漢科技學院電子信息工程學院.
[2]《80C51單片機的內部結構》.電工網.
趙春陽(1996-),男,漢族,河南鄭州人,河南大學歐亞國際學院,2014級本科生。
TP
A
1006-0049-(2017)14-0283-01