温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
单片机
原理
应用
案例
教程
高等教育“十三五”规划教材 单片机原理及应用案例教程 主 编 禹定臣 李白燕 副主编 张 健 李 平 魏迎军 内 容 简 介 本书是根据教育部应用型科技大学的教学要求和最新大纲编写而成的。全书以 MCS-51 系列单片机为例,通过丰富的应用实例,采用理论和实践相结合的方法,由浅入深地介绍了 51 系列单片机的结构及工作原理、内部硬件资源及单片机的系统扩展、A/D、D/A、常用接口设计及常用的编程语言(汇编语言与C51)和开发工具(Proteus、Keil C)的使用等内容,并介绍了单片机应用系统的设计、开发与调试过程。本书注重学生能力的培养,采用案例教学,融“教、学、练”于一体,案例中将 Proteus 和 keil C 相结合,实践性和可操作性强。编程以 C51 为主,兼顾汇编语言程序设计。最后给出了详细的单片机实验指导和课程设计实例,供实践教学参考。本书可作为高等院校电子信息工程、通信工程、电子科学与技术、计算机、自动化、机电一体化等相关专业的本、专科教材和参考书,也可供从事单片机应用开发的工程技术人员及其他工程技术人员参考,同时还可以作为全国大学生电子设计竞赛的培训教材。未经许可,不得以任何方式复制或抄袭本书之部分或全部内容。版权所有,侵权必究。图书在版编目(CIP)数据 单片机原理及应用案例教程/禹定臣,李白燕主编北京:电子工业出版社,2017.3 ISBN 978-7-121-30521-4.单.禹 李.单片微型计算机高等学校教材.TP368.1 中国版本图书馆 CIP 数据核字(2016)第 289653 号 策划编辑:祁玉芹 责任编辑:张瑞喜 印 刷:中国电影出版社印刷厂 装 订:中国电影出版社印刷厂 出版发行:电子工业出版社 北京市海淀区万寿路 173 信箱 邮编 100036 开 本:7871092 1/16 印张:20.5 字数:499 千字 版 次:2017 年 3 月第 1 版 印 次:2017 年 3 月第 1 次印刷 定 价:45.00 元 凡所购买电子工业出版社图书有缺损问题,请向购买书店调换。若书店售缺,请与本社发行部联系,联系及邮购电话:(010)88254888,88258888。质量投诉请发邮件至 ,盗版侵权举报请发邮件至 。本书咨询联系方式:(010)68253127。iii 单片机原理及应用是工科类院校开设的一门面向应用、具有很强的实践性与综合性的课程,为了培养学生应用单片机技术进行电子产品的软硬件设计和制作能力,积累开发经验,通过对传统的教学模式改革、案例教学,使初学者理解单片机的工作过程和应用系统的开发流程,使用 Labcenter 公司的 Proteus 仿真软件创建实验环境,进行软、硬件仿真,做到了融“教、学、练”于一体,“边学理论,边实践”。本书采用案例教学,内容安排合理,定位准确,实用性强,注重实践能力的培养,满足应用型科技大学的教学目标、培养方向和办学特色的需要,以能力培养为目标、以工作过程为导向,用案例贯穿知识,用任务驱动教学,内容精炼,注重实用。全书共分 10 章。第 1 章介绍了 51 单片机的系统结构及引脚功能;第 2 章介绍了 51 单片机程序设计基础;第 3 章介绍了单片机中断系统、定时/计数器、串行口;第 4 章介绍了单片机的系统扩展;第 5 章和第 6 章分别介绍了 A/D 转换、D/A 转换及常用接口的设计;第 7 章介绍了单片机应用系统的设计、开发与调试方法;第 8 章介绍了单片机常用开发工具;第 9 章和第10 章分别给出了实验指导和课程设计实例。本书由禹定臣、李白燕担任主编,张健、李平、魏迎军担任副主编。由电子信息工程、通信工程专业教学一线教师合作编写完成。第 1 章第 2 章由李平编写,第 3 章第 4 章由李白燕编写,第 5 章第 7 章由张健编写,第 9 章第 10 章及实例由禹定臣编写,第 8章、附录、习题由魏迎军编写。全书由禹定臣教授定稿,耿红琴教授主审。在编写过程中参阅借鉴了一些相关教材和文献,在此向有关编者表示感谢。由于编写时间仓促,书中难免有疏漏和不妥之处,欢迎读者批评指正,以便再版时及时修正。编者 2017.1 v 第 1 章 MCS-51 单片机硬件结构.11.1 知识结构.11.1.1 单片机内部结构.11.1.2 引脚功能.151.2 学习实例.17实例一 LED 灯闪烁.17实例二 LED 流水灯.19实例三 转向灯.21本章小结.22习题一.22第 2 章 单片机汇编语言与 C 语言程序设计基础.252.1 知识结构.252.1.1 汇编语言程序设计.252.1.2 C51 程序设计.492.2 学习实例.66实例一 用 P1 口、P2 口分别显示二进制加、减法结果.66实例二 用 P2 口实现左右跑马灯效果.68实例三 用查表法实现 P2 口接的 8 只 LED 灯花样显示.71本章小结.73习题二.73第 3 章 单片机中断系统、定时器/计数器及串行口.773.1 知识结构.773.1.1 中断系统.773.1.2 定时器/计数器.82 vi 3.1.3 串行口.863.2 学习实例.92实例一 用INT0和INT1对按键进行计数并显示计数结果.92实例二 用 T0 工作在方式 1 时控制播放一首歌曲.94实例三 用 T0 工作在方式 1 时控制 LED 灯的闪烁时间间隔.96实例四 用 T0 工作在方式 2 时对脉冲进行计数并显示计数结果.98实例五 用串行口工作在方式 0 时扩展输出接口.99实例六 用串行口工作在方式 1 时实现双机通信.101实例七 单片机向 PC 机发送数据.102实例八 单片机接收 PC 机发送的数据.104本章小结.106习题三.106第 4 章 51 单片机系统扩展.1094.1 知识结构.1094.1.1 单片机系统总线及系统扩展方法.1094.1.2 单片机存储器的扩展.1124.1.3 并行 I/O 口扩展.1174.2 学习实例.131实例一 用 62256 扩展 32KB 的外部 RAM.131实例二 用 27256 扩展 32KB 的外部 ROM.132实例三 用 AT24C02 扩展 EEPROM.133实例四 用 74LS273、74LS241 扩展 I/O 接口.137实例五 用 8255 芯片扩展键盘/显示接口.139实例六 用 8155 芯片扩展显示接口.142实验七 用 74ls165、74ls164 扩展键盘/显示接口.144本章小结.145习题四.145第 5 章 DAC 和 ADC 接口.1485.1 知识结构.1485.1.1 A/D 转换器件.1485.1.2 D/A 转换器件.1505.2 学习实例.152实例一 基于 ADC0809 的 5V 直流电压表设计.152实例二 用 DAC0832 设计简易信号发生器.154本章小结.157习题五.157 vii 第 6 章 键盘与显示接口设计.1606.1 知识结构.1606.1.1 键盘接口设计.1606.1.2 LED 显示接口设计.1656.1.3 LCD 显示接口设计.1686.2 学习实例.173实例一 用 LED 数码管循环显示 09.173实例二 用 LED 数码管动态显示“HELLO”.175实例三 数码时钟设计.176实例四 独立式键盘控制步进电动机正、反转.180实例五 矩阵式键盘按键值的数码管显示.183实例六 矩阵式键盘按键值的 LCD 显示.185实例七 用 1602LCD 显示“HUANG HUAI UNIVERSITY”.187实例八 用 12864LCD 显示汉字.190本章小结.193习题六.194第 7 章 单片机应用系统设计与调试简介.1957.1 知识结构.1957.1.1 单片机应用系统的设计步骤.1957.1.2 应用系统的硬件设计.1967.1.3 应用系统的软件设计.1977.1.4 单片机应用系统的开发与调试.1977.1.5 单片机应用系统的可靠性与抗干扰性设计.1997.2 学习实例.204实例一 基于 DS1302 的日历时钟设计.204实例二 基于 ADC0832 和 LCD1602 的数字电压表设计.212本章小结.215习题七.215第 8 章 常用开发仿真软件 Keil c 和 Proteus 简介.2168.1 知识结构.2168.1.1 Keil C 编译器使用简介.2168.1.2 Proteus 仿真软件使用简介.2218.2 学习实例.225实例一 通过 P1.0 输出周期为 20ms 的方波信号.225 viii 实例二 计单个按键次数并显示.227本章小结.228习题三.229第 9 章 单片机实验指导.230实验一 P1 口实验.230实验二 交通灯控制实验.234实验三 简单 I/O 口扩展实验.238实验四 外部中断实验.243实验五 定时器实验.247实验六 8255A 可编程并行接口实验.251实验七 数码显示实验.253实验八 液晶显示屏 1602 显示实验.256实验九 串/并转换实验.260实验十 A/D 转换实验.263第 10 章 单片机课程设计实例.267实例一 基于单片机的简易计算器设计.267实例二 基于单片机的数字电压表设计.272实例三 基于单片机的电子日历设计.276实例四 基于单片机的具备温度显示的数字时钟设计.284实例五 基于单片机的具备转速显示功能的直流电动机控制系统设计.293实例六 基于单片机的红外遥控器控制继电器的设计.297附录.304 附录 A MCS-51 系列单片机指令表.304 附录 B Protreus 的常用元器件.309 附录 C C51 常用库函数.314 参考文献.319 第 1 章 MCS-51 单片机硬件结构 1 第 1 章 MCS-51 单片机硬件结构 学习目标 掌握 MCS-51 单片机的内部结构和引脚功能,并行 I/O 口的功能和使用方法,存储器空间分布,常用的特殊功能寄存器,单片机典型时钟电路,典型复位电路及复位对单片机各部件的影响。重点难点(1)MCS-51 单片机的内部结构和芯片引脚功能。(2)I/O 口的工作过程和片内 RAM 寻址及常用 SFR 的作用。(3)典型复位电路及复位对单片机各部件的影响。(4)I/O 口工作过程、片内 RAM、复位电路。1.1 知识结构 1.1.1 单片机内部结构 单片机是集成在一片集成芯片上的微型计算机,由 CPU、存储器(ROM、RAM)、串行接口、并行接口、定时器/计数器、中断系统、振荡器和时钟电路等组成,各部分之间通过系统总线相连。MCS-51 单片机的基本结构如图 1.1 所示。CPU时钟电路并行接口定时/计数器RAMROM串行接口中断系统P0P3P2P1TxDRxDINT0INT1T0T1 图 1.1 MCS-51 单片机基本结构 单片机原理及应用案例教程 2 1.CPU MCS-51 单片机 8 位 CPU 内部结构如图 1.2 所示。内部主要由算术逻辑单元 ALU(Arithmetic Logic Unit)、累加器 A(8 位)、寄存器 B(8 位)、程序计数器 PC、程序状态字 PSW(8 位)、指令寄存器 IR(8 位地址)、指令译码器 ID、地址寄存器 AR、数据寄存器 DR 和定时与控制电路等部件组成。PC控制器IDIRDR暂存器寄存器B累加器APSWAR ALUOut In_1 In_2程序计数器控制信号地址总线(AB)数据总线(DB)数据寄存器指令寄存器指令译码器内部数据总线算术逻辑运算外存储器CPU输出的控制信号 图 1.2 51 单片机 CPU 内部结构方框图(1)运算器(ALU)主要功能是进行算术和逻辑运算,可对半字节(一个字节是 8 位,半个字节就是 4 位)和单字节数据进行操作,具有位处理功能(即布尔处理器)。(2)累加器 A(Accumulator)累加器 A 简称为 ACC 或 A 寄存器,为 8 位寄存器,是 CPU 中最繁忙、使用频率最高的一个特殊