单片机的C语言程序设计与应用——基于Proteus仿真(第4
作 者:姜志海,姜沛勋 编
定 价:45
出 版 社:电子工业出版社
出版日期:(咨询特价)年07月01日
页 数:244
装 帧:平装
ISBN:66
●章 单片机的C语言概述 1
1.1 单片机的C语言 1
1.1.1 单片机的C语言(C51)的特点 1
1.1.2 单片机的C语言和标准C语言的比较 2
1.1.3 单片机的C语言与汇编语言的优势对比 2
1.2 硬件及软件环境 6
1.2.1 硬件环境 6
1.2.2 软件环境 8
本章小结 8
习题 8
第2章 51系列单片机硬件及C51编程基础 9
2.1 51单片机的总体结构 9
2.1.1 内部结构 9
2.1.2 外部引脚说明 10
2.1.3 CPU的时序周期 13
2.2 51单片机的存储器 14
2.2.1 程序存储器 14
2.2.2 数据存储器 15
2.2.3 特殊功能寄存器 17
2.3 C51语言的数据 20
2.3.1 常量 20
2.3.2 变量 22
2.4 C51语言对单片机主要资源的控制 25
2.4.1 特殊功能寄存器的C51语言定义 25
2.4.2 地址的访问 27
2.5 C51语言的基本运算与流程控制语句 28
2.5.1 基本运算 28
2.5.2 分支判断――if、switch语句 30
2.5.3 循环控制――while、for语句 32
2.5.4 break、continue、return和goto语句 34
2.6 C51语言的数组、指针、函数 36
2.6.1 数组 36
2.6.2 指针 38
2.6.3 函数 39
2.7 C51语言的预处理命令及汇编语句的嵌入 42
2.7.1 文件包含、宏定义、条件编译 42
2.7.2 C51中汇编语句的嵌入 44
2.8 C51程序 45
2.8.1 C51的程序结构 45
2.8.2 C51编程规范及注意事项 47
2.8.3 C51的标识符与关键字 48
本章小结 50
习题 50
第3章 P0~P3口输入/输出的C51编程 52
3.1 51单片机的P0~P3口基础知识 52
3.1.1 P0~P3口结构 52
3.1.2 P0~P3口特点总结 53
3.2 输出操作 54
3.2.1 基本输出操作举例――字节输出与位输出 54
3.2.2 扩展输出操作举例――流水灯与霹雳灯 55
3.2.3 扩展输出操作举例――8段LED数码显示器 57
3.3 输入操作 62
3.3.1 闸刀型开关输入信号 63
3.3.2 单个按钮型开关输入信号 64
3.3.3 多个按钮型开关输入信号――键盘 66
3.4 实验与设计 72
实验1 闸刀型开关输入/8段LED静态显示输出 72
实验2 按钮型开关输入/8段LED静态显示输出 72
设计1:计时秒表的设计 74
设计2:模拟交通信号灯控制装置的设计 74
本章小结 74
习题 75
第4章 中断系统的C51编程 76
4.1 中断系统结构与中断控制 76
4.1.1 中断系统结构 76
4.1.2 特殊功能寄存器 77
4.2 中断优先级与中断函数 78
4.2.1 中断优先级 78
4.2.2 中断函数的结构形式 80
4.3 外部中断源的C51编程 80
4.3.1 外部中断源初始化 80
4.3.2 编程示例 81
4.4 实验与设计 84
实验1 按钮型开关模拟外部中断实验 84
实验2 外部中断优先级实验 85
设计:出租车计价器里程计量装置的设计 87
本章小结 87
习题 88
第5章 定时器/计数器的C51编程 89
5.1 51单片机的定时器/计数器 89
5.1.1 结构 89
5.1.2 特殊功能寄存器 90
5.2 定时器/计数器工作模式 91
5.3 定时器/计数器的应用举例 94
5.3.1 定时器/计数器的初始化 95
5.3.2 应用举例 96
5.4 实验与设计 102
实验1 按钮型开关模拟计数器实验 102
实验2 定时器实验 103
设计1:出租车计价器里程计量装置的设计 104
设计2:计时钟的设计(倒计时) 104
本章小结 104
习题 105
第6章 串行口的C51编程 106
6.1 51单片机串行口基础知识 106
6.1.1 串行口的结构原理 106
6.1.2 串行口的应用控制 107
6.2 51单片机串行口的工作方式 108
6.2.1 串行口工作方式0 108
6.2.2 串行口工作方式1 112
6.2.3 串行口工作方式2 116
6.2.4 串行口工作方式3 119
6.3 51单片机串行口的应用举例 122
6.3.1 串行口编程基础 122
6.3.2 串行口应用举例 124
6.4 实验与设计 127
实验1 串行口控制的流水灯实验 127
实验2 两个单片机通信实验 127
本章小结 129
习题 130
第7章 外部并行扩展的C51编程 131
7.1 51单片机并行I/O口扩展基础 131
7.1.1 系统扩展总线结构图 131
7.1.2 数据线、控制线的连接 132
7.1.3 译码信号的形成――系统扩展的寻址 132
7.2 可编程的I/O接口芯片8255A的C51编程 135
7.2.1 8255A简介 135
7.2.2 利用8255A扩展并行的输入/输出口示例 139
7.2.3 利用Intel 8255A作为8段LED静态显示输出口的示例 140
7.2.4 利用Intel 8255A作为8段LED动态显示输出口的示例 141
7.3 D/A与A/D转换器的C51编程 143
7.3.1 D/A转换器基础 143
7.3.2 8位并行D/A转换器DAC0832 145
7.3.3 A/D转换器基础 150
7.3.4 8位并行A/D转换器ADC0809 151
7.4 液晶显示器的C51编程 155
7.4.1 字符型LCD1602液晶显示模块的C51编程 155
7.4.2 点阵式带汉字库12864液晶显示模块接口技术 160
7.5 实验与设计 168
实验1 DAC0832单缓冲实验 168
实验2 ADC0809实验 169
设计1:电子密码锁的设计 171
设计2:波形发生器的设计 171
本章小结 171
习题 172
第8章 外部串行扩展的C51编程 173
8.1 I2C总线器件的C51编程 173
8.1.1 认识I2C总线接口 173
8.1.2 I2C总线典型器件AT24C02应用举例 175
8.2 SPI总线器件的C51编程 180
8.2.1 认识SPI总线 181
8.2.2 SPI总线典型器件X25045应用举例 182
8.3 单总线的C51编程 186
8.3.1 认识单总线 186
8.3.2 单总线典型器件DS18B20应用举例 187
8.4 串行A/D接口芯片TLC2543的C51编程 193
本章小结 196
习题 197
第9章 μVision2与Proteus使用基础 198
9.1 μVision2集成开发环境 198
9.1.1 File、Edit和View菜单 199
9.1.2 Project、Debug和Flash菜单 201
9.1.3 Peripherals、Tools和Window菜单 202
9.2 用μVision2建立与调试工程 203
9.2.1 工程创建、设置、编译与链接 203
9.2.2 用μVision2调试工程 207
9.2.3 C51程序调试举例说明――HELLO.C 211
9.2.4 Keil C51的调试技巧及举例 213
9.3 Proteus快速入门 216
9.3.1 集成Proteus ISIS环境 216
9.3.2 电路原理图设计 221
9.4 Proteus仿真工具介绍 226
9.4.1 探针 226
9.4.2 虚拟仪器 226
9.4.3 信号发生器 227
9.4.4 仿真图表 227
9.5 Proteus软件中的C51程序运行与调试 228
9.5.1 驱动的安装 228
9.5.2 Keil和Proteus的配置 228
9.5.3 Keil和Proteus的调试过程 229
本章小结 229
习题 230
附录A ASCII码字符表 231
附录B 单片机应用资料查询方法 232
附录C Proteus常用分离器件名称 233
参考文献 234
内容简介
本书是普通高等教育"十一五”重量规划教材,以51系列单片机和C语言为基础,全面系统地介绍单片机的C语言程序设计与应用的基本问题。本书主要内容包括:单片机的C语言概述,51系列单片机硬件与C语言编程基础,P0~P3口输入/输出、中断系统、定时器/计数器、串行口、并行扩展、串行扩展的C51编程,uVision2与Proteus使用基础等。本书提供大量实例及详细说明与注释,硬件设计实例均可在Keil和Proteus软件平台上直接运行,每章后附本章小结、习题、实验与设计等,提供电子课件、Proteus仿真电路及程序代码、习题参考答案。