AVR单片机应用技术
分享
课程详情
课程评价
spContent=《AVR单片机应用技术》课程是以新型AVRMega16单片机作为学习载体,以单片机自身资源在相关电子产品的应用能力为主要学习目标,以项目化进行组织、按照电子产品开发步骤作为教学实施方式的教改课程。
—— 课程团队
课程概述

AVR单片机是在1997年由Atmel公司挪威设计中心的A先生和V先生研发的增强型RISC精简指令集高速8位单片机。可广泛应用于计算机外部设备、工业实时控制、仪器仪表、通讯设备、家用电器等各个领域。

AVR单片机内嵌高质量的Flash程序存储器,擦写方便,支持ISP在系统编程和IAP在应用编程,便于产品的调试、开发、生产、更新。

   内嵌长寿命的EEProm可长期保存关键数据,避免断电丢失。

   AVR单片机的I/O线全部带可设置的上拉电阻、可单独设定为输入/输出、可设定(初始)高阻输入,使的得I/O口资源灵活、功能强大。

AVR单片机片内具备多种独立的时钟分频器,可通过软件设定分频系数提供多种档次的定时时间。

AVR单片机独有的“以定时器/计数器(单)双向计数形成三角波,再与输出比较匹配寄存器配合,生成占空比可变、频率可变、相位可变方波的设计方法(即脉宽调制输出PWM)”更是令人耳目一新。

AVR单片机有自动上电复位电路、独立的看门狗电路、低电压检测电路BOD,多个复位源(自动上下电复位、外部复位、看门狗复位、BOD复位),可设置的启动后延时运行程序,增强了嵌入式系统的可靠性。

AVR单片机具有多种省电休眠模式,且可宽电压运行(5-1.8V),抗干扰能力强,可降低一般8位机中的软件抗干扰设计工作量和硬件的使用量。

AVR单片机内部集成多种器件(包括FLASH程序存储器、看门狗、EEPROM、同/异步串行口、TWISPIA/D模数转换器、定时器/计数器等)和多种功能(增强可靠性的复位系统、降低功耗抗干扰的休眠模式、品种多门类全的中断系统、具输入捕获和比较匹配输出等多样化功能的定时器/计数器、具替换功能的I/O端口),充分体现了单片机技术从“片自为战”向“片上系统SoC”的发展方向。

本课程以AVRMega16单片机为学习载体,以项目化方式安排学习内容,充分利用电路基础、模拟电子、数字电子、C语言编程等课程的知识,结合单片机片内资源,共设计了9个能实现不同功能的教学项目。教学项目具体如下:

1、通过单片机的I/O口应用技术控制LED、继电器、按键等外部元器件设计的项目一《常用电器电源乒乓式开关控制系统设计》;

2、利用数码管的动态显示技术及单片机的外部中断技术设计的项目二《脉冲计数控制系统设计》;

3、8位数码管控制技术与单片机片内EEPROM存储技术设计的项目三《篮球比赛计分器设计》;

4、利用单片机片内定时器技术设计的项目四《电子时钟设计》;

5、利用单片机片内PWM输出技术设计的项目五《PWM调光控制器设计》;

6、利用片内A/D转换技术设计的项目六《简易数字电压表设计》;

7、利用片内TWI技术及温度传感器设计的项目七《多点温度采集系统设计》;

8、利用片内SPI技术及铁电存储器设计的项目八《数据存储系统设计》;

9、利用单片机UART技术及看门狗功能设计项目九《服务业窗口评价器设计》。

项目的教学展开以实际电子产品开发步骤组织实施,具体分为项目学习引入(项目背景及实物演示)、项目方案设计及器件选型(项目宏观设计思路)、项目电路设计(I/O口分配及详细电路设计思路与演示过程)、项目驱动程序设计(C语言模块化设计架构及寄存器设置,代码的具体实现过程等)、项目制作与功能实现等步骤。

课程的考核主要有教学单元的随堂测试、项目测试、项目功能拓展练习及综合考试等环节组成。每个项目的拓展练习,需要写出详细的设计报告。

