實例解讀51單片機完全學習與套用(配教學視頻)

實例解讀51單片機完全學習與套用(配教學視頻)

基本介紹

  • 中文名:實例解讀51單片機完全學習與套用(配教學視頻)
  • 類型:教學
  • 簡介:單片機基礎知識、系統設計等
  • 適合讀者:適合單片機初學者
內容簡介,序,前言,目錄,

內容簡介

本書集單片機基礎知識、單片機系統設計、電路知識及實驗方法、工藝設計、電子元器件、Proteus/uVision軟體介紹等諸多內容於一身,實用性強。這些內容不是簡單的順序堆砌,而是以單片機基礎知識和系統套用為主線,在其中完美地穿插與之相關的模電、數電、電子元器件、軟體知識,真正做到將單片機系統設計所需要的方方面面知識有機地融為一個整體,實現不需要過多電路基礎就能深度學習單片機基礎知識和上手單片機系統設計與開發的目的。
讀者對象:適合單片機初學者作為學習用書,對於正在學習或學過單片機課程,卻還不會編程、不會套用的讀者,本書也將會是你“撥雲見日”的有益參考書。

本書是楊欣和他的同事們所編寫的精彩系列叢書中的一本,對8051單片機進行了淋漓盡致地介紹。
許多讀者朋友都已經知道單片機是在一個積體電路上的小型計算機,它包含了處理器、核心存儲器、可程式的輸入和輸出外設等。並且單片機常常在嵌入式系統中作為核心器件。8051單片機在20世紀80年代出現以來,目前已經成為當今數字電路時代的重要器件之一。
單片機作為各種設備和系統的核心控制器件,與個人計算機里或其他一般用途的微處理器有很大的不同。自動化設備、醫療儀器、搖控、辦公設備、家用電器、電動工具、玩具等都使用了單片機。實際上,對於今天每一個設計、組建或維護各類數字電子設備的人來說,精通單片機的操作、熟悉與之相關的電路與系統都算是基礎的技能。
本書專門為了這些必備知識進行組織編寫。在一開始對單片機和系統設計師進行概述之後,各章都深度地剖析了系統技能、系統設計的軟體、輸入輸出連線埠、七段數碼管、掃描與顯示、8051單片機、片記憶體儲器、定址、指令、信號的處理、模擬與數位訊號的轉換、信息的顯示、定時器、串列口通信、中斷、外設、數據存儲等。
楊欣和他的同事們使用簡潔和生動的語言,精妙地通過本書成功地向大家傳授了實用的單片機內容。書中有大量翔實的8051單片機套用實例,它們都來自廣闊的領域,包括醫療設備、信號處理、檢測器與感測器、顯示、時鐘以及各類不同的儀器。
我懷著極其喜悅的心情,向每一個尋覓8051單片機最新設計資訊和實踐指導的電子工程師推薦本書。它包含了“所有你需要知道的”,並且將必然成為未來幾年帶來巨大的價值。
英國最高級巴思爵士,英國皇家學會會員,英國皇家工程院院士,英國醫學科學院院士
皮特維爾斯教授

前言

