1、 高职高专电类专业基础课规划教材 基于 Proteus 的单片机项目 实践教程 刘燎原 编著 Publishing House of Electronics Industry 北京BEIJING 内 容 简 介 本书采用任务驱动、项目教学模式的编写思路,基于 Keil Vision程序设计平台和 Proteus 硬件仿真平台,精心选取了 10 个项目,把单片机的各个知识点贯穿在其中。10个项目按照从简单到复杂、从单一到综合的顺序排列,10 个项目分别为:点亮 LED、制作流水灯、制作手动计数器、设计倒计时、制作数字电压表、制作数字温度计、制作简易信号发生器、设计玩具小车调速系统、利用 PC控制
2、流水灯、设计电子钟。每个项目的内容安排都是一个闭环系统,包括:项目引入、任务描述、准备知识、项目实现、项目总结等环节。编程语言选用 C语言,由简到难,知识点逐个突破。本书适合作为高职高专院校电子信息、计算机应用技术、机电等相关专业单片机技术课程的教材,也可作为广大电子制作爱好者的自学用书。图书在版编目(CIP)数据 基于Proteus的单片机项目实践教程/刘燎原编著.北京:电子工业出版社,2012.12 高职高专电类专业基础课规划教材 ISBN 978-7-121-19139-8.基.刘.单片微型计算机系统仿真应用软件高等职业教育教材.TP368.1 中国版本图书馆CIP数据核字(2012)第
3、286801号 策划编辑:贺志洪 责任编辑:贺志洪 特约编辑:张晓雪 印 刷:装 订:出版发行:电子工业出版社 北京市海淀区万寿路 173 信箱 邮编 100036 开 本:7871 092 1/16 印张:15.5 字数:407 千字 印 次:2012 年 12 月第 1 次印刷 印 数:3000 册 定价:31.00 元 凡所购买电子工业出版社图书有缺损问题,请向购买书店调换。若书店售缺,请与本社发行部联系,联系及邮购电话:(010)88254888。质量投诉请发邮件至 ,盗版侵权举报请发邮件至 。服务热线:(010)88258888。北京中新伟业印刷有限公司北京中新伟业印刷有限公司 前
4、言 当前我国高职教育课程正在经历一个革新的过程。传统的学科体系课程,由于其存在重知识、轻能力的问题,不能满足社会对高职人才的需求,正在逐步被项目教学等更适合高职教育特点的教学模式取代。高职院校要培养的人才应是“既懂理论,又懂实践,有一定的研发经验,并开发过一定项目或产品的实用型人才”。本书就是顺应高职教学改革的需要,采用任务驱动、项目教学模式的编写思路,基于Keil Vision 程序设计平台和 Proteus 硬件仿真平台,精心选取了 10 个项目,把单片机的各个知识点贯穿在其中。本书的 10 个项目按照从简单到复杂、从单一到综合的顺序排列,10 个项目分别为:点亮 LED、制作流水灯、制作
5、手动计数器、设计倒计时、制作数字电压表、制作数字温度计、制作简易波形发生器、设计玩具小车调速系统、利用 PC 控制流水灯、设计电子钟。每个项目的内容安排都是一个闭环系统,包括:项目引入、任务描述、准备知识、项目实现、项目总结等环节。每个项目对应若干个知识点,点亮 LED 主要介绍单片机最小系统,制作流水灯主要介绍单片机和 LED 的连接及程序控制,制作手动计数器主要介绍单片机和按键、数码管的连接及程序控制,设计倒计时主要介绍单片机的定时/计数器,制作数字电压表主要介绍单片机和A/D转换芯片的连接及程序控制;制作简易波形发生器主要介绍单片机和 D/A转换芯片的连接及程序控制,利用 PC 控制流水
6、灯主要介绍单片机和计算机之间串行通信的连接及程序控制等,通过 10 个项目的学习,学生可以较为全面地掌握单片机的基础知识和各项应用技能。本书编程语言选用 C 语言,由简到难,知识点逐个突破。本书还引进 Proteus 仿真平台,突出学生软件编程能力、设计能力的培养,它可以充分仿真单片机系统工作情况,用构建的虚拟单片机系统代替实际硬件电路,程序运行于虚拟的 MCU 上,使软件调试不再依赖实物硬件电路,等仿真结果达到系统预期效果后,再进行硬件实物制作。本书的项目 1 至项目 7、项目 9 为基础篇,参考学时为 76 学时;项目 8、项目 10 为提高篇,参考学时 14 学时,这两个项目为选学内容。
7、各院校可根据具体情况进行教学,在教学中应给学生多提供硬件实物制作的机会,让学生边做边学,把看到的、听到的、手上做的结合起来。在这个过程中,学生学会思考,学会发现问题、解决问题,进而增强信心,提高学习积极性和锻炼能力。本书教学资源丰富,为方便教师教学,本书配有已在多届学生中使用的电子教学课件、精品课程网站、大量实例源代码和仿真电路等教学资源,有需要的可以与作者联系(LLY091163.COM),获得更多的教学服务支持。本书适合作为高职高专院校电子信息、计算机应用技术、机电等相关专业单片机技术课程的教材,也可作为广大电子制作爱好者的自学用书。本书由刘燎原编著。在本书选题、撰稿到出版的全过程中,得到
8、了学院和出版社各位领导和老师的帮助,并提出了许多宝贵的意见和建议,在此一并表示衷心的感谢。由于时间紧迫和编著水平有限,本书中难免有错误和不妥之处,在此真诚欢迎读者多提宝贵意见。编 著 2012 年 10 月 目 录 项目 1 点亮 LED1 1.1 任任任任1 1.2 准备知识2 1.2.1 认识认认认2 1.2.2 认认认最小系统6 1.2.3 认认认的存储器13 1.2.4 认认认 C语言基础19 1.3 项目实现27 1.3.1 设计思路27 1.3.2 硬件电路设计 27 1.3.3 程序设计28 1.3.4 仿真调试29 思考与练习 43 项目项目 2 制作流水灯制作流水灯 44 2
9、.1 任任任任44 2.2 准备知识44 2.3 项目实现48 2.3.1 设计思路48 2.3.2 硬件电路设计 48 2.3.3 程序流程设计 49 2.3.4 仿真调试52 2.3.5 程序烧录52 思考与练习 57 项目项目 3 制作手动计数器制作手动计数器58 3.1 任任任任58 3.2 准备知识58 3.2.1 数码管静态显示58 3.2.2 数码管动态显示63 3.2.3 外部中断66 3.3 项目实现77 3.3.1 设计思路77 3.3.2 硬件电路设计 77 3.3.3 软件编程78 3.3.4 仿真调试79 思考与练习 80 基于 Proteus 的单片机项目实践教程
10、项目项目 4 设计倒计时设计倒计时 82 4.1 任任任任82 4.2 准备知识82 4.2.1 认认认定时/计数器82 4.2.2 键盘应用92 4.3 项目实现100 4.3.1 设计思路100 4.3.2 硬件电路设计 100 4.3.3 程序设计100 4.3.4 仿真调试103 思考与练习 105 项目项目 5 制作数字电压表制作数字电压表106 5.1 任任任任106 5.2 准备知识106 5.3 项目实现110 5.3.1 设计思路110 5.3.2 硬件电路设计 110 5.3.3 程序设计110 5.3.4 仿真调试113 思考与练习 114 项目项目 6 制作数字温度计制
11、作数字温度计115 6.1 任任任任115 6.2 准备知识115 6.2.1 DS18B20 115 6.2.2 LCD液晶显示124 6.3 项目实现132 6.3.1 设计思路132 6.3.2 硬件电路设计 132 6.3.3 程序设计132 6.3.4 仿真调试138 思考与练习 139 项目项目 7 制作简易波形发生器制作简易波形发生器140 7.1 任任任任140 7.2 准备知识140 7.3 项目实现145 7.3.1 设计思路145 7.3.2 硬件电路设计 146 7.3.3 程序设计146 7.3.4 仿真调试149 思考与练习 150 目录 项目项目 8 设计玩具小车
12、调速系统设计玩具小车调速系统151 8.1 任任任任151 8.2 准备知识151 8.2.1 步进电动认 151 8.2.2 直流电动认调速158 8.3 项目实现161 8.3.1 设计思路161 8.3.2 硬件电路设计 162 8.3.3 程序设计162 8.3.4 仿真调试165 思考与练习 167 项目项目 9 利用利用 PC 控制流水灯控制流水灯168 9.1 任任任任168 9.2 准备知识168 9.2.1 认认认串行通信168 9.2.2 认认认与 PC之间的串行通信181 9.3 项目实现185 9.3.1 设计思路185 9.3.2 硬件电路设计 185 9.3.3 程
13、序设计185 9.3.4 仿真调试187 思考与练习 190 项目项目 10 设计电子钟设计电子钟191 10.1 任任任任191 10.2 准备知识191 10.2.1 DS1302 应用191 10.2.2 图形点阵 12864199 10.3 项目实现208 10.3.1 设计思路208 10.3.2 硬件电路208 10.3.3 软件设计209 10.3.4 仿真调试219 思考与练习 221 附录 A 单片机 C 语言 222 附录 B 单片机 C 语言编程模板 225 附录 C Proteus 元件英文符号 228 附录 D I2C 器件 AT24C04 的原理与应用 230 参考
14、文献 238 项目 1 点亮 LED【项目引入】在现代各种常用的电器中都有 LED 灯的使用,要求 LED 按照一定的频率闪烁,这实际上就是一个最简单的单片机控制电路。发光二极管 LED 是一种最简单和常用的电子器件,如图 1-1 所示。单片机的学习就从点亮 LED 灯开始。本节任务就是利用单片机驱动 LED 电路,设计程序使其点亮或闪烁。图 1-1 发光二极管 LED【知识目标】了解单片机的基本结构;掌握单片机的引脚;掌握单片机最小系统的组成;掌握 C51 基本语法。【技能目标】会安装和使用 Keil、Proteus;能制作单片机的最小系统硬件电路。1.1 任务描述 设计简单的单片机驱动 L
15、ED 闪烁的控制电路,借助 Keil Vision 完成程序的编写,在Proteus中完成仿真。基于 Proteus 的单片机项目实践教程 2 1.2 准备知识 1.2.1 认识单片机认识单片机 1.单片机的概念.单片机的概念(1)计算机 要清楚什么是单片机,还要从计算机讲起。图 1-2 所示的计算机是由中央处理器(CPU)、存储器、输入/输出接口电路(I/O)和外设,依靠系统总线(地址、数据、控制)相连而形成的硬件系统。它的硬件结构图如图 1-3 所示。图 1-2 计算机 图 1-3 计算机硬件结构图(2)单片机 随着大规模集成电路技术的发展,构成微型计算机的 CPU、ROM、RAM、I/O
16、接口等主要功能部件及总线集成在同一块芯片上,成为单芯片的微型计算机(Single Chip MicroComputer),简称单片机(微控制器),如图 1-4 所示。图 1-5 是由 ATMEL 公司生产的一个最常用的单片机芯片 AT89S52。图 1-4 单片机内部结构 项目 1 点亮 LED 3 图 1-5 单片机芯片(3)嵌入式系统 嵌入式系统一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等 4 个部分组成。它与一般单片机的区别,一是带有嵌入式操作系统,二是它是 32 位或更高位系统,一般的核心为 ARM、DSP、FPGA等。单片机系统一般不带操作系统,其实 ARM就是单片机的进一步发展。2.单片机的发展与分类.单片机的发展与分类 1975 出现了第一块 4 位单片机。单片机的发展经历了 4 位、8 位、16 位、32 位机的各个阶段。出现较早也是较成熟的单片机为 Intel 公司的 MCS-51 系列,如 Intel 8031、Intel 8051、Intel 8751 等型号。该单片机的字长为 8 位,具有完善的结构和优越的性能,以及较高的性价比和要求较