本书共11章,包括单片机基础知识、单片机硬件结构和工作原理、C51程序设计、中断系统、定时/计数器、串行口、系统扩展技术(存储器扩展和I/O端口扩展)、接口技术(键盘、LED、LCD、A/D、D/A等)、总线技术、Keil C51和Proteus仿真软件及联合调试技术、单片机应用系统实例等。
“单片机原理与应用”是电气工程、自动化、电子信息、计算机、机械等工科专业重要的基础课程,也是一门知识性、应用性实践性很强的综合性技术课程通讨该课程可以锻炼学生小型单片机应用系统的硬件设计、分析、制作与软件编写、调试的能力,提高学生的动手实践能力,培养学生的创新意识与创造性思维,终为学生在校期间参加全国性竞赛(如大学生机器人大赛、智能车大赛等),以及学会采用单片机设计相关控制系统解决专业中的各种具体问题奠定坚实的理论与实践基础,使他们毕业时能获得更好的就业机会与岗位,并成为未来工作中负责应用系统研究开发的技术骨干。可以说,“单片机原理与应用”是一门重要的课程。
传统的单片机课程要存在三大问题:一是教学模式采用“先理论讲解,再动手实验”,导致“教学-实验”分离、“理论-实践”不同步,不仅使学生理论理解困难,而且感觉枯燥乏味,使初学者感觉入门较难,难以培养兴趣甚至厌学,终造成单片机课程教学效果不理想;二是实验教学采用统一的单片机实验箱(板),存在硬件电路固定、实验内容固定、学生不能随意更改、程序无法实时在线调试、与工程实际应用脱节等缺点,很难培养学生的实践动手能力与创造性思维;三是缺乏对单片机系统化设计的培养,教学中通常将软硬件分离介绍,加上实验采用现成的电路板,大多只完成简单、分块的验证性程序设计,基本不涉及硬件设计,导致学生硬件设计与复杂软件设计能力薄弱,在构建实际的单片机应用系统时缺乏硬台搭建与系统软件调试能力,终造成学生的单片机应用系统综合设计能力严重不足。
鉴于传统教学模式存在的不足,本书编者对单片机课程教行改革,提出了一种基于Proteus与Keil联调及项目导向的新型单片机教学模式。它的核心思想是将单片机课程教学围绕具体应用项目展开,使项目设计贯穿整个教学过程,授课时将每个应用项目分解阶式的多个子模块,按照模块化思路讲解相关软硬件设计的知识点,并采用Proteus与Keil软件构成虚拟实台,实现“教师边讲边指导、学生边学边实践”的教学形式,达到理论与实践教学的同步。这种教学形式对学生来说,增强了单片机学观性和生动有趣的真实感,激发了他们的学与积极主动性,提高了他们的学感,终在整体上提高了学生的单片机综合设计能力,使教学效率和教学质量得到大幅度提升;对教师来说,在普通机房或教室(学生自带笔记本计算机)授课即可实现理论与实践结合,不依赖于实验室及其单片机开发板,并能及时了解学生学机时存在的问题与不足,做到及时和有针对性的辅导,提高与巩固教学效果。
本书以工程应用为主调,是编者在单片机教学与开发过程中,对教学模式与教学方法改革成果、实践经验教训、心得感悟结和整理。全书围绕“Keil+Proteus联调技术”核心方法,通过多个“Keil+Proteus实际应用案例”帮助学生掌握所学内容,增强对单片机硬件资源的理解与使用,提高学生的实际硬件设计与编程调试能力,使学生在课后易于根据教材自行学采用Keil与Proteus软行单片机实验。
本书共1pan>章,内括绪论、MCS-5pan>单片机的硬件结构及工作原理、C语言基础与C5pan>程序设计、MCS-5pan>中断系统、MCS-5pan>定时/计数器、MCS-5pan>串行口、MCS-5pan>系统扩展技术、MCS-5pan>单片机接口技术、MCS-5pan>单片线技术、Keil C5pan>和Proteus软件及联合调试技术、单片机应用系统设计实例。在每一章前列出了本章的学或重要知识点,每章结尾给出本章小结,以便帮助读者回顾和复要说明的是,由于C语言是当今微控制器
或微处理器应用系统的主要开发语言,因此本书不介绍汇编语言,仅在附录列出MCS-5pan>单片机的汇编指令,教师可根据讲解单片机工作原理的需要,自行增加部分汇编语言的基本讲解。
本书部分图片保留了软件固有的元器件符号,可能会与国家标准中的符号不一致,读者可
查阅相关资料。
本书获得厦门理工学院教材建设资助。全书由陈志英副教授、徐敏编,并参与全书的执笔编写;林峰和曾汉超参编,并为本书做了许多校对工作,在此表示衷心的感谢。
本书编写过程中参阅借鉴了一些相关教材和文献,在此向其编著者表示谢意。由于编者有限,书中疏漏之处在所难免,恳请读者批评指正。
前言
第1章 绪论
1.1 单片机的基本概念
1.1.1 单片机的分类
1.1.2 单片机的指标
1.2 单片机的发展
1.2.1 单片机的发展概况
1.2.2 单片机的发展趋势
1.3 单片机的特点和应用
1.4 微型计算机的组成与工作原理
1.4.1 微型计算机的组成
1.4.2 微型计算机的工作原理
1.5 计算机中的数与编码
1.5.1 计算机中的数制
1.5.2 数制之间的转换
1.5.3 原码、反码、补码
1.5.4 制数的算术运算
1.5.5 常用编码
本章小结
第2章 MCS-51单片机的硬件结构及工作原理
2.1 MCS-51单片机内部结构和能
2.1.1 MCS-51单片机内部结构
2.1.2 MCS-51单片机的能
2.2 MCS-51的CPU
2.2.1 运算器
2.2.2 控制器
2.3 MCS-51存储器的结构
2.3.1 程序存储器(使用MOVC访问)
2.3.2 外部数据存储器(使用MOVX访问)
2.3.3 内部数据存储器(使用MOV访问)
2.3.4 能寄存器SFR(使用MOV访问)
2.3.5 位地址空间
2.4 并行I/O口
2.4.1 P0口
2.4.2 P1口
2.4.3 P2口
2.4.4 P3口
2.4.5 使用P0~P3口时应注意的问题
2.4.6 P0~P3口的使用r/>
2.5 时钟电路与时序
2.5.1 时钟电路
2.5.2 时钟周期、机器周期与指令周期
2.5.3 MCS-51指令的取指/执行时序
2.5.4 访问片外ROM/RAM的指令时序
2.6 复位操作和复位电路
2.7耗运行模式
2.8 单片机小系统
本章小结
第3章 C语言基础与C51程序设计
3.1 C51语言概述
3.2 C51语言的基本语法
3.2.1 C51的标识符和关键字
3.2.2 C51的数据类型
3.2.3 变量的存储种类和存储类型
3.2.4 保证地址的访问
3.2.5 C51的运算符和表达式
3.3 中断服务函数
3.4 C51的库函数
3.5 C51程序设计与应用技巧
3.6 基于Keil与Proteus联调的C51应用编程举例
本章小结
第4章 MCS-51中断系统
4.1 中断系统概述
4.2 MCS-51单片机的中断系统
4.2.1 中断源及中断入口
4.2.2 中断控制
4.3 中断处理过程
4.3.1 中断响应
4.3.2 中断处理
4.3.3 中断返回
4.3.4 中断响应时间
4.3.5 中断请求的撤除
4.4 中断程序设计结构及应用举例
4.4.1 中断程序的一般设计方法
4.4.2 基于Keil与Proteus联调的中断程序应用举例
4.4.3 采用查询方式处理中断请求
4.4.4 外部中断的扩展
本章小结
第5章 MCS-51定时/计数器
5.1 定时/计数器概述
5.1.1 定时/计数器T0、T1的结构
5.1.2 定时/计数器的工作原理
5.2 定时/计数器的控制
5.3 定时/计数器的工作方式
5.4 定时/计数器的应用编程
5.4.1 定时/计数器的初始化
5.4.2 基于Keil与Proteus联调的定时器应用举例
5.4.3 基于Keil与Proteus联调的计数器应用举例
5.4.4 门控制位GATE的应用举例
本章小结
第6章 MCS-51串行口
6.1 串行通信的基本概念
6.2 MCS-51串行口结构与工作原理
6.2.1 串行口控制寄存器SCON
6.2.2 能寄存器PCON
6.2.3 波特率的设置
6.3 串行口的4种工作方式
6.3.1 方式0
6.3.2 方式1
6.3.3 方式2
6.3.4 方式3
6.4 串行口的应用编程
6.4.1 串行口的初始化与发送/接收步骤
6.4.2 串行口应用程序的一般结构
6.4.3 基于Keil与Proteus联调的串行口应用举例
6.5 多机通信
6.6 串行通信接口标准
6.6.1 RS-232C接口
6.6.2 RS-485接口
本章小结
第7章 MCS-51系统扩展技术
7.1 存储器概述
7.1.1 存储器的分类
7.1.2 存储器的主要性能指标
7.1.3 存储器常用芯片
7.2 系统扩展结构线构造
7.2.1 系统扩展结构
7.2.2 系线构造
7.2.3 系统扩展常用芯片
7.3 存储器扩展方法
7.3.1 线选法
7.3.2 译码法
7.3.3 存储器扩展具体步骤
7.3.4 外部存储器的C51访问方法
7.4 程序存储器的扩展与应用
7.5 数据存储器的扩展与应用
7.6 存储器的综合扩展
7.7 输入/输出(I/O)接口的扩展
7.7.1 I/O接口扩展概述
7.7.2 TTL芯片扩展
7.7.38 25可编程并行I/O接口
本章小结
第8章 MCS-51单片机接口技术
8.1 键盘接口技术
8.1.1 键盘工作原理及消抖
8.1.2 键盘接口的工作原理
8.1.3 矩阵键盘设计实例
8.2 LED数码显示器
8.2.1 LED显示器的结构与原理
8.2.2 LED显示方式
8.2.3 LED与单片机的接口与应用
8.3 LCD液晶显示器
8.3.1 字符型液晶显示模块的组成和基本特点
第1章绪论
单片机也称为微控制器,它是在一片半导体硅片上集成了微处理器、存储器、输入/输出接口、外围设备等部件,属于芯片级的计算机,具有一台计算机的属性,是微型计算机的一个重要分支。单片机作为各种应用系统的控制核心,因具有体积小、价格低、可靠性高、灵活性好、开发较为容易等优点被广泛应用于工业和日常生活等领域。本章首先介绍单片机的基本概念、单片机的发展、单片机的特点和应用等基础知识,然后讨论微型计算机的组成与工作原理,后介绍计算机中的数制与编码。
【重要知识点】
·掌握单片机的基本概念。
·掌握微型计算机的组成与工作原理。
·掌握计算机中的数制与编码。
1.pan>单片机的基本概念
单片机的全称为单片微型计算机(Single Chip Microcomputer),它是将计算机的基本部件微型化并集成在一块芯片上的微型计算机,在一块硅片上集成了中央处理器(CPU)、存储器(RAM、ROM、FLASH、E2PROM等)、输入/输出接口(并行IVO接口、同步串行口、异步串行口等)及各种外围设备(定时器、计数器、A/D、D/A、PWM等)。从应用领域来看,单片机主要用于控制,所以又称为微控制器(Microcontroller Unit)或嵌入式控制器(EmbedController)。
1.1.pan>单片机的分类
目前市面上的单片机品种很多,至少有五十多个系列、三百多个品种,可按以下方行分类。
(pan>)按适用范围分
通用型——是指可把开发资源(如FLASH、RAM、I/O接口、外设等)全部提供给应用者的单片机。其内部资源比较丰富,性能全面且适用性强,能覆盖多种应用需求,如80C5pan>单片机。用户可以根据需要,设计不同的应用控制系统。
专用型——是指其硬件结构和指令是按照某个特定用途而专门设计的单片机。例如,打印机控制器、录音机机芯控制器等。这类单片机不属于本书讨论的范围。
(2)按制造工艺分
HMOS工艺——高密度短沟道MOS工艺,具有高速度、高密度的特点。
CHMOS(或HCMOS)工艺——互补的金属氧化物的HMOS工艺,是CMOS与HMOS的结合,具有高密度、高速度耗的特点。
字长是指单片机内部参与运算的数的位数。它决定了单片机内部寄存器、算术逻辑单元
1.按字长分
字长是指单片机内部参与运算的数的位数。它决定了单片机内部寄存器、算术逻辑单元(Arihmeic Logic Unil,AL.U)和数线的位数,直接影响着机器的硬件规模和造价。字长直接反映了单片机的计算精度。
单片机按字长可分为4位机(如 NEC公司的μPD75XX系列)、8位机(如Iniel公司的MCS-5pan>系列)、16位机(如 Intel公司的 MCS-96/98 系 列) 和32位机 (如 Motorola公司的MC683XX系列)等,字长越长其运算处理的速度越能越强大。年来的使用情及看,8位单片机使用率高,其次是32位。前者主要用于满足大量低端控制领域应用的需求后者主要用于满足一些高端新兴领域(如网络、通信、多媒体、数码产品和信息家电等)对海量数据处理能力的需要。对于工作速度不高、数据处理量不大、控制过程不很复杂的场合如家用电器、商用产品等,可选用8位单片机;对于要求很高的实时控制及复杂的过程控制,如机器人、信号处理等,则好选用32位单片机。
尽管单片机种类繁多,但它们的基本结能类似,因此可以选择以一种单片机为
行学熟练掌握。目前,教学的机型仍然是8位单片机。
1.1.2单片机的指标
衡量单片机的性能指标有很多括速度、位耗、I/0接口数量、存储容量、工作
电压、价格、体积、重量等。
(pan>)速度
CPU处理速度,用每秒执行百万条指令表征,单位是MIPS(Million Instruction PerSecond),目前快的单片机可达200MIPS。单片机的速度与系统时钟相关联,但并不是频率越高处理速度就越快。对于同一型号的单片机来说,采用频率高的时钟一般比频率低的速
(2)位数
位数是指CPU一次基本操作处理的数据位数。它与CPU内部数线宽度是一致的。位
数越多,所表示的数据精度就越高。在完成同样精度的运算时,位数较多的单片机比位数较少的单片机运算速度快。
(3
为了满足广泛使用于便携式系统的要求,目前许多单片机内的工作电压仅为1.8~3.6V,工作电流仅为数百毫安,一耗单片机的静态电流甚至可以达到μA或nA级。几乎所有的单片机都有WAIT、STOP等省电运行方式。目前,低电压供电的单片机电源下限已达1-2V
甚至更低。
(4)I/0接口数量
不同类型的单片机其输入/输出接口有很大差别。一般从几个到几十个。例如,MCS-5pan>系
列单片机有4个8位并行V/0接口,使用上很方便。在片内接口不够时,可考行接口扩展。
(5)存储器
存储括数据存储器和程序存储器。数据存储器字节数通常在几十字节到几百字节之
间。程序存储器空间较大,从几KB到几百MB。
(6)外设数量
随着半导体集成技术的高速发展,单片机集成的外设数量越来越能也越来越强大,提供给用户的硬件资源丰富。例如,一些高性能单片机集成了A/D、D/A、PWM、SPI、……