呈現在大家眼前的是一本通俗易懂的從單片機基礎到系統套用的生動教程。本書的幾位作者在近6年來出版的多部有關電路設計及單片機方面的暢銷圖書成為了本書的堅實基礎。本書凝結了清華大學、北京大學、中國科學技術大學、北京交通大學多位一線教師、博士研究生的教學及實踐體會。也得到了英國劍橋大學、牛津大學、帝國理工、愛丁堡大學、加的夫大學等世界著名大學中多位教授、博士生導師的指導意見。
經過多位學者的精心裁剪和沉澱,本書的脈絡及內容非常符合單片機基礎知識及系統套用的學習規律,能為廣大讀者朋友開闢一條事半功倍的單片機學習捷徑。
特色
本書集單片機基礎知識、單片機系統設計、電路知識及實驗方法、工藝設計、電子元器件、Proteus/Vision軟體介紹等諸多內容於一身,物超所值。
以單片機基礎知識和系統套用為主線,其中完美地穿插了與之相關的模擬電路、數字電路、電子元器件、電子工藝等內容,把單片機系統設計所需要的方方面面知識有機地融為一個整體,真正實現不需要過多電路基礎就能深度學習單片機基礎知識和上手單片機系統設計製作的目的。
全書語言生動活潑、平實易懂,沒有生澀的大理論,更沒有讀不懂的過程。無論在單片機部分還是元器件介紹中都緊緊圍繞實用進行介紹,加上全書豐富、精彩的插圖,形象地幫助大家理解知識及過程,加深印象。
特別注重知識的鋪墊和循序漸進。單片機及其系統套用的知識內容多、難度大,沒有基礎的朋友一時可能不知道從哪裡開始學習、如何開始學習。本書從第一章開始就用形象生動的單片機套用實例不斷鋪墊,讓單片機知識流暢地被理解和吸收。
豐富的實例把單片機基礎知識及其套用構成一個整體。每章中除在講解過程中的實例外,還有“套用體驗”和“實例解讀”環節向大家展示單片機的套用和設計思路,既授人以魚,也授人以漁。
本書涉及的特色系統、實例包括有:
數字溫度計
裝小球生產線
電子血壓計
發光二極體多種控制
反應時間測試儀
聲音處理器
系統電源設計
流水燈
晃晃燈
計時器
秒表
七段數碼管顯示控制
串列顯示控制
信號發生器
心電放大器
光控開關
幅頻變換電路
磁場檢測器
電壓指示器
數字溫控系統
裝藥丸生產線
計數器
“叮咚”門鈴
頻率計
LED點陣螢幕
多種液晶屏顯示
中文液晶屏顯示
電子時鐘
串列傳送及接收
與計算機串口通信
排隊呼叫機
網路密碼鎖
中斷套用
拉幕式顯示
電子琴
紅外計數器
直流電動機控制
步進電動機控制
太陽跟隨系統
片外存儲器訪問
I2C存儲器接口
GPS定位系統
本書為掃清單片機基礎知識和系統設計的障礙鋪陳的電子工藝、電路知識、電子元器件知識包括有:
麵包板實驗方法
萬用板實驗方法
印刷電路板設計
焊接方法
發光二極體
變壓器
二極體
整流橋
電容
三端穩壓
直流穩壓電源
晶振
電阻
開關
場效應管
邏輯門
鎖存器
觸發器
數字基礎
七段數碼管
蜂鳴器
三極體
三極體開關
運放放大器
同相放大器
反相放大器
跟隨器
比較器
施密特觸發器
加法放大器
差分放大器
儀表放大器
濾波器
壓力感測器
光電感測器
溫度感測器
霍爾感測器
模數轉換器
電平移位器
增益控制器
峰值檢測器
絕對值電路
微/積分器
採樣保持器
系統接地
數模轉換器
鍵盤
LED點陣
液晶屏
繼電器
紅外對管
直流電動機
PWM
步進電動機
RAM和ROM
EEPROM存儲器
Flash存儲
適用對象
不知從哪裡開始學習單片機的人。有的朋友正準備開始學習單片機,但是陷於在市面上琳琅滿目的單片機教程的選擇中。本書的寫作手法和內容敘述獨特、新穎,是一本真正讀起來不費勁、學起來不枯燥、用起來得心應手的參考書。這將極大提高學習的興趣和吸收的效率。
廣大的學生朋友。不管您的手裡是否有了單片機的教程,都可以從本書一開始就找到學習單片機的嶄新道路,這都歸功於本書從頭到尾豐富生動的、貼近生活的實例。如果您想真正高效地、深刻地、紮實地學習單片機基礎知識和套用方法,不妨選擇本書讀一讀。本書既可以單獨作教程使用,也可作為一本參考書,講述課堂內外與單片機有關的精彩案例。
老師們。如果能在課堂上使用本書中一些生動的單片機套用實例結合到知識介紹中,或者乾脆把本書中知識描述、過程講解、實例解析直接引入課堂,與學生們一起在單片機學習中互動。同時跟隨本書深刻地對單片機原理、系統規劃設計、軟/硬體設計方法進行形象地學習,在活躍課堂氣氛的同時,讓學生真正掌握了單片機相關知識和學習的方法,豈不是事半功倍、皆大歡喜嗎?
正想利用單片機設計系統的人。可能您在工作中、畢業設計中需要利用單片機結合外設設計一個套用系統來完成老闆、老師布置的任務,但是原來掌握的單片機知識可能有些不夠,不知道從何下手來設計單片機套用系統。本書將把單片機系統設計中包括電路知識、電子元器件知識、電子工藝、單片機系統組成方案等一粒粒“珍珠”串起來,實現為您帶來設計的靈感和幫助您著手開始設計與製作。
內容結構
全書在整體上分成了序幕——揭密——解密——遠航共4個部分。
序幕部分包括了第1~4章。首先從發現單片機開始,展示單片機廣泛存在日常生活和工業生產中。接著介紹了單片機系統的概念、電子工藝、系統設計流程,並利用簡單實例演示單片機的功能。與單片機及其系統設計相關的電路知識、元器件知識在這一部分漸漸展開,並服務於單片機知識的理解和設計的思考。最後就是單片機學習和系統開發涉及的多個軟體如Proteus、Vision的介紹。通過序幕部分的學習,可以順利、快速、準確地進入單片機學習的核心區。
揭密部分包括了第5~8章。電子元器件知識的講解再次為理解I/O口等單片機內部結構掃清障礙,通過發光二極體的多種控制掌握單片機的I/O口控制。接著介紹的是單片機如何控制七段數碼管實現秒表等套用的設計。當我們對單片機有了比較感性的認識後,第7章全面介紹了單片機的存儲器結構等重要內容,此時理解起來已經因為前面的鋪墊而自然、容易了許多。同時,對彙編指令以及單片機執行過程的學習也變得從容許多。
解密部分包括了第9~14章。通過前面的學習單片機一些基礎知識已經理解完畢,接著將逐個解開實際的單片機系統的秘密,比如感測器信號採集及信號處理、ADC(模數轉換)和DAC(數模轉換)、鍵盤、點陣、液晶屏等。另外還在實例當中把單片機的定時/計數器、看門狗、中斷、串列通信進行全面介紹。
遠航部分包括了第15~16章。有了以上的基礎和設計的積累,遠航部分將最大化地展示單片機系統中常用外設如繼電器、紅外管、直流電動機、步進電動機、存儲器等。最後一章還對常用的存儲器原理以及擴展片外存儲器進行了詳細介紹。
特別感謝
本書是由楊欣統籌和主筆,由張延強、張鎧麟、劉長煥、支瑞聰、劉傑、傅予嘉、趙東旭、趙興東、何帥、陳偉、李哲謙、張浩翔、劉文、王正浩、陳新、昌文婷共同參與編寫而完成的。本書還得到了胡文錦、趙興東、趙東旭、傅予嘉、陳偉、何帥、AlqahtaniMahdi、HamidBidi的幫助,在此對他們的辛勤付出表示誠摯的謝意。此外,在編寫過程中還得到了許多國內外專家的幫助和指導。
首先,我們感到莫大的榮幸邀請到PeterWells教授為本書作序,他是世界公認的人類醫用超聲之父。1964年他就與KenEvans和FrankRoss發明了第一台關節臂B超,連同後來他發明的世界第一台自動水浴超聲乳腺掃瞄器、導管內窺鏡探頭、都卜勒超聲感測器、灰階圖像超聲等不勝枚舉的開創性研究,為今天臨床中普遍套用的B超、彩超、3D超聲等的出現奠定了基礎。他作為英國最高級巴思爵士獲得者、英國皇家學會會員、英國皇家工程院院士、英國醫學科學院院士、英國加的夫大學特聘教授,仍然工作在教學、科研的第一線,親力親為指導醫學工程專業的本科生、研究生。筆者感到極大榮耀,能在博士、博士後期間與他一同工作在超聲運動損傷及超聲輔助癌症治療等課題中。
其次,要感謝英國加的夫大學工程學院電子物理醫學研究所首席科學家LenNokes教授的傾力幫助,他是國際足聯(FIFA)以及歐洲足聯(UEFA)的高級顧問醫生、運動損傷研究員。作為本書的主審之一,他對本書的內容、框架進行了細心指導。他作為筆者的博士生導師,在運動損傷的診斷及治療等醫學工程研究中給予了大量的思路和精心的指導。
感謝本書的另外兩位主審——北京交通大學的王玉鳳和劉湘黔兩位教授,他們10年來的傾力幫助與支持,都沉澱在筆者所出版的7本書中。他們事無巨細的指導還繼續成為筆者出版電子類著作的動力。另外,希望用我們相繼出版的圖書,感謝他們在教書育人、科學研究中所傾注的精力以及過去和未來為社會創造的平凡而偉大的財富。
感謝北京交通大學生物醫學工程系主任劉傑教授和北京軍區總醫院計量科主任劉文教授,他們近10年來在電子物理醫學研究中給予的精心指導,成為了筆者多部圖書的基石。筆者正是在他們所指導的諸多醫學工程項目中迅速成長起來。
感謝英國帝國勳章獲得者、英國皇家物理學家和科學家、英國加的夫大學特聘教授JohnWoodcock對本書諸多內容的精心指導以及對筆者科研、論文的幫助。同時,感謝英國加的夫大學臨床醫院的Dr.NeilPugh和Dr.DeclanColeman、英國帝國理工學院的Dr.RoyClement、倫敦大學瑪麗女皇學院的Dr.DericJones和Dr.HazelScreen等的幫助。另外,對英國愛丁堡大學的Dr.PeterHoskins、英國布里斯托總醫院的Dr.HaidongLiang對編纂工作的肯定與指導表示感謝。
感謝北京交通大學計算機學院院長韓臻教授、黨委書記楊曉暉教授、黨委副書記余亞光教授給予的支持與幫助。另外對物理系的成正維、牛原、楊甦、蔡天芳、滕永平等幾位教授和“關工委”的岳兆宏教授表示最崇高的敬意。
感謝深圳職業技術學院副校長溫希東教授對本書內容的指導和肯定。還要感謝宋榮、賈方亮老師在具體電路、設計思路上給予的大力幫助。
感謝英國劍橋大學的梁東方和王曉霖夫婦的幫助。並對《電子製作》、《電子測試》、《家庭影院技術》和《家電維修》雜誌社的總編陳忠、社長陳曉筱、副主編楊來英、編務王雪珍等老師表示最大的感謝。此外還要感謝清華大學的韋思健教授和中國科學技術大學的趙文教授及夫人對內容的指導。感謝北京城市學院的汪仁里老師及夫人。同時對本書提供了許多寶貴建議的王淑蘭老師表示感謝。
感謝梁麗麗、張晟、周萍、趙少雲和雷麗明幾位老師,他們對筆者的成長起了至關重要的作用。
最後,要感謝我的父母等家人;另外還要感謝摯友崔捷10多年來給予的莫大幫助。
楊欣
InstituteofMedicalEngineeringandMedicalPhysics
CardiffUniversity
UnitedKingdom
2011年2月

