本书以Proteus ISIS现代电子系统仿真技术为平台, 通过构建系统原型实现硬件与软件的协同仿真。全书共15章, 系统地介绍MCS-51系列单片机的硬件结构、Keil uVision 4、Proteus仿真软件、C51语言基础与程序设计、定时与中断系统、显示、键盘、转换器、串行通信、电机等接口技术。
本书是广东省高等学校立项精品教材、广东省高等学校精品资源共享课“单片机应用技术”配套教材。本书提供36项设计性、仿真性、实用性的工程项目,基本涵盖单片机应用技术教学知识模块。其中部分项目内容来自教学实践及科研工作,使本书不仅具有先进性和实用性,而且更加有活力与特色。本书重点突出仿真技术在教与学中的应用,仿真内容丰富、项目化案例直观、生动,并且有很强的可读性、时效性和可操作性,基本体现了工程应用特征。本书适合作为高等院校电子信息类、电气控制类等专业的单片机课程教材,还可作为高职高专以及单片机应用能力培训和电子设计竞赛的教材,也可作为广大从事单片机系统开发与应用的工程技术人员参考书。
单片机(又称为微控制器)是一种面向控制的大规模集成电路芯片。目前,单片机技术的应用已经渗透到现代国防、工业自动化、电子电气、通信及物联网等各个领域。在控制应用领域,51系列单片机形成了规模庞大、功能齐全、资源丰富的产品群,国内目前众多院校也大量以51单片机作为单片机应用技术课程的基本内容。随着嵌入式系统、片上系统等产品的开发,51单片机不断地以IP核的形式在以FPGA为基础的片上系统中被充分利用。由此可见,以单片机为核心设计的各种智能仪器仪表、工业检测控制、通信设备、信息处理、家用电器、汽车电子、机电一体化等方面得到了广泛应用并取得了巨大的成果。与此同时,单片机技术也是学习ZigBee技术开发、STM32和ARM嵌入式系统等高一层技术的基础。
1. 本书特色
(1) 强化基础、由浅入深
本书采用Keil软件和Proteus软件仿真平台,一是在Keil开发环境中,学习C51语言基本知识、编程语法; 二是利用Proteus仿真平台,由浅入深地介绍C51程序结构、C51语言基本语句和C51程序设计等基础内容。通过这两个平台学习C51语言与全面掌握单片机的基础知识。
(2) 软硬结合、协同仿真
本书以MCS-51系列单片机为基础、Proteus ISIS仿真技术为学习平台,介绍单片机C51语言对单片机的硬件资源和外部设备进行控制,把书中的知识点、电路原理及应用内容转化为生动活泼、形象逼真的仿真映像,使抽象的原理变得形象化与可视化。硬件与软件相结合及协同仿真,能够更好地论述单片机系统电路设计原理和程序设计方法,避免传统教学中先理论后实践的脱节现象。
(3) 突出项目、工程理念
本书力求单片机系统规范化与项目化相结合,系统论述单片机工作原理的同时,突出了项目化的学习过程,强调具有开放性、实践性、职业性、仿真化和灵活应用的学习模式。全书提供了48个可仿真与执行、具有工程实际意义的应用项目,根据应用项目举一反三,快速掌握单片机相关的知识点,并且在整个单片机应用系统实际中,适应不同层次人员的需求。
(4) 内容丰富、涵盖专业
本书涵盖单片机应用技术的多个领域,内容较为丰富,对每项内容都详细介绍相关的背景知识、硬件知识、电路设计和C51程序设计思路。同时利用广东省精品资源共享课“单片机应用技术”教学网站http://202.192.72.40:8089和http://61.152.93.162:8024提供丰富的教学资源与自主学习平台,逐步帮助读者提高单片机应用技术的学习效率。另外,书中内容还包括了单片机各方面的教学模块,满足电子信息类、电气工程类、计算机应用技术类等工科专业以及从事该技术领域的用书需求。
2. 本书内容
第1章主要介绍微型计算机的基本概念、51系列单片机发展和单片机的应用领域。
第2章主要介绍MCS-51系列单片机的内部结构、存储器及I/O电路。
第3章主要介绍Keil Vision 4集成开发环境、Keil Vision 4的C51开发流程、C51的数据类型、C51的运算符、C51的表达式等。
第4章主要介绍Proteus ISIS仿真软件、Proteus电路设计基础、基于Proteus的设计实例等。
第5章主要介绍C51语言程序的基本结构、C51语言基本语句、C51的数组、C51的函数等。
第6章介绍单片机的定时器/计数器、基于Proteus的定时器/计数器项目设计与仿真。
第7章介绍单片机的中断系统、外部中断源的C51程序设计、定时中断源的C51程序设计、串行中断源的C51程序设计、外部中断源的扩展、基于Proteus中断系统项目设计与仿真。
第8章介绍LED显示器与接口技术、基于Proteus的LED显示器项目设计与仿真。
第9章介绍点阵LED结构及原理、基于Proteus的大屏幕显示器项目设计与仿真。
第10章介绍1602LCD液晶显示模块、基于Proteus的LCD显示器项目设计与仿真、128×64 LCD图形显示器接口技术、基于Proteus的12864LCD显示器项目设计与仿真。
第11章介绍独立式键盘接口技术、基于Proteus的独立式键盘项目设计与仿真、矩阵式键盘接口技术、基于Proteus的矩阵式键盘项目设计与仿真。
第12章介绍8位并行A/D转换器接口技术、8位串行A/D转换器接口技术、基于Proteus的A/D转换器项目设计与仿真。
第13章介绍D/A转换原理、DAC0832与单片机接口技术、基于Proteus的DAC0832电路项目设计与仿真。
第14章介绍通信的一般概念、MCS-51单片机串行通信接口、MCS-51单片机串行口的扩展应用、MCS-51单片机双机串行通信的应用、基于Proteus的单片机双机串行通信项目设计与仿真、MCS-51单片机多机串行通信的应用。
第15章介绍直流电动机控制技术、基于Proteus的直流电动机控制项目设计与仿真、步进电动机控制技术、基于Proteus的步进电动机控制项目设计与仿真。
本书结构紧凑,内容涉及较为全面,项目案例丰富,仿真结果准确可靠,但与实际应用电路或许存在一定的差异,特别是PC的运行速度与硬件运行速度有一定的差异,因此,在实际应用中还要进行适当的调试。由于编者的水平有限,书中难免有不足之处,恳请广大读者和同行提出宝贵意见,以使日后进一步改进。
3. 读者对象
(1) 大学、高职高专及*、省级骨干教师等相关专业的培训班学员。
(2) 单片机及电子设计大赛爱好者。
(3) 电子工程技术及应用系统开发人员。
本书获得了广州市风标电子技术有限公司匡载华总经理在Proteus技术方面的大力支持与帮助,在此表示衷心的感谢。
编者
2017年2月
第1章单片机技术概述
1.1计算机系统分类简介
1.2微型计算机的基本概念
1.2.1微型计算机系统的基本结构
1.2.2微型计算机的基本工作原理
1.3单片微型计算机
1.3.1单片机应用系统及组成
1.3.2单片机的发展趋势
1.3.3MCS51系列单片机
1.3.4MCS51系列单片机类型
1.4单片机的应用
思考与习题
第2章MCS51单片机的结构
2.1MCS51单片机的内部结构
2.1.18051单片机的内部结构及功能
2.1.28051的引脚定义及功能
2.2MCS51单片机存储器结构
2.2.1MCS51单片机的存储地址结构
2.2.2程序存储器
2.2.3数据存储器
2.3并行I/O口电路结构
2.3.1P0口结构
2.3.2P1口结构
2.3.3P2口结构
2.3.4P3口结构
2.4时钟电路与复位电路
2.4.1单片机的时钟电路与时序
2.4.2单片机的复位电路
2.5单片机的工作过程
思考与习题
第3章Keil μVision与C51语言基础
3.1Keil μVision4集成开发环境
3.1.1Keil μVision4简介
3.1.2Keil μVision4界面概览
3.2Keil μVision4的C51开发流程
3.2.1创建项目
3.2.2创建源程序文件
3.2.3程序编译与调试
3.2.4仿真调试
3.2.5项目设置
3.3单片机开发语言概述
3.3.1单片机汇编语言
3.3.2单片机C51语言
3.4C51的标识符与关键字
3.4.1标识符
3.4.2关键字
3.5C51的数据类型
3.5.1整型常量
3.5.2浮点型常量
3.5.3C51变量的数据类型
3.5.4整型变量
3.5.5浮点型变量
3.5.6变量声明语句
3.5.7特殊功能寄存器SFR定义
3.5.8位变量
3.5.9指针型变量
3.5.10指针变量赋值
3.6变量及其存储方式
3.6.1局部变量与全局变量
3.6.2变量的存储种类
3.6.3变量的存储类型
3.6.4变量的存储器模式
3.7C51的运算符
3.7.1算术运算符
3.7.2自增和自减运算
3.7.3关系运算符
3.7.4逻辑运算符
3.7.5位运算符
3.8运算符优先级和结合性
3.9C51的表达式
3.9.1算术表达式
3.9.2赋值表达式
3.9.3逗号表达式
3.9.4关系表达式
3.9.5逻辑表达式
思考与习题
第4章Proteus ISIS软件简介
4.1Proteus ISIS仿真软件简介
4.1.1Proteus软件系统组成
4.1.2电子产品设计流程
4.1.3Proteus ISIS操作界面介绍
4.1.4Proteus软件资源
4.1.5Proteus软件在教学与实践中的应用
4.2Proteus ISIS菜单栏简介
4.3设计视觉助手
4.4Proteus电路设计基础
4.4.1设计流程
4.4.2设计文档
4.4.3原理图连线
4.4.4电气规则检查ERC
4.4.5保存原理图
4.5基于Proteus的设计实例
4.5.1Proteus电路原理图设计
4.5.2软件设计
4.5.3源代码仿真与调试
4.5.4单片机内部资源仿真与调试
4.5.5电路与源代码联调
思考与习题
第5章C51语言程序设计基础
5.1C51语言程序的基本结构
5.2C51语言基本语句
5.2.1表达式语句
5.2.2复合语句
5.2.3循环控制语句
5.2.4程序控制语句
5.2.5开关语句
5.2.6程序跳转语句(goto语句、break语句和continue语句)
5.3C51语言的数组
5.3.1一维数组
5.3.2数组赋值
5.3.3二维数组
5.3.4字符数组
5.4C51语言的函数
5.4.1函数概述
5.4.2函数的分类
5.4.3函数的调用
5.4.4函数返回语句
5.4.5中断服务函数
5.4.6库函数
思考与习题
第6章单片机与定时器/计数器接口技术
6.1单片机的定时器/计数器
6.1.1单片机定时器/计数器的结构及工作原理
6.1.2定时器/计数器的方式和控制寄存器
6.1.3定时器/计数器初始化及步骤
6.1.4定时器/计数器的工作方式
6.2基于Proteus的定时器/计数器项目设计与仿真
6.2.1二路方波生发器的设计与仿真
6.2.2时间定时器设计与仿真
思考与习题
第7章单片机与中断系统接口技术
7.1单片机的中断系统
7.1.1中断系统的概念及特点
7.1.2中断系统的组成及中断源
7.1.3中断系统控制寄存器
7.1.4中断处理过程
7.2中断源的C51语言程序设计
7.2.1外部中断源的C51语言程序设计
7.2.2定时中断源的C51语言程序设计
7.2.3优先级中断源的C51语言程序设计
7.2.4串行口中断源的C51语言程序设计
7.2.5外部中断源的扩展
7.3基于Proteus中断系统项目设计与仿真
7.3.1电风扇风量显示电路设计与仿真
7.3.2电子圆模式电路设计与仿真
思考与习题
第8章单片机与数码管显示接口技术
8.1LED显示器与接口技术
8.1.1LED数码管结构及工作原理
8.1.2LED数码管的控制方式
8.28位动态显示电路
8.3基于Proteus的LED显示器项目设计与仿真
8.3.1电子秒表电路设计与仿真
8.3.2脉冲计数电路设计与仿真
8.3.3基于Proteus的篮球竞赛24s定时器电路设计与仿真
8.3.4交通信号灯模拟控制系统的设计与仿真
思考与习题
第9章单片机与LED点阵显示接口技术
9.1LED点阵结构及原理
9.1.18×8LED点阵简介
9.1.2LED点阵显示方式
9.2基于Proteus的大屏幕显示器项目设计与仿真
9.2.18×8LED点阵静态显示技术的设计与仿真
9.2.216×16LED点阵“箭头”移动显示技术的设计与仿真
9.2.316×16LED点阵文字移动显示技术的设计与仿真
9.2.416×16LED点阵数字跳动显示技术的设计与仿真
9.2.516×16LED图形广告屏(飞翔的小鸟)设计与仿真
思考与习题
第10章单片机与LCD显示接口技术
10.1液晶显示模块概述
10.21602LCD液晶显示模块
10.2.11602LCD主要参数与引脚功能
10.2.21602LCD的控制指令及初始化
10.2.3LCD显示模块的接口形式
10.3基于Proteus的LCD显示器项目设计与仿真
10.3.11602LCD静态显示技术的设计与仿真
10.3.21602LCD字符循环移动显示技术的设计与仿真
10.4128×64LCD图形显示器接口技术
10.4.1液晶显示控制驱动器
10.4.2指令集与功能说明
10.5基于Proteus的128×64LCD显示器项目设计与仿真数字/
字符/汉字接口电路设计与仿真
思考与习题
第11章单片机与键盘接口技术
11.1键盘
11.1.1键盘工作原理
11.1.2键盘结构与输入特点
11.2独立式键盘接口技术
11.2.1独立式按键电路结构
11.2.2独立式按键的软件结构
11.3基于Proteus的独立式键盘项目设计与仿真
11.3.1汽车指示灯与加速显示控制器的设计与仿真
11.3.2电热水器控制显示器的设计与仿真
11.4矩阵式键盘接口技术
11.4.1矩阵式键盘电路结构
11.4.2矩阵式键盘工作方式
11.4.3矩阵式键盘扫描法
11.5基于Proteus的矩阵式键盘项目设计与仿真
11.5.1矩阵查询式键盘电路的设计与仿真
11.5.2矩阵中断式键盘电路的设计与仿真
思考与习题
第12章单片机与A/D转换器接口技术
12.1A/D转换器接口技术
12.1.1A/D转换器原理
12.1.2典型A/D转换器芯片ADC0809
12.1.3ADC0809的转换工作原理
12.1.4ADC0809转换程序设计
12.28位串行A/D转换器接口技术
12.3基于Proteus的A/D转换器项目设计与仿真
12.3.1基于ADC0809光照度与温度数据采集的设计与仿真
12.3.2基于ADC0831直流电压表的设计与仿真
12.3.3基于ADC0831直流电流表的设计与仿真
12.3.4基于ADC0831亮度自动控制电路的设计与仿真
思考与习题
第13章单片机与D/A转换器接口技术
13.1D/A转换原理及主要技术指标
13.1.1D/A转换原理
13.1.2D/A转换器的主要技术指标
13.1.3并行D/A转换器芯片DAC0832
13.2DAC0832与单片机接口技术
13.3基于Proteus的DAC0832电路项目设计与仿真
13.3.1基于DAC0832调幅调频正弦波信号发生器的设计与仿真
13.3.2基于DAC0832函数信号发生器的设计与仿真
思考与习题
第14章单片机与串行通信接口技术
14.1通信的一般概念
14.1.1并行通信与串行通信
14.1.2串行通信的制式
14.1.3串行通信的两种基本方式
14.1.4串行通信的速率与接口
14.2MCS51单片机串行通信接口
14.2.1MCS51串行口的结构
14.2.2MCS51串行口的工作方式
14.2.3MCS51串行口的波特率
14.2.4MCS51串行通信的编程方法
14.3MCS51单片机串行口的扩展应用
14.3.1单片机I/O口的扩展
14.3.2基于Proteus的串入并出扩展口电路设计与仿真
14.3.3基于Proteus的并入串出扩展口电路设计与仿真
14.4MCS51单片机双机串行通信的应用
14.4.1双机通信接口
14.4.2单片机双机通信原理与设置
14.5基于Proteus的单片机双机串行通信项目设计与仿真
14.5.1单片机双机串行通信设计与仿真
14.5.2光伏系统蓄电池电压双机通信监控器的设计与仿真
14.6MCS51单片机多机串行通信的应用
14.6.1多机通信硬件基本电路
14.6.2多机通信原理与设置
14.6.3单片机多机串行通信设计与仿真
思考与习题
第15章单片机与电动机控制接口技术
15.1直流电动机控制技术
15.1.1直流电动机的基本结构
15.1.2直流电动机的工作原理
15.1.3直流电动机PWM调速原理
15.1.4直流电动机PWM调速方案
15.2基于Proteus的直流电动机控制项目设计与仿真
15.2.1直流电动机正反转控制的设计与仿真
15.2.2直流电动机PWM调速电路的设计与仿真
15.3步进电动机控制技术
15.3.1步进电动机简介
15.3.2步进电动机工作原理
15.3.3步进电动机驱动电路
15.4基于Proteus的步进电动机控制项目设计与仿真
15.4.1步进电动机步距角控制的设计与仿真
15.4.2步进电动机N圈控制的设计与仿真
15.4.3步进电动机多功能控制器的设计与仿真
思考与习题
附录Areg51.h详解
附录BProteus常用元器件
参考文献
CHAPTER 1
第1章
单片机技术概述
单片机又称为微控制器(Micro Controller Unit,MCU),是面对测控对象的嵌入式应用计算机系统。它的出现使计算机技术从通用型计算领域进入智能化的控制领域,并且在嵌入式计算机领域都得到了极其重要的发展与应用。本章首先介绍微型计算机的基本概念、组成及分类,然后介绍单片机技术的特点及常用的MCS51系列单片机类型,*后介绍单片机应用系统的设计方法和步骤。
1.1计算机系统分类简介
世界上*台计算机于1946年问世。半个多世纪以来,计算机技术取得了突飞猛进的发
展。计算机按照体系结构、性能、体积、应用领域等,分为大型计算机、中型计算机、小型计算机和微型计算机。计算机在数值计算、逻辑运算与推理、信息处理以及实际控制方面朝着高速海量运算的通用计算机系统发展,表现出非凡的能力,其典型产品为PC; 而广泛渗透到制造工业、过程控制、通信、仪器仪表、交通、航空航天、军事装备、家电产品等领域的正是嵌入式计算机系统。嵌入式系统是以应用为中心,以计算机技术为基础,主要表现在直接面向控制对象; 嵌入到具体的应用系统中; 现场可靠地运行; 体积小,应用灵活; 突出时序控制功能; 以隐藏的形式嵌入在各种装置、产品和系统中。因此,将计算机技术分为通用计算机系统和嵌入式计算机系统(以下简称嵌入式系统)。
嵌入式系统是将先进的计算机技术、半导体技术和电子技术以及各个行业的具体应用
相结合的产物,也是不断创新的知识集成系统。嵌入式系统的核心部件有嵌入式微处理器(Embedded MicroProcessor Unit,EMPU)、嵌入式DSP处理器(Embedded Digital Signal Processor,EDSP)、微控制器(MicroController Unit,MCU,通常称单片机)。顾名思义,单片机就是将整个计算机系统集成到一块芯片中。它以某一种微处理器为核心,芯片内部集成ROM/EPROM、RAM、总线、总线逻辑、定时器/计数器、看门狗、并行I/O接口、串行I/O接口、脉宽调制输出、A/D、D/A。微控制器的*大特点是单片化、体积大幅度减小,从而使功耗和成本降低、可靠性提高。微控制器是目前嵌入式系统工业的主流,以MCU为核心的嵌入式系统约占市场份额的70%。
本书以市场占有率较高的MCS51单片机(或称8051、51系列、8xx51单片机)为核心,介绍嵌入式系统设计的基本技术。
1.2微型计算机的基本概念
微型计算机(Micro Computer)简称微机,是计算机的一个重要分类。微型计算机不但具有计算快速、精确、程序控制等特点,而且还具有体积小、重量轻、功耗低、价格便宜等优点。个人计算机简称PC(Personal Computer),是微型计算机中应用*为广泛的一种,也是近年来计算机领域中发展*快的一个分支。PC在性能和价格方面适合个人用户购买和使用,目前,它已经像普通家电一样深入到家庭和社会生活的各个方面。
1.2.1微型计算机系统的基本结构
微型计算机系统由硬件系统和软件系统两大部分组成。硬件系统是指构成微机系统的实体和装置,通常由运算器、控制器、存储器、输入接口电路和输入设备、输出接口电路和输出设备等组成。如果把运算器与控制器集成在一个芯片上,则该芯片称为中央处理器(Central Processing Unit,CPU),是微机的核心部件。CPU配上存放程序和数据的存储器、输入/输出(Input/Output,I/O)接口电路以及外部设备即构成微机的硬件系统。
软件系统是微机系统所使用的各种程序的总称。软件部分包括系统软件(如操作系统)和应用软件(如字处理软件),人们通过它对微机进行控制并与微机系统进行信息交换,使微机按照人的意图完成预定的任务。软件系统与硬件系统共同构成完整的微机系统,典型微型计算机系统的组成如图11所示。
……