本書分為9個項目,在對單片機進行初步介紹之后,介紹了C語言的特點和程序設計相關知識,方便讀者從零基礎學習單片機,接著以電子禮盒的設計與制作、醫(yī)院病床呼叫系統(tǒng)的設計與制作、電子廣告牌的設計與制作、交通燈控制系統(tǒng)的設計與制作、遠程控制系統(tǒng)的設計與制作、數字電壓表的設計與制作、單片機應用系統(tǒng)綜合設計這7個項目為背景,分別介紹了:單片機的開發(fā)環(huán)境、硬件系統(tǒng)、I/O口的應用、數碼管點陣液晶顯示、鍵盤、定時/計數器、串行通信技術、A/D與D/A轉換等內容。
項目1認識單片機(1)
1.1認識單片機(1)
1.1.1單片機及單片機應用系統(tǒng)(1)
1.1.2學習單片機的意義(2)
1.1.3C51系列單片機(2)
1.1.4AT89C51單片機的內部資源(3)
1.1.5認識你的第一塊單片機(9)
1.1.6單片機應用系統(tǒng)的開發(fā)流程(9)
1.2開發(fā)軟件的使用(10)
1.2.1Keil C51 μVision5的使用(11)
1.2.2Proteus仿真軟件的使用(18)
1.2.3STCISP下載軟件的使用(21)
1.2.5新建第一個工程文件(23)
1.2.6常見的C51編譯錯誤和警告(24)
1.3硬件電路的連接(25)
1.3.1單片機*小系統(tǒng)——時鐘電路(25)
1.3.2單片機*小系統(tǒng)——復位電路(26)
1.3.3單片機*小系統(tǒng)——電源電路(27)
1.3.4發(fā)光二極管與51單片機的硬件電路連接(28)
1.3.5二極管亮滅系統(tǒng)的設計與制作(29)
1.3.6二進制數、十進制數和十六進制數(30)
項目總結(31)
思考與練習(31)
項目2C51程序設計(33)
2.1C語言的特點(33)
2.2C語言的基本結構(34)
2.3C語言的數據與運算(35)
2.3.1數據類型(35)
2.3.2常量與變量(38)
2.3.3運算符與表達式(39)
2.4C語言的結構及流程圖表示(45)
2.5C語言的基本語句(47)
2.5.1基本表達式語句與復合語句(47)
2.5.2選擇語句(47)
2.5.3循環(huán)語句(49)
2.6C語言的函數(50)
2.6.1函數的分類和定義(50)
2.6.2函數的調用和聲明(52)
2.7數組(53)
2.7.1一維數組(53)
2.7.2二維數組(55)
2.7.3數組的初始化與遍歷實例(56)
2.7.4數組的應用(57)
C51單片機應用技術項目教程(第二版)目錄2.8指針與內存管理(59)
2.8.1指針的概念與用法——一種特殊的變量(59)
2.8.2動態(tài)內存分配(61)
2.8.3內存泄漏和越界問題(62)
2.8.4指針與函數參數(63)
2.9預處理指令(63)
2.10模塊化程序設計(66)
2.10.1模塊化設計(66)
2.10.2代碼分層(67)
2.10.3函數調用(69)
項目總結(71)
思考與練習(72)
項目3電子禮盒的設計與制作(76)
3.1LED閃爍系統(tǒng)設計(77)
3.2獨立按鍵編程原理(79)
3.3鍵控花樣LED燈設計(80)
3.3.1流水燈的設計(80)
3.3.2鍵控LED燈(82)
3.4電子禮盒的設計與制作(85)
3.5Keil C51的仿真調試步驟(90)
項目總結(94)
思考與練習(95)
項目4醫(yī)院病床呼叫系統(tǒng)的設計與制作(96)
4.1聲光報警器的設計(96)
4.1.1蜂鳴器的工作原理(96)
4.1.2聲光報警器的設計與制作(97)
4.2八路搶答器的設計(100)
4.2.1數碼管的結構與工作原理(100)
4.2.2數碼管的靜態(tài)顯示(101)
4.2.3數碼管的動態(tài)顯示(103)
4.2.4八路搶答器的設計(105)
4.2.5繼電器的驅動(109)
4.3醫(yī)院病床呼叫系統(tǒng)的設計與制作(110)
4.3.1單片機與矩陣式鍵盤接口(111)
4.3.2病床呼叫系統(tǒng)的設計(116)
4.3.3一種實用的鍵盤與顯示器接口電路(120)
項目總結(123)
思考與練習(123)
項目5電子廣告牌的設計與制作(126)
5.1LED點陣式廣告牌的設計與制作(126)
5.1.1LED點陣顯示器的結構及原理(126)
5.1.28×8點陣顯示控制(127)
5.1.3大屏點陣顯示器的驅動電路(130)
5.1.4LED點陣式電子廣告牌的設計與制作(132)
5.1.5點陣液晶取模軟件的使用(136)
5.2LCD廣告牌的設計與制作(139)
5.2.1LCD顯示模塊原理(139)
5.2.2字符型液晶顯示(140)
5.2.3字符型液晶廣告牌的設計與制作(144)
5.2.4模塊化編程思路、頭文件的建立(148)
項目總結(150)
思考與練習(150)
項目6交通燈控制系統(tǒng)的設計與制作(151)
6.1帶啟停鍵的簡易秒表設計(151)
6.1.1定時/計數器的結構與原理(151)
6.1.2定時/計數器的工作方式與初始化(153)
6.1.30~9 s簡易秒表設計(155)
6.1.40~59 s簡易秒表設計(156)
6.1.5帶啟停鍵的秒表設計(157)
6.2模擬交通燈控制系統(tǒng)的設計(162)
6.2.1中斷的概念及處理過程(163)
6.2.2單片機的中斷系統(tǒng)(163)
6.2.3中斷的C51編程(167)
6.2.4模擬交通燈控制系統(tǒng)的設計(168)
項目總結(172)
思考與練習(173)
項目7遠程控制系統(tǒng)的設計與制作(175)
7.1PC遠程控制單片機系統(tǒng)設計(175)
7.1.1串行通信的基礎知識(175)
7.1.2單片機的串行通信接口(178)
7.1.3串行通信總線標準及其接口(181)
7.1.4彩燈遠程控制系統(tǒng)的設計(182)
7.1.5SPI總線(185)
7.2按鍵控制雙機通信系統(tǒng)設計(186)
7.2.1查詢方式串行通信程序設計(186)
7.2.2中斷方式串行通信程序設計(189)
7.2.3按鍵控制雙機通信系統(tǒng)設計(190)
7.2.4單片機的多機通信設計(194)
項目總結(194)
思考與練習(195)
項目8數字電壓表的設計與制作(197)
8.1簡易數字電壓表的設計與制作(197)
8.1.1模擬信號與數字信號(197)
8.1.2IAP15W4K58S4內部自帶A/D與D/A轉換器介紹(199)
8.1.3簡易數字電壓表的設計與制作(201)
8.2可調光臺燈的設計與制作(205)
8.2.1I2C總線(205)
8.2.2PCF8591芯片介紹(207)
8.2.3PCF8591的D/A轉換及程序設計(209)
8.2.4PCF8591的A/D轉換及程序設計(211)
8.2.5可調光臺燈的設計與制作(213)
項目總結(218)
思考與練習(219)
項目9單片機應用系統(tǒng)綜合設計(220)
9.1數字式溫度計的設計與制作(220)
9.1.1系統(tǒng)方案論證與選擇(220)
9.1.2系統(tǒng)硬件電路設計(221)
9.1.3系統(tǒng)軟件設計(230)
9.1.4軟硬件聯(lián)調(239)
9.2電子臺歷的設計與制作(241)
9.2.1系統(tǒng)方案論證與選擇(241)
9.2.1.1時鐘芯片DS1302(241)
9.2.1.212864LCD(246)
9.2.2系統(tǒng)硬件電路設計(256)
9.2.3系統(tǒng)軟件設計(257)
9.2.4軟硬件聯(lián)調(268)
9.3巡航小車的設計與制作(270)
9.3.1系統(tǒng)方案論證與選擇(270)
9.3.2系統(tǒng)硬件電路設計(272)
9.3.3系統(tǒng)軟件設計(275)
9.3.4軟硬件聯(lián)調(280)
項目總結(280)
附錄AC語言程序設計方法(281)
附錄B單片機的選型原則與STC單片機(292)
參考文獻(305)