教育>高职高专>计算机类
单片机应用设计与实现——基于KeilC和Proteus开发仿真平台

单片机应用设计与实现——基于KeilC和Proteus开发仿真平台"

作者:张永红
ISBN:9787121222603
定价:¥38.0
字数:474千字
页数:296
出版时间:2014-01
开本:16(185*260)
版次:01-01
装帧:
出版社:电子工业出版社
简介

本书以MCS-51系列单片机为主体,通过LED电子彩灯、电子钟、简易电子琴、数字电压表、数字温度控制器和日历时钟的设计与实现等6个项目,详细介绍单片机开发必备的基础知识和软硬件条件。在设计的6个学习项目中,学习者通过精心安排的案例可以在学习和实现单片机控制系统、编程、调试等技术的同时,由易到难、由浅入深地学习单片机C语言开发基础。本书的所有案例均采用C语言编程,在仿真软件Proteus中仿真实现。

前言

序 言 职业教育作为与经济社会联系最为紧密的教育类型,它的发展直接影响到生产力水平的提高和经济社会的可持续发展。职业教育的逻辑起点是从职业出发,是为受教育者获得某种职业技能和职业知识、形成良好的职业道德和职业素质,从而满足从事一定社会生产劳动的需要而开展的一种教育活动。高等职业教育以培养高端技能型专门人才为教育目标,由于职业教育与普通教育的逻辑起点不同,其人才培养方式也是不同的。教育部《关于推进高等职业教育改革创新引领职业教育科学发展的若干意见》(教职成[2011]12号)等文件要求“高等职业学校要与行业(企业)共同制订专业人才培养方案,实现专业与行业(企业)岗位对接、专业课程内容与职业标准对接;引入企业新技术、新工艺,校企合作共同开发专业课程和教学资源;将学校的教学过程和企业的生产过程紧密结合,突出人才培养的针对性、灵活性和开放性;将国际化生产的工艺流程、产品标准、服务规范等引入教学内容,增强学生参与国际竞争的能力”,其目的就是要深化校企合作,工学结合人才培养模式改革,创新高等职业教育课程模式,在中国制造向中国创造转变的过程中,培养适应经济发展方式转变与产业结构升级需要的“一流技工”,不断创造具有国家价值的“一流产品”。我校致力于研究与实践这个高等职业教育创新发展的中心课题,变使命为己任,从区域经济结构特征出发,确立了 “立足开发区,面向首都经济,融入京津冀,走出环渤海,与区域经济联动互动、融合发展,培养适应国际化大型企业和现代高端产业集群需要的高技能人才”的办学定位,形成了“人才培养高端化,校企合作品牌化,教育标准国际化”的人才培养特色。 为了创新改革高端技能型人才培养的课程模式,增强服务区域经济发展的能力,寻求人才培养与经济社会发展需求紧密衔接的有效教学载体,学校于2011年启动了“百名教师到企业挂职(岗)实践、开发百门工学结合项目课程、编写百部工学结合校本教材活动”(简称“三百活动”),资助100名优秀专职教师,作为项目课程开发负责人,脱产到世界500强企业挂职(岗)实践锻炼,去选择“好的企业标准”,转化为“好的教学项目”。教师通过深入生产一线,参与企业技术革新,掌握企业的技术标准、工作规范、生产设备、生产过程与工艺、生产环境、企业组织结构、规章制度、工作流程、操作技能等,遵循教育教学规律,收集整理企业生产案例,并开发转化为教学项目,进行“教、学、训、做、评”一体化课程教学设计,将企业的“新观念、新技术、新工艺、新标准”等引入课程与教学过程中。通过“三百活动”,有效促进了教师的实践教学能力、职业教育的项目课程开发能力、“教、学、训、做、评”一体化课程教学设计能力与职业综合素质。 学校通过“教师自主申报”、“学校论证立项”等形式,对项目的选题、实施条件等进行充分评估,严格审核项目立项。在项目实施过程中,做好项目跟踪检查、项目中期检查、项目结题验收等工作,确保项目的高质量完成。《教材名称》是我校“三百活动”系列教材之一。课程建设团队将企业系列真实项目转化为教学载体,经过两轮的“教、学、训、做、评”一体化教学实践,逐步形成校本教学资源,并最终完成本教材的建设工作。“三百活动”系列教材建设,得到了各级领导、行业企业专家和教育专家的大力支持和热心的指导与帮助,在此深表谢意。相信这套“三百活动”系列教材能为我国高等职业教育的课程模式改革与创新做出积极的贡献。 北京电子科技职业学院 副校长 安江英 于2013年2月 前 言 《国家中长期教育改革和发展规划纲要(2010-2020年)》提出,“高等职业教育具有高等教育和职业教育双重属性,以培养生产、建设、服务、管理第一线的高端技能型专门人才为主要任务”,“必须坚持以服务为宗旨、以就业为导向”,培养应用型人才。而培养应用型的人才,需要使用应用型的教学方法和应用型的教材。我们在研究高职层面的学生和反思职业教育传统教学方法的基础上,经过二十余年的教改实验积累,打破“章-节”编写模式,建立了“工作项目为导向,工作任务为驱动,行动体系为框架,典型案例情境为引导”的教材内容体系。围绕着学生项目能力的培养组织教材的内容,将单片机开发思路与过程等实用技术融入到具体任务中,使教学中达到“教、学、训、做、评”一体化成为可能。 本书以应用单片机解决实际问题的项目能力为编写主线,通过LED电子彩灯、电子钟、简易电子琴、数字电压表、数字温度控制器和日历时钟的设计与实现等6个项目,将单片机的基本知识、基本操作和应用方法结合起来,让学生在操作的实践中,体会单片机控制的规律,掌握单片机应用的方法,在不断反复操作的实践中熟练掌握单片机开发的工作过程,从实践到理论,进而内化为学习者的隐性知识。 本书的主要特点表现在以下几个方面。 (1)教材是以学生就业能力为导向,以实际操作为中心,让学生在自己完成任务的过程中完成教学目标为特色,特别适合单片机活动教学模式的项目教学法,教学目的具体明确,重点突出。 (2)现在部分学生毕业与就业不能接轨,常常毕业就意味着失业,其主要原因是学生虽有一些专业能力,但“社会/个人能力”和“方法与学习能力”欠缺,而这恰恰是我们要通过本教材加上适当的教学方法培养学生的“项目能力”,这里从时间管理和责任承担开始培养,以期待学生学完这门课程后,可以在完成任务的同时,项目能力也可以同步提升。 (3)围绕着学生项目能力的培养组织教材的内容,针对高职生以形象思维记忆为主要学习特征,以形象化、动作化的学习行为为主要学习手段的特点,教育者可以采用活动教学模式,利用任务驱动法,以实际动手操作完成任务带动理论课的学习。将单片机开发思路与应用过程等实用技术融入具体的任务中,通过这种类似于学生日后实际生活的真实环境中的反复实践,使学生获得自我构建的隐性知识——过程性知识。 (4)教材可以采用新型的活动教学模式,贯彻理论和实践相结合的原则,采用“理论—实践—自学理论—创新实践”的教学方式,滚动式递进。在内容科学性和知识点关联性的前提下,不刻意追求内容的系统性和完整性,而是着眼于激发学生潜能、培养学生的项目能力、提高学生的素质。在评价内容和方法上用学业的过程性评价和学生项目能力评价代替了以往单一的总结性评价,力图建构一套包括学生学习过程记录、成果演示、学生项目能力评价、教师评鉴的多元化评价系统。 (5)基于Keil C和Proteus的开发仿真平台。Keil μVision是目前较优秀的MCS-51系列单片机软件集成开发环境,集成了文件编辑、编译连接、项目管理和软件仿真调试等多种功能,也是职业工作岗位使用最多的MCS-51系列单片机软件开发平台。教材采用的C语言编程易于理解,可移植性非常好。Proteus是一款功能很强的EDA工具软件,可以直接在原理图的虚拟原型上进行单片机和外围电路的仿真,能够与Keil连接调试,实时、动态地模拟器件的动作,具有虚拟信号发生器、示波器、逻辑分析仪等多种测量分析工具,在单片机应用电路的仿真中具有突出的优势,是一款实用的单片机应用仿真软件。本书的所有案例均采用C语言编程,在仿真软件Proteus中仿真实现,仿真演示的直观性可以增加学习者学习单片机的兴趣。 为方便教学,本书提供全部案例的源程序和Proteus仿真电路以及部分视频等教学资源,需要者可登录华信教育资源网(www.hxedu.com.cn)免费下载。 本课程教学学时数可以根据学习者的认知程度做出灵活安排,建议课时在68~120之间。 本书由张永红担任主编,邱钊鹏担任副主编,其中项目1、项目2和项目6由张永红编写,项目3由张天擎编写,项目4由刘永琦编写,项目5由张永红、邱钊鹏编写。全书由朱运利教授主审,由张永红总体结构设计、统稿并定稿。本书在撰写过程中,得到了北京电子科技职业学院自动化工程学院的大力支持,曲鸣飞、陶砂、赵丹参加了本书的前期部分工作,在此表示衷心的感谢。 由于作者水平有限且时间仓促,书中难免有不足之处,恳请广大读者批评指正。 编 者

