单片机原理及接口技术(C51编程)基本信息

中文名称 单片机原理及接口技术(C51编程) 作者 张毅刚 主编
字数 474 千字 版次 第1版第1次

《单片机原理及接口技术(C51编程)》详细介绍了美国ATMEL公司的AT89S51单片机的硬件结构和片内外围部件的工作原理,Keil C51编程基础知识,并从应用设计的角度介绍AT89S51单片机的各种常用的硬件接口设计,以及相应的Keil C51接口驱动程序设计。本书最后介绍了AT89S51单片机应用系统设计以及一些典型应用举例。

《单片机原理及接口技术(C51编程)》可作为各类工科院校、职业技术学院电子技术、计算机、工业自动化、自动控制、智能仪器仪表、电气工程、机电一体化等专业单片机课程教材,也可供从事单片机应用设计的工程技术人员参考。

单片机原理及接口技术(C51编程)造价信息

市场价 信息价 询价
材料名称 规格/型号 市场价
(除税)
工程建议价
(除税)
行情 品牌 单位 税率 供应商 报价日期
电气火灾监控设备集成应用编程接口 产品说明:将电气火灾监控系统集成到第三方系统中的接口软件。它运行于第三方系统计算机内并通过该计算机的RS232口与电气火灾监控设备上的接口卡GST-DH9000 232card进行通讯,获取电气火灾监控设备的信息,从而实现电气火灾监控设备与第三方进行系统连接。;品种:接口;型号:DH-GST-COM 查看价格 查看价格

海湾

13% 海湾安全技术有限公司九江销售中心
单片法兰 品种:沟槽转换法兰;外径Ф(mm):219;材质:碳钢;公称直径DN(mm):200; 查看价格 查看价格

莱德

13% 太原市拓昆物资有限公司
单片法兰 公称压力PN(MPa):1;品种:沟槽转换法兰;外径Ф(mm):219;材质:碳钢;公称直径DN(mm):200; 查看价格 查看价格

莱德

13% 太原市拓昆物资有限公司
单片法兰 品种:沟槽转换法兰;外径Ф(mm):159;材质:碳钢;公称直径DN(mm):150; 查看价格 查看价格

莱德

13% 太原市拓昆物资有限公司
单片法兰 品种:沟槽转换法兰;外径Ф(mm):108;材质:碳钢;公称直径DN(mm):100; 查看价格 查看价格

莱德

13% 太原市拓昆物资有限公司
单片法兰 品种:沟槽转换法兰;外径Ф(mm):140;材质:碳钢;公称直径DN(mm):125; 查看价格 查看价格

莱德

13% 太原市拓昆物资有限公司
单片法兰 品种:沟槽转换法兰;外径Ф(mm):219;材质:球墨铸铁;公称直径DN(mm):200;说明:产地山东; 查看价格 查看价格

鲁源

13% 温州市亿通管道有限公司
单片法兰 品种:沟槽转换法兰;外径Ф(mm):133;材质:碳钢;公称直径DN(mm):125; 查看价格 查看价格

莱德

13% 太原市拓昆物资有限公司
材料名称 规格/型号 除税
信息价
含税
信息价
行情 品牌 单位 税率 地区/时间
法兰接口 DN20 查看价格 查看价格

湛江市2022年3季度信息价
法兰接口 DN25 查看价格 查看价格

湛江市2022年3季度信息价
法兰接口 DN50 查看价格 查看价格

湛江市2022年3季度信息价
法兰接口 DN80 查看价格 查看价格

湛江市2022年3季度信息价
法兰接口 DN80 查看价格 查看价格

湛江市2022年2季度信息价
法兰接口 DN100 查看价格 查看价格

湛江市2022年2季度信息价
法兰接口 DN15 查看价格 查看价格

湛江市2022年1季度信息价
法兰接口 DN20 查看价格 查看价格

湛江市2022年1季度信息价
材料名称 规格/需求量 报价数 最新报价
(元)
供应商 报价地区 最新报价时间
人脸识别单片机 人脸识别单片机|1个 1 查看价格 惠州市金力工程技术有限公司 广东   2022-11-21
人脸识别单片机 -|1套 1 查看价格 国科城市大脑(北京)科技有限公司 广东   2021-10-20
技术接口协议 10号机房、15号机房接到12机房技术接口协议网关|2台 1 查看价格 上海艾柯瓦贸易有限公司 广东   2021-10-19
单片机应用实训考核装置 配置详附件二|20套 2 查看价格 济南智星教育设备有限公司 贵州  贵阳市 2016-11-02
中控软件编程 1.名称:中控软件编程;三年质保.|1套 1 查看价格 深圳市青象信息科技有限公司 湖北  武汉市 2018-06-01
控制柜编程调试 控制柜编程调试|2套 1 查看价格 雅士集团(广州分公司)    2015-09-10
人机界面软件编程 人机界面软件编程|2套 1 查看价格 深圳市维纳自控工程有限公司 广东  深圳市 2022-09-05
通讯模块接口 通讯模块接口|4只 3 查看价格 广州市熹尚科技设备有限公司 广东   2022-10-27

