《51系列单片机项目实践》以51系列单片机为对象,通过项目实践的方式,将单片机原理的主要内容有侧重地融入到9个项目实践中。各个项目的实现无需购置元器件和进行电路制作,使用电路设计与仿真软件Proteus和单片机程序集成开发软件Keil μVision2,将单片机技术的硬件和软件、理论和实践、仿真实验和课程项目设计有机地结合起来,使学生在接近实际开发的过程中较完整地学习单片机原理及应用技术。《51系列单片机项目实践》项目中的所有实例均可在Proteus软件平台上直接运行。
《51系列单片机项目实践》在编程语言的教学上也进行了创新尝试,在第2章和第3章分别对单片机的汇编语言和C语言进行了介绍,除了“流水灯的设计”项目采用汇编语言编程,其余8个项目均采用C语言编程。
《51系列单片机项目实践》可作为高职高专电子信息类各专业的教学和实验用书,也可供学生进行课程设计、毕业设计和参加大学生电子设计竞赛时阅读参考。
前言
第1章 单片机硬件系统基础
1.1 概述
1.1.1 微型计算机系统
1.1.2 单片机应用系统
1.2 MCS-51系列单片机的基本结构
1.2.1 内部结构
1.2.2 信号引脚
1.2.3 时钟电路和复位电路
1.3 MCS-51系列单片机的存储器结构
1.3.1 内部数据存储器
1.3.2 特殊功能寄存器
1.3.3 内部程序存储器
练习和思考题
第2章 单片机汇编语言基础
2.1 概述
2.2 MCS-51系列单片机的指令格式
2.3 MCS-51系列单片机的指令寻址方式
2.3.1 立即数寻址
2.3.2 直接寻址
2.3.3 寄存器寻址
2.3.4 寄存器间接寻址
2.3.5 变址寻址
2.3.6 相对寻址
2.3.7 位寻址
2.4 MCS-51系列单片机的指令系统
2.4.1 指令分类
2.4.2 指令功能
2.4.3 指令执行的过程
2.5 MCS-51系列单片机的数据传送指令
2.5.1 8位数据传送指令
2.5.2 16位数据传送指令
2.5.3 堆栈操作指令
2.5.4 字节交换指令
2.5.5 片外数据传送指令
练习和思考题
第3章 单片机C语言基础
3.1 数据结构
3.1.1 数据类型
3.1.2 常量与变量
3.1.3 数组
3.1.4 指针
3.2 运算符、表达式和优先级
3.2.1 赋值运算符
3.2.2 算术运算符及表达式
3.2.3 关系运算符、表达式及优先级
3.2.4 逻辑运算符、表达式及优先级
3.2.5 位操作运算符及表达式
3.2.6 复合赋值运算符及表达式
3.2.7 指针与地址运算符
3.3 c语言程序基本结构与相关语句
3.3.1 C语言程序的基本结构及其流程图
3.3.2 选择语句
3.3.3 循环语句
3.3.4 循环的嵌套
3.3.5 break、continue和return语句
3.4 函数
3.4.1 函数的分类
3.4.2 函数的定义
3.4.3 函数的参数和函数值
3.4.4 函数的调用与声明
练习和思考题
第4章 一步一步学做仿真实验
4.1 仿真实验:单片机控制单个LED闪烁发光
4.2 仿真实验中用到的软件——Keil快速入门
4.2.1 Keil软件的界面
4.2.2 建立一个工程
4.2.3 产生一个.hex文件
4.3 仿真实验中用到的软件——Proteus快速入门
4.3.1 Proteus软件的界面
4.3.2 仿真单个LED闪烁发光电路
练习和思考题
第5章 并行输入/输出接口
5.1 项目内容:流水灯的设计
5.1.1 硬件电路设计
5.1.2 基本功能
5.2 程序设计
5.2.1 程序代码设计
5.2.2 仿真结果
5.3 相关知识
5.3.1 ORG和END指令
5.3.2 逻辑移位指令
5.3.3 控制转移类指令
5.3.4 子程序调用与返回指令
5.3.5 并行输入/输出P1口的结构
5.3.6 LED的应用
5.3.7 延时子程序的设计
5.4 知识综述:并行输入/输出接口
5.4.1 P0口
5.4.2 P2口
5.4.3 P3口
练习和思考题
第6章 单片机驱动LED数码管
6.1 项目内容:倒计时秒表设计
6.1.1 硬件电路设计
6.1.2 基本功能
6.2 程序设计
6.2.1 程序代码设计
6.2.2 仿真结果
6.3 相关知识
6.3.1 I,ED数码管原理
6.3.2 LED数码管字形码
6.4 知识扩展
6.4.1 LED静态显示方式
6.4.2 IED动态显示方式
练习和思考题
第7章 单片机的键盘控制
7.1 项目内容:简单计算器的设计
7.1.1 硬件电路设计
7.1.2 基本功能
7.2 程序设计
7.2.1 程序代码设计
7.2.2 仿真结果
7.3 相关知识:单片机系统中的键盘接口技术
7.3.1 键盘工作原理及消抖
7.3.2 独立式键盘
7.3.3 矩阵式键盘
7.4 8255A并行输人/输出接口扩充键盘
7.4.1 8255A的基础知识
7.4.2 8255A键盘的扩充
练习和思考题
第8章 单片机的中断系统
8.1 项目内容:八路抢答器
8.1.1 基本功能
8.1.2 硬件电路设计
8.2 程序设计
8.3 相关知识
8.3.1 中断的基本概念
8.3.2 MCS-5l系列单片机的中断系统
8.3.3 与中断有关的寄存器
8.3.4 汇编语言中断程序设计要点
8.3.5 c语言中断程序设计要点
8.3.6 中断应用举例
练习和思考题
第9章 定时/计数器
9.1 项目内容:电子时钟的设计
9.1.1 硬件电路设计
9.1.2 基本功能
9.2 程序设计
9.2.1 程序代码设计
9.2.2 仿真结果
9.3 相关知识:定时/计数器综述
9.3.1 定时/计数器的结构和工作原理
9.3.2 定时/计数器的工作方式寄存器和控制寄存器
9.3.3 定时/计数器的工作方式
9.3.4 定时/计数器的初始化
9.3.5 定时/计数器的应用举例
练习和思考题
第10章 单片机串行接口通信
10.1 项目内容:LED点阵显示汉字
10.1.1 硬件电路设计
10.1.2 基本功能
10.2 程序设计
10.2.1 程序代码设计
10.2.2 仿真结果
10.3 相关知识
10.3.1 字符和汉字显示的基本原理
10.3.2 字符、汉字模块的生成
10.3.3 LED点阵模块
10.3.4 LED点阵的驱动方法
10.3.5 单片机的串行接口工作模式
练习和思考题
第11章 单片机与A/D接口
11.1 项目内容}数字电压表的设计
11.1.1 硬件电路设计
11.1.2 基本功能
11.2 程序设计
11.2 一程序代码设计
11.2.2 仿真结果.
11.3 相关知识
11.3.1 A/D转换器概述
11.3.2 ADC0809的内部结构和信号引脚
11.3.3 8051单片机与ADC0809的接口
11.3.4 D/A转换器综述
11.3.5 805l单片机与DAC0832的接口
练习和思考题
第12章 单片机与液晶显示器
12.1 项目内容:液晶显示器显示WWW.empbook.com
12.1.1 硬件电路设计
12.1.2 基本功能
12.2 程序设计
12.2.1 程序代码设计
12.2.2 仿真结果
12.3 相关知识
12.3.1 LCMl602外观及功能
12.3.2 LCMl602与单片机连接
12.3.3 LCMl602的读写操作
12.3.4 LCMl602的指令
12.3.5 LCMl602字符显示位的控制
12.3.6 LCMl602的初始化
12I3.7.LCMl602的自定义字符
练习和思考题
第13章 测温元件DSl8820应用
13.1 项目内容:DSl8820数字温度计
13.1.1 硬件电路设计
13.1.2 基本功能
13.2 程序设计
13.2.1 程序代码设计
13.2.2 仿真结果
13.3 相关知识:DSl8820介绍和1-Wire总线接口
13.3.1 DSl8820的外观及功能
13.3.2 DSl8820的存储器结构
13.3.3 DSl8820的命令序列及
操作时序
练习和思考题
附录
附录 AProteus常用元器件英文缩写表
附录 BMCS-5l指令表
参考文献