前言
第 1 章 單片機入門1
1.1 單片機簡介 1
1.1.1 什么是單片機1
1.1.2 單片機應用系統(tǒng)的組成及實例說明2
1.1.3 單片機的分類3
1.1.4 單片機的應用領域4
1.2 單片機應用系統(tǒng)開發(fā)實例 5
1.2.1 選擇單片機的型號5
1.2.2 設計單片機電路原理圖5
1.2.3 制作單片機電路6
1.2.4 用編程軟件編寫單片機控制程序8
1.2.5 計算機、下載(燒錄)器和單片機的連接11
1.2.6 用燒錄軟件將程序寫入單片機13
1.2.7 單片機電路的通電與測試 16
第 2 章 基本數(shù)字電路、數(shù)制與 C51 語言基礎19
2.1 基本數(shù)字電路 19
2.1.1 與門19
2.1.2 或門20
2.1.3 非門22
2.1.4 與非門23
2.1.5 或非門24
2.2 數(shù)制與數(shù)制的轉換 26
2.2.1 十進制數(shù)26
2.2.2 二進制數(shù)26
2.2.3 十六進制數(shù)27
2.2.4 二進制數(shù)與十進制數(shù)的轉換28
2.2.5 二進制數(shù)與十六進制數(shù)的轉換28
2.2.6 單片機的數(shù)的表示及運算29
2.3 C51 語言基礎 31
2.3.1 常量31
2.3.2 變量32
2.3.3 運算符33
2.3.4 關鍵字36
2.3.5 數(shù)組36
2.3.6 循環(huán)語句38
2.3.7 選擇語句40
第 3 章 51 單片機的硬件系統(tǒng)42
3.1 8051 單片機的引腳功能與內部結構 42
3.1.1 引腳功能說明42
3.1.2 單片機與片外存儲器的連接與控制44
3.1.3 內部結構說明46
3.2 8051 單片機 I/O 端口的結構與工作原理 49
3.2.1 P0 端口49
3.2.2 P1 端口50
3.2.3 P2 端口51
3.2.4 P3 端口52
3.3 8051 單片機的存儲器 53
3.3.1 存儲器的存儲單位與編址53
3.3.2 片內、外程序存儲器的使用與編址54
3.3.3 片內、外數(shù)據(jù)存儲器的使用與編址54
3.3.4 數(shù)據(jù)存儲器的分區(qū)55
3.3.5 特殊功能寄存器(SFR)58
第 4 章 Keil C51 編程軟件的使用63
4.1 Keil C51 軟件的安裝 63
4.1.1 Keil C51 軟件的版本及獲取63
4.1.2 Keil C51 軟件的安裝63
4.2 程序的編寫與編譯 66
4.2.1 啟動 Keil C51 軟件并新建工程文件66
4.2.2 新建源程序文件并與工程關聯(lián)起來69
4.2.3 編寫程序71
4.2.4 編譯程序72
4.3 程序的仿真與調試 76
4.3.1 編寫或打開程序76
4.3.2 仿真設置77
4.3.3 編譯程序78
4.3.4 仿真調試程序79
第5章 單片機驅動 LED 的電路及編程實例 83
5.1 LED 簡介 83
5.1.1 外形與符號83
5.1.2 性質83
5.1.3 檢測84
5.1.4 限流電阻的阻值計算 84
5.2 單片機點亮單個 LED 的電路及程序說明 85
5.2.1 單片機點亮單個 LED 的電路85
5.2.2 采用位操作方式編程點亮單個 LED 的程序及說明85
5.2.3 采用字節(jié)操作方式編程點亮單個 LED 的程序及說明87
5.2.4 單個 LED 以固定頻率閃爍發(fā)光的程序及說明88
5.2.5 單個 LED 以不同頻率閃爍發(fā)光的程序及說明89
5.3 單片機點亮多個 LED 的電路及程序說明 89
5.3.1 單片機點亮多個 LED 的電路89
5.3.2 采用位操作方式編程點亮多個 LED 的程序及說明90
5.3.3 采用字節(jié)操作方式編程點亮多個 LED 的程序及說明91
5.3.4 多個 LED 以不同頻率閃爍發(fā)光的程序及說明91
5.3.5 多個 LED 左移和右移的程序及說明92
5.3.6 LED 循環(huán)左移和右移的程序及說明93
5.3.7 LED 移動并閃爍發(fā)光的程序及說明95
5.3.8 用查表方式控制 LED 多樣形式發(fā)光的程序及說明96
5.3.9 LED 花樣發(fā)光的程序及說明96
5.4 采用 PWM 方式調節(jié) LED 亮度的原理及程序說明 97
5.4.1 采用 PWM 方式調節(jié) LED 亮度的原理97
5.4.2 采用 PWM 方式調節(jié) LED 亮度的程序及說明98
第6章 單片機驅動 LED 數(shù)碼管的電路及編程實例 100
6.1 單片機驅動一位 LED 數(shù)碼管的電路及程序說明 100
6.1.1 一位 LED 數(shù)碼管的外形、結構與檢測 100
6.1.2 單片機連接一位 LED 數(shù)碼管的電路102
6.1.3 單個數(shù)碼管靜態(tài)顯示一個字符的程序及說明103
6.1.4 單個數(shù)碼管動態(tài)顯示多個字符的程序及說明103
6.1.5 單個數(shù)碼管環(huán)形轉圈顯示的程序及說明104
6.1.6 單個數(shù)碼管顯示邏輯電平的程序及說明104
6.2 單片機驅動 8 位 LED 數(shù)碼管的電路及程序說明 105
6.2.1 多位 LED 數(shù)碼管外形、結構與檢測105
6.2.2 單片機連接 8 位共陰極數(shù)碼管的電路107
6.2.3 8 位數(shù)碼管顯示 1 個字符的程序及說明110
6.2.4 8 位數(shù)碼管逐位顯示 8 個字符的程序及說明110
6.2.5 8 位數(shù)碼管同時顯示 8 個字符的程序及說明111
6.2.6 8 位數(shù)碼管動態(tài)顯示 8 個以上字符的程序及說明112
第 7 章 中斷功能的使用及編程實例114
7.1 中斷的基本概念與處理過程 114
7.1.1 什么是中斷114
7.1.2 中斷的基本概念114
7.1.3 中斷的處理過程114
7.2 8051 單片機的中斷系統(tǒng)結構與控制寄存器 115
7.2.1 中斷系統(tǒng)的結構115
7.2.2 中斷源寄存器116
7.2.3 中斷允許寄存器 IE118
7.2.4 中斷優(yōu)先級控制寄存器 IP118
7.3 中斷編程實例 119
7.3.1 中斷編程的電路例圖 119
7.3.2 用外部中斷 0 以低電平方式觸發(fā)中斷的程序及說明119
7.3.3 用外部中斷 1 以下降沿方式觸發(fā)中斷的程序及說明121
第8章 定時器 / 計數(shù)器的使用及編程實例123
8.1 定時器 / 計數(shù)器的定時與計數(shù)功能
8.1.1 定