第1章 单片机概述 1

1.1 什么是单片机 1

1.2 单片机的发展历史 2

1.3 单片机的特点 2

1.4 单片机的应用 3

1.5 单片机的发展趋势 4

1.6 MCS-51系列与AT89S5x系列单片机 5

1.6.1 MCS-51系列单片机 5

1.6.2 AT89系列单片机 6

1.6.3 AT89系列单片机的型号说明 7

1.7 各种衍生品种的51单片机 8

1.7.1 STC系列单片机 9

1.7.2 C8051F×××单片机 10

1.7.3 ADμC812单片机 10

1.7.4 华邦W77系列、W78系列单片机 10

1.8 PIC系列单片机与AVR系列单片机 10

1.8.1 PIC系列单片机 11

1.8.2 AVR系列单片机 12

1.9 其他的嵌入式处理器简介 12

1.9.1 嵌入式DSP处理器 13

1.9.2 嵌入式微处理器 13

思考题及习题 14

第2章 AT89S51单片机硬件结构 15

2.1 AT89S51单片机的硬件组成 15

2.2 AT89S51的引脚功能 17

2.2.1 电源及时钟引脚 17

2.2.2 控制引脚 18

2.2.3 并行I/O口引脚 18

2.3 AT89S51的CPU 19

2.3.1 运算器 19

2.3.2 控制器 21

2.4 AT89S51单片机存储器的结构 21

2.4.1 程序存储器空间 22

2.4.2 数据存储器空间 23

2.4.3 特殊功能寄存器 23

2.4.4 位地址空间 26

2.5 AT89S51单片机的并行I/O端口 27

2.6 时钟电路与时序 29

2.6.1 时钟电路设计 29

2.6.2 机器周期、指令周期与指令时序 30

2.7 复位操作和复位电路 31

2.7.1 复位操作 31

2.7.2 复位电路设计 31

2.8 低功耗节电模式 33

2.8.1 空闲模式 33

2.8.2 掉电运行模式 34

2.8.3 掉电和空闲模式下的WDT 34

思考题及习题 35

第3章 C51语言编程基础 37

3.1 编程语言Keil C51简介 37

3.1.1 Keil C51简介 37

3.1.2 C51与标准C的比较 38

3.2 Keil C51的开发工具 39

3.2.1 集成开发环境Keil μVision3简介 39

3.2.2 Keil μVision3软件的安装、启动和运行 40

3.3 C51语言程序设计基础 40

3.3.1 C51语言中的数据类型与存储类型 41

3.3.2 C51语言的特殊功能寄存器及位变量定义 45

3.3.3 C51语言的绝对地址访问 47

3.3.4 C51的基本运算 48

3.3.5 C51的分支与循环程序结构 50

3.3.6 C51的数组 57

3.3.7 C51的指针 58

3.4 C51语言的函数 60

3.4.1 函数的分类 60

3.4.2 函数的参数与返回值 61

3.4.3 函数的调用 62

3.4.4 中断服务函数 63

3.4.5 变量及存储方式 63

3.4.6 宏定义与文件包含 64

3.4.7 库函数 65

3.5 软件仿真开发工具Proteus与Keil μVision3的联调 65

3.5.1 软件仿真开发工具Proteus简介 65

3.5.2 Proteus与Keil μVision3的联调 66

思考题及习题 67

第4章 AT89S51片内并行端口的原理及编程 68

4.1 AT89S51的并行I/O端口的结构及工作原理 68

4.1.1 P0口 68

4.1.2 P1口 70

4.1.3 P2口 70

4.1.4 P3口 71

4.1.5 P1~P3口驱动LED发光二极管的问题 72

4.2 并行I/O端口的C51编程举例 73

4.2.1 从左到右的流水灯的制作 73

4.2.2 左右来回循环的流水灯的制作 73

4.2.3 开关量检测指示器1 76

4.2.4 开关量检测指示器2 76

思考题及习题 77

第5章 AT89S51单片机的中断系统 79

5.1 AT89S51中断技术概述 79

5.2 AT89S51中断系统结构 79

5.2.1 中断请求源 80

