內容簡介
《51單片機C語言創新教程》以宏晶公司的stc89c52rc單片機為藍本,由淺人深,並結合smartm51開發板系統地介紹單片機的原理與結構、開發環境的使用、各種功能器件的套用。
《51單片機c語言創新教程》主要特色是邊學邊做,不是單純的理論講解,各章節中規中矩,遵循由簡到繁、循序漸進的編排方式。本書大部分內容均來自作者的項目經驗,因而許多c語言代碼能夠直接套用到工程項目中去,且代碼風格良好。書中還介紹了usb通信、網路通信、數據校驗、深入編程等,而這些內容在很多同類型書籍中並不具備,恰恰也是即將走出校門的大學生踏入社會工作經常要接觸的。其中配套的光碟含有各實驗的示例代碼,可使讀者在短時間內迅速掌握單片機的套用技巧,並可向讀者提供配套的單片機開發板。
《51單片機c語言創新教程》既可作為大學本、專科單片機課程教材,也可作為相關技術人員的參考與學習用書。
目錄
《51單片機c語言創新教程》
緒 論
第1章 8051簡介
1.1 8051系列單片機的特點
1.2 8051系列單片機內部結構
1.2.1 微處理器
1.2.2 振盪器與cpu時序
1.2.3 存儲器
1.2.4 並行接口
1.3 8051系列單片機內部資源
第2章 stc89c51rc/rd+系列單片機
2.1 主要特性
2.2 型 號
2.3 結構圖
2.4 引 腳
2.5 特殊功能暫存器
第3章 開發環境
3,1 cx51編譯器
3.2 keil簡介
3.2.1 keilc51系統概述
.3.2.2 keil開發系統的整體結構
3.2.3 keilc51存儲區關鍵字
3.3 notepad++簡介
3.4 notepad++配置
3.4.1 設定語法著色
3.4.2 添加關鍵字
3.4.3 設定自動完成
3.5 keil與notepad++聯合編輯
第4章 工程創建與深入
4,1 啟動程式
4.2 創建工程
4.3 編寫程式
4。4 深入keil
4.4.1 剖析頭檔案
4.4.2 剖析最佳化
4.4.3 詳解startup.a51
4.5 程式燒寫
基礎入門篇
第5章 gpio
5.1 gpio簡介
5.2 gpio實驗
5.3 軟體延時
第6章 定時器/計數器與中斷
6.1 定時器/計數器簡介
6.2 定時器/計數器暫存器
6.3 t/c工作方式
6.4 流水燈實驗
6.5 中斷相關
6.5.1 中 斷
6.5.2 中斷暫存器
6.5.3 中斷服務函式
6.5.4 中斷優先權與中斷嵌套研究
第7章 串 口
7.1 串口簡介
7.1.1 串口基本概念
7.1.2 串口通信原理
7.2 串口相關暫存器
7.3 串口工作方式
7.4 串口實驗
7.4.1 串口傳送數據實驗
7.4.2 串口接收數據實驗
7.5 模擬串口實驗
7.6 串口波特率研究
7.7 串口多機通信研究
第8章外部中斷
8.1 外部中斷簡介
8.2 外部中斷實驗
第9章 串列輸入並行輸出
9.174LS164簡介
9.2 74ls164結構
9.3 74ls164函式
第10章 數碼管
10.1 數碼管簡介
10.2 字型碼
10.3 驅動方式
10.4 數碼管實驗
第11章 lcd
11.1 液晶簡介
11.2 lcd1602
11.3 lcd12864
第12章 eeprom
12.1 eeprom簡介
12.2 stc89c52rc內部eeprom
12.2.1 內部eeprom簡介
12.2.2 eeprom暫存器
12.3 eeprom實驗
第13章 看門狗
13.1 看門狗簡介
13.2 看門狗暫存器
13.3 看門狗實驗
第14章 單片機補遺
14.1 功耗控制
14.1.1 pcon電源管理暫存器
14.1.2 中斷喚醒mcu實驗
14.2 emi管理
14.3 軟體復位
14.3.1 isp/iap控制暫存器isp contr
14.3.2 軟體復位實驗
14.3.3 keil仿真模擬軟體復位
14.4 rtx-51實時系統
14.4.1 實時系統與前後台系統
14.4.2 rtx-51實時系統技術參數
14.4.3 深入rtx—51 tiny實時系統
14.4.4 rtx-51 tiny實時系統實驗
14.5 lib的生成與使用
14.5.1 lib檔案的創建
14.5.2 lib檔案的使用
實戰篇
第15章 按鍵計數器
15.1 按鍵計數器簡介
15.2 按鍵檢測
15.2.1 傳統的按鍵檢測
15.2.2 狀態機按鍵檢測
15.3 按鍵計數器實驗
第16章 交通燈
16.1 交通燈簡介
16.2 交通燈實驗
第17章 頻率計
17.1 頻率計簡介
17.2 頻率計實驗
高級通信接口開發篇
第18章 usb通信
18.1 usb簡介
18.2 usb的電氣特性與傳輸方式
18.2.1 電氣特,陛
18.2.2 傳輸方式
18.2.3 匯流排協定
18.3 usb匯流排接口晶片ch372
18.4 ch372內置固件模式
18.4.1 內置固件模式實驗
18.4.2 驅動安裝與識別
18.5 ch372外部固件模式
18.5.1 外部固件
18.5.2 外部固件模式實驗
18.5.3 usb協定
18.5.4 驅動安裝與識別
第19章 網路通信
19.1 網路簡介
19.2 網路晶片enc28j60
19.3 spi通信
19.3.1 spi簡介
19.3.2 spi接口定義
19.4 tcp/ip協定
19.5 網路實驗
19.5.1 ping實驗
19.5.2 tcp實驗
19.5.3 udp實驗
深入篇
第20章 深入接口
20.1 簡 介
20.2 校驗介紹
20.2.1 奇偶校驗
20.2.2 校驗和
20.2.3 循環冗余碼校驗
20.3 數據校驗實戰
20.3.1 數據幀格式定義
20.3.2 數據校驗實驗
第21章 深入編程
21.1 編程規範
21.1.1 排 版
21.1.2 注 釋
21.1.3 標識符
21.1.4 函 數
21.2 代碼架構
21.2.1 功能模組構建
21.2.2 前後台系統構建
21.3 高級套用集錦
21.3.1 宏
21.3.2 函式指針
21.3.3 結構體、共用體
21.3.4程式最佳化
21.3.5 軟體抗干擾
21.3.6 軟體低功耗設計
番外篇
第22章 界面開發
22.1 vc++2008
22.2 hello world小程式
22.3 實現串口通信
22.3.1 創建界面
22.3.2 添加cserial類
22.3.3 編寫程式
22.3.4 運行程式
附錄a keil c與ansi c的差異
附錄b 編譯器限制
附錄c位元組順序
附錄d 提示與注意
附錄e 調試技巧
附錄f指令集
附錄g smartm系列開發板簡介
g.1 開發套件開發板原理圖
g.2 開發套件圖布局
g.3 開發套件配置
參考文獻