描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787121306952
《新编51单片机C语言教程》起点低、由浅入深、语言通俗易懂,并且内容结构安排符合学习认知规律。本书适合作为初学者学习51单片机及编程的自学图书,也适合作为职业院校电类专业的单片机教材。
1.1 单片机简介 1
1.1.1 什么是单片机 1
1.1.2 单片机应用系统的组成及举例说明 2
1.1.3 单片机的分类 3
1.1.4 单片机的应用领域 4
1.2 用实例了解单片机应用系统的开发过程 5
1.2.1 明确控制要求并选择合适型号的单片机 5
1.2.2 设计单片机电路原理图 5
1.2.3 制作单片机电路 6
1.2.4 用Keil 软件编写单片机控制程序 7
1.2.5 计算机、下载(烧录)器和单片机的连接 10
1.2.6 用烧录软件将程序写入单片机 13
1.2.7 单片机电路的供电与测试 15
1.3 与单片机有关的基础知识 17
1.3.1 单片机基础电路 17
1.3.2 数制与数制的转换 24
1.3.3 单片机的数的表示及运算 27
1.4 C51语言基础 29
1.4.1 常量 29
1.4.2 变量 30
1.4.3 运算符 31
1.4.4 关键字 34
1.4.5 数组 34
1.4.6 循环语句 36
1.4.7 选择语句 37
第2章 51单片机的硬件系统 40
2.1 8051单片机的引脚功能与内部结构 40
2.1.1 引脚功能说明 40
2.1.2 单片机与片外存储器的连接与控制 43
2.1.3 内部结构说明 44
2.2 8051单片机I/O端口的结构与工作原理 47
2.2.1 P0端口 47
2.2.2 P1端口 48
2.2.3 P2端口 49
2.2.4 P3端口 50
2.3 8051单片机的存储器 51
2.3.1 存储器的存储单位与编址 51
2.3.2 片内、外程序存储器的使用与编址 52
2.3.3 片内、外数据存储器的使用与编址 53
2.3.4 数据存储器的分区 53
2.3.5 特殊功能寄存器(SFR) 56
2.4 STC89C5x系列单片机介绍 59
2.4.1 STC89C5x单片机的版本、封装形式和引脚功能说明 60
2.4.2 STC89C5x系列单片机的型号命名规则 63
2.4.3 STC89C5x系列单片机的常用型号的主要参数 64
2.4.4 STC89C5x系列单片机的I/O端口 64
2.4.5 STC89C5x系列单片机的程序存储器与数据存储器 68
2.4.6 STC89C5x系列单片机的特殊功能寄存器 69
第3章 Keil C51编程软件的使用 72
3.1 Keil C51软件的安装 72
3.1.1 Keil C51软件的版本及获取 72
3.1.2 Keil C51软件的安装 72
3.2 程序的编写与编译 75
3.2.1 启动Keil C51软件并新建工程文件 75
3.2.2 新建源程序文件并与工程关联起来 77
3.2.3 编写程序 79
3.2.4 编译程序 81
3.3 程序的仿真与调试 84
3.3.1 软件仿真调试 85
3.3.2 硬件仿真调试 91
第4章 单片机驱动LED与LED数码管的电路及编程 95
4.1 单片机驱动LED的电路及编程 95
4.1.1 发光二极管(LED)外形、性质与检测 95
4.1.2 单片机连接8个LED的电路 97
4.1.3 位操作与字节操作方式点亮单个LED的程序及详解 98
4.1.4 单个LED闪烁发光的程序及详解 100
4.1.5 单个LED以不同频率闪烁发光的程序及详解 101
4.1.6 位操作和字节操作方式点亮多个LED的程序及详解 102
4.1.7 多个LED以不同频率闪烁发光的程序及详解 102
4.1.8 多个LED左移和右移的程序及详解 103
4.1.9 LED循环左移和右移的程序及详解 105
4.1.10 LED左右移动并闪烁发光的程序及详解 106
4.1.11 用查表方式控制LED发光的程序及详解 107
4.1.12 LED花样发光的程序及详解 108
4.1.13 用PWM(脉宽调制)方式调节LED亮度的原理与程序 108
4.2 单片机驱动一位LED数码管显示的电路及编程 110
4.2.1 一位LED数码管外形、结构与检测 110
4.2.2 单片机连接一位LED数码管的电路 112
4.2.3 单个数码管静态显示一个字符的程序及详解 113
4.2.4 单个数码管动态显示多个字符的程序及详解 113
4.2.5 单个数码管环形转圈显示的程序及详解 114
4.2.6 单个数码管显示逻辑电平的程序及详解 115
4.3 单片机驱动8位LED数码管显示的电路及编程 115
4.3.1 多位LED数码管外形、结构与检测 115
4.3.2 单片机连接8位共阴极数码管的电路 117
4.3.3 8位数码管显示一个字符的程序及详解 118
4.3.4 8位数码管逐位显示8个字符的程序及详解 119
4.3.5 8位数码管同时显示8个字符的程序及详解 120
4.3.6 8位数码管动态显示8个以上字符的程序及详解 120
第5章 中断的使用及编程 122
5.1 中断的基本概念与处理过程 122
5.1.1 什么是中断 122
5.1.2 中断的基本概念 122
5.1.3 中断的处理过程 123
5.2 8051单片机的中断系统结构与控制寄存器 123
5.2.1 中断系统的结构 123
5.2.2 中断源寄存器 124
5.2.3 中断允许寄存器IE 125
5.2.4 中断优先级控制寄存器IP 126
5.3 中断的应用编程举例 127
5.3.1 中断使用的电路例图 127
5.3.2 外部中断0以低电平方式触发中断的程序 128
5.3.3 外部中断1以下降沿方式触发中断的程序 128
第6章 定时器/计数器的使用及编程 131
6.1 定时器/计数器的定时与计数功能 131
6.1.1 定时功能 131
6.1.2 计数功能 132
6.2 定时器/计数器的结构原理 132
6.2.1 定时器/计数器的结构 132
6.2.2 定时器/计数器的工作原理 133
6.3 定时器/计数器的控制寄存器与4种工作方式 134
6.3.1 定时器/计数器控制寄存器TCON 134
6.3.2 工作方式控制寄存器TMOD 135
6.3.3 定时器/计数器的工作方式 136
6.4 定时器/计数器的应用及编程 140
6.4.1 产生1kHz方波信号的程序及详解 140
6.4.2 产生50kHz方波信号的程序及详解 141
6.4.3 产生周期为1s方波信号的程序及长延时的方法 142
第7章 独立按键与矩阵键盘输入电路及编程 144
7.1 独立按键输入电路及编程 144
7.1.1 开关输入产生的抖动及软、硬件解决方法 144
7.1.2 8个独立按键与8个LED的单片机电路 145
7.1.3 一个按键点动控制一个LED亮灭的程序及详解 146
7.1.4 一个按键锁定控制一个LED亮灭的程序及详解 146
7.1.5 4路抢答器的程序及详解 147
7.1.6 独立按键控制LED和LED数码管的单片机电路 148
7.1.7 两个按键控制一位数字增、减并用8位数码管显示的程序及详解 149
7.1.8 两个按键控制多位数字增、减并用8位数码管显示的程序及详解 150
7.1.9 按键长按与短按产生不同控制效果的程序及详解 152
7.1.10 8个独立按键控制LED和LED数码管显示的程序及详解 154
7.2 矩阵键盘输入电路及编程 156
7.2.1 16键矩阵键盘输入与8位数码管显示的单片机电路 156
7.2.2 矩阵键盘行列扫描方式输入及显示的程序及详解 158
7.2.3 中断触发键盘行列扫描的矩阵键盘输入显示电路及程序 161
7.2.4 矩阵键盘密码锁程序及详解 166
第8章 点阵和液晶显示屏的使用及编程 170
8.1 双色LED点阵的使用及编程 170
8.1.1 双色LED点阵的外形、结构原理与检测 170
8.1.2 单片机配合74HC595芯片驱动双色LED点阵的电路 177
8.1.3 双色点阵显示一种颜色字符的程序及详解 178
8.1.4 双色点阵交替显示两种颜色字符的程序及详解 180
8.1.5 字符移入和移出点阵的程序及详解 182
8.2 1602字符型液晶显示屏的使用及编程 185
8.2.1 1602字符型液晶显示屏的硬、软件资源 185
8.2.2 单片机驱动1602液晶显示屏的电路 192
8.2.3 1602液晶显示屏静态显示字符的程序及详解 192
8.2.4 1602液晶显示屏逐个显现字符的程序及详解 194
8.2.5 1602液晶显示屏字符滚动显示的程序及详解 195
8.2.6 矩阵键盘输入与1602液晶显示屏显示的电路及程序 196
第9章 步进电动机的使用及编程 202
9.1 步进电动机与驱动芯片介绍 202
9.1.1 步进电动机的结构与工作原理 202
9.1.2 驱动芯片ULN2003 205
9.1.3 五线四相步进电动机 207
9.2 单片机驱动步进电动机的电路及编程 208
9.2.1 由按键、单片机、驱动芯片和数码管构成的步进电动机驱动电路 208
9.2.2 用单4拍方式驱动步进电动机正转的程序及详解 209
9.2.3 用双4拍方式驱动步进电动机自动正反转的程序及详解 209
9.2.4 外部中断控制步进电动机正反转的程序及详解 211
9.2.5 用按键控制步进电动机启动、加速、减速、停止的程序及详解 212
第10章 串行通信的使用及编程 216
10.1 概述 216
10.1.1 并行通信和串行通信 216
10.1.2 串行通信的两种方式 216
10.1.3 串行通信的数据传送方向 218
10.2 串行通信口的结构与原理 219
10.2.1 串行通信口的结构 219
10.2.2 串行通信口的工作原理 220
10.3 串行通信口的控制寄存器 220
10.3.1 串行控制寄存器(SCON) 220
10.3.2 电源控制寄存器(PCON) 221
10.4 4种工作方式与波特率的设置 221
10.4.1 方式0 221
10.4.2 方式1 223
10.4.3 方式2 223
10.4.4 方式3 224
10.4.5 波特率的设置 224
10.5 串行通信的应用编程 226
10.5.1 利用串行通信的方式0实现产品计数显示的电路及编程 226
10.5.2 利用串行通信的方式1实现双机通信的电路及编程 227
第11章 I2C总线通信的使用及编程 231
11.1 I2C总线介绍 231
11.1.1 概述 231
11.1.2 I2C总线通信协议 232
11.1.3 I2C总线的数据传送格式 232
11.2 I2C总线存储器24C02(E2PROM) 233
11.2.1 外形与引脚功能说明 233
11.2.2 器件地址的设置 234
11.2.3 读/写操作 234
11.3 单片机与24C02的I2C总线通信电路及编程 237
11.3.1 模拟I2C总线通信的程序及详解 237
11.3.2 利用I2C总线从24C02读写一个数据并用LED显示的电路及程序 240
11.3.3 利用I2C总线从24C02读写多个数据的电路及程序 242
11.3.4 利用24C02存储按键的操作信息的电路及程序 243
第12章 AD(模数)与DA(数模)转换电路及编程 247
12.1 AD与DA转换 247
12.1.1 AD转换 247
12.1.2 DA转换 249
12.2
哪些地方要用到单片机?单片机的应用非常广泛,已深入到工业、农业、商业、教育、国防及日常生活等各个领域。
单片机在家电方面的应用主要有:彩色电视机、影碟机内部的控制系统;数码相机、数码摄像机中的控制系统;中高档电冰箱、空调器、电风扇、洗衣机、加湿器和消毒柜中的控制系统;中高档微波炉、电磁灶和电饭煲中的控制系统等。
单片机在通信方面的应用主要有:移动电话、传真机、调制解调器和程控交换机中的控制系统;智能电缆监控系统、智能线路运行控制系统和智能电缆故障检测仪等。
单片机在商业方面的应用主要有:自动售货机、无人值守系统、防盗报警系统、灯光音响设备、IC卡等。
单片机在工业方面的应用主要有:数控机床、数控加工中心、无人操作、机械手操作、工业过程控制、生产自动化、远程监控、设备管理、智能控制和智能仪表等。
单片机在航空、航天和军事方面的应用主要有:航天测控系统、航天制导系统、卫星遥控遥测系统、载人航天系统、导弹制导系统和电子对抗系统等。
单片机在汽车方面的应用主要有:汽车娱乐系统、汽车防盗报警系统、汽车信息系统、汽车智能驾驶系统、汽车全球卫星定位导航系统、汽车智能化检验系统、汽车自动诊断系统和交通信息接收系统等。
本书讲授单片机技术有什么特色?由于单片机应用广泛,学习电工电子技术的人几乎都希望能掌握单片机技术,但真正掌握单片机技术并能进行单片机软、硬件开发的人却不多。为什么会这样呢?一句话概括就是“学单片机编程太难了!”。本书就是为解决学习单片机编程难而推出的,全书是以“单片机实际电路 大量典型的实例程序 详细易懂的程序逐条说明”方式编写的,读者阅读程序时,除了可查看与程序对应的单片机电路外,遇到某条程序语句不明白时还可查看该程序语句的详细说明,从而理解程序运行的来龙去脉。读懂并理解程序后,读者可模仿尝试采用类似方法自己编写一些程序,慢慢就可以自己编写一些复杂的程序,从而成为单片机软件编程高手。另外,读者可登录(易天电学网)免费下载或查看与本书有关的技术资源和其他图书。
本书在编写过程中得到了很多老师的支持,其中江西工程学院的蔡玉山教授编写了第2、5、6章内容,另外感谢刘元能、刘凌云、黄勇、蔡春霞、邓艳姣、何慧、詹春华、黄晓玲、万四香、邵永亮、蔡华山、王娟、李清荣、刘海峰、蔡理刚、何彬、王玉兰、何宗昌、蔡理忠、邵永明、蔡任英、余要先、石韧和王丽等参与了部分章节的编写工作,在此一致表示感谢。由于我们水平有限,书中的错误和疏漏之处在所难免,望广大读者和同人予以批评指正。
需要配套代码的读者,可发送电子邮件至索取!
评论
还没有评论。