
本书以80C51单片机为典型机,详细介绍了MCS-51系列单片机的构成、工作原理、指令系统、汇编语言程序设计、中断技术、定时/计数器、串行口通信等内容,并结合应用实际,系统地介绍了MCS-51系列单片机的扩展技术,包括存储器扩展、I/O口扩展、显示器与键盘接口、A/D及D/A接口技术等。为顺应单片机技术的发展趋势,跟踪单片机技术的最新发展,满足不同层次的研究开发人员的需求,本书还详细介绍了AT89系列单片机及C8051F系列单片机的特点和应用。本书共11章,内容丰富,力求反映当前单片机的最新技术,在对单片机原理全面、准确叙述的基础上,加强了实践教学环节。为了便于初学者理解和掌握,本书在内容安排上采用循序渐进的论述方法,从基础理论到实践应用,并充分考虑所使用实例的典型性和实用性,期望读者在学习后,既能掌握单片机的一般原理和接口技术,又能掌握单片机应用系统的设计方法。为加强思政建设,本书融入了思政元素,并在每章之后提供了思政大纲,以供参考。
单片机作为最典型的低端嵌入式系统,由于其微小的体积和极低的成本,广泛应用于家用电器、机器人、仪器仪表、工业控制、交通运输等领域,成为控制系统中最普遍的应用技术。 为使广大读者熟悉和掌握MCS-51系列单片机技术,编著者结合自己多年的教学和科研实践,并参考了大量相关资料,编著了本书,力图从以往教材局限于具体单片机原理的解析上解脱出来,着重于技术的应用。本书共11章,以MCS-51系列单片机作为介绍对象,分别介绍MCS-51系列单片机结构原理、MCS-51单片机指令系统、汇编语言程序设计、并行I/O口的使用、并行I/O口的扩展方法及使用、中断系统和定时/计数器、A/D转换接口和D/A转换接口技术、键盘与显示器接口技术等内容。近年来,嵌入式微控制器融合了许多新的设计理念和传统计算机的技术成果,涌现出许多新型单片机系列芯片,呈百花齐放之势。具有系统编程(ISP)特性的片上系统(SoC)系列单片机—C8051F脱颖而出。本书最后介绍了该系列单片机的特点及应用,期望能对读者起到抛砖引玉的作用。 本书本着理论必需、够用的原则,突出实用性、操作性,加强理论联系实际,语言上通俗易懂,做到了好教易学,以满足目前教学的实际需要。本书在编写过程中,在力求对单片机原理叙述全面、准确的基础上,加强了实践教学环节;从工程设计应用的角度出发,列举了大量的例题和实际操作课题,除提供常见的编程方法和接口电路外,还给出了简单实用的电路;从教学的实际需要出发,培养学生的创造能力、产品开发能力,力求达到理论与实践的统一。编著者在实际教学过程中,提出“1+X案例贯通”实践教学模式,其中,“1”代表一类案例,案例的选择应具有代表性、应用性,而且贴近实际,以激发学生兴趣;“X”代表课程若干知识点。本书以霓虹灯控制为主流案例,从不同的角度、用不同的方法和知识点,对霓虹灯控制这一经典案例进行设计实现,使得任务前后贯通、知识点前后呼应,既能激发学生的学习兴趣,培养学生分析问题、解决问题的创新思维,又能提高学生解决复杂工程问题的能力。 本书结合全国高校思想政治工作会议和新时代全国高等学校本科教育工作会议精神,深度挖掘思政元素,将思政案例、名人轶事、历史典故、名言古训等融入其中,使广大读者在学习单片机的同时,感悟中华传统文化的博大精深,以期达到读书明志、陶冶情操、知行合一、思政先行的效果。每章以关键技术为切入点,分类列出了思政元素、思政目标,以及思政元素引入的方法、载体等,同时,将思政元素的素材、延伸解析等以电子版的形式呈现。广大读者可扫描每章的二维码获取资源。通过思政元素的交流学习,期望在家国情怀、人生担当、务实求真、工匠精神、自主创新、科技强国、职业规划、志存高远等方面与读者产生共鸣。 本书由桑胜举、吴月英、冯斌编著。参与本书编写的有:泰山学院的王太雷、沈丁、钱艺、张国峰、张秀红、李芳、叶长国、宗栋、张岩、栾云才、吴蔚、房桦、周京伟、贝依林,山东泰山职业技术学院赵晓宁等。书中所有图表由吴月英精心绘制,全书由桑胜举进行统稿。 本书得到山东省教育厅教学改革研究项目“应用型本科计算机硬件基础课程体系的改革与实践研究(鲁教高函2015-12)”,山东省教育科学“十三五”规划2019年度课题“信息类专业计算机硬件课程体系及创新实践模式的校本化研究(YZ23019042)”,教育部产学合作协同育人计划项目 “嵌入式与物联网协同创新平台的建设(201702059028)”“应用型本科大学生创新创业培养模式的研究(201702059042)”“新工科背景下人工智能专业教学体系和人才培养模式的研究(202101363019)”“人工智能背景下物联网专业课程体系的教学改革研究(202101363020)”“人工智能背景下大学生创新创业能力培养模式的研究(2021010646030)”,泰安市科技发展计划专项项目“环境探测球形机器人科研平台的构建”(201320629),泰安市科技发展计划项目“电磁驱动球形机器人动力性能研究(2020ZC313)”“基于OpenCV的烟雾识别算法研究及嵌入式系统实现(2018GX0048)”,泰山学院教学改革项目“基于教育信息化2.0的大学生创新创业能力培养研究—以计算机类专业为例(201909)”,泰山学院青年基金项目“基于OpenCV的烟雾识别系统研究(QN-01-201701)”的大力支持,在此表示衷心的感谢! 本书配套电子资料包括课件、教案、习题解答、教学参考大纲、思政大纲和部分案例源代码,读者可登录华信教育资源网(www.hxedu.com.cn)注册后免费下载。 由于时间仓促,编著者水平有限,书中难免存在错误和不妥之处,敬请广大读者批评指正。
目 录 第1章 绪论 (1) 1.1 单片机技术的发展背景 (1) 1.2 单片机的组成 (2) 1.3 单片机的特点及应用 (3) 1.3.1 单片机的特点 (3) 1.3.2 单片机的应用 (4) 1.4 单片机的发展历史 (4) 1.5 单片机分类 (5) 1.5.1 按单片机功能分类 (5) 1.5.2 MCS-51系列单片机 (6) 1.6 单片机发展趋势 (7) 1.7 单片机领域人才需求简析 (10) 本章小结 (11) 【知识拓展与思政元素】家国情怀、社会 责任、爱岗敬业、人生担当 (12) 习题1 (12) 第2章 单片机的结构及原理 (13) 2.1 80C51单片机的基本结构 (13) 2.1.1 80C51单片机的组成 (13) 2.1.2 80C51单片机的存储器 (15) 2.2 并行I/O口 (20) 2.2.1 P0口 (21) 2.2.2 P1口 (22) 2.2.3 P2口 (22) 2.2.4 P3口 (23) 2.3 时钟电路与复位电路 (23) 2.3.1 时钟电路与时序 (23) 2.3.2 复位电路 (25) 2.4 单片机的工作方式 (26) 2.4.1 复位方式 (27) 2.4.2 程序执行方式 (27) 2.4.3 节电工作方式 (27) 2.4.4 EPROM编程和校验方式 (28) 2.5 单片机的工作过程 (28) 2.6 AT89系列单片机简介 (29) 2.7 单片机最小应用系统 (30) 本章小结 (32) 【知识拓展与思政元素】科技强国、历史 使命、团队协作、脚踏实地 (32) 习题2 (33) 第3章 单片机的指令系统 (34) 3.1 指令系统简介 (34) 3.2 寻址方式 (35) 3.3 数据传送类指令 (39) 3.3.1 内部RAM传送指令 (39) 3.3.2 外部RAM传送指令 (41) 3.3.3 数据交换类指令 (42) 3.3.4 查表指令 (42) 3.3.5 堆栈操作指令 (43) 3.4 算术运算类指令 (44) 3.4.1 加法指令 (44) 3.4.2 减法指令 (47) 3.4.3 乘法指令 (47) 3.4.4 除法指令 (48) 3.5 逻辑运算类指令 (48) 3.5.1 基本逻辑操作 (48) 3.5.2 其他逻辑操作 (50) 3.6 控制转移类指令 (51) 3.6.1 无条件转移指令 (51) 3.6.2 条件转移指令 (54) 3.6.3 调用及返回指令 (55) 3.6.4 空操作指令 (56) 3.7 位操作指令 (56) 3.7.1 位传送指令 (57) 3.7.2 位修改指令 (57) 3.7.3 位逻辑操作指令 (57) 3.7.4 位判断转移类指令 (58) 3.8 基本命令应用举例 (58) 本章小结 (62) 【知识拓展与思政元素】尊重规则、严谨 科学、拼搏进取、辩证思维 (63) 习题3 (63) 第4章 80C51汇编语言程序设计 (66) 4.1 概述 (66) 4.1.1 程序设计语言 (66) 4.1.2 汇编语言伪指令 (66) 4.1.3 程序汇编方法 (69) 4.2 顺序程序设计 (71) 4.3 分支程序设计 (73) 4.3.1 一般分支程序设计 (74) 4.3.2 散转程序设计 (77) 4.3.3 分支程序设计实例 (79) 4.4 循环程序设计 (82) 4.4.1 循环程序结构 (82) 4.4.2 循环程序实例 (83) 4.5 查表程序设计 (88) 4.6 子程序设计与堆栈技术 (90) 4.6.1 子程序实例 (90) 4.6.2 堆栈结构 (93) 4.6.3 子程序结构 (94) 4.6.4 代码转换程序 (95) 4.6.5 算术运算子程序 (98) 4.6.6 查找、排序程序 (101) 4.6.7 多位BCD码减法程序 (104) 本章小结 (105) 【知识拓展与思政元素】由简到繁、循序 渐进、全力以赴、善于积累 (106) 习题4 (106) 第5章 中断系统 (111) 5.1 中断系统概述 (111) 5.1.1 中断的概念 (111) 5.1.2 中断的特点 (111) 5.1.3 中断系统的功能 (112) 5.2 中断源与中断寄存器 (113) 5.2.1 中断源 (113) 5.2.2 中断寄存器 (114) 5.3 中断处理过程 (116) 5.3.1 中断响应 (116) 5.3.2 中断处理 (118) 5.3.3 中断返回 (119) 5.3.4 中断响应时间 (119) 5.4 中断触发方式 (119) 5.5 中断源的扩展 (120) 5.5.1 定时器扩展中断源 (120) 5.5.2 中断查询扩展 (120) 5.6 中断请求的撤除 (121) 5.6.1 撤除定时器溢出中断 (122) 5.6.2 撤除串行口中断 (122) 5.6.3 撤除外部中断 (122) 5.7 中断初始化 (123) 5.8 应用举例 (124) 本章小结 (127) 【知识拓展与思政元素】锲而不舍、因地 制宜、程序可返、人生无“悔” (127) 习题5 (128) 第6章 定时/计数器 (130) 6.1 定时/计数器的结构与工作原理 (130) 6.1.1 定时/计数器的结构 (130) 6.1.2 定时/计数器的工作原理 (131) 6.2 定时/计数器相关寄存器 (131) 6.2.1 方式寄存器TMOD (131) 6.2.2 控制寄存器TCON (132) 6.3 定时/计数器的工作方式 (132) 6.3.1 方式0 (132) 6.3.2 方式1 (133) 6.3.3 方式2 (134) 6.3.4 方式3 (134) 6.4 定时/计数器的初始化 (135) 6.4.1 初始化步骤 (135) 6.4.2 计数器初值的计算 (135) 6.4.3 定时器初值的计算 (136) 6.4.4 初始化实例 (136) 6.5 定时/计数器的编程和应用 (137) 本章小结 (149) 【知识拓展与思政元素】诚信守时、分秒 必争、工匠精神、精益求精 (149) 习题6 (149) 第7章 串行接口 (151) 7.1 串行通信基础 (151) 7.1.1 串行通信的分类 (151) 7.1.2 串行通信的制式 (153) 7.1.3 串行通信的接口电路 (153) 7.2 通信总线标准及其接口 (154) 7.2.1 RS-232C接口 (154) 7.2.2 RS-449、RS-422A、RS-423A 标准接口 (155) 7.2.3 20mA电流环接口 (156) 7.3 80C51的串行接口 (157) 7.3.1 80C51串行接口结构 (157) 7.3.2 80C51串行的工作方式 (158) 7.3.3 80C51串行接口的波特率 (160) 7.4 80C51单片机之间的通信 (161) 7.4.1 双机通信硬件电路 (162) 7.4.2 双机通信软件编程 (162) 7.4.3 多机通信 (166) 7.5 PC和单片机之间的通信 (167) 7.5.1 通信接口设计 (167) 7.5.2 软件编程 (167) 7.6 串行通信的差错控制编码技术 (170) 7.6.1 差错控制编码的分类 (170) 7.6.2 几种常用的差错控制编码 (170) 7.6.3 CRC检错码查表法的软件 实现 (175) 7.6.4 CRC检错码计算法的软件 实现 (177) 7.7 串行接口应用举例 (178) 本章小结 (187) 【知识拓展与思政元素】协同创新、道路 自信、理论自信、制度自信 (187) 习题7 (187) 第8章 单片机系统扩展 (189) 8.1 程序存储器扩展 (189) 8.1.1 单片机程序存储器概述 (189) 8.1.2 EPROM扩展 (190) 8.1.3 EEPROM扩展 (192) 8.1.4 常用程序存储器芯片 (194) 8.2 数据存储器扩展 (198) 8.2.1 SRAM扩展实例 (198) 8.2.2 外部RAM与I/O口同时 扩展 (200) 8.3 并行I/O口扩展 (201) 8.3.1 简单的I/O口扩展 (202) 8.3.2 可编程并行I/O口芯片扩展 (203) 8.4 扩展实例 (208) 本章小结 (210) 【知识拓展与思政元素】资源调配、善于 借鉴、读书赋能、丰富人生 (211) 习题8 (211) 第9章 单片机接口技术 (213) 9.1 单片机与键盘接口 (213) 9.1.1 键盘工作原理 (213) 9.1.2 独立式键盘 (215) 9.1.3 矩阵式键盘 (215) 9.2 单片机与显示器接口 (218) 9.2.1 LED显示器和接口 (219) 9.2.2 可编程接口芯片INTEL 8279 (228) 9.2.3 LED大屏幕显示 (229) 9.2.4 液晶显示器和接口 (232) 9.3 D/A转换接口 (240) 9.3.1 D/A转换概述 (240) 9.3.2 D/A转换芯片DAC0832 (241) 9.3.3 单缓冲方式的接口与应用 (242) 9.3.4 双缓冲方式的接口与应用 (243) 9.4 A/D转换器接口 (245) 9.4.1 A/D转换器概述 (245) 9.4.2 A/D转换芯片ADC0809 (246) 9.4.3 单片机与ADC0809接口 (247) 9.4.4 应用举例 (248) 9.5 接口技术应用实例 (249) 本章小结 (257) 【知识拓展与思政元素】风险意识、弘扬 传统、不忘初心、牢记使命 (258) 习题9 (258) 第10章 单片机产品设计与开发 (261) 10.1 单片机产品设计步骤 (261) 10.1.1 设计任务及技术指标 (261) 10.1.2 总体方案设计 (261) 10.1.3 产品的硬件设计 (262) 10.1.4 产品的软件设计 (263) 10.1.5 产品调试 (264) 10.2 单片机产品的抗干扰技术 (265) 10.2.1 干扰源及其传播途径 (265) 10.2.2 抗干扰措施的电源设计 (266) 10.2.3 产品的地线设计 (268) 10.2.4 A/D和D/A转换器的抗干扰 措施 (269) 10.2.5 传输干扰 (270) 10.2.6 抗干扰措施的元器件 (271) 10.3 单片机应用系统设计实例 (273) 10.3.1 应用设计实例一—计算机时钟 的设计 (273) 10.3.2 应用设计实例二—交流工 频频率测量 (284) 本章小结 (291) 【知识拓展与思政元素】技术应用、创新 驱动、扬长避短、良性竞争 (291) 习题10 (292) 第11章 基于51核的片上系统简介 (293) 11.1 近年来51系列单片机的最新 发展 (293) 11.2 C8051F简介 (294) 11.2.1 C8051F系列单片机片上 资源 (294) 11.2.2 C8051F系列 CPU (295) 11.2.3 C8051F存储器 (296) 11.2.4 可编程数字I/O口和交叉 开关 (297) 11.2.5 可编程计数器阵列 (299) 11.2.6 多类型串行总线端口 (301) 11.2.7 模/数、数/模转换器 (304) 11.2.8 全速的在线调试接口 (JTAG) (307) 11.3 Cygnal C8051典型应用 (309) 11.3.1 精密混合型 (309) 11.3.2 汽车电子应用 (310) 11.3.3 手持设备、传感器应用 (310) 11.3.4 USB应用 (311) 11.3.5 CAN应用 (311) 11.3.6 低成本应用 (312) 11.3.7 低电压、低功耗系列 (312) 11.3.8 电容触摸传感系列 (313) 本章小结 (313) 【知识拓展与思政元素】问题导向、项目 驱动、职业规划、志存高远 (314) 习题11 (314) 附录A:部分ASCII码表 (315) 附录B:MCS51单片机指令速查表 (316) 附录C:C8051系列单片机SFR表 (321) 参考文献 (323)