《单片机原理及控制技术》着重介绍计算机控制系统的组成、单片微型计算机的结构,软硬件系统,基本控制算法及在工业控制中的应用技术。全书共9章,主要内容以单片机控制系统为例,介绍微机控制系统的结构、组成、算法;分别讲述基于MCS-51系列单片机的结构及工作原理、指令系统及程序设计(包括C51程序设计)、中断系统及定时/计数器、串行通信、系统扩展技术、过程输入/输出通道、数字控制器设计、计算机控制系统设计与开发等内容。
《单片机原理及控制技术》可作为高等院校自动化、电气、计算机科学与技术、机电一体化等专业计算机控制技术或单片机课程的教材,也可作为从事计算机控制系统技术人员的参考书。
近年来,由于单片计算机具有集成度高、功能强、速度快、体积小、可靠性高、价格低等优点,已广泛应用于工业控制、通信工程,以及人们日常生活的各个方面。它对社会经济的发展有举足轻重的影响,利用单片机技术不仅可以开发新产品,而且可以改造现有的老设备,提高其效率、降低能源消耗。因而,单片机的开发应用前景十分广阔。
如今,单片机的种类和型号非常多,各行业选用的单片机也不尽相同,而各大学所讲授的大多是以MCS-51系列单片机为主。由于不同种类单片机的指令系统不同,相应的汇编语言不能通用,且编程繁杂。为培养能尽快适应社会需求的应用型技术人才,使毕业的学生到企业后,面对各种不同类型的单片机,能很快上手,本书根据掌握知识结构的规律和实际应用的要求,在传统汇编语言的基础上增加了C51语言程序设计,以C51语言和汇编语言各自的特色来实现单片机应用程序,使教学更紧密地与企业需求相结合。
本书是基于MCS-51系列单片机进行讲解的计算机控制技术,结合目前应用非常广泛的C51程序设计以及Kei1C51编译器,在汇编程序设计的基础上,增加单片机C51语言应用程序设计。本书注重实例引导,使读者快速、轻松地进入C51语言编程的环境,尽量减少枯燥和压力感。
全书共分为9章:第1章简要介绍计算机控制系统的组成、分类及目前市场上常用的51系列单片机;第2章介绍基于MCS-51系列单片机的结构及功能;第3章主要介绍单片机的寻址方式、指令系统,以及汇编语言程序设计。本章在讲述指令的同时,列举了大量的实用例题,以便提高学生对MCS_51系列单片机汇编语言的编程技巧;第4章介绍C51高级语言程序设计,从c51编程结构到如何高效地写出c51程序做了详尽的介绍;第5章对MCS一51单片机的中断系统做了较为详尽的介绍;第6章针对计算机控制系统设计中的人机交互与系统扩展进行了较为全面的介绍;第7章介绍计算机控制系统设计中的过程通道;第8章介绍计算机控制系统中的常用数字控制器的设计原理及设计方法;第9章介绍单片机应用系统的设计与开发过程,作为前几章学习后的综合应用,供实验、课程设计及学生课外设计时参考。
本书是编者多年从事“单片机原理及应用”、“计算机控制技术”课程教学和科研的经验总结。书中的很多例题、习题都是精心挑选具有典型功能程序或选自不同项目的部分应用程序,实用性很强。本书在内容安排上由浅人深、由易到难、重点突出、通俗易懂,在单片机原理的基础上,列举了较多的应用实例,突出易学实用的特点。每章后都有相关的习题,帮助学生和参考人员理解消化本书上所讲的理论知识。
本书由王君、祝超群、刘仲民和杨彬共同完成。其中,第1、2、5章由祝超群、杨彬编写,第6章由祝超群、王君编写,第7、8章由王君编写,第3、4、9章由刘仲民编写,附录由祝超群编写。最后,全书由王君统稿完成。
前言
第1章 绪论
1.1 计算机控制系统的组成
1.1.1 计算机控制系统的硬件
1.1.2 计算机控制系统的软件
1.2 计算机控制系统的分类
1.2.1 操作指导系统
1.2.2 直接数字控制系统
1.2.3 计算机监督控制系统
1.2.4 分布式控制系统
1.2.5 现场总线控制系统
1.3 常用的51系列单片机
1.3.1 Intel公司的MCS-51系列单片机
1.3.2 Atmel公司的AT89系列单片机
1.3.3 Philips公司的51系列单片机
1.4 习题
第2章 MCS-51单片机的结构和时序
2.1 MCS-51单片机的结构
2.1.1 MCS-51的组成
2.1.2 CPU的结构
2.1.3 存储器的结构
2.1.4 MCS-51的并行I/O端口
2.1.5 MCS-51的定时/计数器
2.1.6 MCS-51的中断系统
2.1.7 MCS-51的串行接口
2.2 MCS-51的引脚功能及片外总线结构
2.2.1 MCS-51的引脚功能
2.2.2 MCS-51的片外总线结构
2.3 MCS-51单片机的工作方式
2.3.1 复位工作方式
2.3.2 程序执行工作方式
2.3.3 节电工作方式
2.3.4 编程和校验工作方式
2.4 MCS-51单片机的时序
2.4.1 时钟电路
2.4.2 CPU时序的有关概念
2.4.3 MCS-51的取指令和执行指令时序
2.4.4 MCS-51访问外部存储器的指令时序
2.5 习题
第3章 MCS-51系列单片机的指令系统及汇编程序设计
3.1 指令系统概述
3.1.1 汇编指令格式
3.1.2 指令描述符号介绍
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 Mcs-51系列单片机的指令系统
3.3.1 数据传送类指令
3.3.2 算术运算类指令
3.3.3 逻辑运算及移位指令
3.3.4 位操作指令
3.3.5 控制转移类指令
3.4 汇编语言程序设计
3.4.1 汇编语言程序伪指令
3.4.2 结构化程序设计
3.5 习题
第4章 C51高级语言程序设计
4.1 C语言高级编程
4.1.1 C语言的特点
4.1.2 c语言与MCS-51系列单片机
4.1.3 C51编译器
4.1.4 Keil8051开发工具
4.1.5 C51程序结构
4.2 C51对标准C语言的扩展
4.2.1 存储区域
4.2.2 数据类型
4.2.3 常量和变量
4.2.4 存储器模式
4.2.5 绝对地址的访问
4.3 C51的运算符及表达式
4.3.1 算术运算符
4.3.2 关系和逻辑运算符
4.3.3 位运算符
4.3.4 逗号运算符
4.3.5 赋值运算符
4.3.6 条件运算符
4.3.7 指针与地址运算符
4.3.8 表达式和表达式语句
4.4 C51函数
4.5 C51构造数据类型
4.5.1 数组和指针
4.5.2 结构、共同体和枚举
4.6 C51库函数
4.6.1 本征库函数和非本征库函数
4.6.2 访问SFR和位地址的REGxxx.H文件
4.6.3 c51库函数
4.7 C51程序编写
4.7.1 c51程序的基本结构
4.7.2 编写高效的C51程序及优化程序
4.8 C51语言与汇编语言
4.8.1 C51与汇编语言的接口
4.8.2 函数的声明及段名的命名规则
4.9 习题
第5章 MCS-51的定时器、中断系统以及串行口
5.1 Mcs-51单片机的定时/计数器
5.1.1 定时/计数器的结构
5.1.2 定时/计数器的控制
5.1.3 定时/计数器的工作方式
5.1.4 定时/计数器的初始化
5.1.5 定时/计数器应用举例
5.2 Mcs-51单片机的中断系统
5.2.1 MCS-51的中断系统组成
5.2.2 中断源和中断请求标志
5.2.3 中断控制
5.2.4 中断的处理过程及响应时间
5.2.5 中断系统的初始化及应用
5.2.6 中断源的扩展
5.3 MCS-51的串行接口
5.3.1 串行口的结构
5.3.2 串行口的工作方式
5.3.3 串行口的通信波特率
5.3.4 串行口的初始化
5.3.5 串行口的应用举例
5.3.6 串行口在多机通信中的应用
5.4 习题
第6章 单片机的人机交互与扩展技术
6.1 单片机系统的人机交互技术
6.1.1 显示器接口技术
6.1.2 键盘接口技术
6.1.3 串行通信接口技术
6.2 存储器的扩展技术
6.2.1 存储器扩展中应考虑的问题
6.2.2 存储器的并行扩展
6.2.3 存储器的串行扩展
6.3 系统扩展技术
6.3.1 并行I/O接口的扩展及应用
6.3.2 可编程串行显示接口芯片MAX7219及扩展应用
6.4 习题
第7章 过程通道
7.1 输入/输出通道的结构
7.1.1 输入通道的结构
7.1.2 输出通道的结构
7.2 多路开关及采样量化保持
7.2.1 多路模拟开关
7.2.2 信号采样及量化
7.2.3 保持器
7.3 模拟量输出通道接口技术
7.3.1 DAC的主要性能指标
7.3.2 并行DAC及接口技术
7.3.3 串行DAC及接口技术
7.4 模拟量输入通道接口技术
7.4.1 ADC的主要技术指标
7.4.2 并行ADC及接口技术
7.4.3 串行ADC及接口技术
……
第8章 数字控制器设计
第9章 MCS-51系列单片机应用系统开发与设计
附录
参考文献
1.程序存储器程序存储器用于存放用户程序、数据和表格等信息,它以16位的程序计数器(Pc)作为地址指针,因此可直接寻址的地址空间为64KB。在MCS-51系列单片机中,不同的芯片其片内程序存储器的容量是不同的。8031无内部程序存储器,在使用时程序存储器只能外扩,最大的扩展空间为64KB;8051和8751有4KB的片内ROM/EPROM,片外可扩展60KB的程序存储器,但是,片内和片外程序存储器统一编址,共享64KB的地址空间。当单片机的EA引脚接高电平时,如果程序计数器的值在0000H~0FFFH的范围内,则单片机执行片内ROM的程序,如果程序计数器的值在1:FFFH~FFFFH的范围内,则单片机自动读取片外ROM的程序来执行;当单片机的EA引脚接低电平时,单片机忽略片内的程序存储器,直接从外部程序存储器执行程序,此时,外部程序存储器从0000H开始编址。因此,对于无片内ROM的8031而言,必须使其EA引脚接地。
程序地址空间原则上在64KB范围内可由用户任意安排,但是某些特定的单元被保留,用于特定的程序人口地址。这些人口地址在MCS-51系列单片机中是固定的,用户不能更改。相应的入口地址见表2-2。
MCS-51单片机在系统复位后程序计数器地址为0000H,所以,系统从0000H开始取指令并执行程序。因此,0000-0002H3个单元被保留,用于初始化人口地址。这3个字节的单元一般存放一条无条件转移指令,将程序引导到主程序的人口地址。从0003H~0002.AH单元被均匀地分成5段,用于作为5个中断服务程序的人口。每个中断源的人口地址之间仅仅相隔8个单元,没有足够的空间存放中断服务程序。