目录

目 录 项目1 LED电子彩灯的设计与实现 (1) 1.0 项目1任务描述 (1) 1.0.1 项目目标 (1) 1.0.2 项目内容 (1) 1.0.3 项目能力评价 (2) 1.1 任务1 认识单片机 (3) 1.1.1 单片机的组成 (3) 1.1.2 单片机的主要应用 (4) 1.1.3 MCS-51系列单片机 (4) 1.2 任务2 单片机中数的表示法 (5) 1.2.1 进位计数制 (5) 1.2.2 进位数制之间的转换 (7) 1.2.3 二进制编码(代码) (9) 1.2.4 逻辑数据的表示 (11) 1.2.5 计算机中数据的单位 (11) 1.3 任务3 单片机的硬件结构 (12) 1.3.1 单片机的信号引脚概述 (12) 1.3.2 单片机的内部结构 (14) 1.3.3 单片机的存储器结构 (15) 1.3.4 单片机的时钟与复位 (16) 1.4 任务4 单片机软硬件开发流程 (18) 1.4.1 单片机软硬件开发流程 (18) 1.4.2 程序编译软件Keil Vision的操作使用 (18) 1.4.3 硬件仿真软件Proteus的操作使用 (23) 1.4.4 将控制单个发光二极管的程序烧写入单片机并正确运行 (27) 1.5 任务5 用Keil C51编写程序使发光二极管闪动 (28) 1.5.1 任务与计划 (28) 1.5.2 C语言程序的结构 (29) 1.5.3 C语言程序的标识符与关键字 (29) 1.5.4 软件程序设计(顺序程序应用) (30) 1.5.5 硬件仿真原理图 (31) 1.5.6 用Proteus软硬件仿真运行 (31) 1.5.7 延时程序应用分析 (34) 1.5.8 提高练习 (35) 1.5.9 拓展练习 (35) 1.6 任务6 用Keil C编写程序控制流水灯 (36) 1.6.1 任务与计划 (36) 1.6.2 C语言程序的控制语句与C51函数 (36) 1.6.3 软件程序设计(循环程序应用) (40) 1.6.4 硬件仿真原理图 (41) 1.6.5 用Proteus软硬件仿真运行 (42) 1.6.6 提高练习 (42) 1.6.7 拓展练习 (42) 1.7 任务7 使用运算符点亮多只LED (42) 1.7.1 任务与计划 (42) 1.7.2 C语言程序的数据类型与运算符 (43) 1.7.3 软件程序设计 (44) 1.7.4 硬件仿真原理图 (45) 1.7.5 用Proteus软硬件仿真运行 (46) 1.7.6 提高练习 (46) 1.7.7 拓展练习 (46) 1.8 任务8 用if语句控制P0口8位LED点亮状态 (47) 1.8.1 任务与计划 (47) 1.8.2 C语言程序的条件语句 (47) 1.8.3 软件程序设计(分支程序应用) (48) 1.8.4 硬件仿真原理图 (49) 1.8.5 用Proteus软硬件仿真运行 (50) 1.8.6 提高练习 (50) 1.8.7 拓展练习 (50) 1.9 任务9 用switch语句控制P0口8位LED的点亮状态 (50) 1.9.1 任务与计划 (50) 1.9.2 C语言程序的多分支选择语句 (51) 1.9.3 软件程序设计 (52) 1.9.4 硬件仿真原理图 (53) 1.9.5 用Proteus软硬件仿真运行 (53) 1.9.6 提高练习 (54) 1.9.7 拓展练习 (54) 1.10 任务10 用数组指针控制P0口8位LED的点亮状态 (54) 1.10.1 任务与计划 (54) 1.10.2 C语言程序的数组与指针 (55) 1.10.3 软件程序设计 (57) 1.10.4 硬件仿真原理图 (58) 1.10.5 用Proteus软硬件仿真运行 (58) 1.10.6 提高练习 (59) 1.10.7 拓展练习 (59) 1.11 任务11 LED电子彩灯的设计与实现 (60) 1.11.1 任务与计划 (60) 1.11.2 认识YL-236型单片机实训平台的相关模块 (60) 1.11.3 软件程序设计 (61) 1.11.4 用Proteus软硬件仿真运行 (62) 1.11.5 单片机控制LED电子彩灯的实现 (63) 项目2 电子钟的设计与实现 (65) 2.0 项目2任务描述 (65) 1.0.1 项目目标 (65) 1.0.2 项目内容 (65) 1.0.3 项目能力评价 (65) 2.1 任务1 认识单片机的定时器/计数器 (66) 2.1.1 单片机的定时器/计数器 (66) 2.1.2 定时器/计数器的工作方式寄存器 (67) 2.1.3 定时器/计数器的控制寄存器 (68) 2.1.4 定时器/计数器的应用 (69) 2.2 任务2 用定时器T0查询方式控制P2口8位LED闪烁 (71) 2.2.1 任务与计划 (71) 2.2.2 定时器/计数器的工作方式设定和初值计算 (71) 2.2.3 软件程序设计 (72) 2.2.4 硬件仿真原理图 (72) 2.2.5 用Proteus软硬件仿真运行 (73) 2.2.6 提高练习 (73) 2.2.7 拓展练习 (74) 2.3 任务3 认识单片机的中断系统 (74) 2.3.1 认识单片机的中断 (74) 2.3.2 中断系统的应用 (74) 2.4 任务4 用定时器T0中断控制P1口8位LED闪烁 (78) 2.4.1 任务与计划 (78) 2.4.2 软件程序设计 (78) 2.4.3 硬件仿真原理图 (80) 2.4.4 用Proteus软硬件仿真运行 (80) 2.4.5 提高练习 (80) 2.4.6 拓展练习 (81) 2.5 任务5 用外部中断 的中断方式控制P1口LED规律点亮 (81) 2.5.1 任务与计划 (81) 2.5.2 软件程序设计 (82) 2.5.3 硬件仿真原理图 (83) 2.5.4 用Proteus软硬件仿真运行 (83) 2.5.5 提高练习 (84) 2.5.6 拓展练习 (84) 2.6 任务6 简易计时器设计 (84) 2.6.1 任务与计划 (84) 2.6.2 LED数码管接口技术应用 (84) 2.6.3 软件程序设计 (87) 2.6.4 硬件仿真原理图 (90) 2.6.5 用Proteus软硬件仿真运行 (92) 2.6.6 提高练习 (93) 2.6.7 拓展练习 (94) 2.7 任务7 独立式键盘控制步进电机正反转 (94) 2.7.1 任务与计划 (94) 2.7.2 步进电机的基本原理与驱动脉冲 (94) 2.7.3 软件程序设计 (95) 2.7.4 硬件仿真原理图 (98) 2.7.5 用Proteus软硬件仿真运行 (99) 2.7.6 提高练习 (99) 2.7.7 拓展练习 (99) 2.8 任务8 电子密码锁设计 (99) 2.8.1 任务与计划 (99) 2.8.2 键盘接口技术应用 (100) 2.8.3 软件程序设计 (102) 2.8.4 硬件仿真原理图 (105) 2.8.5 用Proteus软硬件仿真运行 (105) 2.8.6 提高练习 (106) 2.8.7 拓展练习 (106) 2.9 任务9 电子钟的设计与实现 (106) 2.9.1 任务与计划 (106) 2.9.2 认识YL-236型单片机实训平台的指令模块MCU06 (107) 2.9.3 软件程序设计 (108) 2.9.4 用Proteus软、硬件仿真运行 (112) 2.9.5 电子钟的设计与实现 (113) 项目3 简易电子琴的设计与实现 (115) 3.0 项目3任务描述 (115) 3.0.1 项目目标 (115) 3.0.2 项目内容 (115) 3.0.3 项目能力评价 (116) 3.1 任务1 认识串行通信和串行通信口 (117) 3.1.1 串行通信的基本概念 (117) 3.1.2 认识单片机串行口 (117) 3.1.3 单片机串行通信口的控制 (118) 3.1.4 单片机串行通信口的工作方式 (119) 3.1.5 串行口的应用方式 (121) 3.2 任务2 单片机的单机通信 (121) 3.2.1 任务与计划 (121) 3.2.2 数据通信 (122) 3.2.3 软件程序设计 (123) 3.2.4 硬件仿真原理图 (124) 3.2.5 用Proteus软硬件仿真运行 (124) 3.2.6 提高练习拓展练习 (125) 3.2.7 拓展练习 (125) 3.3 任务3 单片机的双机通信 (126) 3.3.1 任务与计划 (126) 3.3.2 波特率计算 (126) 3.3.3 双机之间的串行通信设计原理 (128) 3.3.4 软件程序设计 (128) 3.3.5 硬件仿真原理图 (132) 3.3.6 用Proteus软硬件仿真运行 (133) 3.3.7 提高练习 (133) 3.3.8 拓展练习 (134) 3.4 任务4 单片机与计算机PC串行通信 (134) 3.4.1 任务与计划 (135) 3.4.2 认识串行通信接口标准总线RS-232C (135) 3.4.3 认识电平转换芯片MAX232 (137) 3.4.4 软件程序设计 (137) 3.4.5 硬件仿真原理图 (139) 3.4.6 用Proteus软硬件仿真运行 (139) 3.4.7 提高练习 (142) 3.5 任务5 简易电子琴的设计与实现 (142) 3.5.1 任务与计划 (142) 3.5.2 认识单片机发出声音的实现方法 (142) 3.5.3 软件程序设计 (144) 3.5.4 用Proteus软、硬件仿真运行 (148) 3.5.5 简易电子琴的设计与实现 (149) 项目4 数字电压表的设计与实现 (151) 4.0 项目4任务描述 (151) 4.0.1 项目目标 (151) 4.0.2 项目内容 (151) 4.0.3 项目能力评价 (151) 4.1 任务1 认识LED点阵显示屏 (152) 4.1.1 任务与计划 (152) 4.1.2 认识LED点阵显示屏 (153) 4.1.3 软件程序设计 (153) 4.1.4 硬件仿真原理图 (155) 4.1.5 用Proteus软硬件仿真运行 (156) 4.1.6 提高练习 (157) 4.1.7 拓展练习 (157) 4.2 任务2 认识LCD1602液晶显示屏 (157) 4.2.1 任务与计划 (157) 4.2.2 认识LCD1602液晶显示屏 (158) 4.2.3 软件程序设计 (161) 4.2.4 硬件仿真原理图 (164) 4.2.5 用Proteus软硬件仿真运行 (165) 4.2.6 提高练习 (165) 4.2.7 拓展练习 (165) 4.3 任务3 简易波形信号发生器的设计 (165) 4.3.1 任务与计划 (165) 4.3.2 认识D/A转换芯片DAC0832 (166) 4.3.3 软件程序设计 (167) 4.3.4 硬件仿真原理图 (168) 4.3.5 用Proteus软硬件仿真运行 (169) 4.3.6 提高练习 (169) 4.3.7 拓展练习 (169) 4.4 任务4 基于ADC0832的数字电压表设计 (169) 4.4.1 任务与计划 (169) 4.4.2 认识A/D转换芯片ADC0832 (170) 4.4.3 软件程序设计 (171) 4.4.4 硬件仿真原理图 (176) 4.4.5 用Proteus软硬件仿真运行 (177) 4.4.6 提高练习 (177) 4.5 任务5 基于ADC0809的数字电压表设计与实现 (178) 4.5.1 任务与计划 (178) 4.5.2 认识A/D转换芯片ADC0809 (179) 4.5.3 软件程序设计 (180) 4.5.4 用Proteus软硬件仿真运行 (185) 4.5.5 数字电压表的设计与实现 (186) 项目5 数字温度控制器的设计与实现 (189) 5.0 项目5任务描述 (189) 5.0.1 项目目标 (189) 5.0.2 项目内容 (189) 5.0.3 项目能力评价 (189) 5.1 任务1 认识数字温度传感器DS18B20 (190) 5.1.1 认识数字温度传感器DS18B20 (190) 5.1.2 DS18B20温度传感器的接口电路与工作时序 (192) 5.1.3 DS18B20温度传感器的应用 (194) 5.2 任务2 温度报警器的设计 (195) 5.2.1 任务与计划 (195) 5.2.2 软件程序设计 (195) 5.2.3 硬件仿真原理图 (205) 5.2.4 用Proteus软硬件仿真运行 (205) 5.2.5 提高练习 (207) 5.2.6 拓展练习 (207) 5.3 任务3 数字温度控制器的设计与实现 (208) 5.3.1 任务与计划 (208) 5.3.2 认识交直流电机模块MCU08和温度传感器模块MCU13 (208) 5.3.3 软件程序设计 (208) 5.3.4 硬件仿真原理图 (218) 5.3.5 用Proteus软硬件仿真运行 (219) 5.3.6 数字温度控制器的设计与实现 (219) 5.4 任务4 认识Cortex-M4 (224) 5.4.1 嵌入式系统的特点与一般应用 (224) 5.4.2 Cortex-M4的组成及功能 (224) 5.4.3 Cortex-M4的主要应用 (226) 5.4.4 Cortex-M4的系列 (226) 5.5 任务5 基于Cortex-M4的直流步进电机控制器的设计与实现 (227) 5.5.1 任务与计划 (227) 5.5.2 熟悉IAR 6.30开发环境 (227) 5.5.3 基于Cortex-M4的直流电机控制器的设计与实现 (229) 项目6 日历时钟的设计与实现 (234) 6.0 项目6任务描述 (234) 6.0.1 项目目标 (234) 6.0.2 项目内容 (234) 6.0.3 项目能力评价 (234) 6.1 任务1 认识I2C总线 (235) 6.1.1 I2C总线及I2C总线接口 (235) 6.1.2 I2C芯片24C04的应用 (238) 6.1.3 软件程序设计 (240) 6.1.4 硬件仿真原理图 (244) 6.1.5 用Proteus软硬件仿真运行 (245) 6.1.6 提高练习 (245) 6.1.7 拓展练习 (245) 6.2 任务2 认识实时时钟电路 (245) 6.2.1 任务与计划 (245) 6.2.2 认识实时时钟芯片DS1302 (246) 6.2.3 软件程序设计 (249) 6.2.4 硬件仿真原理图 (257) 6.2.5 用Proteus软硬件仿真运行 (258) 6.2.6 提高练习 (258) 6.2.7 拓展练习 (258) 6.3 任务3 认识LCD12864液晶显示屏 (258) 6.3.1 任务与计划 (258) 6.3.2 认识LCD12864液晶显示屏 (259) 6.3.3 软件程序设计 (262) 6.3.4 硬件仿真原理图 (265) 6.3.5 用Proteus软硬件仿真运行 (266) 6.3.6 提高练习 (266) 6.3.7 拓展练习 (266) 6.4 任务4 日历时钟的设计与实现 (267) 6.4.1 任务与计划 (267) 6.4.2 软件程序设计 (267) 6.4.3 硬件仿真原理图 (278) 6.4.4 用Proteus软硬件仿真运行 (279) 6.4.5 日历时钟的设计与实现 (279) 附录A ASCII表 (281)

作者简介

编辑推荐

作者寄语

电子资料

http://www.hxedu.com.cn/hxedu/fg/book/bookinfo.html?code=G0222600

www.luweidong.cn

下一个