目錄

第1篇序幕
單片機是什麼?單片機有何用?如何系統學習單片機?單片機系統設計的流程是怎樣的,需要掌握哪些輔助軟體?本篇將針對這些問題一一闡述,為讀者掀開單片機完全學習與套用的華麗序幕。
第1章單片機在哪裡3
1.1■尋找單片機3
1.1.1電磁爐與單片機4
1.1.2MP3播放機與單片機5
1.1.3更多單片機5
1.2■學習單片機6
1.2.1掌握單片機基礎知識6
1.2.2理解單片機系統6
1.2.3成為單片機系統設計師7
1.3■單片機之家7
1.3.1Intel8051單片機7
1.3.2PIC單片機8
1.3.3AVR單片機9
1.3.4其他單片機9
1.4■套用體驗——數字溫度計9
1.4.1數字溫度計工作原理10
1.4.2體驗數字溫度計10
1.5■實例解讀——裝小球系統11
1.5.1需求分析11
1.5.2系統框架12
第2章如何成為單片機系統設計師13
2.1■需要準備哪些13
2.1.1綜合素質13
2.1.2軟體工具15
2.1.3硬體工具之一:麵包板15
2.1.4硬體工具之二:萬用板和印刷電路板18
2.1.5焊接工具19
2.1.6焊接方法21
2.2■單片機系統設計流程22
2.2.1需求分析22
2.2.2電路設計23
2.2.3程式設計24
2.2.4系統調試24
2.3■套用體驗——單片機控制下的發光二極體25
2.3.1發光二極體工作原理25
2.3.2單片機的控制26
2.3.3體驗單片機控制發光二極體26
2.4■實例解讀——反應時間測試儀27
2.4.1需求分析27
2.4.2電路設計27
2.4.3程式設計28
第3章單片機系統登場30
3.1■單片機系統組成30
3.1.1單片機本身31
3.1.2系統的構成31
3.2■單片機系統抽絲剝繭32
3.2.1AT89S51單片機的“外衣”33
3.2.2AT89S51單片機的管腳34
3.2.3常見外設36
3.3■元器件插曲之一:變壓器38
3.3.1變壓器基礎知識38
3.3.2電源變壓器39
3.4■元器件插曲之二:二極體與整流40
3.4.1二極體基礎知識40
3.4.2整流40
3.4.3整流全橋42
3.5■元器件插曲之三:電容43
3.5.1電容基礎知識43
3.5.2電容的種類44
3.5.3電源濾波46
3.6■元器件插曲之四:三端穩壓與單片機系統電源47
3.6.1三端穩壓基礎知識47
3.6.2單片機系統電源方案一:自製直流穩壓電源48
3.6.3單片機系統電源方案二:電源適配器48
3.6.4單片機系統電源方案三:USB口供電49
3.7■元器件插曲之五:晶振與振盪器50
3.7.1晶振基礎知識50
3.7.2振盪器51
3.8■詮釋單片機最簡系統52
3.8.1單片機最簡系統52
3.8.2電源端(VCC、GND)52
3.8.3時鐘信號端(XTAL1、XTAL2)53
3.8.4復位端(RST)54
3.8.5外部程式存儲器訪問控制端()55
3.8.6從最簡系統出發56
3.9■元器件插曲之六:電阻56
3.9.1電阻基礎知識56
3.9.2電阻的參數和種類58
3.9.3電阻的分壓、限流、上拉作用59
3.10■從單片機最簡系統開始設計60
3.10.1發光二極體交替發光61
3.10.2程式設計61
3.10.3初見彙編語言63
3.10.4初識指令64
3.10.5立即數65
3.11■套用體驗——發光二極體的交替發光66
3.11.1控制交替發光的原理66
3.11.2體驗交替發光66
3.12■元器件插曲之七:開關66
3.12.1開關基礎知識66
3.12.2常用開關67
3.13■實例解讀——與發光二極體的互動68
3.13.1需求分析68
3.13.2電路設計69
3.13.3程式設計69
3.13.4延時子程式72
第4章單片機系統設計輔助軟體74
4.1■Proteus單片機系統仿真軟體74
4.1.1Proteus軟體界面75
4.1.2用Proteus仿真76
4.2■µVision單片機程式開發82
4.2.1µVision軟體界面83
4.2.2新建和保存項目83
4.2.3向項目中添加檔案84
4.2.4彙編程式,生成執行代碼87
4.2.5生成下載到單片機的執行代碼HEX檔案88
4.3■µVision的調試及仿真功能89
4.3.1調試界面89
4.3.2虛擬邏輯分析儀89
4.4■套用體驗——把程式下載到單片機里92
4.4.1下載器與單片機92
4.4.2體驗下載過程92
4.5■實例解讀——流水燈93
4.5.1需求分析93
4.5.2電路設計94
4.5.3軟體設計94
第2篇揭密
單片機的內部結構是怎樣的?單片機開發經常會用到哪些電子技術和元器件知識?還有那困擾了很多人的單片機程式語言……本篇將生動地通過諸多實例帶出單片機的基礎知識,在遇到相關模電、數電、元器件知識時會有及時的補充說明,帶領讀者一點點揭開單片機的神秘面紗。
第5章單片機的觸角——I/O口101
5.1■何謂I/O口101
5.1.1I/O口的功能101
5.1.2I/O口與單片機的關係102
5.1.3I/O口的操作103
5.2■元器件插曲之八:場效應管104
5.2.1JFET105
5.2.2MOSFET106
5.3■元器件插曲之九:邏輯門106
5.3.1非門106
5.3.2或門107
5.3.3或非門107
5.3.4與門107
5.3.5與非門107
5.3.6異或門108
5.3.7緩衝器108
5.4■元器件插曲之十:鎖存器與觸發器108
5.4.1門控D鎖存器109
5.4.2邊沿D觸發器109
5.5■I/O口結構探密110
5.5.1P1口110
5.5.2P3口110
5.5.3P0口111
5.5.4P2口112
5.5.5I/O口小結112
5.6■套用體驗——控制流水燈112
5.6.1功能與電路113
5.6.2體驗控制流水燈113
5.7■實例解讀——晃晃燈113
5.7.1原理分析114
5.7.2需求分析114
5.7.3電路設計114
5.7.4軟體設計116
第6章七段數碼管顯示118
6.1■二進制與數據118
6.1.1二進制與數字118
6.1.2二進制與語音119
6.1.3二進制與圖像120
6.2■元器件插曲之十一:七段數碼管121
6.2.1七段數碼管原理121
6.2.2七段數碼管顯示數字122
6.3■套用體驗——計時器123
6.3.1功能與電路124
6.3.2體驗計時器124
6.4■元器件插曲之十二:蜂鳴器125
6.4.1蜂鳴器125
6.4.2蜂鳴器如何工作125
6.5■元器件插曲之十三:三極體及三極體開關125
6.5.1三極體基礎126
6.5.2三極體的直流放大特性128
6.5.3三極體的直流增益128
6.5.4三極體的電流關係式129
6.5.5三極體開關129
6.6■實例解讀——帶聲音提示的秒表130
6.6.1需求分析130
6.6.2電路設計130
6.6.3開關抖動的處理130
6.6.4計時中數字的增加133
6.6.5軟體設計134
第7章解剖單片機136
7.1■單片機的功耗136
7.1.1運行功耗137
7.1.2I/O口驅動功耗137
7.1.3空閒模式137
7.1.4待機模式138
7.2■單片機內部結構138
7.2.1從I/O口到內部結構138
7.2.2數據在內部交換139
7.2.3算術邏輯單元(ALU)140
7.2.4在µVision中觀察暫存器141
7.3■單片機的程式存儲器142
7.3.1整體結構143
7.3.2程式下載到哪裡144
7.3.3片內程式存儲器144
7.3.4程式計數器PC145
7.3.5是片內還是片外程式存儲器145
7.3.6在µVision中觀察程式存儲器147
7.4■單片機的數據存儲器149
7.4.1片內數據存儲器149
7.4.2工作暫存器區(00H~1FH)150
7.4.3位定址區(20H~2FH)151
7.4.4開放區(30H~7FH)153
7.4.5在µVision中觀察數據存儲器153
7.5■單片機的特殊功能暫存器155
7.5.1特殊功能暫存器分布圖155
7.5.2特殊功能暫存器的功能156
7.5.3特殊功能暫存器的位元組操作158
7.5.4特殊功能暫存器的位操作158
7.5.5在µVision中觀察特殊功能暫存器159
7.6■套用體驗——用取表方式實現流水燈162
7.6.1取表法162
7.6.2取表法小結164
7.6.3體驗流水燈165
7.7■實例解讀——直接驅動七段數碼管165
7.7.1需求分析165
7.7.2電路設計165
7.7.3軟體設計166
第8章單片機與彙編指令168
8.1■彙編語言真面目168
8.1.1彙編語言與高級語言169
8.1.2從彙編程式到執行代碼169
8.1.3偽指令170
8.2■指令的執行173
8.2.1振盪周期、機器周期、指令周期173
8.2.2指令的執行174
8.3■定址方式175
8.3.1直接定址175
8.3.2間接定址175
8.3.3暫存器定址176
8.3.4暫存器特徵定址177
8.3.5立即定址177
8.3.6變址定址177
8.4■指令分類177
8.4.1指令概述178
8.4.2指令的長度178
8.5■算術運算指令179
8.5.1加法指令——ADDA,<src-byte>179
8.5.2帶進位的加法指令——ADDCA,<src-byte>180
8.5.3帶借位的減法指令——SUBBA,<src-byte>181
8.5.4自增/自減指令——INC<byte>/DEC<byte>181
8.5.5乘法指令——MULAB182
8.5.6除法指令——DIVAB183
8.5.7十進制調整指令——DAA183
8.6■邏輯運算指令184
8.6.1與操作——ANL<dest-byte>,<src-byte>184
8.6.2或操作——ORL<dest-byte>,<src-byte>185
8.6.3異或操作——XRL<dest-byte>,<src-byte>186
8.6.4累加器A清0操作——CLRA186
8.6.5累加器A取反操作——CPLA187
8.6.6累加器A位移動操作——RL、RLC、RR、RRC187
8.6.7累加器A高低位交換操作——SWAPA188
8.7■數據裝載指令189
8.7.1片內數據裝載指令——MOV<dest>,<src>189
8.7.2數據指針DPTR裝載指令——MOVDPTR,#data16190
8.7.3堆疊指令——PUSH、POP191
8.7.4數據交換指令——XCH、XCHD194
8.7.5片外數據裝載指令——MOVX<dest>,<src>195
8.7.6查表指令——MOVC<dest>,<src>197
8.8■布爾指令198
8.8.1清0、置1、取反操作——CLR、SETB、CPL198
8.8.2布爾邏輯運算指令——ANL、ORL199
8.8.3位數據裝載指令——MOV<dest-bit>,<src-bit>200
8.8.4布爾跳轉指令——JC、JNC、JB、JNB、JBC200
8.9■調用子程式指令201
8.9.1長調用指令——LCALL201
8.9.2絕對調用指令——ACALL202
8.9.3返回指令——RET、RETI203
8.10■跳轉與循環指令203
8.10.1無條件跳轉指令——LJMP、AJMP、SJMP、JMP203
8.10.2條件跳轉指令——JZ、JNZ204
8.10.3比較跳轉指令——CJNE<dest-byte>,<src-byte>,rel205
8.10.4循環指令——DJNZ<byte>,<rel-addr>207
8.10.5無操作指令——NOP208
8.11■套用體驗——七段數碼管的串列控制技術208
8.11.1串列與並行傳輸208
8.11.2串列控制七段數碼管209
8.11.3程式設計210
8.12■實例解讀——指令套用(程式)實例211
8.12.1數據求和211
8.12.2減法與二進制的二補數212
8.12.3異或操作指令XRL用於比較暫存器數值213
8.12.4利用布爾指令產生矩形波信號214
8.12.5布爾指令套用於控制215
第3篇解密
之所以單片機能成為控制核心,設計出包羅萬象的套用系統來,是因為開發者利用了單片機提供的種種功能及各種外設。本篇將介紹單片機的各種功能,加上諸如感測器、模數轉換、掃描顯示、串列、中斷的套用思維,結合更多的元器件、電子電路知識,為讀者逐個解開實際的單片機系統的秘密。
第9章感測器及模擬信號的處理219
9.1■元器件插曲之十四:運算放大器219
9.1.1運算放大器基礎220
9.1.2運算放大器的參數221
9.1.3運算放大器的黃金守則222
9.2■基礎運放電路223
9.2.1同相放大器223
9.2.2反相放大器224
9.2.3跟隨器225
9.2.4向運放進行單電源供電226
9.3■比較器226
9.3.1過零比較器227
9.3.2非過零比較器227
9.3.3遲滯比較器(施密特觸發器)228
9.4■具有運算功能的運放電路229
9.4.1加法放大器229
9.4.2單運放差分放大器230
9.4.3儀表放大器232
9.5■濾波器234
9.5.1高通濾波器234
9.5.2低通濾波器235
9.5.3帶通濾波器236
9.5.4帶阻濾波器238
9.6■感測器238
9.6.1壓力感測器239
9.6.2光電感測器242
9.6.3溫度感測器243
9.7■套用體驗——幅頻變換245
9.7.1MPX4115A壓力感測器245
9.7.2幅頻變換器247
9.8■實例解讀——磁場強度的測量248
9.8.1霍爾感測器與磁場的測量248
9.8.2線性霍爾感測器3503248
9.8.3檢測電路250
第10章ADC和DAC251
10.1■模數轉換251
10.1.1從模擬信號到數位訊號251
10.1.2電平指示器中的ADC253
10.2■元器件插曲之十五:ADC0804255
10.2.1管腳名稱及功能255
10.2.2使能控制端255
10.2.3轉換控制端256
10.2.4時鐘信號256
10.2.5模擬輸入電壓範圍256
10.2.6轉換時間256
10.2.7接地257
10.2.8參考電平與解析度257
10.3■ADC與單片機258
10.3.1單片機控制ADC0804258
10.3.2程式設計259
10.4■模擬信號的調理260
10.4.1電平變換電路260
10.4.2峰值檢測器261
10.4.3絕對值電路262
10.4.4微分器和積分器263
10.4.5採樣保持電路264
10.4.6接地問題266
10.5■數模轉換268
10.5.1數模轉換基礎269
10.5.2DAC0808269
10.5.3DAC的程式控制270
10.6■如何選擇ADC271
10.6.1常用ADC簡介271
10.6.2如何確定位數273
10.6.3如何確定轉換速率273
10.6.4如何確定是否需要採樣保持器273
10.6.5如何確定工作電壓和參考電平274
10.7■如何選擇DAC274
10.7.1如何確定解析度274
10.7.2如何確定線性度274
10.7.3如何確定轉換精度274
10.7.4如何理解建立時間275
10.7.5按參數條件選擇275
10.8■套用體驗——DAC正弦波
發生器276
10.8.1正弦信號公式276
10.8.2正弦波發生程式277
10.9■實例解讀——數字溫控系統278
10.9.1系統功能與硬體設計278
10.9.2程式設計278
第11章時間的計算283
11.1■定時與計數283
11.1.1什麼是定時283
11.1.2什麼是計數284
11.1.3單片機的Timer285
11.2■與Timer有關的暫存器285
11.2.1Timer實現的延時285
11.2.2Timer模式控制暫存器TMOD286
11.2.3Timer暫存器288
11.2.4Timer控制暫存器TCON288
11.2.5Timer用做定時/計數器小結288
11.3■Timer的工作模式1289
11.3.1模式1的特點289
11.3.2模式1的設定290
11.3.3模式1的計數初始值291
11.3.4設計模式1的計數初始值292
11.3.5利用Timer進行長時間定時294
11.4■Timer的工作模式0295
11.4.1模式0的特點295
11.4.2設計模式0的計數初始值296
11.5■Timer的工作模式2297
11.5.1模式2的特點297
11.5.2模式2的設定298
11.5.3設計模式2的計數初始值300
11.6■Timer的工作模式3300
11.6.1模式3的特點300
11.6.2模式3的設定301
11.6.3設計模式3的計數初始值303
11.6.4在Vision中觀察Timer303
11.7■計數器305
11.7.1計數器的套用305
11.7.2計數器的設定306
11.7.3在Vision中操作計數器307
11.7.4計數器的計數初始值設定308
11.7.5各種模式下的計數器308
11.7.6計數脈衝的要求311
11.7.7TMOD暫存器的門控位312
11.8■看門狗313
11.8.1什麼是看門狗313
11.8.2單片機的內置看門狗313
11.9■套用體驗——“叮咚”門鈴315
11.9.1功能及電路315
11.9.2“叮咚”聲發生程式315
11.10■實例解讀——頻率計318
11.10.1利用計數器設計頻率計318
11.10.2頻率計的程式318
第12章掃描與顯示322
12.1■掃描多位七段數碼管322
12.1.1動態掃描的原理323
12.1.2動態掃描操作指南325
12.1.3動態掃描方式程式326
12.2■掃描鍵盤327
12.2.1什麼是鍵盤327
12.2.2鍵盤的電路結構328
12.2.3鍵盤按鍵判斷程式329
12.2.4鍵盤編碼器晶片74C922332
12.3■掃描發光二極體點陣334
12.3.1顯示原理334
12.3.2發光二極體點陣器件結構335
12.3.3發光二極體點陣與單片機電路336
12.3.4點陣顯示程式336
12.3.5點陣螢幕的套用338
12.3.6點陣套用中的問題342
12.4■液晶屏344
12.4.1液晶屏的套用344
12.4.2字元液晶屏345
12.4.3字元液晶屏顯示原理346
12.4.4單片機與字元液晶屏的接口347
12.4.5字元液晶屏的控制程式349
12.4.6圖形點陣液晶屏顯示原理352
12.4.7單片機與圖形點陣液晶屏的接口353
12.4.8圖形點陣液晶屏的控制程式355
12.5■套用體驗——電子時鐘369
12.5.1功能及電路369
12.5.2時鐘程式370
12.6■實例解讀——帶漢字字型檔的液晶屏374
12.6.1帶漢字字型檔的液晶屏375
12.6.2帶漢字字型檔的液晶屏管腳376
12.6.3單片機與帶漢字字型檔的液晶屏377
第13章串列溝通379
13.1■串列還是並行379
13.1.1串列與並行的比喻379
13.1.2串列與並行器件380
13.2■單片機串列數據交換381
13.2.1AT89S51的串列口382
13.2.2串列流水燈383
13.2.3串列接收數據385
13.3■與串列通信有關的暫存器387
13.3.1串列口緩衝暫存器SBUF387
13.3.2串列口控制暫存器SCON387
13.4■串列口工作模式389
13.4.1模式0389
13.4.2模式1390
13.4.3模式2392
13.4.4模式3392
13.5■套用體驗——雙機通信393
13.5.1雙機通信的套用393
13.5.2雙機通信的通信鏈路393
13.5.3排隊呼叫系統395
13.6■普通計算機的串列通信口398
13.6.1計算機串列口398
13.6.2本機串口實驗400
13.6.3用VisualBasic設計串口通信程式401
13.7■實例解讀——網路密碼鎖406
13.7.1串列口電平轉換晶片406
13.7.2單片機與計算機串列通信實驗408
13.7.3網路密碼鎖410
第14章中斷的魅力416
14.1■“打擾”單片機416
14.1.1外部中斷一例417
14.1.2中斷服務的指揮——中斷向量表418
14.2■中斷的控制及處理419
14.2.1中斷的回響及處理419
14.2.2中斷使能暫存器IE421
14.3■外部中斷0和外部中斷1422
14.3.1外部中斷信號輸入端和422
14.3.2外部中斷的低電平觸發423
14.3.3外部中斷的下降沿觸發424
14.3.4低電平與下降沿觸發的區分426
14.4■Timer0中斷和Timer1中斷426
14.3.1Timer和Timer中斷427
14.3.2利用Timer中斷作信號發生器427
14.5■串列通信中斷428
14.5.1串列通信中斷套用429
14.5.2傳送中斷和接收中斷的判斷429
14.6■套用體驗——解放了的CPU431
14.6.1輪詢與中斷432
14.6.2中斷優先權433
14.6.3利用Timer中斷實現拉幕式顯示436
14.7■實例解讀——電子琴438
14.7.1音符與頻率438
14.7.2電子琴電路設計439
14.7.3電子琴程式設計440
第4篇遠航
為幫助讀者設計出更為豐富的單片機系統,解決複雜的實際問題,更多的外設(如電機、各類存儲器、繼電器、紅外管等)都在本篇的一個個實例中展示出來。通過本篇,除了學到貼近實際的單片機綜合系統開發本領外,還希望讀者學會站在一個新的高度來思考未來的單片機系統設計,能夠開始在單片機系統設計與開發中獨自遠航。
第15章單片機控制外設的本領447
15.1■元器件插曲之十六:繼電器447
15.1.1繼電器基礎知識448
15.1.2單片機與繼電器448
15.2■元器件插曲之十七:紅外發光二極體449
15.2.1紅外發光二極體基礎知識450
15.2.2紅外發光二極體的套用450
15.2.3紅外計數器451
15.3■元器件插曲之十八:直流電動機453
15.3.1直流電動機基礎知識453
15.3.2直流電動機的通斷控制454
15.4■什麼是PWM(脈寬調製)454
15.4.1平均電壓概念455
15.4.2PWM與平均電壓456
15.4.3產生PWM信號的方法457
15.5■直流電動機的運行控制459
15.5.1PWM信號與直流電動機459
15.5.2直流電動機的轉速、轉向控制460
15.5.3單片機控制直流電動機462
15.5.4直流電動機的全面控制463
15.6■元器件插曲之十九:步進電動機466
15.6.1步進電動機基礎知識466
15.6.2步進電動機的種類467
15.7■步進電動機的運行控制468
15.7.1步進電動機的控制方法468
15.7.2步進電動機與單片機470
15.8■套用體驗——用PWM信號控制直流電動機472
15.8.1L298驅動直流電動機473
15.8.2直流電動機控制程式473
15.9■實例解讀——太陽跟隨系統476
15.9.1為了獲得最大的太陽光477
15.9.2系統電路477
15.9.3程式設計478
第16章數據的保存483
16.1■片內與片外存儲器483
16.1.1為什麼要有片內、片外之分484
16.1.2電子密碼鎖的片外存儲器484
16.1.3判斷片外數據存儲器或片外程式存儲器485
16.1.4存儲器容量的描述486
16.1.5存儲器組織487
16.1.6訪問速度488
16.1.7存儲器的地址488
16.2■存儲器操作及家族成員489
16.2.1讀存儲器與寫存儲器489
16.2.2存儲器兩大家族:RAM和ROM490
16.3■RAMs491
16.3.1RAM家族491
16.3.2SRAM的存儲單元491
16.3.3ASRAM(異步SRAM)492
16.3.4SBSRAM(同步爆發式SRAM)495
16.3.5Cache存儲器(高速緩衝存儲器)496
16.3.6DRAM的存儲單元496
16.4■ROMs499
16.4.1ROM家族499
16.4.2MaskROM499
16.4.3PROM501
16.4.4UVEPROM502
16.4.5EEPROM(E2PROM)503
16.4.6Flash504
16.4.7Flash存儲器與其他存儲器的比較506
16.5■單片機與片外程式存儲器507
16.5.1片外程式存儲器507
16.5.2單片機的端508
16.5.3單片機的P0和P2508
16.5.4單片機的端509
16.5.5單片機的端510
16.6■單片機與片外數據存儲器510
16.6.1片外數據存儲器511
16.6.2EEPROM作片外數據存儲器511
16.6.3SRAM作片外數據存儲器514
16.7■套用體驗——擴展串列片外數據存儲器515
16.7.1串列EEPROM516
16.7.2單片機與串列EEPROM接口516
16.7.3串列EEPROM的啟動、停止操作517
16.7.4串列EEPROM的寫操作518
16.7.5串列EEPROM的讀操作520
16.7.6串列EEPROM的讀/寫程式521
16.8■實例解讀——GPS(全球衛星定位系統)527
16.8.1身邊的GPS設備527
16.8.2GPS模組528
16.8.3NMEA協定529
16.8.4單片機與GPS模組530
附錄A光碟內容介紹532
附錄B51單片機指令集534
附錄C指令的執行代碼表538
附錄DProteus軟體圖示命令545
附錄EAT89S51單片機特殊功能暫存器一覽表546
附錄F51單片機彙編程式保留字555
附錄GASCII碼錶558
附錄H主流電子元器件生產商網址562
附錄I如何使用Windows計算器進行數制轉換564
附錄J鋼琴琴鍵的發音頻率566
附錄K常用低容量存儲器器件表(RAM、ROM)568
附錄LNMEA協定訊息欄位含義570
參考文獻573

相關詞條

熱門詞條

聯絡我們