書(shū)????名 | 51單片機(jī)原理與應(yīng)用案例教程(C51編程) | 作????者 | 王強(qiáng)、修建新、馬玉志、趙龍、張東岳 |
---|---|---|---|
ISBN | 9787302435105 | 定????價(jià) | 49元 |
出版時(shí)間 | 2016年8月1日 |
第1章案例目標(biāo)1單片機(jī)的認(rèn)知
1.1單片機(jī)概述
1.1.1單片機(jī)組成及其特點(diǎn)
1.1.2單片機(jī)分類(lèi)
1.1.3幾種教學(xué)中常見(jiàn)單片機(jī)的區(qū)別
1.2單片機(jī)的應(yīng)用
1.3單片機(jī)的歷史與發(fā)展
1.4常見(jiàn)單片機(jī)
1.5STC系列單片機(jī)
習(xí)題與思考題
第2章51單片機(jī)結(jié)構(gòu)體系
2.1案例目標(biāo)2單片機(jī)的內(nèi)核
2.1.151單片機(jī)的引腳功能
2.1.251單片機(jī)的硬件結(jié)構(gòu)
2.1.351單片機(jī)的存儲(chǔ)器
2.1.451單片機(jī)的時(shí)鐘與復(fù)位
2.2案例目標(biāo)3單片機(jī)最小系統(tǒng)的硬件設(shè)計(jì)
2.2.1單片機(jī)最小系統(tǒng)原理圖
2.2.2單片機(jī)最小系統(tǒng)原理圖講解
2.2.3單片機(jī)最小系統(tǒng)元器件清單
2.2.4單片機(jī)最小系統(tǒng)實(shí)物圖
2.2.5單片機(jī)最小系統(tǒng)注意事項(xiàng)
2.2.6單片機(jī)最小系統(tǒng)電子元器件
2.2.7電子元器件的焊接
習(xí)題與思考題
第3章51單片機(jī)C51程序設(shè)計(jì)
3.1案例目標(biāo)4Keil μVision4軟件的運(yùn)用
3.1.1Keil μVision4軟件簡(jiǎn)介
3.1.2Keil μVision4軟件安裝
3.1.3Keil μVision4案例目標(biāo)的實(shí)現(xiàn)
3.2案例目標(biāo)5STCISP V6.83程序下載軟件的使用
3.2.1軟件安裝及主要功能介紹
3.2.2STC下載軟件案例目標(biāo)的實(shí)現(xiàn)
3.2案例目標(biāo)6Proteus仿真軟件的運(yùn)用
3.3.1軟件功能簡(jiǎn)介與安裝
3.3.2Proteus仿真軟件案例目標(biāo)的實(shí)現(xiàn)
3.4案例目標(biāo)7單片機(jī)中常用C語(yǔ)言知識(shí)
3.4.1C51程序設(shè)計(jì)基礎(chǔ)
3.4.2C51語(yǔ)言的函數(shù)
習(xí)題與思考題
第4章案例目標(biāo)851單片機(jī)并行I/O端口的靈活運(yùn)用
4.1并行I/O口的結(jié)構(gòu)及工作原理
4.1.1P0口(32腳~39腳)結(jié)構(gòu)及工作原理
4.1.2P1口(1腳~8腳)結(jié)構(gòu)及工作原理
4.1.3P2口(21腳~28腳)結(jié)構(gòu)及工作原理
4.1.4P3口(10腳~17腳)結(jié)構(gòu)及工作原理
4.2并行I/O口C51編程
4.2.1流水燈案例目標(biāo)的實(shí)現(xiàn)
4.2.2蜂鳴器案例目標(biāo)的實(shí)現(xiàn)
4.2.3繼電器案例目標(biāo)的實(shí)現(xiàn)
習(xí)題與思考題
第5章數(shù)碼管顯示與鍵盤(pán)檢測(cè)
5.1案例目標(biāo)9數(shù)碼管顯示的具體實(shí)現(xiàn)
5.1.1數(shù)碼管顯示原理
5.1.2數(shù)碼管靜態(tài)顯示應(yīng)用舉例
5.1.3數(shù)碼管動(dòng)態(tài)顯示應(yīng)用舉例
5.1.4數(shù)碼管案例目標(biāo)的實(shí)現(xiàn)
5.2案例目標(biāo)10利用數(shù)碼管顯示按鍵值
5.2.1獨(dú)立鍵盤(pán)檢測(cè)應(yīng)用舉例
5.2.2矩陣鍵盤(pán)檢測(cè)應(yīng)用舉例
5.2.3鍵盤(pán)檢測(cè)案例目標(biāo)的實(shí)現(xiàn)
習(xí)題與思考題
第6章案例目標(biāo)11帶有緊急情況處理的交通燈控制系統(tǒng)設(shè)計(jì)
6.1中斷系統(tǒng)概述
6.1.1基本概念
6.1.251系列單片機(jī)中斷源
6.1.351系列單片機(jī)中斷請(qǐng)求標(biāo)志寄存器
6.1.4中斷允許與中斷優(yōu)先級(jí)的控制
6.2外部中斷案例目標(biāo)的實(shí)現(xiàn)
6.3外部中斷及應(yīng)用舉例
習(xí)題與思考題
第7章案例目標(biāo)12基于數(shù)碼管的電子時(shí)鐘顯示
7.1定時(shí)器簡(jiǎn)介
7.1.1定時(shí)器的結(jié)構(gòu)
7.1.2定時(shí)器/計(jì)數(shù)器控制寄存器
7.251單片的機(jī)定時(shí)器/計(jì)數(shù)器T0和T1的控制
7.2.1定時(shí)器/計(jì)數(shù)器對(duì)輸入信號(hào)的要求
7.2.2方式0
7.2.3方式1
7.2.4方式2
7.2.5方式3
7.3STC89C52的定時(shí)器/計(jì)數(shù)器應(yīng)用舉例
7.3.1應(yīng)用步驟和初值設(shè)定方法
7.3.2應(yīng)用實(shí)例的描述
7.4定時(shí)器/計(jì)數(shù)器案例目標(biāo)的實(shí)現(xiàn)
習(xí)題與思考題
第8章案例目標(biāo)13單片機(jī)的雙機(jī)通信
8.1串行通信基礎(chǔ)
8.1.1串行通信線路形式
8.1.2異步通信和同步通信
8.2串行口結(jié)構(gòu)描述
8.2.1串行接口的結(jié)構(gòu)
8.2.2串行接口的控制寄存器
8.3波特率的設(shè)定與定時(shí)器的關(guān)系
8.4串行口的工作方式與典型應(yīng)用舉例
8.5串行口案例目標(biāo)的實(shí)現(xiàn)
習(xí)題與思考題
第9章51單片機(jī)擴(kuò)展與接口技術(shù)
9.1案例目標(biāo)14可調(diào)數(shù)字時(shí)鐘顯示
9.1.1LCD1602液晶應(yīng)用舉例
9.1.2LCD1602液晶應(yīng)用實(shí)例
9.1.3LCD12864液晶應(yīng)用舉例
9.1.4LCD12864液晶顯示舉例
9.1.5LCD液晶案例目標(biāo)的實(shí)現(xiàn)
9.2案例目標(biāo)15基于光敏電阻的LCD電壓采集顯示系統(tǒng)
9.2.1ADC0804轉(zhuǎn)換器應(yīng)用舉例
9.2.2DAC0832轉(zhuǎn)換器應(yīng)用舉例
9.2.3A/D案例目標(biāo)的實(shí)現(xiàn)
9.3案例目標(biāo)16基于DS18B20芯片的數(shù)字溫度計(jì)設(shè)計(jì)
9.3.1串行單總線擴(kuò)展技術(shù)
9.3.2串行總線技術(shù)案例目標(biāo)的實(shí)現(xiàn)
9.4案例目標(biāo)17基于I2C總線的AT24C02芯片讀/寫(xiě)操作
9.4.1I2C串行總線技術(shù)
9.4.2I2C串行總線案例目標(biāo)的實(shí)現(xiàn)
9.5案例目標(biāo)18基于TLC549 A/D的光敏電阻密碼鎖設(shè)計(jì)
9.5.1SPI串行總線技術(shù)
9.5.2SPI串行總線案例目標(biāo)的實(shí)現(xiàn)
9.6案例目標(biāo)19直流電動(dòng)機(jī)調(diào)速控制系統(tǒng)的設(shè)計(jì)
9.7案例目標(biāo)20步進(jìn)電動(dòng)機(jī)正反轉(zhuǎn)角度控制的設(shè)計(jì)
9.8案例目標(biāo)21舵機(jī)方向角度控制的設(shè)計(jì)
習(xí)題與思考題
第10章案例目標(biāo)22利用STC15F2K60S2單片機(jī)點(diǎn)亮小燈并實(shí)現(xiàn)
在線調(diào)試功能
10.1STC15F2K60S2單片機(jī)特點(diǎn)
10.2STC15F2K60S2單片機(jī)最小系統(tǒng)設(shè)計(jì)與應(yīng)用舉例
10.3STC15F2K60S2單片機(jī)案例目標(biāo)的實(shí)現(xiàn)
第11章8個(gè)步驟精通綜合應(yīng)用實(shí)例設(shè)計(jì)
11.1基于CH452控制芯片的鍵盤(pán)及數(shù)碼管驅(qū)動(dòng)設(shè)計(jì)
11.1.1CH452簡(jiǎn)介
11.1.2案例設(shè)計(jì)
11.2多功能密碼鎖的設(shè)計(jì)
11.3超聲波測(cè)距的設(shè)計(jì)
11.3.1超聲波原理
11.3.2案例設(shè)計(jì)
11.4光敏電阻逐光隨動(dòng)系統(tǒng)的設(shè)計(jì)
11.5SIM900手機(jī)模塊的應(yīng)用設(shè)計(jì)
11.5.1SIM900簡(jiǎn)介
11.5.2案例設(shè)計(jì)
11.6直流電動(dòng)機(jī)調(diào)速系統(tǒng)的設(shè)計(jì)
11.6.1利用PCA/PWM功能實(shí)現(xiàn)PWM控制
11.6.2案例設(shè)計(jì)
11.7基于NRF905無(wú)線數(shù)據(jù)傳輸設(shè)計(jì)
第12章科技競(jìng)賽獲獎(jiǎng)作品交流
12.1多功能語(yǔ)音控制智能盲人拐杖助手設(shè)計(jì)
12.2基于觸摸屏的多功能水族箱設(shè)計(jì)
12.3基于GSM手機(jī)戶外點(diǎn)陣控制系統(tǒng)設(shè)計(jì)
12.4智能實(shí)驗(yàn)室遠(yuǎn)程無(wú)線監(jiān)管系統(tǒng)設(shè)計(jì)
12.5基于紅外傳感器的無(wú)弦電子琴設(shè)計(jì)
12.6嬰兒發(fā)燒尿床呵護(hù)系統(tǒng)的設(shè)計(jì)
12.7開(kāi)展科技創(chuàng)新活動(dòng)與科技競(jìng)賽的探析
附錄A常用字符與ASCII代碼對(duì)照表
附錄B液晶標(biāo)準(zhǔn)字符庫(kù)
附錄C單片機(jī)最小系統(tǒng)及開(kāi)發(fā)板實(shí)物圖
參考文獻(xiàn)
2100433B
本書(shū)以8051單片機(jī)為主線,以工程項(xiàng)目和科技競(jìng)賽為實(shí)例背景,按照案例驅(qū)動(dòng)教學(xué)模式,由淺入深地講述了51單片機(jī)的硬件結(jié)構(gòu)、C51語(yǔ)言編程方法、單片機(jī)內(nèi)部資源、單片機(jī)應(yīng)用系統(tǒng)的接口設(shè)計(jì)、STC系列最新單片機(jī)、綜合應(yīng)用設(shè)計(jì)以及科技競(jìng)賽研究成果,并介紹了相應(yīng)的開(kāi)發(fā)工具。
8051單片機(jī)在一塊芯片上集成了一個(gè)微型計(jì)算機(jī)的主要部件,它包括以下幾部分: 1個(gè)8位微處理器(CPU)。 1個(gè)時(shí)鐘電路。 4KB程序存儲(chǔ)器。 256B數(shù)據(jù)存儲(chǔ)器。 2個(gè)16位定時(shí)/計(jì)數(shù)器。 64KB...
用c51單片機(jī)做AD轉(zhuǎn)換,只要用一個(gè)簡(jiǎn)單的延時(shí)就可以,沒(méi)必要?jiǎng)佑枚〞r(shí)器這么高級(jí)的東西,DMA就更別提了,我寫(xiě)了很多程序,還真沒(méi)有人能用C51實(shí)現(xiàn)DMA,DMA一般在arm系列和FPGA等的高級(jí)嵌入式里...
#include<reg51.h>#define uint unsigned int#define uchar unsigned charsbit spk=P3^0;sbit k0=P3^...
格式:pdf
大小:353KB
頁(yè)數(shù): 7頁(yè)
評(píng)分: 4.6
89C51單片機(jī)論文 摘要:為了方便初學(xué)者使用單片機(jī)的各種片內(nèi)資源以及 一些常用的外圍擴(kuò)展芯片,設(shè)計(jì)開(kāi)發(fā)了基于 51系列單片機(jī) 的系統(tǒng)板。同時(shí),該板還可做為學(xué)習(xí)各種仿真器所需的目標(biāo) 板。 關(guān)鍵詞: 89c51 單片機(jī); tlc 2543 ; tlc5615 the development and application based on 51 series mcu system board li li,shao xinhui (changcheng institute of metrology&measurement,avic,beijing100095,china) abstract:in order to facilitate the beginner to use all kinds of microcontroller chip internal resources
格式:pdf
大小:353KB
頁(yè)數(shù): 4頁(yè)
評(píng)分: 4.6
51 單片機(jī)與串口通信代碼
2011年 04月 22 日 17:18 本站整理 作者:佚名 用戶評(píng)論( 0)
關(guān)鍵字: 串口通信 (35)
串口調(diào)試
1. 發(fā)送:向總線上發(fā)命令
2. 接收:從總線接收命令,并分析是地址還是數(shù)據(jù)。
3. 定時(shí)發(fā)送:從內(nèi)存中取數(shù)并向主機(jī)發(fā)送 .
經(jīng)過(guò)調(diào)試,以上功能基本實(shí)現(xiàn),目前可以通過(guò)上位機(jī)對(duì)單片機(jī)進(jìn)行實(shí)時(shí)控制。
程序如下:
// 這是一個(gè)單片機(jī) C51串口接收(中斷)和發(fā)送例程,可以用來(lái)測(cè)試 51單片機(jī)的中斷接收
// 和查詢發(fā)送,另外我覺(jué)得發(fā)送沒(méi)有必要用中斷,因?yàn)槌绦虻拈_(kāi)銷(xiāo)是一樣的
# i nclude
《單片機(jī)原理及接口技術(shù)(C51編程)》詳細(xì)介紹了美國(guó)ATMEL公司的AT89S51單片機(jī)的硬件結(jié)構(gòu)和片內(nèi)外圍部件的工作原理,Keil C51編程基礎(chǔ)知識(shí),并從應(yīng)用設(shè)計(jì)的角度介紹AT89S51單片機(jī)的各種常用的硬件接口設(shè)計(jì),以及相應(yīng)的Keil C51接口驅(qū)動(dòng)程序設(shè)計(jì)。本書(shū)最后介紹了AT89S51單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)以及一些典型應(yīng)用舉例。
《單片機(jī)原理及接口技術(shù)(C51編程)》可作為各類(lèi)工科院校、職業(yè)技術(shù)學(xué)院電子技術(shù)、計(jì)算機(jī)、工業(yè)自動(dòng)化、自動(dòng)控制、智能儀器儀表、電氣工程、機(jī)電一體化等專業(yè)單片機(jī)課程教材,也可供從事單片機(jī)應(yīng)用設(shè)計(jì)的工程技術(shù)人員參考。
第1章 8051單片機(jī)與KeilC51基礎(chǔ)1
1.1 8051單片機(jī)的存儲(chǔ)器組織結(jié)構(gòu) 1
1.2 Keil C51開(kāi)發(fā)工具6
1.3 C51簡(jiǎn)單編程與調(diào)試 6
第2章 C51程序設(shè)計(jì)基礎(chǔ)16
2.1 標(biāo)識(shí)符與關(guān)鍵字 16
2.2 C51程序設(shè)計(jì)的基本語(yǔ)法 18
2.2.1 數(shù)據(jù)類(lèi)型 18
2.2.2 常量 20
2.2.3 變量及其存儲(chǔ)模式 22
2.2.4 用typedef重新定義數(shù)據(jù)類(lèi)型 25
2.2.5 運(yùn)算符與表達(dá)式 26
2.3 C51程序的基本語(yǔ)句 39
2.3.1 表達(dá)式語(yǔ)句 39
2.3.2 復(fù)合語(yǔ)句 40
2.3.3 條件語(yǔ)句 41
2.3.4 開(kāi)關(guān)語(yǔ)句 43
2.3.5 循環(huán)語(yǔ)句 45
2.3.6 返回語(yǔ)句 50
2.4函數(shù) 51
2.4.1 函數(shù)的定義 51
2.4.2 函數(shù)的調(diào)用形式 54
2.4.3 對(duì)被調(diào)用函數(shù)的說(shuō)明 54
2.4.4 函數(shù)的參數(shù)與返回值 56
2.4.5 實(shí)際參數(shù)的傳遞方式 58
2.4.6 函數(shù)的遞歸調(diào)用與再入函數(shù) 59
2.4.7 中斷函數(shù)與寄存器組定義 60
2.5 函數(shù)變量的存儲(chǔ)方式 62
2.5.1 局部變量與全局變量 62
2.5.2 變量的存儲(chǔ)種類(lèi) 64
2.5.3 函數(shù)的參數(shù)和局部變量的存儲(chǔ)器模式 68
2.6 數(shù)組 69
2.6.1 數(shù)組的定義與引用 69
2.6.2 字符數(shù)組 70
2.6.3 數(shù)組作為函數(shù)的參數(shù) 73
2.7 指針 76
2.7.1 指針與地址 76
2.7.2 指針變量的定義 77
2.7.3 指針變量的引用 79
2.7.4 指針變量作為函數(shù)的參數(shù) 80
2.8 數(shù)組的指針 81
2.8.1 用指針引用數(shù)組元素 81
2.8.2 字符數(shù)組指針 83
2.8.3 指針的地址計(jì)算 84
2.9 函數(shù)型指針 86
2.10 返回指針型數(shù)據(jù)的函數(shù) 88
2.11 指針數(shù)組與指針型指針 89
2.11.1 指針數(shù)組 89
2.11.2 指針型指針 92
2.11.3 抽象型指針 94
2.12 結(jié)構(gòu)體、聯(lián)合體與枚舉 95
2.12.1 結(jié)構(gòu)體變量的定義與引用 95
2.12.2 結(jié)構(gòu)體變量的初值 98
2.12.3 結(jié)構(gòu)體數(shù)組 99
2.12.4 結(jié)構(gòu)體型指針 100
2.12.5 將結(jié)構(gòu)體作為函數(shù)的參數(shù) 101
2.12.6 將結(jié)構(gòu)體型指針作為函數(shù)的參數(shù) 103
2.13 聯(lián)合體變量的定義與引用105
2.14 枚舉變量的定義與引用 109
2.15 預(yù)處理器 110
2.15.1 不帶參數(shù)的宏定義 111
2.15.2 帶參數(shù)的宏定義 112
2.15.3 文件包含 114
2.15.4 條件編譯 114
2.15.5 其他預(yù)處理命令 117
第3章 Vision4集成開(kāi)發(fā)環(huán)境 118
3.1 Vision4的下拉菜單 120
3.1.1 File菜單 121
3.1.2 Edit菜單 122
3.1.3 View菜單 126
3.1.4 Project菜單 128
3.1.5 Flash菜單 139
3.1.6 Tools菜單 139
3.1.7 SVCS菜單 141
3.1.8 Window菜單 142
3.1.9 Help菜單 142
3.2 Vision4中的調(diào)試器 143
3.2.1 Debug狀態(tài)下窗口分配與View菜單 145
3.2.2 通過(guò)Debug菜單進(jìn)行程序代碼調(diào)試 150
3.2.3 通過(guò)Peripherals菜單觀察仿真結(jié)果 156
3.3 Vision4的調(diào)試命令 157
3.3.1 顯示和更新存儲(chǔ)器內(nèi)容命令 159
3.3.2 程序執(zhí)行控制命令 163
3.3.3 斷點(diǎn)管理命令 166
3.3.4 其他通用命令 169
3.4 Vision4的表達(dá)式 178
3.4.1 表達(dá)式的組成 178
3.4.2 Vision4表達(dá)式與C語(yǔ)言表達(dá)式之間的差別 183
3.4.3 Vision4表達(dá)式應(yīng)用舉例 183
3.5 Vision4的函數(shù) 186
3.5.1 內(nèi)部函數(shù) 187
3.5.2 用戶函數(shù) 192
3.5.3 信號(hào)函數(shù) 194
3.5.4 Vision4函數(shù)與C51函數(shù)的差別 196
第4章 C51編譯器 197
4.1 C51編譯器簡(jiǎn)介 197
4.2 C51編譯器控制命令詳解 200
4.2.1 源控制命令 200
4.2.2 列表控制命令 203
4.2.3 目標(biāo)控制命令 208
4.3 Keil C51編譯器對(duì)ANSIC的擴(kuò)展235
4.3.1 存儲(chǔ)器類(lèi)型與編譯模式 235
4.3.2 關(guān)于bit,sbit,sfr,sfr16數(shù)據(jù)類(lèi)型 237
4.3.3 一般指針與基于存儲(chǔ)器的指針及其轉(zhuǎn)換 241
4.3.4 C51編譯器對(duì)ANSIC函數(shù)定義的擴(kuò)展 242
4.4 C51編譯器的數(shù)據(jù)調(diào)用協(xié)議 249
4.4.1 數(shù)據(jù)在內(nèi)存中的存儲(chǔ)格式 249
4.4.2 目標(biāo)代碼的段管理 250
4.5 C51編譯器的特殊支持 252
4.5.1 Analog Device公司的Aduc8xxB2系列 253
4.5.2 Atmel 89x8252及衍生產(chǎn)品 253
4.5.3 Dallas 80C320/420/520/530 254
4.5.4 Dallas 80C390/400/5240及衍生產(chǎn)品 254
4.5.5 Infineon 80517/509/537及衍生產(chǎn)品 255
4.5.6 NXP 8xC750/751/752 256
4.5.7 NXP 8xC51Mx 256
4.5.8 NXP和AtmelWM系列的雙數(shù)據(jù)指針 256
4.6 用戶配置文件 257
4.6.1 啟動(dòng)代碼文件 257
4.6.2 變量初始化文件 259
4.6.3 基本I/O函數(shù)文件 260
4.6.4 分組配置文件 261
4.7 與匯編語(yǔ)言程序的接口 262
4.8 與PL/M51程序的接口272
4.9 絕對(duì)地址訪問(wèn) 273
4.9.1 采用擴(kuò)展關(guān)鍵字“_at_”或指針定義變量的絕對(duì)地址 273
4.9.2 采用預(yù)定義宏指定變量的絕對(duì)地址 274
4.9.3 采用鏈接定位控制命令指定變量的絕對(duì)地址 275
4.10 C51的庫(kù)函數(shù) 276
4.10.1 字符函數(shù)CTYPE.H 277
4.10.2 標(biāo)準(zhǔn)I/O函數(shù)STDIO.H 283
4.10.3 字符串函數(shù)STRING.H 291
4.10.4 標(biāo)準(zhǔn)函數(shù)STDLIB.H 299
4.10.5 數(shù)學(xué)函數(shù)MATH.H 305
4.10.6 絕對(duì)地址訪問(wèn)ABSACC.H 312
4.10.7 內(nèi)部函數(shù)INTRINS.H 313
4.10.8 變量參數(shù)表STDARG.H 317
4.10.9 全程跳轉(zhuǎn)SETJMP.H318
4.10.10 計(jì)算結(jié)構(gòu)體成員的偏移量STDDEF.H 319
4.10.11 創(chuàng)建測(cè)試條件ASSERT.H 319
第5章 A51宏匯編器321
5.1 符號(hào)與表達(dá)式 323
5.2 匯編偽指令 327
5.2.1 段控制指令 328
5.2.2 符號(hào)定義指令 331
5.2.3 存儲(chǔ)器初始化指令 334
5.2.4 存儲(chǔ)器保留指令 335
5.2.5 過(guò)程聲明指令(僅用于Ax51) 336
5.2.6 程序鏈接指令 338
5.2.7 地址控制指令 339
5.2.8 其他指令 340
5.3 宏處理器 340
5.3.1 標(biāo)準(zhǔn)宏處理器 341
5.3.2 嵌套宏定義 344
5.3.3 宏調(diào)用 345
5.3.4 C宏處理器349
5.3.5 MPL宏處理器 351
5.3.6 MPL函數(shù) 353
5.3.7 MPL條件處理函數(shù) 357
5.3.8 MPL字符串處理函數(shù) 360
5.4 匯編控制命令 362
5.4.1 匯編控制命令詳解 363
5.4.2 條件匯編命令 371
第6章 BL51/Lx51鏈接定位器與實(shí)用工具 375
6.1 BL51/Lx51的鏈接定位方式375
6.1.1 鏈接定位中的數(shù)據(jù)段處理 375
6.1.2 鏈接定位器的引用 378
6.1.3 應(yīng)用程序在存儲(chǔ)器空間中的定位 379
6.1.4 數(shù)據(jù)覆蓋 381
6.1.5 代碼分組 383
6.1.6 分組配置 385
6.2 鏈接定位控制命令詳解 393
6.2.1 列表文件控制命令 393
6.2.2 輸出文件控制命令 397
6.2.3 段與存儲(chǔ)器定位控制命令 401
6.2.4 高級(jí)語(yǔ)言控制命令 418
6.3 符號(hào)轉(zhuǎn)換工具 425
6.3.1 Intel HEX文件格式與符號(hào)轉(zhuǎn)換工具 425
6.3.2 引用符號(hào)轉(zhuǎn)換工具OH51/OHX51 426
6.3.3 引用分組目標(biāo)文件轉(zhuǎn)換工具OC51 428
6.4 庫(kù)管理器LIBx51 428
第7章 RTX51實(shí)時(shí)多任務(wù)操作系統(tǒng)432
7.1 RTX51一般介紹 432
7.2 RTX51技術(shù)參數(shù) 437
7.3 使用RTX51TINY的要求和限定 439
7.4 RTX51 TINY的任務(wù)管理 440
7.5 RTX51 TINY的配置 442
7.6 RTX51 TINY的系統(tǒng)函數(shù) 444
7.7 RTX51 TINY應(yīng)用系統(tǒng)調(diào)試 449
第8章 8051單片機(jī)片內(nèi)資源的C51應(yīng)用
編程 464
8.1 編寫(xiě)C51應(yīng)用程序的基本原則 464
8.2 C51應(yīng)用中的一些常見(jiàn)問(wèn)題與解決方法 465
8.3 8051單片機(jī)中斷系統(tǒng)應(yīng)用編程 468
8.3.1 外部中斷源擴(kuò)展 468
8.3.2 中斷嵌套 470
8.4 8051單片機(jī)定時(shí)器/計(jì)數(shù)器應(yīng)用編程473
8.4.1 定時(shí)器方式應(yīng)用 474
8.4.2 計(jì)數(shù)器方式應(yīng)用 478
8.6 8051單片機(jī)串行口應(yīng)用編程 483
8.6.1 8051串行口實(shí)現(xiàn)串/并轉(zhuǎn)換應(yīng)用編程 483
8.6.2 8051串行口的通信方式應(yīng)用編程 487
8.7 P89C51RD2單片機(jī)片內(nèi)FLASH在應(yīng)用中編程的C51驅(qū)動(dòng)程序 504
8.8 80C552單片機(jī)內(nèi)部A/D轉(zhuǎn)換器的C51驅(qū)動(dòng)程序 517
8.8.1 80C552單片機(jī)簡(jiǎn)介 517
8.8.2 80C552內(nèi)部ADC的應(yīng)用 519
8.8.3 使用80C552內(nèi)部ADC的C51驅(qū)動(dòng)程序523
第9章 8051單片機(jī)片外擴(kuò)展的C51應(yīng)用編程 529
9.1 LED數(shù)碼管顯示接口應(yīng)用編程 529
9.1.1 軟件譯碼和動(dòng)態(tài)掃描的LED數(shù)碼管顯示接口應(yīng)用編程 530
9.1.2 8位共陰極LED數(shù)碼管驅(qū)動(dòng)器MAX7219應(yīng)用編程 532
9.2 非編碼矩陣鍵盤(pán)接口應(yīng)用編程 538
9.2.1 采用8155實(shí)現(xiàn)的矩陣鍵盤(pán)及數(shù)碼管顯示接口應(yīng)用編程 539
9.2.2 采用8279實(shí)現(xiàn)的矩陣鍵盤(pán)及數(shù)碼管顯示接口應(yīng)用編程 544
9.3LCD液晶模塊顯示接口應(yīng)用編程 550
9.3.1 點(diǎn)陣字符型LCD顯示接口應(yīng)用編程 551
9.3.2 12864點(diǎn)陣圖型LCD顯示接口應(yīng)用編程562
9.3.3 內(nèi)置T6963C控制器的點(diǎn)陣圖型LCD顯示接口應(yīng)用編程 570
9.4 D/A與A/D轉(zhuǎn)換接口應(yīng)用編程 580
9.4.1 DAC0832轉(zhuǎn)換接口應(yīng)用編程 581
9.4.2 串行接口DAC芯片MAX517應(yīng)用編程 584
9.4.3 ADC0809轉(zhuǎn)換接口應(yīng)用編程 588
9.4.4 ICL7135轉(zhuǎn)換接口應(yīng)用編程 592
9.4.5 串行接口ADC芯片TLC549應(yīng)用編程 596
9.5 單片機(jī)I2C總線擴(kuò)展應(yīng)用編程 600
9.5.1 I2C總線簡(jiǎn)介 600
9.5.2 I2C總線通用驅(qū)動(dòng)程序 603
9.5.3 I2C接口器件24C04的讀/寫(xiě)程序 606
9.6 8051單片機(jī)存儲(chǔ)器擴(kuò)展與測(cè)試應(yīng)用編程 610
9.6.1 測(cè)試8051應(yīng)用系統(tǒng)總線與擴(kuò)展存儲(chǔ)器的C51驅(qū)動(dòng)程序 610
9.6.2 8051擴(kuò)展FLASH存儲(chǔ)器在系統(tǒng)編程的C51驅(qū)動(dòng)程序 613
第10章 KeilC51綜合應(yīng)用編程實(shí)例626
10.1 有關(guān)C51編程的若干實(shí)際應(yīng)用技巧626
10.2 C51與匯編語(yǔ)言混合編程與生成應(yīng)用庫(kù)文件 632
10.2.1 C51與匯編語(yǔ)言混合編程 632
10.2.2 在Vision4中生成應(yīng)用庫(kù)文件 634
10.3 在Vision4中應(yīng)用硬件目標(biāo)板 635
10.3.1 帶MON51監(jiān)控程序的硬件目標(biāo)板 636
10.3.2 帶FLASHMON51監(jiān)控程序的硬件目標(biāo)板 640
10.4 紅外遙控系統(tǒng)設(shè)計(jì) 642
10.4.1 功能要求 642
10.4.2 硬件電路設(shè)計(jì) 642
10.4.3 軟件程序設(shè)計(jì) 643
10.5 簡(jiǎn)易電子琴設(shè)計(jì)650
10.5.1 功能要求 650
10.5.2 硬件電路設(shè)計(jì) 650
10.5.3 軟件程序設(shè)計(jì) 650
10.6 帶農(nóng)歷的電子萬(wàn)年歷設(shè)計(jì)655
10.6.1 功能要求 655
10.6.2 硬件電路設(shè)計(jì) 655
10.6.3 軟件程序設(shè)計(jì) 658
10.7 電子密碼鎖設(shè)計(jì)671
10.7.1 功能要求 671
10.7.2 硬件電路設(shè)計(jì) 671
10.7.3 軟件程序設(shè)計(jì) 671
10.8 DS18B20多點(diǎn)溫度監(jiān)測(cè)系統(tǒng)設(shè)計(jì) 687
10.8.1 功能要求 687
10.8.2 硬件電路設(shè)計(jì) 688
10.8.3 軟件程序設(shè)計(jì) 692
10.9 STH11數(shù)字溫-濕度測(cè)量系統(tǒng)設(shè)計(jì) 700
10.9.1 功能要求 700
10.9.2 硬件電路設(shè)計(jì) 700
10.9.3 軟件程序設(shè)計(jì) 704
10.10 單片機(jī)SD卡讀/寫(xiě)接口設(shè)計(jì) 710
10.10.1 功能要求 710
10.10.2 硬件電路設(shè)計(jì) 710
10.10.3 軟件程序設(shè)計(jì) 712
附錄AKeilC51與ANSI C的差別 717
附錄BKeilC51不同版本的差別 719
附錄C 代碼優(yōu)化723
附錄DC51編譯器的限制 726
附錄E 關(guān)于配套光盤(pán)及硬件目標(biāo)板727
參考文獻(xiàn) 728
德國(guó)Keil公司*推出的C51編譯器是一種符合工業(yè)標(biāo)準(zhǔn)的8051 C語(yǔ)言開(kāi)發(fā)工具,在業(yè)界獲得了廣泛應(yīng)用,被公認(rèn)為是最有效的單片機(jī)開(kāi)發(fā)手段之一。Keil公司于2010年推出了全新的開(kāi)發(fā)環(huán)境Vision4,其中集成了V9.00版本的C51編譯器、Debug調(diào)試器、RTX51 Tiny實(shí)時(shí)操作系統(tǒng)等,全面支持8051單片機(jī)主流產(chǎn)品及其眾多的派生系列。
Keil C51編譯器具有如下優(yōu)點(diǎn)。
(1)經(jīng)過(guò)優(yōu)化編譯后生成的代碼,其效率接近于匯編語(yǔ)言生成的代碼。
(2)支持所有8051系列單片機(jī),提供對(duì)所有外圍硬件部件的操作。
(3)無(wú)論在有無(wú)工作寄存器區(qū)轉(zhuǎn)換的情況下,都能產(chǎn)生快速中斷代碼。
(4)支持Atmel,Dallas,Infineon,Philips和Temic等公司8051衍生產(chǎn)品上的雙數(shù)據(jù)指針及高速算術(shù)單元(arithmeticunits)。
(5)能夠在整個(gè)應(yīng)用程序中執(zhí)行全局寄存器優(yōu)化。
(6)所有應(yīng)用工具均可產(chǎn)生詳細(xì)警告信息和錯(cuò)誤信息,幫助用戶處理難以尋找的問(wèn)題。
(7)支持再入功能和寄存器區(qū)的獨(dú)立代碼,便于中斷服務(wù)程序和多任務(wù)應(yīng)用程序的執(zhí)行。
(8)采用分組方式執(zhí)行代碼分組和調(diào)試,用戶程序代碼可以輕松突破64KB空間的限制。
全新集成開(kāi)發(fā)環(huán)境Vision4具有強(qiáng)大的項(xiàng)目管理功能,包括源程序文件、開(kāi)發(fā)工具選項(xiàng)以及編程說(shuō)明等。Vision4內(nèi)部集成了一個(gè)器件數(shù)據(jù)庫(kù)(devicedatabase),其中儲(chǔ)存了各種型號(hào)單片機(jī)的片上存儲(chǔ)器和集成外圍功能信息,通過(guò)器件數(shù)據(jù)庫(kù)可以自動(dòng)設(shè)置C51編譯器、A51匯編器、BL51/Lx51連接定位器、Debug調(diào)試器等開(kāi)發(fā)工具的功能選項(xiàng),充分滿足用戶使用特定單片機(jī)的要求。集成仿真調(diào)試功能允許在統(tǒng)一的Vision4環(huán)境下進(jìn)入Debug調(diào)試器,提供純軟件模擬仿真(Simulator)和多種硬件驅(qū)動(dòng)調(diào)試。Simulator可以在沒(méi)有單片機(jī)硬件的條件下在PC上用純軟件模擬方式完成單片機(jī)應(yīng)用程序仿真調(diào)試,硬件驅(qū)動(dòng)Monitor-51可以將帶有MON51監(jiān)控程序的硬件目標(biāo)板與Vision4無(wú)縫連接,直接對(duì)目標(biāo)板進(jìn)行仿真調(diào)試而無(wú)須采用昂貴的硬件仿真器。
本書(shū)完整地闡述了Keil C51開(kāi)發(fā)工具的功能和使用方法,力求先進(jìn)性和實(shí)用性,給出了大量具體應(yīng)用實(shí)例,不僅介紹了Keil C51自帶Simulator軟件模擬仿真調(diào)試方法,還介紹了Keil C51與Proteus軟件聯(lián)機(jī),實(shí)現(xiàn)8051單片機(jī)在線虛擬仿真調(diào)試方法,同時(shí)對(duì)廣大讀者所關(guān)心的利用MON51監(jiān)控程序設(shè)計(jì)自己硬件目標(biāo)板的方法做了詳細(xì)介紹,并在隨書(shū)光盤(pán)中給出了硬件目標(biāo)板的電路原理圖。
全書(shū)共分10章:
第1章闡述8051單片機(jī)存儲(chǔ)器結(jié)構(gòu),以及在Vision4集成開(kāi)發(fā)環(huán)境下進(jìn)行C51程序設(shè)計(jì)和編譯調(diào)試的基本方法。
第2章闡述C51程序設(shè)計(jì)基礎(chǔ)知識(shí),詳細(xì)介紹C51的數(shù)據(jù)類(lèi)型、基本語(yǔ)法、變量及其存儲(chǔ)模式、函數(shù)、數(shù)組與指針等。
第3章闡述Vision4集成開(kāi)發(fā)環(huán)境,詳細(xì)介紹了工作環(huán)境、目標(biāo)程序的仿真調(diào)試以及各種應(yīng)用選項(xiàng)的設(shè)置方法。
第4章闡述Keil C51編譯器,介紹了各種編譯控制命令、數(shù)據(jù)調(diào)用協(xié)議,給出了全部C51庫(kù)函數(shù)及其應(yīng)用范例。
第5章闡述A51宏匯編器,介紹了各種匯編偽指令、宏處理以及匯編控制命令。
第6章闡述BL51/Lx51鏈接定位器與實(shí)用工具,詳細(xì)介紹了各種鏈接控制命令、符號(hào)轉(zhuǎn)換工具OH51、庫(kù)管理工具LIB51的使用方法。
第7章闡述RTX51實(shí)時(shí)多任務(wù)操作系統(tǒng),介紹了RTX51 TINY的功能和使用方法。
第8章闡述8051單片機(jī)片內(nèi)資源的C51應(yīng)用編程,介紹了C51編程的基本原則、常見(jiàn)問(wèn)題與解決方法,給出了中斷系統(tǒng)、定時(shí)器/計(jì)數(shù)器、串行口、片內(nèi)FLASH IAP等資源的具體應(yīng)用實(shí)例。
第9章闡述8051單片機(jī)片外擴(kuò)展的C51應(yīng)用編程,給出了LED數(shù)碼管、非編碼矩陣鍵盤(pán)、點(diǎn)陣字符型和點(diǎn)陣圖型LCD、D/A及A/D轉(zhuǎn)換、I2C總線擴(kuò)展、外部存儲(chǔ)器擴(kuò)展等具體應(yīng)用實(shí)例。
第10章闡述Keil C51綜合應(yīng)用編程,介紹了C51編程的若干實(shí)際應(yīng)用技巧,C51與匯編語(yǔ)言混合編程方法以及如何在Vision4中應(yīng)用硬件目標(biāo)板,給出了紅外遙控系統(tǒng)、簡(jiǎn)易電子琴、帶農(nóng)歷的電子萬(wàn)年歷、電子密碼鎖、DS18B20多點(diǎn)溫度監(jiān)測(cè)系統(tǒng)、STH11數(shù)字溫-濕度測(cè)量系統(tǒng)、單片機(jī)SD卡讀寫(xiě)接口等大量綜合應(yīng)用實(shí)例。2100433B