通过本课程的学习并合格通过,学习者能达到初级电子工程师的基本素质与意识。


课程大纲

《AVR单片机应用技术》课程大纲

 

课程编号:010105-Z                  适用专业:电子信息工程

课程类型:专业课                    课程性质: 必修课

课程学时:60                        课程学分:4

一、课程定位

本课程是电子信息工程技术专业的一门主干必修课程。

本课程以“电路基础”、“模拟电子电路设计与制作”、“数字电子电路设计与制作”、“C语言程序设计、“电子电路制图与制板”等前修课程技能和知识为基础进行学习;为专业的《嵌入式STM32应用》课程学习做准备。

二、课程目标

2.2.1能力目标

l  AVR单片机开发系统ICC AVRAVR STUDIOPROTEUS及开发板综合应用能力;

l  运用C语言编程操作AVR单片机的功能模块能力;

l  AVRMega16单片机为处理器的电子产品电路设计能力;

l  电子产品开发相关仪器仪表使用能力;

l  电路分析、归纳与一般故障排除能力;

l  查阅资料能力。

2.2.2知识目标

l  掌握AVR单片机的I/O口控制常用输入与输出元件的电路设计与驱动程序设计技术;

l  掌握AVR单片机的外部中断管脚应用及实现技术;

l  掌握AVR单片机的EEPROM读写操作及编程实现技术;

l  掌握AVR单片机的定时与计数器T0应用规则与编程实现技术;

l  掌握AVR单片机的定时器T0输出PWM波的实现过程技术;

l  掌握AVR单片机的A/D转换实现过程技术;

l  掌握AVR单片机的TWI总线操作与实现技术;

l  掌握AVR单片机的SPI总线开发操作与实现技术;

l  掌握AVR单片机的UART串口通信实现技术;

l  掌握AVR单片机的看门狗应用技术;

2.2.3其它目标

l  通过课程教学,使学生学会文献检索、资料查找与阅读能力(含英文资料)。

l  培养学生团队精神与协作能力,使学生具有一定的岗位意识及岗位适应能力。

l  养成良好的职业素养和正确的操作规范。

l  培养学生自主学生能力。

三、课程设计

1.设计理念

本课程以技术应用为抓手,以运用知识解决问题的思路方法为手段,以项目化方式组织教学内容,以实际电子产品开发步骤组织教学实施过程。

2.设计思路

将本课程内容分为五个学习任务,每个学习任务分成若干典型项目。每一典型项目按照电子产品控制电路的设计流程分为固定学习步骤,通过项目引入相关的知识点,在教学过程中采用一体化的教学方法。通过每个具体项目的学习,不仅提高了学生学习理论知识的积极性,还提高了学生的动手能力、看图能力,分析问题、解决问题、仪器仪表的使用能力以及电子技术的应用能力。

四、课程内容与学时分配

序号

课程项目名称

教学内容

学时

1

《常用电器电源乒乓式开关控制系统设计》

单片机控制LED、继电器、按键等常用元器件的典型电路及驱动程序编写;运用单片机的开发系统ICC、AVR STDIO、PROTEUS等软件使用,开发板应用、外围电路焊接等知识

6

2

《脉冲计数控制系统设计》

单片机的数码管控制电路及动态显示驱动技术

单片机外部中断管脚使用技术

8

3

《篮球比赛计分器设计》

单片机控制8位数码管显示技术

单片机内部EEPROM读写操作技术

多位独立按键的驱动编程技术

单片机的定时器应用技术

6

4

《电子时钟设计》

单片机的内部定时器T0定时工作原理

定时器T0普通工作模式及溢出中断编程

6

5

《PWM调光控制器设计》

单片机的PWM产生原理

运用定时器T0产生PWM波技术

6

6

《简易数字电压表设计》

A/D转换原理

单片机的内部A/D驱动编程技术

6

7

《多点温度采集系统设计》

I2C总线及协议

单片机的TWI总线驱动技术

