近年來,隨著計算機技術日新月異,微控制器的檔次不斷提高,應用領域不斷擴大,特別是在工業(yè)測量與控制、智能儀器儀表、日用家電等領域技術,應用更為普遍。為了盡快推廣微控制器應用技術,使技術人員在微控制器軟、硬件的應用與開發(fā)方面打下堅實的基礎,編者編寫本書,旨在向讀者介紹有代表性的主流機型MCS51系列單片機。它作為微控制器大家庭中的一員,所擁有的用戶zui多、應用zui廣、功能zui完善。本書詳細地介紹了MCS51系列單片機的硬件結構、工作原理、指令系統(tǒng)、接口電路、中斷系統(tǒng)、定時/計數(shù)器、串口通信及單片機各功能部件的組成和應用,各章提供了大量的應用實例,以方便讀者進一步熟悉和掌握單片機應用與開發(fā)的基本方法和技巧。
第1章緒論(1)
1.1電子計算機概述(1)
1.1.1電子計算機的結構(1)
1.1.2微型計算機的組成(2)
1.1.3微控制器及其結構(2)
1.2微控制器的發(fā)展過程及趨勢(3)
1.2.1微控制器的發(fā)展過程(3)
1.2.2微控制器的發(fā)展趨勢(4)
1.351系列微控制器(4)
1.3.1MCS51微控制器按容量配置分類(4)
1.3.2MCS51微控制器按芯片的制造工藝分類(5)
1.3.3與MCS51微控制器兼容的微控制器(5)
1.4微控制器的特點及應用(6)
1.4.1微控制器的特點(6)
1.4.2微控制器的應用(6)
1.5數(shù)制與編碼(7)
1.5.1數(shù)制的常用類型(7)
1.5.2數(shù)制的轉(zhuǎn)換(8)
1.5.3編碼(9)
1.6微控制器應用系統(tǒng)開發(fā)簡述(12)
1.6.1微控制器應用系統(tǒng)開發(fā)介紹(12)
1.6.2Vision集成開發(fā)環(huán)境簡介(12)
第2章80C51的基本結構和工作原理
(14)
2.180C51的基本結構(14)
2.1.180C51的結構簡圖(14)
2.1.280C51的外部引腳(15)
2.280C51的CPU(16)
2.2.1運算器(17)
2.2.2控制器(18)
2.2.3其他寄存器(19)
2.380C51的存儲器(20)
2.3.180C51的ROM(20)
2.3.280C51的RAM(21)
2.3.380C51的特殊功能寄存器(SFR)(22)
2.480C51的并行I/O端口(24)
2.4.1P1口(24)
2.4.2P2口(25)
2.4.3P3口(26)
2.4.4P0口(27)
2.5時鐘電路和復位電路(28)
2.5.1時鐘電路(28)
2.5.2復位電路和復位狀態(tài)(28)
第3章MCS51微控制器的指令系統(tǒng)(31)
3.1指令系統(tǒng)概述(31)
3.1.1指令的書寫格式(31)
3.1.2指令符號(32)
3.1.3指令的字節(jié)數(shù)(33)
3.251單片機的尋址方式(34)
3.2.1寄存器尋址方式(34)
3.2.2直接尋址方式(35)
3.2.3立即尋址方式(35)
3.2.4寄存器間接尋址方式(36)
3.2.5基址加變址尋址方式(37)
3.2.6相對尋址方式(37)
3.2.7位尋址方式(38)
3.3數(shù)據(jù)傳送類指令(38)
3.3.1以累加器A為一方的傳送指令(38)
3.3.2不以累加器A為一方的傳送指令(39)
3.3.3用立即數(shù)置數(shù)的指令(39)
3.3.4訪問片外RAM的傳送指令(39)
3.3.5基址寄存器加變址寄存器間址指令(40)
3.3.6交換指令(40)
3.3.7進棧出棧指令(41)
3.4算術運算類指令(42)
3.4.1加法指令(42)
3.4.2減法指令(43)
3.4.3加1指令(43)
3.4.4減1指令(43)
3.4.5其他算術運算類指令(44)
3.5邏輯運算類指令(45)
3.5.1與指令(45)
3.5.2或指令(46)
3.5.3異或指令(46)
3.5.4A操作指令(46)
3.6控制轉(zhuǎn)移類指令(48)
3.6.1無條件轉(zhuǎn)移指令(48)
3.6.2條件轉(zhuǎn)移指令(50)
3.6.3子程序調(diào)用指令(53)
3.6.4返回指令(54)
3.6.5空操作指令(54)
3.7位操作類指令(55)
3.7.1位傳送指令(55)
3.7.2位邏輯操作指令(56)
3.7.3位條件轉(zhuǎn)移指令(56)
第4章MCS51微控制器的匯編語言程序設計(61)
4.1概述(61)
4.1.1程序設計語言(61)
4.1.2匯編語言的格式(62)
4.1.3偽指令(63)
4.2匯編語言程序設計步驟(65)
4.3基本程序結構(66)
4.3.1順序程序(66)
4.3.2查表程序(67)
4.3.3分支程序(68)
4.3.4循環(huán)程序(73)
4.3.5子程序(74)
4.3.6其他程序(76)
第5章MCS51微控制器的中斷系統(tǒng)及定時/計數(shù)器(80)
5.151單片機的中斷系統(tǒng)(80)
5.1.1中斷系統(tǒng)的結構(80)
5.1.251單片機的中斷源(81)
5.1.351單片機中斷的控制(83)
5.251單片機的中斷處理過程(84)
5.2.1中斷響應的條件和時間(84)
5.2.2中斷響應過程(86)
5.2.3中斷返回(86)
5.2.4中斷程序舉例(87)
5.351單片機的定時/計數(shù)器(89)
5.3.1定時/計數(shù)器的結構和工作原理(89)
5.3.2定時/計數(shù)器的控制(90)
5.451單片機定時/計數(shù)器的工作方式(91)
5.4.1工作方式0(92)
5.4.2工作方式1(92)
5.4.3工作方式2(93)
5.4.4工作方式3(94)
5.4.5定時/計數(shù)器用于外部中斷的擴展(94)
5.4.6定時/計數(shù)器應用舉例(95)
第6章80C51微控制器的串行通信(101)
6.1串行通信的基本概念(101)
6.1.1數(shù)據(jù)通信(101)
6.1.2串行通信的傳輸方式(102)
6.1.3同步通信和異步通信(102)
6.1.4波特率(103)
6.1.5三種標準串行通信接口(104)
6.2串行口結構及其寄存器(106)
6.3串行口工作方式(109)
6.3.1方式0(109)
6.3.2方式1(110)
6.3.3方式2和方式3(113)
6.4串行口4種工作方式波特率設置(115)
6.5串行口的編程和應用(116)
6.5.1串行口方式0的應用(117)
6.5.2串行口方式1的應用(118)
6.5.3串行口方式2和方式3的應用(120)
6.6串行口多機通信原理(121)
第7章80C51微控制器的系統(tǒng)擴展(125)
7.1系統(tǒng)擴展原理(125)
7.2擴展存儲器編址(128)
7.2.1線選法(128)
7.2.2全地址譯碼法(131)
7.2.3部分地址譯碼法(135)
7.3程序存儲器擴展(136)
7.3.1程序存儲器介紹(136)
7.3.2程序存儲器擴展中常使用的地址鎖存器(138)
7.3.3單片程序存儲器擴展(139)
7.3.4單片機訪問片外程序存儲器的時序(140)
7.4數(shù)據(jù)存儲器擴展(141)
7.4.1數(shù)據(jù)存儲器介紹(141)
7.4.2單片數(shù)據(jù)存儲器擴展(142)
7.4.3單片機訪問片外數(shù)據(jù)存儲器的時序(143)
7.5并行I/O口擴展(145)
7.5.1I/O口擴展概述(145)
7.5.28255A的結構及功能(145)
7.5.38255A的控制字(147)
7.5.48255A的工作方式選擇(148)
7.5.58255A與單片機的連接及其初始化編程(150)
7.6存儲器綜合擴展(151)
第8章80C51微控制器的模擬量接口(158)
8.1D/A轉(zhuǎn)換器及其與微控制器的接口(158)
8.1.1DAC0832芯片的主要特性與結構(158)
8.1.2DAC0832與微控制器的接口(160)
8.2A/D轉(zhuǎn)換器及其與微控制器的接口(162)
8.2.1ADC0809芯片及其與微控制器的接口(162)
8.2.2AD574A芯片及其與微控制器的接口(165)
8.2.3串行A/D轉(zhuǎn)換器TLC0831及其與微控制器的接口(169)
第9章80C51微控制器的人機接口(173)
9.180C51與LED的顯示電路設計(173)
9.1.1LED數(shù)碼管的顯示和接口(173)
9.1.2LED大屏幕點陣顯示器和接口(178)
9.280C51與鍵盤的接口電路設計(180)
9.2.1按鍵介紹(180)
9.2.2獨立式按鍵及其接口(181)
9.2.3矩陣式按鍵及其接口(183)
9.380C51與蜂鳴器的接口電路設計(185)
9.480C51與液晶顯示器的接口(186)
9.4.1LCD的分類(186)
9.4.21602點陣字符型液晶顯示器(186)
第10章80C51微控制器的C51語言程序設計(196)
10.1C51概述(196)
10.1.1單片機支持的高級語言(196)
10.1.2C51語言編程(197)
10.1.3C51語言程序的結構(198)
10.2C51語言的關鍵字與數(shù)據(jù)類型(199)
10.2.1C51語言的標識符和關鍵字(199)
10.2.2C51語言的數(shù)據(jù)類型(201)
10.3C51語言的存儲種類、存儲器類型和存儲器模式(203)
10.3.1變量的存儲種類(204)
10.3.2數(shù)據(jù)的存儲器類型(205)
10.3.3數(shù)據(jù)的存儲器模式(206)
10.4C51語言的表達式和程序結構(208)
10.4.1C51語言的運算符和表達式(208)
10.4.2C51語言程序的結構(209)
10.4.3C51語言的數(shù)據(jù)輸入/輸出(210)
10.5C51語言的函數(shù)(211)
10.5.1C51語言函數(shù)概述(211)
10.5.2C51語言的中斷服務函數(shù)(213)
10.5.3C51語言的庫函數(shù)(214)
10.6C51語言的指針與絕對地址訪問(217)
10.6.1指針與指針變量(217)
10.6.2指針變量的類型(217)
10.6.3指針的其他問題(219)
10.6.4C51語言的絕對地址訪問(221)
10.751單片機的混合編程(223)
10.7.1C51語言與匯編語言混合編程概述(223)
10.7.2在C51代碼中嵌入?yún)R編代碼(223)
10.7.3C語言程序調(diào)用匯編語言程序(225)
10.7.4匯編語言程序和C語言程序相互調(diào)用變量(229)
10.8集成開發(fā)環(huán)境Keil Vision5(229)
10.8.1Keil Vision5簡介(229)
10.8.2軟件的啟動和運行(230)
10.8.3軟件的使用方法(231)
第11章微控制器的應用系統(tǒng)設計方法(239)
11.1單片機應用系統(tǒng)設計的步驟(239)
11.1.1總體設計(239)
11.1.2硬件設計(239)
11.1.3軟件設計(240)
11.1.4軟硬件聯(lián)合調(diào)試(240)
11.2單片機應用系統(tǒng)的可靠性(240)
11.2.1可靠性的概念(241)
11.2.2提高單片機應用系統(tǒng)可靠性的方法(241)
11.3單片機應用系統(tǒng)應用與開發(fā)實例(242)
11.3.1系統(tǒng)功能要求(242)
11.3.2系統(tǒng)硬件設計(242)
11.3.3軟件設計(246)
11.3.4報警子程序(248)
11.3.5打印機啟動和定時時鐘的產(chǎn)生(249)
附錄(250)
附錄AMCS51系列單片機指令系統(tǒng)表(250)
附錄BASCII表(255)
附錄C常用集成電路引腳圖(256)
參考文獻(261)