5.2.2 中断请求标志寄存器 80

5.3 中断允许与中断优先级的控制 81

5.3.1 中断允许寄存器IE 82

5.3.2 中断优先级寄存器IP 82

5.4 响应中断请求的条件 84

5.5 外部中断的响应时间 85

5.6 外部中断的触发方式选择 86

5.6.1 电平触发方式 86

5.6.2 跳沿触发方式 86

5.7 中断请求的撤销 86

5.8 中断函数 87

5.9 C51编程举例 88

5.9.1 单一外中断的应用 88

5.9.2 两个外中断的应用 89

5.9.3 中断嵌套 91

5.9.4 多外部中断源系统设计 92

思考题及习题 93

第6章 AT89S51单片机的定时器/计数器 95

6.1 定时器/计数器的结构 95

6.1.1 工作方式控制寄存器TMOD 96

6.1.2 定时器/计数器控制寄存器TCON 96

6.2 定时器/计数器的4种工作方式 97

6.2.1 方式0 97

6.2.2 方式1 98

6.2.3 方式2 98

6.2.4 方式3 99

6.3 对外部输入的计数信号的要求 100

6.4 定时器/计数器的编程和应用 101

6.4.1 P1口外接的8只LED每0.5s闪亮一次 101

6.4.2 计数器的应用 102

6.4.3 扩展一个外部中断源 103

6.4.4 P1.0上产生周期为2ms的方波 104

6.4.5 P1.1上产生周期为1s的方波 104

6.4.6 T1控制发出1kHz的音频信号 105

6.4.7 测量脉冲宽度--门控位GATEx的应用 106

6.4.8 实时时钟的设计 107

思考题及习题 108

第7章 AT89S51单片机的串行口 110

7.1 串行口的结构 110

7.1.1 串行口控制寄存器SCON 110

7.1.2 特殊功能寄存器PCON 112

7.2 串行口的4种工作方式 112

7.2.1 方式0 112

7.2.2 方式1 116

7.2.3 方式2 117

7.2.4 方式3 118

7.3 多机通信 119

7.4 波特率的制定方法 120

7.4.1 波特率的定义 120

7.4.2 定时器T1产生波特率的计算 120

7.5 串行通信的应用设计 122

7.5.1 各种串行通信接口标准 122

7.5.2 方式1的应用 124

7.5.3 方式2和方式3的应用 127

7.5.4 主从式多机通信的应用 129

7.5.5 单片机与PC的串行通信 133

7.5.6 PC与单片机或与多个单片机的串行通信接口设计 135

思考题及习题 136

第8章 AT89S51单片机外部存储器的扩展 138

8.1 系统扩展结构 138

8.2 地址空间分配和外部地址锁存器 139

8.2.1 存储器地址空间分配 139

8.2.2 外部地址锁存器 142

8.3 程序存储器EPROM的扩展 144

8.3.1 常用的EPROM芯片 144

8.3.2 程序存储器的操作时序 146

8.3.3 AT89S51单片机与EPROM的接口电路设计 148

8.4 静态数据存储器RAM的扩展 149

8.4.1 常用的静态RAM(SRAM)芯片 149

8.4.2 外扩数据存储器的读写操作时序 150

8.4.3 AT89S51单片机与RAM的接口电路设计 151

8.5 EPROM和RAM的综合扩展 153

8.5.1 综合扩展的硬件接口电路 153

8.5.2 外扩存储器电路的编程 155

8.6 片内Flash存储器的编程 155

8.6.1 通用编程器编程 157

8.6.2 ISP编程 157

思考题及习题 158

第9章 AT89S51单片机的I/O扩展 160

9.1 I/O接口扩展概述 160

9.1.1 扩展的I/O接口功能 160

9.1.2 I/O端口的编址 160

9.1.3 I/O数据的传送方式 161

9.1.4 I/O接口电路 161

9.2 AT89S51扩展I/O接口芯片82C55的设计 162

9.2.1 82C55芯片简介 162

9.2.2 工作方式选择控制字及端口PC置位/复位控制字 163

9.2.3 82C55的3种工作方式 165

9.2.4 AT89S51单片机与82C55的接口设计 169

9.3 利用74LSTTL电路扩展并行I/O口 171

9.4 用AT89S51单片机的串行口扩展并行口 172

9.4.1 用74LS165扩展并行输入口 172

9.4.2 用74LS164扩展并行输出口 173

9.5 用I/O口控制的声音报警接口 174

9.5.1 扬声器报警接口 174

9.5.2 音乐报警接口 176

思考题及习题 176

第10章 AT89S51单片机与输入/输出外设的接口 178