DS1621控制技术

8

8

《数据存储系统设计》

SPI总线协议

单片机的SPI总线驱动技术

铁电存储器FM25XX系列器件应用技术

6

9

《服务业窗口评价器设计》

串口通信协议

UART驱动编程技术

单片机看门狗应用技术

8

合计

60

 

 

五、项目教学过程设计

项目教学过程

主要教学内容

1.项目学习引入环节

项目背景介绍、项目实际电路功能演示、让学生看到功能、激发学习兴趣

2.项目方案设计与器件选型环节

对演示的电路进行功能分析、明确项目设计思路,对实际电路中用到的元器件进行使用说明

3.项目详细电路设计环节

在方案确定的基础上、对项目硬件电路进行详细设计、同时介绍电路的工作原理及要实现的功能等

4.项目驱动程序设计环节

使用C语言模块化程序设计原则,对项目驱动程序进行模块划分;同时对单片机内部资源进行详细学习,并分模块进行功能实现,实现的过程可以先仿真实现

5.电路制作及功能实现

列出项目用元件清单、硬件电路焊接与装配、可执行文件下载

6.学习考核

随堂测试、单元测试、项目功能拓展、问题解疑

教学方法建议

1. 注重运用知识解决问题思路与方法引导。

2. 采用理实一体的教学方法,所讲知识点能马上让学生看到现象。

3. 提出一个具体的任务时要让学生思考并讨论,   锻炼学生的解决问题的方法能力。

备注

 




(1)项目《常用电器电源乒乓式开关控制系统设计》

知识提纲

主要知识及技能

1、项目的意义

1、项目背景;2、项目功能;3、项目知识与技能概述

2、项目方案设计

1、项目的组成;2、单片机性能参数;3、单片机管脚功能;4、项目功能实现需要的LED、按键及继电器选型及原因

3、LED控制及功能实现

1、单片机控制LED电路原理(两种);2、单片机IO口方向与数据寄存器功能;3、寄存器配置的逻辑位操作方法;3、在ICC开发环境编写LED驱动程序;4、在仿真软件中点亮LED

4、独立按键控制及功能实现

1、独立按键电路;2、单片机识别按键“开/关”的原理;3、单片机读取管脚寄存器功能;4、单片机片内上拉电阻使能的寄存器初始化方法;5、毫秒级软件延时子函数的设计;6、独立按键的扫描函数实现;7、结合LED在仿真软件中对按键功能初步实现

5、继电器控制及项目总功能实现

1、继电器控制电路(两种);2、继电器驱动程序的设计;3、C语言中标志位的使用;4、单键的功能复用方法;5、项目功能的算法设计与功能实现

具体教学过程

1、 课下时间布置学生登录平台在线学习,试做随堂练习习题,记录难点知识;(非常重要)

2、 教师上课时间,通过在线课堂习题效果统计,重点讲解难点知识,教师示范演示电路设计、程序设计全过程,并实现。(保证听懂)

3、 知识与技能达到熟练的方法:项目完整电路设计练习5遍;项目的驱动程序理解至少模仿练习5遍。(保证掌握)

4、 提出一个具体的任务时要让学生思考并讨论, 锻炼学生的解决问题的方法能力。(创新能力训练)




(2)项目 《脉冲计数控制系统设计》

知识提纲

主要知识及技能

1、项目的意义

1、项目背景;2、项目功能;3、数码管控制及外部中断知识概述

2、项目方案设计

1、项目的组成;2、单片机性能参数;3、单片机外部中断管脚认识功能;4、项目功能实现需要的数码管选型及原因

3、数码管控制及功能实现

1、单片机控制数码管电路原理设计(两种);2、单片机IO口寄存器字节与逻辑位操作宏定义方法;3、数码管的十进制显示代码;4、数码管动态(静态)显示原理;5、在ICC开发环境编写数码管驱动程序;6、在仿真软件中对数码管显示实现

4、单片机外部中断管脚及中断编程

