本書主要介紹瞭51單片機係統中常用模塊的具體運用,這些模塊包括:內部模塊、常用算法和函數模塊、擴展外圍模塊、I/O引腳模塊、用戶輸入通道模塊、LED顯示模塊、液晶顯示模塊、 語音和打印輸入模塊、驅動和執行機構、A/D模塊、D/A模塊、時鍾傳感器模塊、溫度傳感器模塊、常用其他傳感器模塊、有綫通信模塊、無綫通信模塊、小容量存儲模塊,以及51單片機的大容量存儲模塊。
本書適閤具有初步單片機基礎的單片機工程師使用,也可供高等院校電子類專業的學生和單片機愛好者參考閱讀。
第1章 51單片機的內部模塊 1
1.1 51單片機及其應用係統概述 1
1.1.1 51單片機應用係統的構成和設計流程 2
1.1.2 “最小”51單片機應用係統 4
1.2 51單片機內部模塊的基礎應用 5
1.2.1 內部模塊基礎 5
1.2.2 並行I/O模塊 6
1.2.3 定時計數器模塊 7
1.2.4 中斷係統和外部中斷模塊 13
1.2.5 串行通信模塊 18
1.3 51單片機內部模塊的高級應用 24
1.3.1 使用定時計數器擴展外部中斷 24
1.3.2 使用I/O端口模擬串行通信端口 25
1.3.3 串行通信模塊的波特率自適應 29
1.3.4 使用軟件擴展多級中斷應用 32
1.3.5 定時計數器的可控PWM輸齣 36
第2章 51單片機的常用算法和函數模塊 39
2.1 51單片機的庫函數基礎 39
2.1.1 函數庫和頭文件分類 39
2.1.2 自定義庫 40
2.1.3 庫函數的使用 41
2.2 51單片機常用函數模塊 41
2.2.1 內部函數_crol_() 41
2.2.2 內部函數_nop_() 42
2.2.3 輸入/輸齣函數putchar() 44
2.2.4 輸入/輸齣函數printf() 45
2.2.5 隨機數生成函數rand()和srand() 48
2.3 51單片機的常用算法模塊 52
2.3.1 統計字節中1的個數 52
2.3.2 軟件延時/定時 53
2.3.3 排序算法 53
第3章 擴展51單片機外圍模塊的方法 55
3.1 地址—數據總綫擴展 55
3.2 串行通信模塊擴展 58
3.3 I2C總綫擴展 58
3.3.1 I2C總綫基礎 58
3.3.2 I2C總綫接口擴展的驅動庫函數 61
3.4 SPI總綫擴展 67
3.4.1 SPI總綫基礎 67
3.4.2 SPI總綫接口擴展的驅動庫函數 69
3.5 1-wire總綫擴展 70
3.5.1 1-wire總綫擴展原理 70
3.5.2 1-wire總綫擴展的驅動庫函數 72
第4章 51單片機的I/O引腳模塊 75
4.1 譯碼器模塊 75
4.1.1 譯碼器模塊的應用場閤 75
4.1.2 譯碼器模塊的應用基礎 76
4.1.3 譯碼器模塊的應用實例——簡易流水燈 78
4.2 鎖存器模塊 79
4.2.1 鎖存器模塊的應用場閤 80
4.2.2 鎖存器模塊的應用基礎 80
4.2.3 鎖存器模塊的應用實例——秒錶 82
4.3 三態門模塊 84
4.3.1 三態門模塊的應用場閤 84
4.3.2 三態門模塊的應用基礎 84
4.3.3 三態門模塊的應用實例——地址輸入 86
4.4 串行輸入並行輸齣模塊 88
4.4.1 串行輸入並行輸齣模塊的應用場閤 88
4.4.2 串行輸入並行輸齣模塊的應用基礎 88
4.4.3 串行輸入並行輸齣模塊的應用實例——秒計時 90
4.5 並行輸入串行輸齣模塊 93
4.5.1 並行輸入串行輸齣模塊的應用場閤 93
4.5.2 並行輸入串行輸齣模塊的應用基礎 93
4.5.3 並行輸入串行輸齣模塊的應用實例——讀取撥碼開關狀態 95
4.6 可編程I/O擴展芯片Intel8255 96
4.6.1 可編程I/O擴展芯片Intel8255的應用場閤 96
4.6.2 可編程I/O擴展芯片Intel8255的應用基礎 97
4.6.3 可編程I/O擴展芯片Intel8255的應用實例——擴展輸入/輸齣 100
4.7 I/O引腳模塊的應用實例——電子抽奬係統 102
4.7.1 電子抽奬係統的需求分析 103
4.7.2 電子抽奬係統的電路設計 103
4.7.3 電子抽奬係統的應用代碼 105
第5章 51單片機的用戶輸入通道模塊 111
第6章 51單片機的LED顯示模塊 151
第7章 51單片機的液晶顯示模塊 201
第8章 51單片機的語音和打印輸齣模塊 259
第9章 51單片機的驅動和執行機構 297
第10章 51單片機的A/D模塊 339
第11章 51單片機的D/A模塊 407
第12章 51單片機的時鍾傳感器模塊 451
第13章 51單片機的溫度傳感器模塊 485
第14章 51單片機的常用其他傳感器模塊 515
第15章 51單片機的有綫通信模塊 567
第16章 51單片機的無綫通信模塊 613
第17章 51單片機的小容量存儲模塊 637
第18章 51單片機的大容量存儲模塊 711
51單片機具有體積小、功能強、價格低的特點,在工業控製、數據采集、智能儀錶、機電一體化、傢用電器等領域有著廣泛的應用,其應用可以大大提高生産、生活的自動化水平。51單片機的應用係統是一個用於實現某種目的、以51單片機為核心的軟件和硬件綜閤體;在應用係統中,除瞭51單片機之外通常還會涉及一些其他的模塊和器件,本書介紹瞭這些包括51單片機內部模塊在內的常用模塊和器件的典型應用方法。
本書內容簡介
全書分為18章,以下是各章內容的概述。
第1章 51單片機的內部模塊
本章介紹瞭51單片機應用係統的構成和設計流程,並且介紹瞭51單片機的並行I/O、定時計數器、串行通信模塊等內部模塊的基礎和高級使用方法。
第2章 51單片機的常用算法和函數模塊
在51單片機的應用係統中,有很多功能模塊是會被反復使用的,如果每個應用係統都單獨為這些功能模塊編寫相應的代碼,一方麵會大大增加開發的工作量,另一方麵從某種意義上來說也降低瞭係統的可靠性,此時如果將這些功能模塊做成庫函數,則可以高效便捷地完成相應的設計。本章介紹瞭C51語言提供的函數和一些常用的用戶自定義函數。
第3章 擴展51單片機外圍模塊的方法
本章介紹瞭在51單片機應用係統中擴展外圍模塊的方法,包括使用地址—數據總綫擴展、使用串行通信模塊擴展、使用I2C總綫擴展、使用SPI總綫擴展和使用1-wire總綫擴展。
第4章 51單片機的I/O引腳模塊
在實際使用係統中可能齣現51單片機的I/O引腳不夠的情況,本章介紹瞭如何使用譯碼器、鎖存器、三態門等擴展51單片機的I/O引腳的方法。在本章的最後提供瞭一個電子抽奬係統的應用實例。
第5章 51單片機的用戶輸入通道模塊
在51單片機應用係統中,常常需要用戶通過輸入對係統進行控製或者給係統提供一些參數,此時需要使用一些器件使得用戶完成相應的操作,這些器件被稱為51單片機的用戶輸入通道,包括按鍵、撥碼開關、鍵盤等。本章詳細介紹如何在51單片機的應用係統使用用戶輸入通道。在本章的最後提供瞭一個帶計時功能計算器的應用實例。
第6章 51單片機的LED顯示模塊
LED顯示模塊是51單片機應用係統中最常用的兩種顯示模塊之一,包括發光二極管、單位數碼管、多位數碼管等。本章詳細介紹瞭它們的使用方法。在本章的最後提供瞭一個簡易頻率計的應用實例。
第7章 51單片機的液晶顯示模塊
液晶顯示模塊是51單片機應用係統中最常用的兩種顯示模塊之一,本章介紹瞭數字字符液晶1602、漢字圖形液晶12864、點陣液晶顯示模塊等的使用方法。在本章的最後提供瞭一個俄羅斯方塊遊戲的應用實例。
第8章 51單片機的語音和打印輸齣模塊
51單片機應用係統除瞭使用顯示模塊來和用戶進行數據交互之外,還可以使用語音和文字信息來提供應用係統需要輸齣的信息。本章詳細介紹瞭包括蜂鳴器、錄放音芯片ISD2560、文本語音芯片SYN6188等的使用方法。在本章的最後提供瞭一個簡易電子琴的應用實例。
第9章 51單片機的驅動和執行機構
在51單片機的應用係統中,常常需要驅動物體進行物理位移或者驅動物體進行開啓和閉閤操作,完成這些動作的模塊被稱為51單片機的驅動和執行結構。本章介紹瞭包括三極管、達林頓管、光電隔離器、繼電器等的使用方法。在本章的最後提供瞭一個天車控製係統的應用實例。
第10章 51單片機的A/D模塊
在51單片機的應用係統中,某些信號是以模擬電壓的形式給齣的,此時需要使用外擴的A/D(模擬/數字變換)模塊將這些連續的模擬電壓信號轉換為數字信號纔能被51單片機所識彆。本章介紹瞭A/D模塊的工作原理和常見的A/D模塊的使用方法,包括MAX197、TLC2543、ADS1100等。在本章的最後提供瞭一個太陽能電池監控係統的應用實例。
第11章 51單片機的D/A模塊
在51單片機的應用係統中,常常需要通過單片機控製一些模擬量如模擬電壓、模擬電流驅動一些外部設備,此時需要將51單片機內部的數字信息轉化為模擬信號,需要使用被稱為D/A芯片或者DAC(Digital Analog Converter)的數字—模擬轉換模塊。本章介紹瞭D/A模塊的工作原理和常見的D/A模塊的使用方法,包括DAC0832、TLC5615等,還介紹瞭信號發生器模塊MAX038的使用方法。在本章的最後提供瞭一個簡易波形發生器的應用實例。
第12章 51單片機的時鍾傳感器模塊
時鍾傳感器是指能給51單片機的應用係統提供當前時間和日期信息的模塊,其具有不占用單片機內部資源(需要占用引腳)、軟件相對簡單、時間精度較高和掉電不會丟失數據的優點。本章介紹瞭包括DS12C887、PCF8563等在內的時鍾傳感器的使用方法。在本章的最後提供瞭一個簡易數字時鍾的應用實例。
第13章 51單片機的溫度傳感器模塊
在51單片機的應用係統中,可能需要測量當前係統所處環境的溫度,此時可以擴展相應溫度傳感器來獲取相應的信息,這些溫度傳感器通常可以自主地將溫度數據轉換為對應的數字量,然後通過相應的數據接口發送給51單片機。本章將介紹在51單片機應用係統中獲取溫度的方法以及包括DS18B20、TC77等在內的溫度傳感器的使用方法。在本章的最後提供瞭一個多點溫度采集係統的應用實例。
第14章 51單片機的常用其他傳感器模塊
除瞭溫度和時間之外,51單片機的應用係統中常常還會涉及其他一些物理量的測量,包括溫度、壓力、當前位置等;在實際應用中同樣可以使用對應的傳感器來對這些物理量進行測量。本章介紹51單片機的這些傳感器的使用方法,包括濕度傳感器SHT75、壓力傳感器MPX4115、數字羅盤傳感器HMR3000等。在本章的最後提供瞭一個手持傾角儀的應用實例。
第15章 51單片機的有綫通信模塊
51單片機應用係統常常需要和其他係統進行數據交換,如PC、ARM嵌入式應用係統等,此時需要一個數據通道來提供對應的數據流操作,這個數據通道可以按照物理載體的不同分為有綫和無綫兩種。常見的有綫數據通道芯片包括RS-232總綫芯片、RS-485總綫芯片、CAN總綫芯片、USB橋接口芯片等,通過對這些芯片的使用可以組成一個有51單片機應用係統參與的有綫網絡。在本章的最後提供瞭一個遠程倉庫濕度監測係統的應用實例。
第16章 51單片機的無綫通信模塊
當51單片機的應用係統不方便使用電纜等有綫物理通道和其他係統進行數據交換時,可以使用無綫電波進行通信,這種通道被稱為無綫數據通道。常見的無綫數據通道模塊包括紅外收發芯片和基於433MHz無綫數據通信模塊PTR8000,通過對這些芯片和模塊的使用可以組成一個有51單片機應用係統參與的無綫網絡。
第17章 51單片機的小容量存儲模塊
本章介紹瞭在51單片機應用係統中常用的小容量存儲模塊的使用方法,包括單口和雙口RAM、E2PROM、加密IC卡和非接觸射頻卡等。
第18章 51單片機的大容量存儲模塊
本章介紹瞭在51單片機應用係統中常用的大容量存儲模塊的使用方法,包括Nand Flash芯片K9F5608、U盤擴展芯片CH376、SD卡。
本書特點
本書涵蓋瞭51單片機從內部資源到用戶輸入通道、A/D信號采集、溫度/濕度傳感芯片、有綫/無綫通信模塊、數字羅盤和GPS模塊等常用的外圍器件/模塊,對於相應的器件或者模塊的介紹,都按照原理講解、應用電路分析、操作步驟分析和應用實例循序漸進的方式,並且在最後點評瞭其使用要點。
本書提供瞭大量的實際應用電路和代碼,並且給齣瞭相當多器件/模塊的51單片機驅動庫函數,讀者可以修改這些電路和代碼或者直接應用於自己的實際工程項目中。
感謝
本書由程國鋼、文坤、王祥仲、尹輝主持編寫,此外,許小榮、陳作聰、張澤、劉榮、張璐、王統、王東、周艷麗、劉波、蘇靜、賈東永、王鬆年、祁招娣、王龍、陳可湯、蔡娜等也參與瞭本書的編寫和修改,在此,嚮他們緻以誠摯的謝意!
作者受學識水平所限,而且本書程序和圖錶較多,加上時間倉促,書中疏漏甚至謬誤之處難免,希望讀者批評、指正。
編 者
2015年12月
這本書我真的太需要瞭!作為一名剛剛接觸單片機不久的學生,我總是被各種模塊搞得頭暈眼花。網上零散的資料多如牛毛,但往往不成體係,而且很多都隻講瞭理論,缺乏實際操作的指導。當我拿到這本《51單片機常用模塊設計查詢手冊(第2版)》時,感覺像是找到瞭救星。它不像那些晦澀難懂的專業書籍,而是用一種非常接地氣的方式,把復雜的模塊拆解開來,一步一步地教你如何理解和應用。書中涵蓋的模塊非常全麵,從最基礎的LED、按鍵,到稍微復雜一點的ADC、DAC、定時器,再到一些進階的通信模塊,比如串口、SPI、I2C,甚至還有一些傳感器接口的講解。每一章都配有清晰的電路圖和詳細的代碼示例,這對我這種動手能力比理論基礎強的學習者來說,簡直是福音。我尤其喜歡的是,它不僅僅提供瞭代碼,還對代碼的每一部分都進行瞭詳細的注釋和解釋,讓你知道每一行代碼的作用是什麼,為什麼要這麼寫。這種“授人以漁”的方式,讓我能夠舉一反三,而不是僅僅停留在復製粘貼的層麵。我最近在嘗試做一個溫濕度傳感器的數據采集係統,書裏正好有關於DHT11和DS18B20的詳細講解,我跟著書裏的步驟,很快就完成瞭硬件連接和程序編寫,並且成功顯示瞭讀數。這種成就感是無與倫比的。總而言之,如果你也在為51單片機的各種模塊而苦惱,這本書絕對是你的不二之選。它就像一位經驗豐富的老朋友,耐心地引導你一步一步地走進單片機的世界,讓你不再害怕那些復雜的硬件和代碼。
评分我是一名在嵌入式領域摸爬滾打多年的工程師,手上接觸過各種單片機平颱,但51係列由於其經典地位和廣泛的應用,至今仍然是許多項目的首選。在長期的實踐中,我發現雖然有很多優秀的單片機開發書籍,但專門針對“模塊化設計”進行係統性梳理和查詢的資料卻相對稀缺。很多時候,遇到一個具體的功能需求,我需要翻閱大量的資料,從不同的技術文檔、論壇帖子中零散地搜集信息,拼湊齣一個可行的解決方案,這不僅耗時耗力,而且容易遺漏關鍵細節。而這本《51單片機常用模塊設計查詢手冊(第2版)》的齣現,正好填補瞭這一空白。它以“查詢手冊”的定位,提供瞭一種高效的信息檢索和參考模式。書中將51單片機常用的各個模塊(例如,數碼管顯示、矩陣鍵盤、LCD1602、RTC時鍾、ADC/DAC轉換、UART通信、SPI/I2C接口等)進行瞭邏輯清晰的劃分,每一類模塊都提供瞭一個相對完整的“設計方案”,包括瞭硬件接口的說明、關鍵寄存器的配置、典型的工作流程以及配套的代碼示例。最讓我贊賞的是,書中不僅僅提供瞭“怎麼做”,更深入地解析瞭“為什麼這麼做”,對於一些核心的原理和需要注意的細節,都有深入的闡述。例如,在講解PWM輸齣時,它不僅給齣瞭代碼,還詳細解釋瞭定時器的工作模式、計數方式以及如何通過調整重載值和比較值來控製占空比,這對於理解和優化設計至關重要。這種深入的分析,能夠幫助工程師快速理解模塊的本質,從而在實際項目中做齣更優化的設計選擇。這本書更像是一本“活字典”,在項目開發過程中,當我遇到一個特定的模塊需求時,可以快速翻閱到相應的章節,獲取到最直接、最有效的指導,大大提高瞭開發效率和項目的成功率。
评分作為一名已經從事多年嵌入式開發工作的老兵,我見證瞭單片機技術的飛速發展,從8位到32位,從簡單控製到復雜係統。然而,在我看來,51單片機作為一種基礎的微控製器,其核心的原理和設計思想至今仍然具有極高的學習價值和實際應用意義。在日常工作中,我們常常需要處理各種外設接口和功能模塊的集成,而《51單片機常用模塊設計查詢手冊(第2版)》這本書,則提供瞭一個非常高效的參考平颱。它係統地梳理瞭51單片機在實際應用中最常見的各種模塊,如各類顯示模塊(LED、LCD)、輸入模塊(按鍵)、定時器/計數器應用、中斷係統、ADC/DAC轉換、串行通信(UART、SPI、I2C)等,並為每個模塊提供瞭精煉的設計思路和實現方案。這本書最大的亮點在於其“查詢手冊”的定位,這意味著它更側重於解決實際工程中的具體問題,而非進行大篇幅的理論推導。在遇到某個功能需求時,開發者可以快速定位到對應的模塊章節,獲取到詳細的硬件連接示意圖、關鍵寄存器配置說明,以及一段經過驗證、可直接移植或藉鑒的代碼示例。尤其值得稱贊的是,書中對於一些關鍵的設計細節和潛在的陷阱進行瞭深入的剖析,例如在多任務環境下處理中斷的策略,或者在高速通信中如何避免信號乾擾等,這些都是在實際項目開發中能夠大大提升效率和減少調試時間的寶貴經驗。對於初學者而言,它是一本能夠快速入門、上手實踐的“工具書”;對於有經驗的工程師而言,它則是一本能夠隨時查閱、解決疑難問題的“知識庫”。這本書以其高度的實用性和針對性,在我的案頭占據瞭一席之地。
评分在我看來,要真正掌握一門技術,光有理論是不夠的,更重要的是要有實踐的支撐,而實踐的起點往往是掌握各種“工具”和“模塊”的使用。尤其是在51單片機這樣一種廣泛應用於嵌入式係統初學和入門的平颱上,如何快速有效地利用各種外圍模塊來構建功能,是決定學習效率和項目成功率的關鍵。《51單片機常用模塊設計查詢手冊(第2版)》這本書,恰恰滿足瞭這一需求。它並沒有像傳統的教材那樣,從抽象的指令集和架構開始,而是直接切入51單片機中最常用、最實用的模塊,例如如何控製LED燈的亮滅,如何讀取按鍵的按下狀態,如何驅動數碼管顯示數字,如何使用ADC進行模數轉換等等。這本書的優點在於,它不僅僅是羅列代碼,而是將每一個模塊的“設計”過程進行瞭係統的梳理。它會先解釋這個模塊的基本原理,然後給齣相應的硬件連接方式,接著提供一套完整的、可以運行的代碼,並且對代碼中的關鍵部分進行詳細的解釋,讓你明白“為什麼”要這麼寫。這種“由錶及裏”的講解方式,非常有助於理解和掌握。我特彆喜歡書中關於通信模塊(如UART、SPI、I2C)的講解。這些模塊在實際項目中非常常見,但配置起來往往比較復雜。書中通過清晰的圖示和代碼示例,將這些復雜的通信協議變得直觀易懂,讓我能夠比較容易地將它們應用到自己的項目中。我最近就在嘗試用51單片機連接一個LCD12864顯示屏,書裏正好有詳細的關於LCD12864的驅動章節,跟著書中的指導,我很快就成功地在屏幕上顯示瞭自己想要的文字和圖形,這種成就感是學習過程中非常寶貴的動力。總而言之,這本書就像是51單片機的“瑞士軍刀”,提供瞭一個豐富的功能集,讓你能夠快速地應對各種設計挑戰。
评分說實話,我之前對51單片機一直持有一種“敬而遠之”的態度。總覺得它雖然經典,但畢竟是“老技術”瞭,而且網上的教程更是五花八門,質量參差不齊,很容易讓人産生畏難情緒。但是,我身邊的一些朋友都在玩這個,而且一些小的物聯網項目確實也離不開它,所以我也就硬著頭皮開始嘗試。結果,我意外地發現《51單片機常用模塊設計查詢手冊(第2版)》這本書,簡直是為我這種“小白”量身定做的。它沒有一開始就拋齣很多晦澀的概念,而是從最基礎的、最直觀的模塊入手,比如怎麼讓LED燈閃爍,怎麼讓按鍵産生響應,這些都是最能激發學習興趣的部分。而且,書中對每一個模塊的講解都非常細緻,就像是一位耐心的老師手把手地教你。比如,要點亮一個LED,它會告訴你需要連接什麼電阻,需要給哪個IO口發送什麼樣的電平信號,然後給齣對應的C語言代碼,並且把代碼的每一行都解釋得明明白白,讓你知道為什麼這麼做。我特彆喜歡它對於一些常用模塊的“查詢”功能。當我遇到一個問題,比如“我想用51單片機讀取一個溫度傳感器的數據”,我就可以直接翻到相關的章節,書裏會告訴我需要用到哪個傳感器,需要什麼樣的接口電路,以及相應的通信協議和程序代碼。它不是那種讓你死記硬背的書,而是通過大量的實例,讓你在實踐中去理解和掌握知識。我最近跟著書裏的例子,成功地實現瞭用IO口控製一個舵機,這讓我非常有成就感。以前覺得單片機編程很難,現在感覺也沒有那麼可怕瞭。這本書就像是一張通往單片機世界的“地圖”,它指明瞭方嚮,並且提供瞭詳細的“路綫圖”,讓我能夠更輕鬆、更自信地去探索。
评分超级厚的一本书很全包装的很好
评分好好好好好好
评分快递真给力
评分快递真给力
评分人不一样看法就不一样,,,,不错不错真不错,为了京豆,
评分不错 好评
评分书很好!
评分非常好
评分不错的书!!!!!!!!!!!!!!!
本站所有內容均為互聯網搜索引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度,google,bing,sogou 等
© 2025 tushu.tinynews.org All Rights Reserved. 求知書站 版权所有