編輯推薦
《新概念51單片機C語言教程:入門、提高、開發、拓展全攻略》可作為大學本、專科單片機課程教材,適閤於51單片機的初學者和使用51單片機從事項目開發的技術人員,也可供從事自動控製、智能儀器儀錶、電力電子、機電一體化等專業的技術人員參考。
內容簡介
《新概念51單片機C語言教程:入門、提高、開發、拓展全攻略》從實際應用入手,以實驗過程和實驗現象為主導,循序漸進地講述51單片機C語言編程方法以及51單片機的硬件結構和功能應用。全書共分5篇,分彆為入門篇、內外部資源操作篇、提高篇、實戰篇和拓展篇。
《新概念51單片機C語言教程:入門、提高、開發、拓展全攻略》內容豐富,實用性強,書中大部分內容均來自科研工作及教學實踐,許多C語言代碼可以直接應用到工程項目中。《新概念51單片機C語言教程》配套光盤提供13講近30學時的教學視頻和《新概念51單片機C語言教程》實例代碼,可使讀者更快更好地掌握單片機知識和應用技能。《新概念51單片機C語言教程》作者還可提供與《新概念51單片機C語言教程:入門、提高、開發、拓展全攻略》配套的單片機實驗闆。
目錄
第1篇 入門篇
1.1 單片機概述
1.1.1 什麼是單片機
1.1.2 單片機標號信息及封裝類型
1.1.3 單片機能做什麼
1.1.4 如何開始學習單片機
1.2 51單片機外部引腳介紹
1.3 電平特性
1.4 二進製與十六進製
1.4.1 二進製
1.4.2 十六進製
1.5 二進製的邏輯運算
1.5.1 與
1.5.2 或
1.5.3 非
1.5.4 同或
1.5.5 異或
1.6 單片機的C51基礎知識介紹
1.6.1 利用C語言開發單片機的優點
1.6.2 C51中的基本數據類型
1.6.3 C51數據類型擴充定義
1.6.4 C51中常用的頭文件
1.6.5 C51中的運算符
1.6.6 C51中的基礎語句
1.6.7 學習單片機應該掌握的主要內容
2.1 Keil工程建立及常用按鈕介紹
2.1.1 Keil工程的建立
2.1.2 常用按鈕介紹
2.2 點亮第一個發光二極管
2.3 while語句
2.4 for語句及簡單延時語句
2.5 Keil仿真及延時語句的精確計算
2.6 不帶參數函數的寫法及調用
2.7 帶參數函數的寫法及調用
2.8 利用C51庫函數實現流水燈
第2篇 內外部資源操作篇
3.1 數碼管顯示原理
3.2 數碼管靜態顯示
3.3 數碼管動態顯示
3.4 中斷概念
3.5 單片機的定時器中斷
4.1 獨立鍵盤檢測
4.2 矩陣鍵盤檢測
5.1 模擬量與數字量概述
5.2 A/D轉換原理及參數指標
5.3 ADC0804工作原理及其實現方法
5.4 D/A轉換原理及其參數指標
5.5 DAC0832工作原理及實現方法
5.6 DAC0832輸齣電流轉換成電壓的方法
第6章 串行口通信原理及操作流程
6.1 並行與串行基本通信方式
6.2 RS-232電平與TTL電平的轉換
6.3 波特率與定時器初值的關係
6.4 51單片機串行口結構描述
6.5 串行口方式1編程與實現
6.6 串行口打印在調試程序中的應用
第7章 通用型1602,12232,12864液晶操作方法
7.1 液晶概述
7.2 常用1602液晶操作實例
7.3 常用12232液晶操作實例
7.4 常用12864液晶操作實例
第8章 I2C總綫AT24C02芯片應用
8.1 I2C總綫概述
8.2 單片機模擬I2C總綫通信
8.3 E2PROMAT24C02與單片機的通信實例
第9章 基礎運放電路專題
9.1 運放概述及參數介紹
9.2 反相放大器
9.3 同相放大器
9.4 電壓跟隨器
9.5 加法器
9.6 差分放大器
9.7 微分器
9.8 積分器
第3篇 提高篇
第10章 定時器/計數器應用提高
10.1 方式0應用
10.2 方式2應用
10.3 方式3應用
10.4 52單片機定時器2介紹
10.5 計數器應用
第11章 串行口應用提高
11.1 方式0應用
11.2 方式2和方式3應用
11.3 單片機雙機通信
11.4 單片機多機通信
第12章 指針
12.1 指針與指針變量
12.1.1 內存單元、地址和指針
12.1.2 指針變量的定義、賦值與引用
12.2 指針變量的運算
12.3 指針與數組
12.3.1 指針與一維數組
12.3.2 指針與多維數組
12.4 指針與函數
12.4.1 指針作為函數的參數
12.4.2 指嚮函數的指針
12.4.3 指針型函數
12.5 指針與字符串
12.5.1 字符串的錶達形式
12.5.2 字符指針作為函數參數
12.5.3 使用字符指針與字符數組的區彆
12.6 指針數組與命令行參數
12.6.1 指針數組的定義和使用
12.6.2 指嚮指針的指針
12.6.3 指針數組作為main()函數的命令行參數
12.7 指針小結
12.7.1 指針概念綜述
12.7.2 指針運算小結
12.7.3 等價錶達式
12.8 C51中指針的使用
12.8.1 指針變量的定義
12.8.2 指針應用
第13章 STC係列51單片機功能介紹
13.1 單片機空閑與掉電模式應用
13.2 “看門狗”概念及其應用
13.3 用軟件實現係統復位
13.4 內部擴展RAM的應用
13.5 擴展P4口的應用
13.6 內部E2PROM的應用
13.7 STC89係列單片機內部A/D應用
13.8 STC12係列單片機內部A/D應用
13.9 STC12係列單片機的PCA/PWM介紹
13.1 0STC12係列單片機的SPI接口介紹
13.1 1STC12係列單片機的“576MHz”超速運行
第4篇 實戰篇
第14章 利用51單片機的定時器設計一個時鍾
14.1 如何從矩陣鍵盤中分解齣獨立按鍵
14.2 原理圖分析
14.3 實例講解
第15章 使用DS12C887時鍾芯片設計高精度時鍾
15.1 時鍾芯片概述
15.2 DS12C887時鍾芯片介紹
15.3 如何用TX-1C實驗闆擴展本實驗
15.4 原理圖分析
15.5 實例講解
第16章 使用DS18B20溫度傳感器設計溫控係統
16.1 溫度傳感器概述
16.2 DS18B20溫度傳感器介紹
16.3 實例講解
第17章 太陽能充/放電控製器
17.1 控製器原理圖分析
17.2 控製器闆上元件介紹
17.3 實例講解
第18章 VC、VB(MSCOMM控件)與單片機通信實現溫度顯示
18.1 VCMSCOMM控件與單片機通信實現溫度顯示
18.2 VBMSCOMM控件與單片機通信實現溫度顯示
第5篇 拓展篇
第19章 使用Protell99繪製電路圖全過程
19.1 繪製電路闆概述
19.2 建立工程
19.3 製作元件庫
19.4 添加封裝及製作PCB封裝庫
19.5 錯誤檢查及生成PCB
19.6 布綫電氣特性設置
19.7 自動布綫和手動布綫
第20章 ISD400x係列語音芯片應用
20.1 ISD400x係列語音芯片介紹
20.2 ISD400x係列語音芯片操作規則
20.3 ISD400x係列語音芯片應用實現
第21章 電機專題
21.1 直流電機原理及應用
21.2 步進電機原理及應用
21.3 舵機原理及其應用
第22章 常用元器件介紹
22.1 二極管
22.2 電容
22.3 場效應管
22.4 光耦
22.5 蜂鳴器
22.6 繼電器
22.7 自恢復保險
22.8 瞬態電壓抑製器
22.9 晶閘管(可控矽)
22.10 電荷泵
第23章 直流穩壓電源專題
23.1 整流電路
23.2 濾波電路
23.3 穩壓電路
23.4 集成穩壓模塊的使用
23.5 串聯開關型穩壓電源
第24章 運放擴展專題
24.1 簡單低通濾波器
24.2 “電流-電壓”轉換電路
24.3 光電放大器
24.4 精密電流源
24.5 可調參考電壓源
24.6 復位穩定放大器
24.7 模擬乘法器
24.8 全波整流器和平均值濾波器
24.9 正弦波振蕩器
24.10 三角波發生器
24.11 自動跟蹤對稱電源
24.12 可調實驗電源
24.13 運放相關術語錶
附錄A 天祥電子開發實驗闆簡介
A.1 TX-1C51單片機開發闆(配套詳細視頻教程)
A.2 AVR單片機開發闆(配套詳細視頻教程)
A.3 PIC單片機開發闆(配套詳細視頻教程)
A.4 J-Link全功能ARM仿真器
A.5 三星S3C44B0ARM7入門級開發闆
A.6 三星S3C44B0ARM7提高級開發闆
A.7 TX-51STAR51單片機開發闆(配套詳細視頻教程)
參考文獻
前言/序言
本書從實際工程應用入手,以實驗過程和實驗現象為主導,由淺入深、循序漸進地講述使用C語言為51單片機編程的方法、51單片機的硬件結構和各種功能應用。
本書不同於傳統的講述單片機的書籍,本書中的所有例程均以實際硬件實驗闆實驗現象為根據,由C語言程序來分析單片機工作原理,使讀者知其然,又能知其所以然,從而幫助讀者從實際應用中徹底理解和掌握單片機。另外,本書中大部分內容均來自作者科研及教學工作實踐,內容涵蓋作者多年來項目經驗總結的精華,並且貫穿一些學習方法的建議。
本書內容豐富,實用性強,許多C語言代碼可以直接應用到工程項目中。本書配套附一張光盤,提供近30小時的單片機教學視頻。同時,作者還開發瞭與本書配套的TX-1C單片機實驗闆,可幫助讀者邊學邊練,達到學以緻用的目的。讀者在學習過程中可以將視頻和書互為參考,配閤學習,並用單片機實驗闆進行實踐,這樣可以更快更好地掌握單片機應用知識和技能。
本書適閤作為大學電子信息類和機電類各專業本、專科單片機課程教材,或高校大學生創新基地培訓教材,也適閤51單片機的初學者和使用51單片機從事項目開發的技術人員,還可供從事自動控製、智能儀器儀錶、電力電子、機電一體化等專業的技術人員參考。
本書內容組織
本書內容共分5篇,分彆為入門篇、內外部資源操作篇、提高篇、實戰篇和拓展篇。
第1,2篇與本書配套光盤內容基本對應,內容組織上循序漸進、由淺入深;在知識介紹上,從原理到實踐,再從實驗現象進一步分析原理,對51單片機的主要功能及硬件結構做瞭詳細介紹。
第3篇在前兩篇的基礎上通過實驗進一步擴展講解瞭51單片機的其他功能應用,而且還特彆將STC單片機與傳統51單片機相比擴展瞭的功能逐一講解。
第4篇是作者教學和實際項目中精選齣的具有代錶性的真實項目,其知識涉及麵廣,內容豐富,是作者開發經驗的精華總結。
第5篇為拓展部分,詳細講解瞭使用Protell軟件繪製原理圖、PCB圖、元件庫和元件封裝的過程;詳細介紹瞭常用的ISD400X係列語音芯片;分彆講解瞭直流電機、步進電機和舵機的原理及驅動方法;介紹瞭設計電路常用的元件;詳細介紹瞭如何設計直流穩壓電源及開關電源;最後介紹運放的應用知識。
本書實例程序
作者在編寫本書時,使用的操作係統是英文版WindowsXPSP2,開發工具是KeilV6.12,抓圖工具是紅蜻蜓抓圖精靈V1.24,單片機下載軟件是STC-ISPV3.9,使用的硬件實驗設備是天祥電子的TX-1C單片機實驗闆,本書中單片機部分的所有實例程序都在該環境中調試通過,並且在TX-1C實驗闆上得以驗證。
本書學習建議
配套光盤提供的視頻與本書前兩篇基本對應,建議讀者在學習本書之前,最好有一塊與本書中相同的實驗闆。學習時先看視頻,對單片機有一個初步的印象,視頻中互動部分讀者可親自做實驗,在學習過程讀者要多動腦,多動手,單片機是實實在在的硬件,隻有在不斷實踐中纔能領悟它的工作原理。讀者在對實驗原理理解的前提下,要嘗試獨立編寫齣書中每章的例子程序,當有睏惑時再查看書中代碼,反思自己的失誤在哪裏,進而積纍更多的經驗。
《單片機嵌入式開發實戰精通》 內容簡介: 本書是一本全麵深入的單片機嵌入式係統開發指南,旨在幫助讀者從零基礎快速入門,逐步掌握高級開發技巧,並最終能夠獨立完成復雜的嵌入式項目。本書內容涵蓋瞭單片機硬件基礎、C語言編程、常用外設接口、實時操作係統原理及應用、嵌入式Linux係統移植與開發,以及實際項目案例分析等多個維度,力求為讀者構建一個紮實的理論基礎和豐富的實踐經驗。 第一部分:單片機硬件基礎與C語言入門 在開始任何嵌入式開發之前,理解單片機的基本工作原理至關重要。本部分將從最基礎的層麵介紹單片機的結構,包括CPU、存儲器(ROM、RAM)、I/O端口、定時器/計數器、中斷係統等核心組成部分。我們將詳細闡述這些硬件單元的功能和相互協作方式,為後續的學習奠定堅實的硬件基礎。 緊接著,我們將聚焦於嵌入式開發中最常用的編程語言——C語言。本書將係統地講解C語言的基礎知識,包括數據類型、運算符、流程控製語句(if-else, switch, for, while)、函數、指針、數組、結構體和共用體等。特彆強調在嵌入式開發中需要注意的C語言特性,例如位操作、內存管理、變量的存儲類彆等。通過大量的實例代碼,幫助讀者理解C語言的語法和邏輯,並能夠將其應用於單片機程序設計。 第二部分:常用單片機開發平颱與外設接口技術 掌握瞭C語言基礎後,我們將深入探討實際的單片機開發平颱。本書將以市麵上主流的單片機係列,如STM32、AVR或PIC等(具體選擇將根據市場和技術趨勢確定),詳細介紹其開發環境的搭建,包括集成開發環境(IDE)的選擇與配置、編譯器、調試器等工具的使用。讀者將學會如何創建、編譯、下載和調試單片機程序。 在此基礎上,我們將係統性地講解各種常用外設接口的驅動和應用。這包括: GPIO(通用輸入輸齣端口):學習如何配置GPIO引腳作為輸入或輸齣,實現LED的閃爍、按鍵的檢測等基本控製。 中斷係統:深入理解中斷的工作原理,包括中斷源、中斷嚮量錶、中斷優先級等。學習如何編寫中斷服務程序(ISR),實現高效、實時的事件響應,如外部中斷、定時器中斷等。 定時器/計數器:詳細介紹不同型號單片機內置的定時器/計數器的工作模式,學習如何利用它們實現定時、計數、PWM(脈衝寬度調製)信號的生成等功能,這對於控製電機、生成模擬信號等至關重要。 串行通信接口(UART):講解UART的工作原理,包括波特率、數據位、停止位、校驗位等參數的設置。學會通過UART與其他設備(如PC、其他單片機)進行異步通信,實現數據的發送和接收。 SPI(串行外設接口):介紹SPI總綫的工作方式,主從模式,以及如何在硬件上實現SPI通信。學習如何驅動SPI接口的各種傳感器和設備,如SD卡、OLED顯示屏等。 I2C(集成電路互聯總綫):講解I2C總綫的協議,包括主設備、從設備、地址尋址、讀寫操作等。學習如何驅動I2C接口的設備,如EEPROM、溫度傳感器、ADC/DAC等。 ADC(模數轉換器):介紹ADC的工作原理,采樣率、分辨率等概念。學習如何讀取模擬量傳感器(如光敏電阻、電位器、溫度傳感器)的數值,並將其轉換為數字量進行處理。 DAC(數模轉換器):介紹DAC的工作原理,學習如何輸齣模擬電壓信號,用於驅動揚聲器、生成波形等。 外部存儲器接口:講解如何通過外部存儲器接口連接RAM或FLASH,擴展單片機的存儲能力,為處理更復雜的數據和程序提供可能。 第三部分:實時操作係統(RTOS)在嵌入式係統中的應用 對於中大型嵌入式項目,裸機編程往往難以滿足需求。實時操作係統(RTOS)能夠有效地管理任務、資源和中斷,提高係統的可維護性和可擴展性。本部分將深入介紹RTOS的核心概念,包括任務(Thread)、任務調度、信號量、互斥量、消息隊列、事件標誌等。 我們將選擇一款或多款業界廣泛應用的RTOS(如FreeRTOS, RT-Thread等)進行詳細講解。讀者將學習如何為RTOS創建和管理任務,如何利用RTOS提供的同步與通信機製來協調不同任務的執行,以及如何處理實時性要求較高的場景。通過在實際單片機上移植和運行RTOS,讀者將深刻理解RTOS在嵌入式係統開發中的重要作用。 第四部分:嵌入式Linux係統開發入門與實踐 隨著嵌入式設備性能的提升,越來越多的項目開始采用嵌入式Linux作為操作係統。本部分將引導讀者進入嵌入式Linux的世界。我們將從Linux操作係統的基本原理入手,講解Linux的用戶空間與內核空間、進程管理、內存管理、文件係統等概念。 隨後,我們將重點介紹嵌入式Linux係統的交叉編譯環境搭建,學習如何使用交叉編譯器編譯Linux內核和應用程序。本書將深入講解嵌入式Linux的移植過程,包括Bootloader(如U-Boot)的燒寫、Linux內核的配置與編譯、根文件係統的構建(如BusyBox, Buildroot)。 掌握瞭係統移植後,我們將引導讀者進行嵌入式Linux應用程序的開發。這包括使用C/C++語言編寫用戶空間應用程序,理解Linux的係統調用,以及如何利用Linux提供的豐富的庫和API進行開發。我們還將介紹設備驅動程序的開發基礎,講解如何為嵌入式設備編寫Linux設備驅動,實現硬件的訪問和控製。 第五部分:嵌入式項目案例分析與開發實踐 理論知識的掌握最終需要通過實踐來鞏固。本部分將提供一係列精心設計的嵌入式項目案例,涵蓋從入門到進階的各種應用場景。這些案例將綜閤運用前幾部分所學的知識,例如: 智能傢居控製係統:利用單片機或嵌入式Linux平颱,結閤傳感器和執行器,實現對燈光、傢電的遠程控製。 數據采集與傳輸係統:設計一個能夠采集多路傳感器數據的設備,並通過網絡(如Wi-Fi、以太網)將數據傳輸到雲端或本地服務器。 嵌入式GUI應用開發:針對帶有顯示屏的嵌入式設備,學習使用GUI庫(如LVGL, Qt for Embedded)開發用戶界麵,實現觸摸操作和豐富的視覺效果。 物聯網(IoT)設備開發:結閤MQTT、HTTP等協議,開發能夠連接到物聯網平颱的設備,實現數據的上傳和遠程指令的接收。 嵌入式係統安全:介紹嵌入式係統可能麵臨的安全威脅,以及一些基本的安全防護措施。 每個案例都將包含詳細的硬件選型、電路設計、軟件架構、代碼實現、調試過程和性能優化等內容。通過跟隨案例的實踐,讀者將能夠全麵瞭解一個嵌入式項目的完整開發流程,並學會如何將所學知識融會貫通,解決實際開發中的問題。 附錄與參考資源 本書還將提供豐富的附錄,包括常用電子元器件的選型指南、數據手冊的閱讀方法、常用的開發工具和軟件列錶,以及進一步深入學習的參考書目和在綫資源。 本書特色: 循序漸進,體係全麵:從基礎硬件和編程,到高級RTOS和嵌入式Linux,內容層層遞進,覆蓋麵廣。 理論與實踐結閤:每章都配有豐富的實例代碼和詳細的講解,幫助讀者理解抽象概念。 緊跟技術前沿:關注最新的單片機技術、RTOS和嵌入式Linux發展趨勢,為讀者提供前瞻性的指導。 實戰導嚮:通過大量的項目案例,引導讀者將所學知識應用於實際開發,培養解決復雜問題的能力。 語言通俗易懂:采用清晰、簡潔的語言,避免晦澀的技術術語,讓初學者也易於理解。 本書的目標是成為每一位緻力於嵌入式開發領域的工程師、學生或愛好者的得力助手,幫助他們在這充滿挑戰和機遇的領域中,不斷成長,實現技術夢想。