1、单片机外部中断系统组成;2、单片机总中断的打开与关闭(SREG寄存器使用);3、单片机外部中断管脚与普通IO管脚的功能转换(GICR寄存器使用);4、单片机外部中断管脚电平触发方式(MCUCR、MCUCSR寄存器的使用);5、单片机外部中断响应(GIFR寄存器使用);6、外部中断服务函数的编写;7、结合数码管与外部中断对项目功能的实现

具体教学过程

1、课下时间布置学生登录平台在线学习,试做随堂练习习题,记录难点知识;(非常重要)

2、教师上课时间,通过在线课堂习题效果统计,重点讲解难点知识,教师示范演示电路设计、程序设计全过程,并实现。(保证听懂)

3、知识与技能达到熟练的方法:项目完整电路设计练习5遍;项目的驱动程序理解至少模仿练习5遍。(保证掌握)

4、提出一个具体的任务时要让学生思考并讨论,   锻炼学生的解决问题的方法能力。(创新能力训练)




 

(3)项目《电子时钟设计》

知识提纲

主要知识及技能

1、项目的意义

1、项目背景;2、项目功能;3、液晶显示知识概述;4、定时器知识概述

2、项目方案设计

1、项目的组成;2、液晶1602的选择原因;4、利用外部中断技术的按键功能选择原因;5、单片机片内定时器T0的功能选择原因

3、液晶1602控制及功能实现

1、液晶1602的管脚功能;2、液晶1602的内部寄存器及功能;3、单片机控制液晶1602的电路设计;4、液晶1602的驱动函数划分;5、判忙子函数设计;6、写指令子函数设计;7、写显示数据的子函数设计8、液晶1602功能初始化子函数设计;9、在ICC开发环境编写完整1602驱动程序;10、在仿真软件中对1602的显示功能实现

4、单片机内部定时器T0及溢出中断编程

1、单片机T0定时器工作模式;2、单片机工作主频对定时器工作的影响;3、单片机T0的普通工作模式及分频系数选择(TCCR0寄存器使用);4、单片机T0的定时时间初始值计算方法(TCNT0寄存器的使用);5、单片机T0溢出中断响应(TIMSK寄存器使用);6、单片机T0的普通工作及中断溢出功能初始化;7、T0溢出中断服务函数1秒的基准时间实现;8、T0的24小时进制时间服务函数编写;9、结合1602显示实现电子时钟的功能实现

5、外部中断技术按键实现时间校时

1、预留出单片机的外部中断管脚INT0、INT1对整个项目电路设计的意义;2、外部中断按键实现分校时与时校时的功能编程;4、主函数功能算法设计与实现

具体教学过程

1、 课下时间布置学生登录平台在线学习,试做随堂练习习题,记录难点知识;(非常重要)

2、 教师上课时间,通过在线课堂习题效果统计,重点讲解难点知识,教师示范演示电路设计、程序设计全过程,并实现。(保证听懂)

3、 知识与技能达到熟练的方法:项目完整电路设计练习5遍;项目的驱动程序理解至少模仿练习5遍。(保证掌握)

4、 提出一个具体的任务时要让学生思考并讨论, 锻炼学生的解决问题的方法能力。(创新能力训练)




 

 

 

(4)项目《PWM调光控制器设计》

知识提纲

主要知识及技能

1、项目的意义

1、项目背景;2、项目功能;3、PWM知识概述

2、项目方案设计

1、项目的组成;2、单片机片PWM管脚认识;4、LED灯光的积分滤波器意义;5、多按键及功能复用的意义

3、液晶1602控制及功能实现

1、液晶1602的管脚功能;2、液晶1602的内部寄存器及功能;3、单片机控制液晶1602的电路设计;4、液晶1602的驱动函数划分;5、判忙子函数设计;6、写指令子函数设计;7、写显示数据的子函数设计8、液晶1602功能初始化子函数设计;9、在ICC开发环境编写完整1602驱动程序;10、在仿真软件中对1602的显示功能实现;11、根据功能需要的液晶1602显示子函数设计

