《普通高等教育“十二五”機電類規劃教材:單片機技術及C51程序設計》按照培養應用型本科人才的教學要求編寫,語言通俗易懂,內容全面、實用性強。《普通高等教育“十二五”機電類規劃教材:單片機技術及C51程序設計》分為10章,第1章到第4章主要是介紹51單片機的內部結構、指令系統和C51結構。從第5章開始介紹51單片機的應用及接口。
《普通高等教育“十二五”機電類規劃教材:單片機技術及C51程序設計》除了在第1~8章中給出許多的相關實例外,還專門組織了第9章、第10章,給出大量的設計性實例和系統設計實例。這些實例一般采用匯編與C語言編程對照的方式編寫,但在第9章、第10章較復雜的實例中只采用C語言編程。力求通過應用實例,使讀者既可以進行類比編程,又可以開闊思路,提高實際編程效率和工作能力。
第1章 概述
1.1 單片機的基本概念與發展概況
1.1.1 基本概念
1.1.2 發展概況
1.2 單片機的特點及應用
1.2.1 單片機的特點
1.2.2 單片機的應用
1.3 常用單片機系列介紹
1.3.1 常用系列單片機產品及性能簡介
1.3.2 MCS-51系列單片機分類
1.3.3 AT89系列單片機分類
1.3.4 其他公司的51系列單片機
本章小結
習題1
第2章 MCS-51系列單片機的內部結構
2.1 MCS-51系列單片機內部結構和引腳說明
2.1.1 MCS-51系列單片機內部結構框圖
2.1.2 MCS-51系列單片機外部引腳說明
2.2 MCS-51系列單片機存儲器
2.2.1 程序存儲器
2.2.2 數據存儲器
2.3 MCS-51系列單片機并行I/O接口
2.3.1 P0口結構及功能
2.3.2 P1口結構及功能
2.3.3 P2口結構及功能
2.3.4 P3口結構及功能
2.4 MCS-51系列單片機的時鐘電路與時序
2.4.1 時鐘電路
2.4.2 CPU時序
2.4.3 MCS-51系列單片機的復位電路
2.4.4 MCS-51系列單片機的掉電和節電方式
本章小結
習題2
第3章 MCS-51系列單片機指令系統和匯編語言程序設計
3.1 指令系統基本概念
3.1.1 指令基本格式
3.1.2 指令分類
3.1.3 指令描述符號介紹
3.2 MCS-51系列單片機的尋址方式
3.3 MCS-51系列單片機的指令系統
3.3.1 數據傳送類指令
3.3.2 算術運算類指令
3.3.3 邏輯運算及移位指令
3.3.4 位操作類指令
3.3.5 控制轉移類指令
3.4 匯編程序設計示例
3.4.1 匯編程序偽指令
3.4.2 順序程序
3.4.3 分支程序
3.4.4 循環程序
3.4.5 查表程序
3.4.6 散轉程序
3.4.7 子程序
本章小結
習題3
第4章 MCS-51系列單片機C程序設計
4.1 C 語言與MCS-51系列單片機
4.1.1 C語言的特點及程序結構
4.1.2 C語言與MCS-51系列單片機
4.1.3 C51程序結構
4.2 C51的數據類型
4.3 C51的運算量
4.3.1 常量
4.3.2 變量
4.3.3 存儲模式
4.3.4 絕對地址訪問
4.4 C51的運算符及表達式
4.4.1 賦值運算
4.4.2 算術運算符
4.4.3 關系運算符
4.4.4 邏輯運算符
4.4.5 位運算符
4.4.6 復合賦值運算符
4.4.7 逗號運算符
4.4.8 條件運算符
4.4.9 指針與地址運算符
4.5 表達式語句及復合語句
4.5.1 表達式語句
4.5.2 復合語句
4.6 C51的輸入/輸出
4.6.1 格式輸出函數printf()
4.6.2 格式輸入函數scanf()
4.7 C51程序基本結構與相關語句
4.7.1 C51的基本結構
4.7.2 if語句
4.7.3 swich/case語句
4.7.4 while語句
4.7.5 do…while語句
4.7.6 for語句
4.7.7 循環的嵌套
4.7.8 break和continue語句
4.7.9 return語句
4.8 函數
4.8.1 函數的定義
4.8.2 函數的調用與聲明
4.8.3 函數的嵌套與遞歸
4.9 C51構造數據類型
4.9.1 數組
4.9.2 指針
4.9.3 結構
4.9.4 聯合
4.9.5 枚舉
本章小節
習題4
第5章 MCS-51系列單片機的內部硬件資源及應用
5.1 MCS-51系列單片機的并行I/O接口
5.1.1 端口輸入/輸出操作
5.1.2 I/O口的位操作指令
5.1.3 并行口應用舉例
5.2 MCS-51系列單片機中斷系統
5.2.1 中斷的基本概念
5.2.2 MCS-51系列單片機的中斷系統與控制
5.2.3 MCS-51系列單片機中斷系統的應用
5.3 MCS-51系列單片機的定時器/計數器接口
5.3.1 定時器/計數器的結構與工作原理
5.3.2 定時器/計數器的工作方式
5.3.3 定時器/計數器的應用
5.4 MCS-51系列單片機的串行接口及其串行通信
5.4.1 串行通信的基本概念
5.4.2 MCS-51系列單片機的串行口及控制寄存器
5.4.3 MCS-51系列單片機串行通信工作方式
5.4.4 串行口應用舉例
本章小結
習題5
第6章 MCS-51系列單片機系統功能的擴展
6.1 單片機最小應用系統
6.2 存儲器的擴展
6.2.1 程序存儲器的擴展
6.2.2 數據存儲器的擴展
6.2.3 存儲器綜合擴展舉例
6.3 I/O接口擴展
6.3.1 簡單I/O接口擴展
6.3.2 用串行口擴展并行I/O接口
6.3.3 可編程I/O接口擴展
本章小結
習題6
第7章 MCS-51系列單片機顯示與鍵盤接口技術
7.1 MCS-51系列單片機與LED數碼管顯示接口
7.1.1 LED顯示器的結構與原理
7.1.2 LED顯示器顯示方式
7.1.3 LED顯示接口典型應用電路
7.2 MCS-51系列單片機與鍵盤的接口
7.2.1 鍵盤的工作原理與掃描方式
7.2.2 獨立式按鍵及接口
7.2.3 矩陣式鍵盤及接口
7.2.4 鍵盤、顯示器組合接口
本章小結
習題7
第8章 MCS-51系列單片機A/D、D/A轉換接口技術
8.1 MCS-51系列單片機與A/D轉換接口
8.1.1 A/D轉換芯片ADC0809簡介
8.1.2 ADC 0809與MCS-51系列單片機的接口
8.1.3 AD574與51系列單片機的接口
8.2 MCS-51系列單片機與D/A轉換接口
8.2.1 D/A轉換芯片DAC0832簡介
8.2.2 DAC0832與51系列單片機的接口實例
本章小結
習題8
第9章 綜合實例
9.1 流水燈的設計
9.2 簡易報警發生器設計
9.3 外部負脈沖寬度測量電路
9.4 航標燈控制程序設計
9.5 99s跑碼表設計
9.6 獨立式按鍵的應用
9.7 帶數碼顯示的A/D轉換電路
9.8 直流電動機控制
9.9 步進電動機控制設計
習題9
第10章 單片機應用系統設計
10.1 單片機應用系統的基本結構
10.1.1 單片機應用系統的硬件組成
10.1.2 硬件系統設計原則
10.1.3 單片機應用系統的軟件設計
10.2 數字電子鐘/日歷系統設計實例
10.3 單片機遙控系統的應用設計
10.3.1 系統要求與設計方案
10.3.2 系統硬件電路的設計
10.3.3 系統程序設計
10.3.4 調試及性能分析
10.3.5 控制源程序清單
附錄A MCS-51系列單片機指令表
附錄B ASCII碼
參考文獻
5.4.3MCS—51系列單片機串行通信工作方式
MCS—51的串行口有四種工作方式,可通過SCON中的SM1、SM0位來決定,下面分別介紹各種工作方式。
1.串行工作方式0
在方式0下,串行口作為同步移位寄存器使用,其主要特點是,以RXD(P3.0)引腳接收或發送數據,TXD(P3.1)引腳發送同步移位脈沖。數據的接收和發送以8位為一幀,低位在前,高位在后。方式0時,SM2必須為0,這種方式常用于擴展I/O口。
(1)數據發送過程
當數據寫入串行口發送緩沖器后,在移位時鐘TXD控制下,由低位到高位按一定波特率將數據從RXD引腳傳送出去,發送完畢,硬件自動使SCON的TI位置1,再次發送數據之前,必須由軟件清TI為0。此時,若配以串入并出移位寄存器,如CD4094、74LS164等芯片,即可以將RXD引腳送出的串行數據重新轉換為并行數據,實際上也就是把串行口當并行輸出口用了。
(2)數據接收過程
在滿足REN=1和RI=0的條件下,串行口即開始從RXD端以fosc/12的波特率輸入數據(低位在前),當接收完8位數據后,置中斷標志RI為1,請求中斷。在再次接收數據之前,必須由軟件清RI為0。若將并入串出移位寄存器(如CD4014或74LS165等芯片)的輸出連接到單片機的RXD引腳,當串行口工作于方式0接收時,即可以接收到CD4014或74LS165輸入端的并行數據。此時,相當于把串行口當擴展輸入口用了。
2.串行工作方式1
當設置SCON寄存器的SMOSM1位為01時,單片機串行口進入工作方式1。
在方式1下,串行口是10位為一幀的異步串行通信方式,主要包括1位起始位、8位數據位和1位停止位。其主要特點是,以RXD(P3.0)引腳接收數據,TXD(P3.1)引腳發送數據;數據位的接收和發送為低位在前,高位在后。
……