10.1 LED数码管显示器的接口设计 178

10.1.1 LED数码管的工作原理 178

10.1.2 LED数码管显示器接口设计举例 179

10.2 键盘的接口设计 183

10.2.1 键盘接口应解决的问题 183

10.2.2 键盘接口设计举例 184

10.2.3 键盘扫描方式的选取 188

10.3 键盘/显示器接口的设计实例 188

10.3.1 利用并行I/O芯片82C55实现键盘/显示器接口 188

10.3.2 利用串行口实现的键盘/显示器接口 191

10.3.3 专用接口芯片HD7279实现的键盘/显示器控制 193

10.4 AT89S51单片机与液晶显示器的接口 204

10.4.1 LCD显示器的分类 204

10.4.2 点阵字符型液晶显示模块介绍 204

10.4.3 AT89S51单片机与LCD的接口及软件编程 208

10.5 AT89S51单片机与微型打印机TP(P-40A/16A的接口 211

10.6 AT89S51单片机与BCD码拨盘的接口设计 215

思考题及习题 216

第11章 AT89S51单片机与D/A、A/D转换器的接口 217

11.1 AT89S51单片机与DAC的接口 217

11.1.1 D/A转换器简介 217

11.1.2 AT89S51单片机与8位D/A转换器0832的接口设计 218

11.2 AT89S51单片机与ADC的接口 225

11.2.1 A/D转换器简介 225

11.2.2 AT89S51与逐次比较型8位A/D转换器ADC0809的接口 226

11.2.3 AT89S51与逐次比较型12位A/D转换器AD1674的接口 230

11.3 AT89S51单片机与V/F转换器的接口 234

11.3.1 用V/F转换器实现A/D转换的原理 235

11.3.2 常用V/F转换器LMX31简介 235

11.3.3 V/F转换器与MCS-51单片机接口 236

11.3.4 LM331应用举例 237

思考题及习题 238

第12章 单片机的串行扩展技术 239

12.1 单总线串行扩展 239

12.2 SPI总线串行扩展 240

12.2.1 SPI总线的扩展结构 241

12.2.2 扩展带SPI串口的A/D转换器TLC2543 242

12.3 I2C总线的串行扩展 243

12.3.1 I2C串行总线系统的基本结构 244

12.3.2 I2C总线的数据传送规定 244

12.3.3 AT89S51的I2C总线扩展系统 247

12.3.4 I2C总线数据传送的模拟 248

12.3.5 I2C总线在IC卡中的应用 251

思考题及习题 255

第13章 AT89S51单片机的应用设计与调试 256

13.1 单片机应用系统的设计步骤 256

13.2 单片机应用系统设计 257

13.2.1 硬件设计应考虑的问题 257

13.2.2 典型的单片机应用系统 258

13.2.3 系统设计中的地址空间分配与总线驱动 259

13.2.4 应用设计例1--最小应用系统设计 261

13.2.5 应用设计例2--数字电压表的设计 262

13.2.6 应用设计例3--带有报警功能的温度测量仪的设计 264

13.3 单片机应用系统的仿真开发与调试 266

13.3.1 仿真开发系统的种类与基本功能 267

13.3.2 仿真开发系统简介 267

13.3.3 用户样机的仿真调试 270

13.4 单片机应用系统的抗干扰与可靠性设计 272

13.4.1 AT89S51片内看门狗定时器的使用 273

13.4.2 软件滤波 273

13.4.3 开关量输入/输出软件抗干扰设计 274

13.4.4 过程通道干扰的抑制措施--隔离 275

13.4.5 印刷电路板抗干扰布线的基本原则 276

思考题及习题 278

参考文献 280

书 名 单片机原理及接口技术(C51编程)

丛 书 名 21世纪高等学校计算机规划教材--名家系列

标准书号 ISBN 978-7-115-25665-2

编目分类 TP368.1

作 者 张毅刚 主编

责任编辑 武恩玉

开 本 16 开

印 张 18

字 数 474 千字

页 数 280 页

装 帧 平装

版 次 第1版第1次

初版时间 2011年8月

本 印 次 2011年8月

定 价 34.00 元

单片机原理及接口技术(C51编程)常见问题

单片机原理及接口技术(C51编程)文献

基于工作过程系统化的《单片机原理及接口技术》课程开发方案 基于工作过程系统化的《单片机原理及接口技术》课程开发方案

格式:pdf

大小:111KB

页数: 3页

评分: 4.4

单片机技术广泛应用于军事、工业及生活的各个领域,通过介绍以工作过程系统化为导向的课程开发方案,突出以能力为本、以教导学的教学理念。

立即下载
基于C51单片机的光纤液位仪的设计 基于C51单片机的光纤液位仪的设计

格式:pdf

大小:111KB

页数: 2页

评分: 4.3

介绍了一种基于C51单片机和光纤技术的液位测量仪的系统设计。采用浮动机构跟踪液位,用光码盘将线位移转换为角位移。光通断的变化信号由光纤传输到测量室,并转换为电脉冲,单片机对脉冲记数即测量出液位大小。用两套光纤来确定液位变化的方向。该系统能够实现液位计量、超限报警、声光显示、串口通讯等功能。分辨率达1mm,测量精度为±2mm,本质安全防爆。

立即下载

《单片机原理及接口技术:基于C51 Proteus仿真》以单片机实践和创新应用为目标。基于C51编程语言。以Proteus为虚拟仿真平台,结合趣味实际案例,系统介绍了MCS-51单片机片内功能部件及其应用、系统扩展和接口技术,其中包括以总线形式扩展存储器、各种并行接口、DAC和ADC等,并介绍了串口通信、各种异步串行扩展及通信协议设计案例。单总线、I^2C总线、SPI总线等扩展案例,以及SPI人机接口、SPI传感器、SPIFlash、SPI无线射频通信芯片、电磁继电器、光耦输入/输出、可控硅、固态继电器、各种电机等工程设计案例。同时对案例进行了软、硬件设计和仿真验证。

《单片机原理及接口技术:基于C51 Proteus仿真》可作为各类工科、专科院校的自动化、电气工程、通信工程、电子工程、计算机、机电一体化、机械设计制造及自动化等专业单片机技术课程的教材或参考书,也可供从事单片机工程设计工作的技术人员参考。

第1章 8051单片机与KeilC51基础1

1.1 8051单片机的存储器组织结构 1

1.2 Keil C51开发工具6

1.3 C51简单编程与调试 6

第2章 C51程序设计基础16

2.1 标识符与关键字 16

2.2 C51程序设计的基本语法 18

2.2.1 数据类型 18

2.2.2 常量 20

2.2.3 变量及其存储模式 22

2.2.4 用typedef重新定义数据类型 25

2.2.5 运算符与表达式 26

2.3 C51程序的基本语句 39

2.3.1 表达式语句 39

2.3.2 复合语句 40

2.3.3 条件语句 41

2.3.4 开关语句 43

2.3.5 循环语句 45

2.3.6 返回语句 50

2.4函数 51

2.4.1 函数的定义 51

2.4.2 函数的调用形式 54

2.4.3 对被调用函数的说明 54

2.4.4 函数的参数与返回值 56

2.4.5 实际参数的传递方式 58

2.4.6 函数的递归调用与再入函数 59

2.4.7 中断函数与寄存器组定义 60

2.5 函数变量的存储方式 62

2.5.1 局部变量与全局变量 62

2.5.2 变量的存储种类 64

2.5.3 函数的参数和局部变量的存储器模式 68

2.6 数组 69

2.6.1 数组的定义与引用 69

2.6.2 字符数组 70

2.6.3 数组作为函数的参数 73

2.7 指针 76

2.7.1 指针与地址 76

2.7.2 指针变量的定义 77

2.7.3 指针变量的引用 79

2.7.4 指针变量作为函数的参数 80

2.8 数组的指针 81

2.8.1 用指针引用数组元素 81

2.8.2 字符数组指针 83

2.8.3 指针的地址计算 84

2.9 函数型指针 86

2.10 返回指针型数据的函数 88

2.11 指针数组与指针型指针 89

2.11.1 指针数组 89

2.11.2 指针型指针 92

2.11.3 抽象型指针 94

2.12 结构体、联合体与枚举 95

2.12.1 结构体变量的定义与引用 95

2.12.2 结构体变量的初值 98

2.12.3 结构体数组 99

2.12.4 结构体型指针 100

2.12.5 将结构体作为函数的参数 101

2.12.6 将结构体型指针作为函数的参数 103

2.13 联合体变量的定义与引用105

2.14 枚举变量的定义与引用 109

2.15 预处理器 110

2.15.1 不带参数的宏定义 111

2.15.2 带参数的宏定义 112

2.15.3 文件包含 114

2.15.4 条件编译 114

2.15.5 其他预处理命令 117

第3章 Vision4集成开发环境 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中的调试器 143

3.2.1 Debug状态下窗口分配与View菜单 145

3.2.2 通过Debug菜单进行程序代码调试 150

3.2.3 通过Peripherals菜单观察仿真结果 156

3.3 Vision4的调试命令 157

3.3.1 显示和更新存储器内容命令 159

3.3.2 程序执行控制命令 163

3.3.3 断点管理命令 166

3.3.4 其他通用命令 169

3.4 Vision4的表达式 178

3.4.1 表达式的组成 178

3.4.2 Vision4表达式与C语言表达式之间的差别 183

3.4.3 Vision4表达式应用举例 183

3.5 Vision4的函数 186

3.5.1 内部函数 187

3.5.2 用户函数 192

3.5.3 信号函数 194

3.5.4 Vision4函数与C51函数的差别 196

第4章 C51编译器 197

4.1 C51编译器简介 197

4.2 C51编译器控制命令详解 200

4.2.1 源控制命令 200

4.2.2 列表控制命令 203

4.2.3 目标控制命令 208

4.3 Keil C51编译器对ANSIC的扩展235

4.3.1 存储器类型与编译模式 235

4.3.2 关于bit,sbit,sfr,sfr16数据类型 237

4.3.3 一般指针与基于存储器的指针及其转换 241

4.3.4 C51编译器对ANSIC函数定义的扩展 242

4.4 C51编译器的数据调用协议 249

4.4.1 数据在内存中的存储格式 249

4.4.2 目标代码的段管理 250

4.5 C51编译器的特殊支持 252

4.5.1 Analog Device公司的Aduc8xxB2系列 253

4.5.2 Atmel 89x8252及衍生产品 253

4.5.3 Dallas 80C320/420/520/530 254

4.5.4 Dallas 80C390/400/5240及衍生产品 254

4.5.5 Infineon 80517/509/537及衍生产品 255

4.5.6 NXP 8xC750/751/752 256

4.5.7 NXP 8xC51Mx 256

4.5.8 NXP和AtmelWM系列的双数据指针 256

4.6 用户配置文件 257

4.6.1 启动代码文件 257

4.6.2 变量初始化文件 259

4.6.3 基本I/O函数文件 260

4.6.4 分组配置文件 261

4.7 与汇编语言程序的接口 262

4.8 与PL/M51程序的接口272

4.9 绝对地址访问 273

4.9.1 采用扩展关键字“_at_”或指针定义变量的绝对地址 273

4.9.2 采用预定义宏指定变量的绝对地址 274

4.9.3 采用链接定位控制命令指定变量的绝对地址 275

4.10 C51的库函数 276

4.10.1 字符函数CTYPE.H 277

4.10.2 标准I/O函数STDIO.H 283

4.10.3 字符串函数STRING.H 291

4.10.4 标准函数STDLIB.H 299

4.10.5 数学函数MATH.H 305

4.10.6 绝对地址访问ABSACC.H 312

4.10.7 内部函数INTRINS.H 313

4.10.8 变量参数表STDARG.H 317

4.10.9 全程跳转SETJMP.H318

4.10.10 计算结构体成员的偏移量STDDEF.H 319

4.10.11 创建测试条件ASSERT.H 319

第5章 A51宏汇编器321

5.1 符号与表达式 323

5.2 汇编伪指令 327

5.2.1 段控制指令 328

5.2.2 符号定义指令 331

5.2.3 存储器初始化指令 334

5.2.4 存储器保留指令 335

5.2.5 过程声明指令(仅用于Ax51) 336

5.2.6 程序链接指令 338

5.2.7 地址控制指令 339

5.2.8 其他指令 340

5.3 宏处理器 340

5.3.1 标准宏处理器 341

5.3.2 嵌套宏定义 344

5.3.3 宏调用 345

5.3.4 C宏处理器349

5.3.5 MPL宏处理器 351

5.3.6 MPL函数 353

5.3.7 MPL条件处理函数 357

5.3.8 MPL字符串处理函数 360

5.4 汇编控制命令 362

5.4.1 汇编控制命令详解 363

5.4.2 条件汇编命令 371

第6章 BL51/Lx51链接定位器与实用工具 375

6.1 BL51/Lx51的链接定位方式375

6.1.1 链接定位中的数据段处理 375

6.1.2 链接定位器的引用 378

6.1.3 应用程序在存储器空间中的定位 379

6.1.4 数据覆盖 381

6.1.5 代码分组 383

6.1.6 分组配置 385

6.2 链接定位控制命令详解 393

6.2.1 列表文件控制命令 393

6.2.2 输出文件控制命令 397

6.2.3 段与存储器定位控制命令 401

6.2.4 高级语言控制命令 418

6.3 符号转换工具 425

6.3.1 Intel HEX文件格式与符号转换工具 425

6.3.2 引用符号转换工具OH51/OHX51 426

6.3.3 引用分组目标文件转换工具OC51 428

6.4 库管理器LIBx51 428

第7章 RTX51实时多任务操作系统432

7.1 RTX51一般介绍 432

7.2 RTX51技术参数 437

7.3 使用RTX51TINY的要求和限定 439

7.4 RTX51 TINY的任务管理 440

7.5 RTX51 TINY的配置 442

7.6 RTX51 TINY的系统函数 444

7.7 RTX51 TINY应用系统调试 449

第8章 8051单片机片内资源的C51应用

编程 464

8.1 编写C51应用程序的基本原则 464

8.2 C51应用中的一些常见问题与解决方法 465

8.3 8051单片机中断系统应用编程 468

8.3.1 外部中断源扩展 468

8.3.2 中断嵌套 470

8.4 8051单片机定时器/计数器应用编程473

8.4.1 定时器方式应用 474

8.4.2 计数器方式应用 478

8.6 8051单片机串行口应用编程 483

8.6.1 8051串行口实现串/并转换应用编程 483

8.6.2 8051串行口的通信方式应用编程 487

8.7 P89C51RD2单片机片内FLASH在应用中编程的C51驱动程序 504

8.8 80C552单片机内部A/D转换器的C51驱动程序 517

8.8.1 80C552单片机简介 517

8.8.2 80C552内部ADC的应用 519

8.8.3 使用80C552内部ADC的C51驱动程序523

第9章 8051单片机片外扩展的C51应用编程 529

9.1 LED数码管显示接口应用编程 529

9.1.1 软件译码和动态扫描的LED数码管显示接口应用编程 530

9.1.2 8位共阴极LED数码管驱动器MAX7219应用编程 532

9.2 非编码矩阵键盘接口应用编程 538

9.2.1 采用8155实现的矩阵键盘及数码管显示接口应用编程 539

9.2.2 采用8279实现的矩阵键盘及数码管显示接口应用编程 544

9.3LCD液晶模块显示接口应用编程 550

9.3.1 点阵字符型LCD显示接口应用编程 551

9.3.2 12864点阵图型LCD显示接口应用编程562

9.3.3 内置T6963C控制器的点阵图型LCD显示接口应用编程 570

9.4 D/A与A/D转换接口应用编程 580

9.4.1 DAC0832转换接口应用编程 581

9.4.2 串行接口DAC芯片MAX517应用编程 584

9.4.3 ADC0809转换接口应用编程 588

9.4.4 ICL7135转换接口应用编程 592

9.4.5 串行接口ADC芯片TLC549应用编程 596

9.5 单片机I2C总线扩展应用编程 600

9.5.1 I2C总线简介 600

9.5.2 I2C总线通用驱动程序 603

9.5.3 I2C接口器件24C04的读/写程序 606

9.6 8051单片机存储器扩展与测试应用编程 610

9.6.1 测试8051应用系统总线与扩展存储器的C51驱动程序 610

9.6.2 8051扩展FLASH存储器在系统编程的C51驱动程序 613

第10章 KeilC51综合应用编程实例626

10.1 有关C51编程的若干实际应用技巧626

10.2 C51与汇编语言混合编程与生成应用库文件 632

10.2.1 C51与汇编语言混合编程 632

10.2.2 在Vision4中生成应用库文件 634

10.3 在Vision4中应用硬件目标板 635

10.3.1 带MON51监控程序的硬件目标板 636

10.3.2 带FLASHMON51监控程序的硬件目标板 640

10.4 红外遥控系统设计 642

10.4.1 功能要求 642

10.4.2 硬件电路设计 642

10.4.3 软件程序设计 643

10.5 简易电子琴设计650

10.5.1 功能要求 650

10.5.2 硬件电路设计 650

10.5.3 软件程序设计 650

10.6 带农历的电子万年历设计655

10.6.1 功能要求 655

10.6.2 硬件电路设计 655

10.6.3 软件程序设计 658

10.7 电子密码锁设计671

10.7.1 功能要求 671

10.7.2 硬件电路设计 671

10.7.3 软件程序设计 671

10.8 DS18B20多点温度监测系统设计 687

10.8.1 功能要求 687

10.8.2 硬件电路设计 688

10.8.3 软件程序设计 692

10.9 STH11数字温-湿度测量系统设计 700

10.9.1 功能要求 700

10.9.2 硬件电路设计 700

10.9.3 软件程序设计 704

10.10 单片机SD卡读/写接口设计 710

10.10.1 功能要求 710

10.10.2 硬件电路设计 710

10.10.3 软件程序设计 712

附录AKeilC51与ANSI C的差别 717

附录BKeilC51不同版本的差别 719

附录C 代码优化723

附录DC51编译器的限制 726

附录E 关于配套光盘及硬件目标板727

参考文献 728

德国Keil公司*推出的C51编译器是一种符合工业标准的8051 C语言开发工具,在业界获得了广泛应用,被公认为是最有效的单片机开发手段之一。Keil公司于2010年推出了全新的开发环境Vision4,其中集成了V9.00版本的C51编译器、Debug调试器、RTX51 Tiny实时操作系统等,全面支持8051单片机主流产品及其众多的派生系列。

Keil C51编译器具有如下优点。

(1)经过优化编译后生成的代码,其效率接近于汇编语言生成的代码。

(2)支持所有8051系列单片机,提供对所有外围硬件部件的操作。

(3)无论在有无工作寄存器区转换的情况下,都能产生快速中断代码。

(4)支持Atmel,Dallas,Infineon,Philips和Temic等公司8051衍生产品上的双数据指针及高速算术单元(arithmeticunits)。

(5)能够在整个应用程序中执行全局寄存器优化。

(6)所有应用工具均可产生详细警告信息和错误信息,帮助用户处理难以寻找的问题。

(7)支持再入功能和寄存器区的独立代码,便于中断服务程序和多任务应用程序的执行。

(8)采用分组方式执行代码分组和调试,用户程序代码可以轻松突破64KB空间的限制。

全新集成开发环境Vision4具有强大的项目管理功能,包括源程序文件、开发工具选项以及编程说明等。Vision4内部集成了一个器件数据库(devicedatabase),其中储存了各种型号单片机的片上存储器和集成外围功能信息,通过器件数据库可以自动设置C51编译器、A51汇编器、BL51/Lx51连接定位器、Debug调试器等开发工具的功能选项,充分满足用户使用特定单片机的要求。集成仿真调试功能允许在统一的Vision4环境下进入Debug调试器,提供纯软件模拟仿真(Simulator)和多种硬件驱动调试。Simulator可以在没有单片机硬件的条件下在PC上用纯软件模拟方式完成单片机应用程序仿真调试,硬件驱动Monitor-51可以将带有MON51监控程序的硬件目标板与Vision4无缝连接,直接对目标板进行仿真调试而无须采用昂贵的硬件仿真器。

本书完整地阐述了Keil C51开发工具的功能和使用方法,力求先进性和实用性,给出了大量具体应用实例,不仅介绍了Keil C51自带Simulator软件模拟仿真调试方法,还介绍了Keil C51与Proteus软件联机,实现8051单片机在线虚拟仿真调试方法,同时对广大读者所关心的利用MON51监控程序设计自己硬件目标板的方法做了详细介绍,并在随书光盘中给出了硬件目标板的电路原理图。

全书共分10章:

第1章阐述8051单片机存储器结构,以及在Vision4集成开发环境下进行C51程序设计和编译调试的基本方法。

第2章阐述C51程序设计基础知识,详细介绍C51的数据类型、基本语法、变量及其存储模式、函数、数组与指针等。

第3章阐述Vision4集成开发环境,详细介绍了工作环境、目标程序的仿真调试以及各种应用选项的设置方法。

第4章阐述Keil C51编译器,介绍了各种编译控制命令、数据调用协议,给出了全部C51库函数及其应用范例。

第5章阐述A51宏汇编器,介绍了各种汇编伪指令、宏处理以及汇编控制命令。

第6章阐述BL51/Lx51链接定位器与实用工具,详细介绍了各种链接控制命令、符号转换工具OH51、库管理工具LIB51的使用方法。

第7章阐述RTX51实时多任务操作系统,介绍了RTX51 TINY的功能和使用方法。

第8章阐述8051单片机片内资源的C51应用编程,介绍了C51编程的基本原则、常见问题与解决方法,给出了中断系统、定时器/计数器、串行口、片内FLASH IAP等资源的具体应用实例。

第9章阐述8051单片机片外扩展的C51应用编程,给出了LED数码管、非编码矩阵键盘、点阵字符型和点阵图型LCD、D/A及A/D转换、I2C总线扩展、外部存储器扩展等具体应用实例。

第10章阐述Keil C51综合应用编程,介绍了C51编程的若干实际应用技巧,C51与汇编语言混合编程方法以及如何在Vision4中应用硬件目标板,给出了红外遥控系统、简易电子琴、带农历的电子万年历、电子密码锁、DS18B20多点温度监测系统、STH11数字温-湿度测量系统、单片机SD卡读写接口等大量综合应用实例。2100433B

单片机原理及接口技术(C51编程)相关推荐
  • 相关百科
  • 相关知识
  • 相关专栏