第1篇 入門篇
第1章 走近單片機
1.1 我們身邊的單片機
1.2 認識單片機
1.3 了解51單片機
1.3.1 51單片機的由來
1.3.2 51單片機的特點
1.3.3 51單片機的代表AT89C51
第2章 練練我們的刀和劍:Proteus、Keil C51
2.1 Proteus介紹
2.1.1 安裝Proteus
2.1.2 運行Proteus
2.1.3 學用Proteus
2.2 Keil C51介紹
2.2.1 安裝Keil C51
2.2.2 運行Keil C51
2.2.3 學用Keil C51
2.3 刀劍合并
2.3.1 安裝VDM51.DLL
2.3.2 設置Keil C51和Proteus
2.3.3 聯(lián)合調試
第3章 讓你的單片機眨眨眼睛
3.1 我們的第一個單片機程序
3.1.1 先畫出我們要用的電路
3.1.2 用程序點亮我們的燈
3.1.3 分析代碼
3.2 不僅僅是讓它亮起來
3.2.1 怎么讓發(fā)亮的燈閃爍呢
3.2.2 代碼分析
3.2.3 調試分析
3.2.4 優(yōu)化程序
3.3 做些程序的改動
3.3.1 改動延時時間
3.3.2 做個眾人皆知的跑馬燈
3.4 能不能連點花樣呢
3.4.1 想想你能畫什么
3.4.2 用代碼顯示數字
第4章 讓數字顯示出來
4.1 引入數碼管的概念
4.1.1 數碼管介紹
4.1.2 寫段程序讓它亮起來
4.1.3 數碼管的驅動方式
4.2 多顯示幾個數字看看
4.2.1 電路實現
4.2.2 程序實現
4.2.3 你的眼睛欺騙了你
4.3 仿真萬年歷
4.3.1 電路實現
4.3.2 程序實現
4.3.3 優(yōu)化程序
第5章 用按鍵告訴單片機你想做什么
5.1 能不能讓閃爍的燈停下來
5.1.1 讓跑馬燈停下來
5.1.2 認識我們用的按鍵
5.2 如何實現軟件消抖
5.3 如何實現按鍵的復用
第6章 如何實時控制單片機
6.1 中斷的引入
6.1.1 中斷允許寄存器IE
6.1.2 定時/計數器控制寄存器TCON
6.1.3 中斷操作流程
6.2 原來按鍵還可以這樣用
6.2.1 寫個程序實現按鍵的中斷
6.2.2 不同的觸發(fā)方式
6.3 中斷的優(yōu)先級
6.3.1 中斷優(yōu)先級
6.3.2 了解更多中斷的概念
6.3.3 比較4個I/O口
第7章 讓定時更精確
7.1 定時/計數器概念
7.1.1 T0、T1介紹
7.1.2 復習寄存器IE、TCON、IP
7.1.3 介紹幾個專用寄存器
7.2 工作方式0的應用
7.3 工作方式1的應用
7.4 工作方式2的應用
7.5 工作方式3的應用
7.6 計數器介紹
第8章 單片機與外界的 聯(lián)系--串口通信
8.1 串口通信的概念
8.2 先試試如何發(fā)送
8.2.1 與串口通信有關的寄存器
8.2.2 先寫個示例程序
8.2.3 補充一點51單片機的串口知識
8.3 收發(fā)都能實現
8.3.1 將Proteus中的串口連接到硬件上
8.3.2 實現串口收發(fā)通信
8.3.3 用中斷的方式實現串口收發(fā)
第9章 讓單片機“響”起來
9.1 單片機還會響呢
9.1.1 了解一下蜂鳴器
9.1.2 寫個程序讓它響起來
9.2 用定時器模擬門鈴
9.3 用蜂鳴器演奏曲子
9.4 重新認識AT89C51
9.4.1 AT89C51的總體認識
9.4.2 AT89C51的引腳
9.4.3 有關AT89C51的寄存器
第2篇 提高篇
第10章 再說數碼管
10.1 使用擴展芯片驅動數碼管
10.1.1 認識擴展芯片74LS138
10.1.2 74LS138的應用
10.1.3 應用74HC154
10.1.4 有關譯碼器
10.2 顯示譯碼器
10.2.1 顯示譯碼器74LS48
10.2.2 顯示譯碼器的應用
第11章 按鍵多了怎么辦
11.1 看一個密碼鍵盤
11.1.1 矩陣鍵盤的實現
11.1.2 矩陣按鍵的掃描
11.2 是否可以擴展呢
11.2.1 了解編碼器
11.2.2 應用編碼器74LS148
第12章 深入串口通信
12.1 通信協(xié)議的引入
12.1.1 協(xié)議制定
12.1.2 樣例實現
12.2 讓單片機和PC真正通信
12.2.1 新建一個VC工程
12.2.2 添加VC控件
12.2.3 添加控件到界面
12.2.4 添加變量、完成代碼編寫
12.2.5 運行、調試
第13章 I2C總線及其應用
13.1 I2C總線介紹
13.1.1 初步了解I2C總線
13.1.2 I2C總線上的信號
13.2 認識E2PROM 24C02
13.2.1 認識AT24C02
13.2.2 AT24C02的操作地址
13.2.3 AT24C02的讀/寫操作
13.3 寫一個I2C通信的例子
第14章 SPI總線及其應用
14.1 SPI總線介紹
14.2 一款SPI接口的E2PROM
14.2.1 認識25AA040
14.2.2 25AA040的工作原理
14.3 應用25AA040
第15章 A/D轉換、D/A轉換
15.1 了解A/D轉換器的相關知識
15.1.1 A/D轉換器的分類
15.1.2 A/D轉換器的主要技術指標
15.2 看兩個A/D轉換器的例子
15.2.1 了解ADC0809
15.2.2 應用ADC0808
15.2.3 了解ADC0832
15.2.4 應用ADC0832
15.3 再看看D/A轉換器
15.3.1 了解D/A轉換器
15.3.2 D/A轉換器的主要技術指標
15.3.3 了解DAC0832
15.3.4 應用DAC0832
第16章 LCD顯示
16.1 先認識LED點陣屏
16.1.1 有關LED點陣屏
16.1.2 LED點陣的應用
16.2 使用字符LCD
16.2.1 了解LCD
16.2.2 認識LCD1602
16.2.3 LCD1602的指令說明
16.2.4 使用LCD1602
16.3 使用LCD12864
16.3.1 認識HDG12864L-6
16.3.2 HDG12864L-6指令說明
16.3.3 LCD12864的并行應用
16.3.4 LCD12864的串行應用
第3篇 應用篇
第17章 簡易萬年歷
17.1 電路設計
17.2 認識時鐘芯片DS1302
17.3 系統(tǒng)設計
第18章 溫度自動控制系統(tǒng)
18.1 系統(tǒng)模型
18.2 分析電路
18.2.1 電路分解
18.2.2 認識DS18B20
18.2.3 了解液晶AMPIRE128×64
18.3 系統(tǒng)設計
18.3.1 嵌入式系統(tǒng)設計
18.3.2 PC端軟件設計
附錄A AT89C51特殊功能寄存器速查表
附錄B Proteus 7.5元件庫分類表
附錄C 書籍、網站推薦
參考文獻
結束語