本书以模块为纽带,以项目为主体,以任务为中心,精选内容,借助Proteus虚拟仿真手段。全书本书围绕AVR单片机结构原理及应用,分绪论、基本I/O口操作、人机交互接口、中断定时计数器、信号转换、串行通信、实用项目设计等7个模块,设计了单灯闪烁控制、液位指示仪、电子记分牌、电信号显示面板、过流保护装置、定时插座、自动避障小车、波形发生器、数字电压表、猜数字游戏等11个教学项目,简易电子琴、数字频率计、PFC8563时钟万年历等7个拓展项目,红外遥控电子音量控制电路、数字密码锁2个综合应用项目。全书主要以ATmega16单片机为基础,同时也介绍了ATemga8、ATtiny等单片机的应用。
前 言
《AVR单片机应用技术项目化教程》于2013年1月由电子工业出版社首次出版,并于2014年7月入选教育部 十二五职业教育国家规划教材。随着时代发展,原有教材结构、体例及部分内容均已无法满足现代职业教育教学发展之要求,因此,作者结合本教材多年使用及教学经验,充分考虑了职业院校的办学定位、岗位需求等,于2018年在原书第一版基础上进行了修订。修订后的教材着重能力本位构建,以项目为主体,以任务为中心,围绕项目和任务重构和精选内容,并更注重学生专业技能和方法能力的培养和应用技能之培养。修订后的教材具有如下特色:
1. 注重能力本位构建,以项目为主体,以任务为中心,围绕项目和任务重构、精选内容。
传统单片机教学将理论与实践分开,先导入大量原理,再动手实验,学生理解困难、学习枯燥乏味。现代职业技术教学理论倡导行动导向教学,通过行动激发学生学习兴趣,在做中学,在学中做,有利于创新人才的培养。本书围绕AVR单片机结构原理,内容上分模块展开,全书分为绪论、基本I/O口操作、人机交互接口、中断定时计数器、信号转换、串行通信、实用项目设计等共计7个模块。以行动为导向,每个模块根据内容设计若干完整、独立、实用的项目,共计11个,为拓展知识结构,设计了拓展项目7个,涵盖了单片机基础知识、AVR单片机的软硬件平台使用、C语言语法、I/O口、键盘、显示、中断、定时器、PWM、模拟比较器、DAC、ADC、异步串行通信、SPI、I2C、内置EEPROM等,几乎涵盖了AVR单片机绝大部分资源,最后设计两个综合应用项目。每个项目以行动导入学习任务,设计了学习任务表,以便于读者梳理和归纳。部分项目配有程序流程图,方便读者理解程序设计思路。教材最后设计了若干附录,可作为实用参考资料。
2. 以教学做为指引,以模块为纽带,以项目为载体进行重构序化内容,各自既相互独立,又互为支撑,且层层递进。
教材内容编排设计思路以模块为纽带,以项目为中心,以任务为驱动,以教学做一体化为指引,内容力求实用,序化力求科学合理。在分模块的基础上,各教学项目既相互独立,又互为支撑,且层层递进。各项目从教学任务切入,通过分析任务要求、实现思路、实现方法,最后实现项目,以行动导入学习问题、学习内容,从知识链接、项目拓展、知识拓展、项目总结、项目训练等依次展开、逐级分解、逐次递进。部分项目设计有若干实用例题,均通过调试验证。教材编写中力求体便于行动导向教学实施,教学做有机融合。
3. 内容力求理论够用、侧重实践
内容力求理论够用、侧重实践、培养技能,除必要的理论基础外,更侧重实践练习,着重培养单片机设计、调试、综合开发能力,并以知识拓展形式进行理论或技术延伸,如差分转换、段式LCD、RFID识别等。各项目内容体系结构如下:
【工作任务】:从功能要求、实现思路、具体实施、调试分析,介绍完整项目开发实施,项目可在Proteus仿真,并提出学习内容、学习目标等。
【知识链接】:该项目涉及的相关知识学习、单元练习。
【项目拓展】:该项目相关知识所能完成更高层次的应用。
【知识拓展】:该项目相关知识拓展,属于选修部分内容。
【项目总结】:该项目的总结。
【项目训练】:举一反三,训练巩固所学知识。
4. 项目设计具有知识性、趣味性,有较好的知识承载作用,便于教学实施,又具有实用性。
各项目的设计经过仔细斟酌,难易适度,具有代表性,能起到很好的知识承载作用。既考虑了教学的实践性,又不失趣味性,还极具实用性。典型项目如液位指示仪、电信号显示面板、定时插座、自动避障小车、波形发生器、数字电压表、猜数字游戏等11个单元教学项目,简易电子琴、数字频率计、PFC8563时钟万年历等7个拓展项目,红外遥控电子音量控制电路、数字密码锁等2个综合应用项目。其中如定时插座、遥控电子音量控制等项目,笔者已做出实物样机,具有很强的实用性。
5. 以Proteus虚拟教学为重要手段,虚实结合,突出技能培养。
为有助于一体化教学实施,本书倡导虚实结合,借助计算机虚拟仿真手段,以Protues软件构建AVR单片机虚拟仿真平台,在计算机中运行单片机仿真程序,能直观的看到单片机执行程序的结果。注重技能培养,为提高复杂程序调试效率,介绍通过map映像文件查看C语言变量、数组等在SRAM的地址单元内容等方法。同时,还介绍了AVR单片机硬件开发平台搭建,以及如何使用AVRISP mkII等工具下载程序。
6. 立足教学,面向应用
教材主要以介绍AVR之ATmega单片机为主,大部分内容均以ATmega16型号单片机为基础,默认使用ICCAVR编译器。考虑实际工作岗位中的应用,部分项目使用了其他型号单片机来实现,对ATtiny系列单片机也有介绍,以使读者具有单片机选型能力,教材最后附有AVR单片机选型表。介绍了ICCAVR编译器与Atmel Studio编译器的不同之处,以使读者有能力在这两种编译器之间进行程序转换。
为方便教师教学,本书配套有电子教案、PPT课件、所有项目C语言源代码、Proteus仿真文件、项目运行测试演示视频、部分项目的原理图和PCB制板文件,如有需要请与出版社联系。
本书为高职高专教材,也可以作为应用型本科、职业学校教材或参考用书,也用作培训教材,还可作为工程技术人员的参考用书。
本书编写参考了国内外有关单片机及其他相关书籍和资料,在此向有关作者表示感谢,本校电子创新实验室学生对本书部分程序调试亦有贡献,在此表示感谢。限于时间仓促和作者之水平,本书错误之处在所难免,恳请广大读者批评指正。
编 者
欧阳明星,男,广东松山职业技术学院电子电气类专业骨干教师,其编著的AVR单片机教材获评十二五国家级规划教材荣誉称号。
目录
前 言0
绪论1
一、单片微型计算机工作原理1
(一)单片机的组成1
(二)单片机的特点4
(三)常见的单片机介绍5
二、单片机应用及开发过程6
(一)单片机应用6
(二)单片机开发过程7
(三)单片机编程语言7
三、单片机中采用的数制与编码8
(一)数制8
(二)数制转换9
(三)二进制运算10
(四)计算机表示数的方法13
(五)编码15
四、本书知识结构简介16
【知识小结】17
【思考与练习】17
模块1 基本I/O口操作18
项目1单灯闪烁控制18
【工作任务】18
【知识链接】20
任务1.1 AVR单片机简介20
任务1.2单片机软件开发平台27
任务1.3单片机硬件开发平台35
【项目总结】40
【项目训练】40
项目2 液位指示仪40
【工作任务】40
【知识链接】44
任务2.1 ATmega16单片机结构原理44
任务2.2I/O口结构及使用48
任务2.3 单片机C语言编程基础51
【项目拓展】68
任务2.4 流水灯68
任务2.5 简易电子琴69
【项目总结】73
【知识拓展】74
【项目训练】76
模块2 人机交互接口78
项目3 电子计分牌78
【工作任务】78
【知识链接】83
任务3.1 键盘83
任务3.2 数码管88
项目4 电信号显示面板92
【工作任务】92
【知识链接】98
任务4.1 字符型LCD液晶98
任务4.2 图文点阵LCD液晶106
【项目拓展】111
任务4.3 图文液晶显示111
【项目总结】119
【项目练习】119
模块3 中断和定时计数器120
项目5过流监控保护装置120
【工作任务】120
【知识链接】123
任务5.1 中断概述123
任务5.2 ATmage16的中断系统124
任务5.3中断函数127
任务5.4外部中断应用129
项目6定时插座132
【工作任务】133
【知识链接】138
任务6.1 ATmega16定时器原理138
任务6.2 T/C0定时/计数器140
任务6.3 T/C2定时/计数器148
【项目拓展】154
任务6.4 数字时钟154
项目7自动避障小车158
【工作要求】158
【知识链接】165
任务7.1 T/C1定时/计数器结构原理165
任务7.2 相关寄存器168
任务7.3 T/C1定时/计数器应用172
【项目拓展】178
任务7.4 数字频率计178
【项目总结】180
【项目训练】181
模块4 信号转换182
项目8波形发生器183
【工作任务】183
【知识链接】186
任务8.1 D/A转换器工作原理186
任务8.2 集成D/A转换器188
项目9数字电压表190
【任务要求】190
【知识链接】193
任务9.1 A/D转换器工作原理193
任务9.2 ATmega16集成A/D转换器194
【知识拓展】203
任务9.3 差分信号转换203
【项目总结】204
【项目训练】205
模块5 串行通信206
项目10串口虚拟终端调试206
【工作任务】206
【知识链接】209
任务10.1 串行通信基础209
任务10.2 ATmega16异步串行通信接口213
【项目拓展】220
任务10.3双机串行通信220
【项目总结】223
【项目训练】223
项目11猜数字游戏224
【工作任务】224
【知识链接】227
任务11.1 SPI通信协议227
任务11.2 I2C通信协议232
任务11.3 I/O口模拟串行通信238
【项目拓展】241
任务11.4 PCF8563时钟万年历241
【项目总结】249
【项目训练】249
模块6 实用项目设计251
项目12红外遥控电子音量控制电路251
【任务要求】251
【知识链接】262
任务12.1 PGA2310工作原理262
任务12.2 红外遥控解码266
任务12.3 内置EEPROM存储器269
项目13 数字密码锁272
【任务要求】272
【知识链接】284
任务13.1步进电机284
【项目拓展】286
【知识拓展】287
任务13.2 段式液晶显示287
任务13.3 RFID射频卡识别289
附录294
参考文献295