單片機原理和應用
單片機原理和應用
《單片機原理和應用》是由電子工業出版社出版的一本書籍。本書系統全面地介紹了80C51單片機的基本原理、硬體結構、指令系統,並從應用的角度介紹了彙編語言程序設計、單片機外部電路的擴展,以及與鍵盤、LED顯示、LCD顯示、印表機等多種硬體介面的設計方法,詳細介紹了串列、并行介面的A/D、D/A轉換器功能特點和典型應用,增加了單片機應用系統設計、Proteus模擬、實驗和課程設計等內容。
書中應用實例翔實、實驗內容豐富,具有參考價值。本書配有電子課件等教學資源。本書可作為高等院校電子信息工程、自動化、通信工程、測控技術與儀器等專業“單片機原理與應用”相關課程的教材,也可作為相關技術人員的參考用書。
本書為江西省省級精品課程建設成果。
本書從現實教學和工程實際應用出發,對傳統單片機教材內容進行了改良,力求做到與市場接軌,與現實同步。在并行匯流排擴展問題上,著重介紹了擴展方法和典型應用,對并行器件、并行匯流排擴展及8255、8155、8279等已基本淘汰的器件進行了精簡或摒棄,補充了串列匯流排技術、串列匯流排器件介面應用和STC系列單片機內部新增功能部件的使用,以及C51編程規範等內容。
書中有單片機應用系統設計、Proteus模擬、實驗和課程設計等章節,主教材與實驗教材整合為一本書,知識量大。
自從1972年Intel公司推出第一顆微處理器以來,計算機技術遵循著摩爾先生提出的摩爾定律,以每18個月為一個周期微處理器性能提高一倍、價格降低一半的速度快步向前發展。以微處理器為核心的微型計算機在最近20年中發生了巨大的變化,閃電般地經歷了從8088/8086到286、386、486、586、P-Ⅱ、P-Ⅲ等奔騰(Pentium)系列眾多CPU的飛躍。計算機對整個社會進步的影響有目共睹,其應用面的迅速拓寬,對個人與社會等多方面的滲透表明,計算機技術已不再是深踞於高層次科技領域裡的寵兒,它已經深入到社會活動的一切領域之中,闖進了平常百姓的生活里,使人們跨入了信息時代、數字時代。
隨著電子技術的發展和近代超大規模集成電路的出現,通過對計算機的功能部件進行剪裁及優化,將CPU、程序存儲器(ROM)、數據存儲器(RAM)、并行I/O口(PIO)、串列I/O口(SIO)、定時/計數器(CTC)及中斷控制器(ICU)等基本部件集成在一塊晶元中,製成了單晶元微型計算機(Single Chip Microcomputer),簡稱單片機,又叫微控制器(Micro Controller Unit,簡稱MCU)。由於它能嵌入到某個電路或電子產品設備中,故被稱為嵌入式控制器(Embedded Controller)。要把前面提到的眾多功能集合在一起,在過去需要具備專門的知識,採用許多電路組建成一個電子系統來實現。而今卻簡化成只需選擇一片合適的單片機,並對其已有的功能、指標、參數及引腳進行合理的使用即可完成。單片機與可編程邏輯器件相結合,構成了新一代電子工程應用技術。
20世紀90年代,單片機在我國迅速普及。在電子技術日新月異的今天,在人們的生活里,到處都可以看到單片機的具體應用。單片機可以嵌入到各種電子產品之中,成為機電產品的核心部件,控制著各種產品的工作。隨著大規模集成電路的發展,單片機已從過去的單一品種,發展成為多品種、多系列機型,內部結構從過去的基本部件發展到集成有A/D、D/A、監控定時器(WDT)、通信控制器(CCU)、脈寬調製器(PWM)、浮點運算器(FPU)、模糊控制器(FCU)、數字信號處理器(DSP),以及具有I2C、SPI、ISP等眾多特殊功能部件,成為功能越來越強的增強型、高檔型單片機。由於單片機具有功能強、體積小、功耗低、成本低、裸機編程、軟體代碼少、工作可靠、自動化程度高、實時響應速度快以及使用方便等特點,因此被廣泛應用於工業製造、過程式控制制、數據採集、通信、智能化儀器儀錶、汽車、船舶、航空航天、軍工及消費類電子產品中。
如今,由單片機作為主控制器的全自動洗衣機、高檔電風扇、電子廚具、變頻空調、遙控彩電、攝像機、VCD/DVD機、組合音響、電子琴等產品早已悄悄地包圍了人們的生活。從家用消費類電器到複印機、印表機、掃描儀、傳真機等辦公自動化產品;從智能儀錶、工業測控裝置到CT、MRI、γ刀等醫療設備;從數碼相機、攝錄一體機到航天技術、導航設備、現代軍事裝備;從形形色色的電子貨幣(如電話卡、水電氣卡)到身份識別卡、門禁控制卡、檔案管理卡以及相關讀/寫卡終端機等,都有單片機在裡面扮演重要角色。因此有人說單片機“無處不在,無所不能”。
現今,炙手可熱的“三網”(即電信網、有線電視網、國際網際網路)融合產品、物聯科技已開始興起;在汽車中普遍都需要有30多個單片機被用於其中的空調、音響、儀錶盤、自動窗、遙控門、自控前後蓋、空氣質量監測、反射鏡角度調整、自動滅火、防盜報警等的控制,協調控制著發動機、傳動器、制動器、安全氣囊、車載全球定位系統(GPS)等多方面有條不紊地工作;此外,還有工業自動化控制和軍事科技等。這些領域的應用開發都還存在許多技術問題尚要解決,這正是電子技術人員可以大展拳腳的領域。
從學習的角度看,單片機作為一個完整的數字處理系統,具備了構成計算機的主要單元部件,在這個意義上稱為單片微機並不過分。通過學習和應用單片機進入計算機硬體設計之門,可達到事半功倍的效果。
從應用的角度看,單片機是一片大規模集成電路,可自成一體,對於其他微處理器所需的大量外部器件的連接都在單片機內部完成,各種信息傳遞的時序關係變得非常簡單,易於理解和接受。用單片機實現某個特定的控制功能十分方便。
從設計思想看,單片機的應用意味著“從以硬體電路設計為主的傳統設計方法向以軟體設計為主的、對單片機內部資源及外部引腳功能加以利用的設計方法的轉變”,從而使硬體成本大大降低,設計工作靈活多樣。往往只需改動部分程序,就可以增加產品的功能,提高產品的性能。
單片機技術的功效神奇,有時也給人一種神秘莫測,難於駕馭之感。究其原因,很多初學者不太重視實踐,缺乏行之有效的經驗總結,缺乏將離散的實踐經驗上升到知識的理解層面。其實,如果從應用的角度來看,單片機既不神秘,也不難駕馭。單片機課程是一門實踐性、綜合性、應用性很強的課程,初學者應樹立在學中“做”,在做中“學”的思想。先學習單片機硬體結構、存儲結構、指令系統及中斷系統,然後不斷地進行編程練習,通過實驗提升技能,加深理解,結合最小系統板等實物進行硬體編程式控制制,提高動手能力。如此循序漸進、舉一反三,才會有“登堂入室”之感,才能逐步將單片機應用於各種場合之中解決實際問題。
總之,單片機不同於通用微型計算機,它能夠靈活嵌入到各類電子產品中,使電子產品具備智能化和“傻瓜”化操作,已經成為電子自動化技術的核心基礎。因此,學習單片機非常有必要。
由於目前的單片機教材大多是沿用20世紀80年代的內容,使用的晶元(如8031)過於陳舊,很多學生學完單片機課程后,到工作單位從事實際的單片機系統設計時總感覺學無所用,而且脫離實際。現在,單片機的應用已真正步入了“單片”的時代。單片機內部集成的功能部件越來越多,功能越來越強,對單片機應用系統的設計已很少採用外部的并行匯流排擴展RAM和ROM,而是採用選擇包含不同存儲容量的單片機。即使是需要擴展外部RAM存儲器,也往往會選用串列I2C、SPI匯流排擴展技術。對I/O口的擴展也不再使用8255或8155這樣的晶元,而是選擇具有不同引腳封裝的單片機。當需要的I/O口少時,可以選擇封裝引腳多的單片機(最少的只有8個引腳,含6個I/O口引腳);若需要的I/O口較多時,可以選擇引腳封裝多的單片機(最多的有上百個引腳)。很多單片機內部都集成有8位或10位的中、低精度的A/D、D/A轉換器。因此,在精度要求不高的場合,完全可以選用片內帶有A/D、D/A轉換器的單片機。只有在要求高精度(12位以上)、高速採樣的場合,才需要選用擴展外部串列或并行介面的A/D、D/A轉換器,這樣可以大大降低成本,減小產品的體積。基於上述原因,本書在編寫過程中,對原有的單片機教材做了比較大的改良,盡量將那些在實際應用中很少見的,或已經淘汰的晶元不寫入教材,而將實際應用中比較流行的技術吸收進來,形成具有時代特色的新型教材,力求做到與市場接軌,與現實同步。為了幫助讀者更快地進入單片機應用領域,本書最後補充了實驗和課程設計實例。
全書共分16章。第1章是單片機概述,介紹了單片機的發展歷程、應用領域和各種常用的低功耗單片機、增強型單片機的性能特點,介紹了國產STC系列單片機的選型;第2章介紹了8051單片機的體系結構、內部主要部件的功能,以及存儲器結構與編址範圍;第3章介紹了8051單片機指令系統和指令的使用方法;第4章介紹了8051單片機程序結構和設計方法;第5~7章介紹了8051單片機中斷系統結構、中斷控制、編程和串列口使用方法;第8章以國產STC系列單片機為例介紹了增強型單片機新增功能部件的使用方法;第9章介紹了單片機系統的擴展,重點介紹了串列匯流排擴展技術,精簡了并行匯流排擴展內容;第10章介紹了單片機與鍵盤、數碼顯示、液晶顯示、印表機的介面形式和編程方法;第11章介紹了A/D、D/A轉換器性能指標、晶元選型,著重介紹了串列A/D、D/A轉換器的介面使用方法;第12章介紹了C51在單片機中的編程方法,以及混合編程的具體運用;第13章介紹了如何根據需求進行系統設計;第14~16章以單片機應用實驗為主,介紹了使用Proteus進行單片機模擬、精選了十個單片機編程實驗項目和四個課程設計應用實例。
全書內容豐富,結構完整,其中第1~4章、第8~16章由朱兆優編寫;第5~7章由陳堅編寫;鄧文娟參與了第4、15章的編寫,王海濤參與了第12、16章的編寫。參加本書編寫工作的還有趙永科、胡文龍,研究生洪俊雄、洪恩華、周更新、王娟、范淑娜和塗曉紅老師等對書稿的錄入、插圖、校對和程序調試做了許多工作。朱兆優負責全書的策劃、內容安排、文稿編寫修改和審定。
本書在編寫過程中得到了家人的全力支持和幫助;還得到了周航慈教授的大力支持,周航慈教授對本書的初稿進行了審閱,並提出了寶貴意見,在此對他們付出的辛勤工作表示衷心感謝!
全書參考教學40~60學時,實驗20學時。教學時可以根據實際情況,對各章講授的內容進行適當取捨。為配合教學,每章都配有適量的練習與思考題。
由於本書涉及的知識點較多,儘管在編寫中做了許多努力,但由於時間倉促,難免有不足和疏漏之處,歡迎廣大讀者提出寶貴意見和建議,以便進一步改進和提高,使之滿足實際教學的需要……