《高等职业教育“十二五”规划教材:单片机原理与接口技术》以89C51单片机为例,以单片机基础知识和系统应用为主线,介绍了开发单片机产品的方法和必备工具,以及开发单片机产品的全过程。主要内容包括单片机概述、单片机学习基础、单片机开发平台的建立、单片机芯片结构、单片机存储器、80C51的指令系统和程序设计、80C51单片机的中断、单片机定时/计数器、单片机的串口及应用、显示接口设计等内容。全书从实际应用出发,将单片机的基本知识与基本原理、C51程序设计和典型实例教学有机地结合在一起,体系完整,便于自学和教学。
《高等职业教育“十二五”规划教材:单片机原理与接口技术》可作为高职高专应用电子技术、自动化、机电和计算机类专业的教材,也可作为电子爱好者和各类工程技术人员学习单片机应用技术的参考书。
前言
单元1 单片机概述
1.1 初识单片机
1.1.1 单片机的外观
1.1.2 单片机结构及概念
1.1.3 单片机的功能及应用
1.2 单片机基本知识简介
1.2.1 基本型和增强型
1.2.2 芯片中“C”和“S”的含义
1.2.3 常用存储器类型
1.2.4 80C51与AT89C
1.2.5 AT89C51和AT89S
1.3 单片机的型号
1.4 单片机的分类
1.5 初学者的选择
思考与练习
单元2 单片机学习基础
2.1 单片机常用术语
2.1.1 位
2.1.2 字节
2.1.3 字和字长
2.1.4 电平的高与低
2.2 数制与编码
2.2.1 数制
2.2.2 数制的转换
2.2.3 计算机中数值的表示方法
2.2.4 二进制的算术运算和逻辑运算
2.2.5 计算机中使用的编码
2.3 单片机电路制作常用元器件
2.3.1 面包板
2.3.2 万用板
2.3.3 印制电路板
2.3.4 焊接方法及其工具
2.3.5 二极管
2.3.6 电容
2.3.7 电阻
2.3.8 晶振基础知识
思考与练习
单元3 单片机开发平台的建立
3.1 单片机开发过程
3.2 硬件平台建立
3.3 软件平台建立
3.3.1 Keil集成开发环境安装方法
3.3.2 Keil工程的建立、设置与编译、连接
3.3.3 Keil的调试命令与方法
3.4 程序下载方法
思考与练习
单元4 单片机芯片结构
4.1 80C51单片机外部引脚
4.2 80C51单片机的总线
4.3 单片机内部结构
4.4 单片机最小系统
4.4.1 时钟电路与时序
4.4.2 单片机的复位电路
4.5 单片机最小系统的制作
4.6 单片机的工作过程
思考与练习
单元5 单片机存储器
5.1 存储器结构
5.2 程序存储器
5.3 数据存储器
5.3.1 工作寄存器区(00H~1FH)
5.3.2 位寻址区(20H~2FH)
5.3.3 通用RAM区(30H~7FH)
5.3.4 特殊功能寄存器区(80H~FFH)
5.4 存储器的扩展
5.4.1 存储器三总线扩展方法
5.4.2 存储器存储容量的计算和编址方法
5.4.3 程序存储器的扩展
5.4.4 数据存储器的扩展
思考与练习
单元6 80C51的指令系统和程序设计
6.1 汇编语言的指令格式
6.2 寻址方式
6.2.1 立即寻址方式
6.2.2 直接寻址方式
6.2.3 寄存器寻址方式
6.2.4 寄存器间接寻址方式
6.2.5 变址寻址方式
6.2.6 相对寻址方式
6.2.7 位寻址方式
6.3 80C51的指令系统
6.3.1 伪指令
6.3.2 数据传送类指令
6.3.3 算术运算类指令
6.3.4 逻辑运算类指令
6.3.5 位操作指令
6.3.6 控制转移类指令
6.4 绘制流程图
思考与练习
单元7 80C51单片机的中断
7.1 中断的定义与处理过程
7.1.1 中断的定义
7.1.2 中断的处理过程
7.2 80C51系列单片机的中断系统
7.2.1 中断源
7.2.2 中断源的入口地址
7.3 中断寄存器的设置
7.3.1 定时/计数器控制寄存器TCON
7.3.2 串口控制寄存器SCON
7.3.3 中断允许控制寄存器IE
7.3.4 中断优先级控制寄存器IP
7.4 中断程序编写
思考与练习
单元8 单片机定时/计数器
8.1 定时/计数器的结构及工作原理
8.1.1 定时/计数器T0、T1的结构
8.1.2 定时/计数器T0、T1的工作原理
8.2 定时/计数器的控制寄存器
8.2.1 定时器控制寄存器TCON
8.2.2 工作方式控制寄存器TMOD
8.3 定时/计数器的工作方式
8.3.1 方式
8.3.2 方式
8.3.3 方式
8.3.4 方式
8.4 定时/计数器应用举例
8.5 看门狗定时器
8.5.1 看门狗定时器简介
8.5.2 单片机的内置看门狗定时器
思考与练习
单元9 单片机的串口及应用
9.1 数据通信概述
9.1.1 并行通信和串行通信
9.1.2 串行通信的基本知识
9.1.3 串行通信的传输方式
9.2 80C51串口及控制
9.2.1 80C51串口结构
9.2.2 80C51串口控制
9.3 串口的工作方式
9.3.1 串口方式0——同步移位寄存器方式
9.3.2 串口方式1——8位UART
9.3.3 串口方式2和3——9位UART
9.3.4 波特率的计算
9.3.5 串口的初始化
9.4 单片机与PC串行通信
9.4.1 RS232C标准接口总线
9.4.2 单片机与PC串行通信硬件设计
9.5 单片机串行通信程序的设计
思考与练习
单元10 显示接口设计
10.1 数码管显示
10.1.1 数码管的结构与工作原理
10.1.2 数码管字形编码
10.2 LED数码显示器的工作方式
10.2.1 LED静态显示接口
10.2.2 LED动态显示接口
10.3 LCD1602液晶屏
10.3.1 LCD1602液晶屏的外观及引脚
10.3.2 LCD1602的指令
10.3.3 单片机与字符液晶屏的接口与编程
思考与练习
单元11 键盘接口
11.1 按键开关介绍
11.2 按键抖动消除
11.3 独立式键盘接口电路
11.4 矩阵式键盘接口电路
11.5 键盘接口程序设计
11.5.1 独立式键盘控制LED
11.5.2 矩阵式键盘控制数码管
思考与练习
单元12 数模转换器和模数转换器
12.1 模数转换器原理及其主要技术指标
12.1.1 模数转换器原理
12.1.2 模数转换器主要技术指标
12.1.3 典型模数转换器芯片ADC简介
12.2 单片机与ADC0809的连接
12.2.1 定时传送方式
12.2.2 查询方式
12.2.3 中断方式
12.3 数模转换器及其性能指标
12.3.1 数模转换器的性能指标
12.3.2 典型数模转换器DAC0832简介
12.4 DAC0832应用举例
12.4.1 单缓冲方式应用举例——产生锯齿波
12.4.2 双缓冲方式应用举例
思考与练习
单元13 电动机的单片机控制
13.1 步进电动机控制接口技术
13.1.1 步进电动机的工作原理
13.1.2 环形脉冲分配器
13.1.3 步进电动机的驱动
13.1.4 步进电动机与单片机接口电路
13.2 直流电动机的运行控制
13.2.1 PWM控制
13.2.2 直流电动机转速、转向的PWM控制
13.2.3 单片机控制直流电动机应用举例
思考与练习
单元14 单片机C51程序设计
14.1 C51概述
14.2 C51数据结构和语法
14.2.1 常量与变量
14.2.2 整型变量与字符型变量
14.2.3 关系运算符和关系表达式
14.2.4 逻辑运算符和逻辑表达式
14.2.5 if语句
14.2.6 switch语句
14.2.7 for语句
14.2.8 while语句
14.2.9 dowhile语句
14.2.1 0break语句
14.2.1 1continue语句
14.2.1 2结构体
14.2.1 3共用体
14.2.1 4指针
14.2.1 5typedef类型定义
14.2.1 6C51关键字
14.3 KeilC51的数据结构和语法
14.3.1 C51数据类型
14.3.2 8051的特殊功能寄存器
14.3.3 KeilC51编程中8051的存储类型
14.3.4 KeilC51的指针
14.3.5 KeilC51的使用注意点
14.4 KeilC51硬件编程
14.4.1 8051的I/O口编程
14.4.2 8051的定时器编程
14.4.3 8051的中断服务
14.4.4 8051的串口编程
14.5 C51与汇编语言的混合编程
14.5.1 C51编译器格式规范
14.5.2 C51函数及其相关段的命名规则
14.5.3 C51函数的参数传递规则
14.5.4 SRC编译控制命令
14.5.5 C51与汇编语言的混合编程方法
14.6 C51程序设计实例
14.6.1 用DAC0832产生一个三角波
14.6.2 键盘和数码管显示设计
思考与练习
单元15 单片机系统的电磁兼容设计
15.1 硬件抗干扰技术
15.1.1 输入输出隔离
15.1.2 硬件滤波电路
15.1.3 接地技术
15.1.4 屏蔽
15.2 软件抗干扰技术
15.2.1 数字滤波
15.2.2 指令冗余防程序“跑飞”
15.2.3 “软件陷阱”防程序“跑飞”
15.2.4 使用“看门狗”处理程序“跑飞”
15.2.5 通过复位使系统恢复正常
思考与练习
单元16 单片机控制实际应用
16.1 卧式车床的数控改造
16.1.1 80C51单片机控制的硬件系统设计
16.1.2 车刀架伺服系统软件设计
16.2 水塔水位控制系统
16.2.1 水塔水位控制系统功能
16.2.2 水塔水位控制系统的硬件组成
16.2.3 水塔水位控制系统的软件设计
16.3 剪切机的控制系统
16.3.1 剪切机工作过程
16.3.2 剪切机硬件系统设计
16.3.3 剪切机的软件设计
思考与练习
附录
附录A ASCII码表
附录B 80C51单片机指令系统
参考文献