4、单片机内部定时器T0的PWM编程

1、PWM波形的产生要素;2、单片机T0产生PWM波的原理分析;3、单片机T0的快速PWM波工作模式及分频系数选择(TCCR0寄存器使用);4、单片机T0的PWM基波产生(TCNT0寄存器的使用);5、单片机T0比较匹配产生PWM波(OCR0寄存器使用);6、单片机T0的PWM产生功能初始化;7、PWM占空比的算法实现

5、外部中断技术按键实现的PWM占空比连续调节

1、预留出单片机的外部中断管脚INT0、INT1对整个项目电路设计的意义;2、在外部中断服务函数中实现OCR0的步进加减

6、独立按键实现固定占空比的显示实现

1、多按键的扫描函数实现;2、主函数的算法工作流程;3、通过主函数对项目功能的完整编程实现

具体教学过程

1、 课下时间布置学生登录平台在线学习,试做随堂练习习题,记录难点知识;(非常重要)

2、 教师上课时间,通过在线课堂习题效果统计,重点讲解难点知识,教师示范演示电路设计、程序设计全过程,并实现。(保证听懂)

3、 知识与技能达到熟练的方法:项目完整电路设计练习5遍;项目的驱动程序理解至少模仿练习5遍。(保证掌握)

4、 提出一个具体的任务时要让学生思考并讨论, 锻炼学生的解决问题的方法能力。(创新能力训练)




 

 

(5)项目《简易数字电压表设计》

知识提纲

主要知识及技能

1、项目的意义

1、项目背景;2、项目功能;3、A/D转换知识概述

2、项目方案设计

1、项目的组成;2、单片机片AVCC、AREF、GND等AD部分管脚认识

3、液晶1602控制及功能实现

1、液晶1602的管脚功能;2、液晶1602的内部寄存器及功能;3、单片机控制液晶1602的电路设计;4、液晶1602的驱动函数划分;5、判忙子函数设计;6、写指令子函数设计;7、写显示数据的子函数设计8、液晶1602功能初始化子函数设计;9、在ICC开发环境编写完整1602驱动程序;10、在仿真软件中对1602的显示功能实现;11、根据功能需要的液晶1602显示子函数设计

4、单片机内部A/D部分应用

1、单片机的内部A/D功能与外部管脚应用;2、单片机8路A/D输入管脚与普通IO管脚的功能转换(ADCSRA寄存器使用);3、单片机内部A/D参考电源、数据对齐及输入通道选择(ADMUX寄存器使用);4、单片机A/D启动一次转换、A/D工作速度设置(ADCSRA寄存器的使用);5、A/D数据存储方式(ADCL ADCH寄存器使用)6、单片机A/D功能初始化函数设计;6、单片机A/D数据处理子函数设计

5、主函数工作算法

1、主函数的算法工作流程;3、通过主函数对项目功能的完整编程实现

具体教学过程

1、 课下时间布置学生登录平台在线学习,试做随堂练习习题,记录难点知识;(非常重要)

2、 教师上课时间,通过在线课堂习题效果统计,重点讲解难点知识,教师示范演示电路设计、程序设计全过程,并实现。(保证听懂)

3、 知识与技能达到熟练的方法:项目完整电路设计练习5遍;项目的驱动程序理解至少模仿练习5遍。(保证掌握)

4、 提出一个具体的任务时要让学生思考并讨论, 锻炼学生的解决问题的方法能力。(创新能力训练)



(6)项目《服务业窗口评价器设计》

知识提纲

主要知识及技能

1、项目的意义

1、项目背景;2、项目功能;3、串行通信知识概述

2、项目方案设计

1、项目的组成;2、单片机片RXD与TXD管脚;3、USB转串口并与电脑通信;4、上位机应用程序(串口调试助手);5、虚拟串口配置

3、液晶1602控制及功能实现

