单片机应用技术课程整体教学设计.docx
《单片机应用技术课程整体教学设计.docx》由会员分享,可在线阅读,更多相关《单片机应用技术课程整体教学设计.docx(36页珍藏版)》请在冰豆网上搜索。
单片机应用技术课程整体教学设计
《单片机应用技术》
整体教学设计
(2015~2016学年第2学期)
课程名称:
单片机应用技术
所属系部:
信息与智能工程系
制定人:
郭志勇巩雪洁
合作人:
自成留忠
制定时间:
2016.1.16
电子信息职业技术学院
一、课程基本信息
课程名称:
单片机应用技术
课程代码:
085011
学分:
6.5
学时:
90
授课时间:
第2学期
授课对象:
高职学生
课程类型:
计算机控制技术等专业职业能力必修课
先修课程:
计算机电路、C语言程序设计
后续课程:
嵌入式系统、智能机器人
一、课程定位
本课程主要是以智能控制、智能电子产品、智能机器人工程项目为主线,采用企业真实工作任务,通过“项目驱动”教学模式,对国外广泛应用的MCS-51系列单片机的AT89S52单片机工作原理、应用系统的剖析,使学生获得有关单片机硬件、软件的基本概念、基本知识和单片机应用系统的设计编程入门知识以及用C语言进行程序设计、运行、调试等基本技能,培养学生分析问题和解决问题的能力。
1.岗位分析:
本课程主要培养具有智能电子产品和智能控制设计、分析、调试和制作能力的技术技能型人才,可以从事智能电子产品和智能控制设计开发、生产、销售与服务等相关工作,如图1所示。
单片机应用技术(专业技术课程)
计算机控制技术、物联网应用技术等相关专业
智能电子产品生产、销售和服务
智能电子产品开发和智能控制
岗位群
专业
课程
图1课程与岗位
2.课程分析:
本课程是计算机控制技术、物联网应用技术等相关专业的职业能力必修课程,是计算机控制技术专业核心课程。
在计算机控制技术专业课程体系中,基于单片机应用技术的课程结构如图2所示。
计算机应用基础
计算机电路
C语言程序设计
单片机应用技术(核心课程)
嵌入式系统、智能移动终端、智能机器人等专业课程
图2基于单片机应用技术的课程结构
位于最底层的是本课程的先修课程,也是专业基础课程;本课程是专业核心课程;位于最上层的是本课程的后续课程,既专业课程。
基于单片机应用技术的课程结构实现了无缝对接,同时也是我们学校其它相关专业的骨干课程,如嵌入式技术、电子信息工程技术、机电一体化、电气自动化、数控技术等专业都开设本课程。
二、课程目标设计
总体目标:
学通过本课程的学习,学生能熟练使用Proteus仿真软件、C语言编程,能完成简单的智能电子产品和智能控制设计开发;能根据智能电子产品和智能控制设计要求进行元器件焊接组装、软硬件调试;培养学生具有一定的创新思维能力,科学的工作方法和良好的职业道德意识,为提高学生职业技能奠定良好基础。
能力目标:
(1)会运用keil集成开发环境,能用C语言编写控制程序、下载调试、查阅帮助的技能;
(2)会运用Proteus仿真软件,在计算机上完成从单片机电路设计、调试与仿真运行的技能;
(3)会智能电子产品、智能控制的开发流程和设计方法;
(4)能编制出智能电子产品、智能控制的总体设计方案;
(5)能根据智能电子产品、智能控制设计要求,完成元器件采购、焊接组装、软硬件调试;
(6)具备智能电子产品、智能控制的运行维护、技术改造、生产管理岗位的能力。
知识目标:
(1)知道MCS-51单片机的组成、部结构和引脚功能;
(2)会C51的C语言程序基本结构、数据类型和基本语句;
(3)会C语言程序分析、应用程序设计和中断服务程序编写;
(4)知道MCS-51单片机中断的概念及中断系统;
(5)会灵活应用MCS-51单片机的定时器/计数器;
(6)能应用MCS-51单片机的I/O接口,完成显示、键盘、D/A转换、A/D转换、串行通信的设计。
素质目标:
(1)能制定出切实可行的工作计划,提出解决实际问题的方法;
(2)具有对新知识、新技术的学习能力,通过不同途径获取信息的能力,以及对工作结果进行评估的能力;
(3)具有决策能力,能记录、收集、处理、保存各类专业技术的信息资料。
(4)具有良好的思想品德、敬业与团队精神及协调人际关系的能力;
(5)具有一定的语言和文字表达能力;
(6)具有科学的创新精神、决策能力和执行能力;
(7)具有从事专业工作安全生产、环保、职业道德等意识。
职业技能证书要求:
本课程对应的职业技能证书要求如表1所示。
表1职业技能证书表
序号
职业资格名称
颁证单位
等级
1
家用电子产品维修工
人力资源和社会保障部
中级
2
计算机装调员
人力资源和社会保障部
中级
3
嵌入式单片机设计工程师
中国软件行业协会嵌入式系统分会
中级
3、课程容设计:
本课程主要是以智能电子产品和智能控制工程项目为主线,采用企业真实工作任务,通过Proteus仿真软件设计和C语言编程,实现在计算机上完成从单片机电路设计、软件设计、调试与仿真一气呵成,同时在每个项目中融入了元器件焊接组装、软硬件调试,真正实现从概念到产品的完整设计与制作。
本课程容与职业岗位标准密切接轨,从职业岗位技能出发,课程容分为技能基础、技能提高和技能综合应用(即单片机项目开发实训)三部分部分,其能综合应用是停课一周进行,如图3所示。
LED控制
模拟量输入输出设计
键盘控制电机方向转速
LED循环点亮控制
数码管显示控制
键盘的设计与实现
定时器/计数器应用
串行通信设计
按键设置液晶电子钟
8路温度采集监控系统
点阵显示设计与实现
单片机项目开发
技能基础训练
技能提高训练
技能综合训练
技术逐渐综合
难度逐渐增加
图3课程容组织设计
总课时在90学时左右,用11个智能电子产品和智能控制项目作为载体组织教学容,将相关知识、能力要求贯穿于每个项目实践中。
技能基础模块安排64学时左右,主要注重职业岗位的基本技能训练,使学生能完成简单的智能电子产品设计制作和调试;技能提高模块可以根据实际需要选择项目,安排26学时左右,主要注重职业岗位的开发技能训练以及学生的课程设计,使学生具有智能电子产品和智能控制开发制作和调试的能力。
本课程容安排如表2所示。
表2课程容安排表
序号
模块(或子模块)名称
学时
1
技能基础模块(64学时)
发光二极管LED控制
8
2
LED循环点亮控制
10
3
数码管显示控制
10
4
键盘的设计与实现
10
5
定时器/计数器综合应用
8
6
模拟量输入输出设计与实现
8
7
单片机串行通信设计与实现
10
8
技能提高模块(任选)
键盘控制电机方向和转速
8
9
按键设置液晶电子钟
8
10
8路温度采集监控系统
8
11
点阵显示设计与实现
10
合计
90
4、能力训练项目设计
学习情境
参考学时
情境名称
情境描述
学习情境1
技能基础部分
(1)知道单片机的组成、部结构和引脚功能;
(2)知道C语言程序基本结构、数据类型和基本语句;
(3)会C语言程序分析、应用程序设计和中断服务程序编写;
(4)知道中断的概念及MCS-51单片机的中断系统;
(5)会灵活使用定时器/计数器;
(6)会应用I/O接口、显示、键盘接口、D/A、A/D转换接口、串行接口;
(7)能完成智能电子产品元器件焊接组装、软硬件调试。
64学时
学习情境2
技能提高部分
(1)会智能电子产品和智能控制电路设计以及实现的方法;
(2)会用C语言编写智能电子产品和智能控制程序以及实现的方法;
(3)会编制智能电子产品和智能控制的系统总体设计方案;
(4)能根据产品系统设计方案和要求进行元器件采购、焊接组装、软硬件调试;
(5)具备单片机技术应用系统的系统维护、技术改造、运行管理岗位的能力。
26学时
学习情境3
单片机项目开发实训部分.
通过单片机项目开发实训完成,学生能识别电子元器件,会电路板元器件焊接以及电路板调试,能完成单片机项目开发程序设计,能完成单片机项目开发软硬件运行与调试。
停课一周
26学时
五、项目情境设计
学习情境1参考学时:
64学时
学习目标:
(1)知道单片机的组成、部结构和引脚功能;
(2)知道C语言程序基本结构、数据类型和基本语句;
(3)会C语言程序分析、应用程序设计和中断服务程序编写;
(4)知道中断的概念及MCS-51单片机的中断系统;
(5)会灵活使用定时器/计数器;
(6)会应用I/O接口、显示、键盘接口、D/A、A/D转换接口、串行接口;
(7)能完成智能电子产品元器件焊接组装、软硬件调试。
学习情境
教学方法和建议
子情境1
任务载体
采用“教、学、做”一体化教学方法模式。
项目的实施可采用小组合作的学习方法。
能完成单片机最小系统和输出电路设计,能应用C语言程序完成单片机输入输出控制,实现对LED控制的设计、运行及调试。
发光二极管LED控制
子情境2
任务载体
采用“教、学、做”一体化教学方法模式。
项目的实施可采用小组合作的学习方法。
能完成单片机的输入输出电路设计,能应用C语言程序完成单片机输入输出控制,实现对LED循环点亮控制的设计、运行及调试。
LED循环点亮控制
子情境3
任务载体
采用“教、学、做”一体化教学方法模式。
项目的实施可采用小组合作的学习方法。
能熟练掌握单片机与数码管的接口技术,能完成单片机的数码管动态及静态显示电路设计,能完成数码管动态和静态显示的C语言程序的设计、运行及调试。
数码管显示控制
子情境4
任务载体
采用“教、学、做”一体化教学方法模式。
项目的实施可采用小组合作的学习方法。
能独立完成单片机键盘电路的设计,能使用C语言实现对键盘的扫描和按键识别控制程序的设计、运行及调试。
键盘的设计与实现
子情境5
任务载体
采用“教、学、做”一体化教学方法模式。
项目的实施可采用小组合作的学习方法。
能完成单片机的定时器/计数器相关电路的设计,能应用C语言程序完成单片机定时器初始化及相关编程控制,实现对定时器应用于相关电路的设计、运行及调试。
定时/计数器综合应用
子情境6
任务载体
采用“教、学、做”一体化教学方法模式。
项目的实施可采用小组合作的学习方法。
能完成单片机与ADC0808/ADC0809模/数转换芯片、DAC0832数/模转换芯片的电路和C语言程序设计,掌握ADC0808/ADC0809、DAC0832与单片机的连接及编程技能。
模拟量输入输出设计与实现
子情境7
任务载体
采用“教、学、做”一体化教学方法模式。
项目的实施可采用小组合作的学习方法。
通过串行通信基本知识和单片机串行通信基本原理的学习,能够掌握单片机点对点、点对多数据传输的设计方法及编程方法。
单片机串行通信设计与实现
学习情境2参考学时:
26学时
学习目标:
(1)会智能电子产品和智能控制电路设计以及实现的方法;
(2)会用C语言编写智能电子产品和智能控制程序以及实现的方法;
(3)会编制智能电子产品和智能控制的系统总体设计方案;
(4)能根据产品系统设计方案和要求进行元器件采购、焊接组装、软硬件调试;
(5)具备单片机技术应用系统的系统维护、技术改造、运行管理岗位的能力。
学习情境
教学方法和建议
子情境1
任务载体
采用“教、学、做”一体化教学方法模式。
项目的实施可采用小组合作的学习方法。
能利用AT89S52单片机及独立键盘,通过C语言程序实现键盘控制步进电机和直流电机的速度和方向,完成单片机输入输出控制系统的设计、运行及调试。
键盘控制电机方向和转速
子情境2
任务载体
采用“教、学、做”一体化教学方法模式。
项目的实施可采用小组合作的学习方法。
能利用AT89S52单片机及RT12864液晶屏,通过按键设置液晶电子钟电路设计、C语言程序设计,完成按键设置液晶电子钟的设计、运行及调试。
按键设置液晶电子钟
子情境3
任务载体
采用“教、学、做”一体化教学方法模式。
项目的实施可采用小组合作的学习方法。
能利用AT89S52单片机及DS18B20单总线数字传感器,通过C语言程序实现8路温度采集监控,完成单片机输入输出控制系统的设计、运行及调试。
8路温度采集监控系统
子情境4
任务载体
采用“教、学、做”一体化教学方法模式。
项目的实施可采用小组合作的学习方法。
能完成点阵显示电路设计,充分理解电路中关于I/O扩展、存储扩展和I2C总线等硬件电路的设计方法和原理,并能够用C语言实现对点阵屏、I2C通讯总线的控制和对外扩存储的访问,最终实现点阵屏汉字、日期和温度显示等功能。
点阵显示设计与实现
学习情境3参考学时:
26学时
学习目标:
通过单片机项目开发实训完成,学生能识别电子元器件,会电路板元器件焊接以及电路板调试,能完成单片机项目开发程序设计,能完成单片机项目开发软硬件运行与调试。
学习情境
教学方法和建议
子情境1
任务载体
采用“教、学、做”一体化教学方法模式。
项目的实施可采用小组合作的学习方法。
(1)认识电子元器件;
(2)电路设计及电子元器件焊接;
(3)编写C语言程序及调试;
(4)系统整体调试。
(5)单片机项目开发实训任务考核
(1)火车站台警戒系统驱动板
(2)滚梯节能控制系统
(3)温度控制语音播报系统
(4)门窗防盗系统
(5)智能超声波测距系统
六、课程进程表
见单片机应用技术授课计划。
7、第一次课设计和最后一次课设计
项目一发光二极管LED控制
1.1工作模块1点亮一个LED(第一次课)
工作任务:
使用AT89S52单片机的I/O引脚接发光二极管LED,通过C语言程序控制,点亮一个发光二极管。
终极目标:
能完成单片机最小系统和输出电路设计,能应用C语言程序完成单片机输入输出控制,实现对LED控制的设计、运行及调试。
促成目标:
1.知道AT89S52单片机结构;
2.知道AT89S52单片机的引脚功能;
3.会AT89S52单片机最小系统电路设计;
4.会C语言基本构成和基本语句;
5.会利用单片机I/O口实现点亮一个LED。
教学方法:
采用“教、学、做”一体化教学方法模式,项目的实施可采用小组合作的学习方法。
教学设计:
在工作模块1点亮一个发光二极管中,用Proteus仿真软件完成第一个单片机电路、用KeilC51完成第一个C语言LED控制程序;
通过“边做边学”,学习AT89S52单片机结构、引脚功能,完成最小系统电路和LED电路设计;
通过“边做边学”,学习基于单片机的C语言基本构成和基本语句,完成单片机点亮一个LED的程序设计。
课时:
4学时
教学过程:
1.1.1用Proteus设计第一个LED控制电路
Proteus是英国LabcenterElectronics公司开发的多功能EDA软件。
Proteus不仅是模拟电路、数字电路、模/数混合电路的设计与仿真平台,也是目前较先进的单片机和嵌入式系统的设计与仿真平台。
它实现了在计算机上完成从原理图与电路设计、电路分析与仿真、单片机代码级调试与仿真、系统测试与功能验证到形成PCB的完整的电子设计、研发过程。
1.点亮一个LED电路
按照工作任务要求,点亮一个LED电路由AT89S52单片机最小系统和一个LED电路构成。
LED点亮电路设计如图1-1所示。
图1-1LED点亮电路
在LED点亮电路中,LED的阳极通过220限流电阻后连接到5V电源上,限流电阻在这里起到了限流的作用,使通过LED的电流被限制在十几毫安左右。
P1.0引脚接LED的阴极,P1.0引脚输出低电平时对应的LED点亮,输出高电平时对应的LED熄灭。
2.用Proteus仿真软件完成点亮一个LED电路
用Proteus仿真软件完成第一个LED控制电路,步骤如下:
(1)双击桌面上的ISIS7Professional图标或者单击屏幕左下方的“开始”→“程序”→Proteus7Professional→ISIS7Professional,进入ProteusISIS集成环境;
(2)新建设计文件、设置图纸尺寸、设置网格、保存设计文件为“点亮一个LED.DSN”;
(3)从Proteus元器件库中选取元器件AT89S52也可用AT89C52代替(单片机)、CRYSTAL(晶振)、CAP(电容)、CAP-ELEC(电解电容)、RES(电阻)、LED-RED(红色发光二极管);
(4)按图1-1所示放置元器件、编辑元器件、放置终端,然后进行连线和属性设置;
(5)最后进行电气规则检测。
单击“工具”→“电气规则检查”命令,弹出检查结果窗口,完成电气检测。
若检测出错,根据提示修改电路图并保存,直至检测成功。
1.1.2用KeilC51设计第一个C语言LED控制程序
KeilC51是德国Keil软件公司开发的基于8051核的微控制器软件开发平台,是51系列单片机C语言软件开发系统,是目前开发8051核单片机的主流工具。
KeilC51软件提供了丰富的库函数和功能强大的集成开发调试工具,可以完成工程建立和管理、编译、连接、目标代码的生成、软件仿真和硬件仿真等完整的开发流程。
1.编写点亮一个LED程序
由于P1.0引脚接LED的阴极,LED的阳极通过220限流电阻后连接到5V电源上,所以从P1.0引脚输出低电平就可以点亮LED。
“点亮一个LED”的C语言程序如下:
#include//包含AT89X52.H头文件
sbitLED=P1^0;//定义LED为P1.0引脚
voidmain(void)
{
LED=0;//P1.0引脚输出低电平点亮LED
while
(1);
}
程序编程说明:
(1)“#include”语句是一个“文件包含”处理,是将AT89X52.H头文件的容全部包含进来。
这里程序中包含AT89X52.H头文件的目的是为了要使用P1^0这个符号,即通知C编译器,程序中所写的P1^0是指AT89S52单片机的P1.0引脚。
(2)P1.0不能直接使用,这里用“sbitLED=P1^0;”就是定义用符号LED来表示P1.0引脚,也可以起P1_0或P10一类的名字。
(3)“LED=0;”语句是使P1.0引脚输出低电平,点亮发光二极管LED。
(4)“while
(1);”语句的表达式是1,也就是说while语句的表达式始终为真,进入死循环,LED始终点亮。
(5)KeilC支持C++风格的注释,可以用“//”进行注释,也可以用/*……*/进行注释。
2.建立第一个C程序项目
双击桌面上的KeilμVision2图标或者单击屏幕左下方的“开始”→“程序”→KeilμVision2,进入KeilμVision2集成开发环境。
(1)建立工程文件,选择单片机。
单击“工程”→“新建工程”命令,在弹出的“新建工程”对话框中指定文件夹,输入文件名“点亮一个LED”,单击“保存”按钮,在弹出的为目标Target1选择设备对话框中选择单片机型号(Atmel的89S52),单击“确定”按钮。
(2)建立源文件并加载。
单击“文件”→“新建”命令,在文件编辑窗口输入“点亮一个LED”的C语言源程序,单击“文件”→“保存”命令,在弹出的“另存”对话框中指定文件夹(一般与工程文件放在同一文件夹中),输入文件名“点亮一个LED.c”(c为C语言源程序的后缀),单击“保存”按钮,完成源文件的建立。
在工程窗口中右击Target1文件夹下的SourceGroup1文件夹后,单击弹出菜单的AddFielstoGroup‘SourceGroup1’,在弹出的AddFielstoGroup‘SourceGroup1’对话框中将文件类型设为CSourcefile(*.c),单击刚才保存的源文件名“点亮一个LED.c”,单击Add按钮再单击“关闭”按钮,完成源文件加载。
(3)设置工程的配置参数。
在工程窗口中右击Target1文件夹,单击弹出快捷菜单中的OptionsforTarget‘Target1’,在弹出的OptionsforTarget‘Target1’对话框中做以下设置:
Target标签页的晶振频率栏设为12MHz,Output标签页选中CreateHexFiles复选框,其余采用默认设置。
单击“确定”按钮,完成配置参数设置。
(4)进行编译和连接。
单击“工程”→“构造目标”,完成编译,生成名为“点亮一个LED.hex”的HEX文件。
通过输出窗口查看编译信息,若提示出错,双击输出窗口的出错信息行,文件编辑窗口中出错指令所在行左侧会有箭头提示,逐个排除错误后重新编译。
(5)进入调试模式,打开P1口对话框。
在调试模式中,单击“外围设备”→I/O-Ports→Port1,打开P1口对话框。
(6)全速运行程序。
单击“调试”→“运行到”或调试工具栏的“运行”按钮
,通过P1口对话框观察P1.0引脚是否输出低电平,打勾为高电平,不打勾则为低电平,Pins为引脚的状态。
1.1.3用Proteus仿真运行调试
1.加载“点亮一个LED.hex”目标代码文件
首先打开Proteus的“点亮一个LED”电路,然后双击单片机AT89S52,在弹出的“编辑元件”对话框中单击ProgramFile栏的“打开”按钮
,在弹出的“选择文件名”对话框中找到前面编译生成的“点亮一个LED.hex”文件,单击“打开”按钮,完成“点亮一个LED.hex”文件的加载。
同时将ClockFrequency栏中的频率设为12MHz,单击“确定”按钮,即可完成加载目标代码文件。
2.仿真运行调试
(1)单击仿真工具栏的“单步运行”按钮
,进入单步运行状态。
单击“调试”→8051CPURegisters,单击“调试”→8051CPUSFRMemory,分别打开工作寄存器窗口和特殊功能寄存器窗口。
单击源代码调试窗口的“单步执行”按钮
一次,执行一条指令,通过各调试窗口观察每条指令执行后数据处理的结果,以加深对硬件结构和指令的理解。
(2)单击仿真工具栏的“运行”按钮
,单片机全速运行程序,对“点亮一个LED”进行Proteus仿真运行。
在编辑区“点亮一个LED”电路中,可以看到接在P1.0引脚上的LED被点亮,同时在打开的工作寄存器窗口和特殊功能寄存器窗口中也能看到P1口为0xFE,即P1.0引脚为低电平,其他引脚都为高电平。
【技能训练1-1】单片机最小系统应用——开关控制LED点亮
模块1是通过程序使P1.0引脚输出低电平来点亮LED的。
在这里如果通过开关控制LED点亮,那么如何实现呢?
1.电路设计
开关控制LED点亮是AT89S52单片机的一种最简单电路,它包含3个部分:
单片机最小系统、输入电路和输出电路。
单片机最小系统由AT89S52单片机、晶振电路和上电复位电路构成。
输入部件是开关SW,输出部件是LED,如图1-2所示。
由于只使用程序存储器,AT89S52的EA端接电源正端。
图1-2开关控制LED点亮电路
2.程序设计
(1)开关控制点亮LED分析。
开关闭合:
P1.0=0,LED点亮;开关断开:
P1.0=1,LED熄灭。
流程图如图1-3所示。
图1-3开关控制点亮LED流程图
(2)编写开关控制LED点亮程序。
#include