1、液晶1602的管脚功能;2、液晶1602的内部寄存器及功能;3、单片机控制液晶1602的电路设计;4、液晶1602的驱动函数划分;5、判忙子函数设计;6、写指令子函数设计;7、写显示数据的子函数设计8、液晶1602功能初始化子函数设计;9、在ICC开发环境编写完整1602驱动程序;10、在仿真软件中对1602的显示功能实现;11、根据功能需要的液晶1602显示子函数设计

4、单片机串口通信

1、单片机的RXD TXD管脚功能;2、单片机串口通信的数据帧结构;3、单片机串口通信的波特率;4、单片机串口通信的控制寄存器(UCSRA UCSRB UCSRC UDR UBRRL UBRRH);5、串口通信协议的设计;6、单片机串行通信初始化函数设计;6、单片机查询发送子函数设计;7、单片机中断接收子函数设计

5、单片机看门狗应用

1、看门狗的本质;2、看门狗的工作原理;3、看门狗的寄存器应用;4、看门狗的初始化子函数设计

5、主函数工作算法

1、主函数的算法工作流程;3、通过主函数对项目功能的完整编程实现

具体教学过程

1、 课下时间布置学生登录平台在线学习,试做随堂练习习题,记录难点知识;(非常重要)

2、 教师上课时间,通过在线课堂习题效果统计,重点讲解难点知识,教师示范演示电路设计、程序设计全过程,并实现。(保证听懂)

3、 知识与技能达到熟练的方法:项目完整电路设计练习5遍;项目的驱动程序理解至少模仿练习5遍。(保证掌握)

4、 提出一个具体的任务时要让学生思考并讨论, 锻炼学生的解决问题的方法能力。(创新能力训练)



六、课程考核

序号

考核名称

分值

要求

1

注册并观看教学视屏

40

在发布的时间范围内完整观看教学视频

2

视频单元随堂测试

20

在规定时间内完成视频随堂测验习题

3

项目基本知识巩固测验

30

在规定时间内完成项目基本知识巩固性测试习题

4

项目拓展习题、回答讨论区问题

10

能及时拓展习题相关资料





七、教学基本条件

1.教学资源

(1)教材:杨永主编.《ATMega16单片机项目导向教程》.电子工业出版社

(2)参考资料:MEGA16设计应用文档

(3)在线开放课程中按单元分配的教学视频

(4)在线开放课程中配套教学视频的随堂测试习题

(5)项目测试习题及拓展任务

2.教学设施

校内实训场所:

(1)专业所属机房。所用设备:仿真软件、配套开发板。

2)电子信息基础实训室。所用仪器:示波器、直流稳压电源、焊接设备

八、其他说明

1.课程大纲开发说明

(1)特点

课程内容与实际的电子产品紧密结合,采用项目化的教学方法,突出讲、做、练的结合。以实际的电子产品为载体,引入相关的教学内容,便于开展工学结合教学模式,提高教学效果。

(2)开发团队

序号

姓名

工作单位

职称

备注

1

杨永

淮安信息职业技术学院

副教授、高级工程师

负责人

2

沙祥

淮安信息职业技术学院

讲师、工程师

主讲

3

杜锋

淮安信息职业技术学院

   讲师、工程师

主讲

4

张洪明

淮安信息职业技术学院

   讲师、工程师

主讲

5

缪应军

南京元厚电子科技公司

  高级工程师

技术咨询

(3)企业参与情况

开发团队有1位企业技术人员参与课程建设与开发。采用的载体也有企业的产品。

制定日期:2011-9-15                     修订日期:2017-9-1

执笔人:   杨永                    审核人:贾艳丽          批准人:  庄海军             

 


预备知识

电路分析、模拟电子技术、数字电子技术、C语言编程技术、电子元器件基本焊接技术、常用电子仪器仪表应用技术等

证书要求

参考资料

(1)教材:杨永主编.《ATMega16单片机项目导向教程》.电子工业出版社

(2)参考资料:MEGA16设计应用文档

(3)在线开放课程中按单元分配的教学视频

(4)在线开放课程中配套教学视频的随堂测试习题

(5)项目测试习题及拓展任务