中职《单片机应用技术》1 项目一 闪烁报警灯 教案

资源下载
  1. 二一教育资源

中职《单片机应用技术》1 项目一 闪烁报警灯 教案

资源简介

中小学教育资源及组卷应用平台
项目一 闪烁报警灯
一、教学目标
1.了解AT89S51系列单片机基本知识。
2.掌握单片机最小化系统的构成条件及电路。
3.掌握LED基本知识,与单片机I/O口的连接,会画电路图。
4.掌握基本程序结构,读懂基本程序。
5.初步认识KEIL C与PROTEUS等软件,实现基本调试步骤。
6.掌握按功能模块设计子程序并按控制要求调用的结构化程序设计。
7.掌握单片机控制延时及延时子程序的编写方法。
8.学会KEIL C与PROTEUS仿真联调。
二、课时分配
本项目共5个任务,安排10课时。
三、教学重点
通过本项目的学习,让学生学习51系列单片机及最小化系统、点亮LED灯、KEIL C与PROTEUS基本使用、LED报警灯闪烁、LED报警灯制作与调试等概念;通过制作一个闪烁报警灯,来掌握单片机的基本知识,会用C语言编写程序并能读懂基本控制程序,并学会使用KEIL C等相关软件导入、编译并调试源程序,学会用PROTEUS等软件仿真等。
四、教学难点
1.掌握单片机控制延时及延时子程序的编写方法。
2.按功能模块设计子程序并按控制要求调用的结构化程序设计。
3.掌握KEIL C与PROTEUS仿真联调。
五、教学内容
任务一 51系列单片机及最小化系统
知识准备
一、单片机的基本概念
单片微型计算机简称单片机,在有的书中也称单片微型控制器。它是把组成微型计算机的各种功能部件,包括CPU、随机存储器(RAM)、只读存储器(ROM)、基本输入/输出(Input/Output,I/O)接口电路、定时器/计数器等部分都制作在一块集成芯片上,构成一个完整的微型计算机,从而实现微型计算机的基本功能。
二、 单片机发展史
三、 单片机的应用领域
单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域。
1.在智能仪器仪表上的应用
2. 在家用电器中的应用
3. 单片机在医用设备领域中的应用
四、 MCS51系列单片机
MCS51是原先由美国INTEL公司生产的一系列单片机的总称,这一系列单片机包括了许多品种,如8031,8051,8751,8032,8052,8752等,其中8051是最早最典型的产品,该系列其他单片机都是在8051的基础上进行功能的增、减、改变而来的,所以人们习惯于用8051来称呼MCS51系列单片机,而8031是前些年在我国最流行的单片机,所以很多场合会看到8031的名称。
五、 AT89S51单片机
AT89S51是一个低功耗、高性能CMOS 8位单片机,片内含4k Bytes ISP(In-System Programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用Atmel公司的高密度、非易失性存储技术制造,兼容标准MCS51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。
六、 单片机最小系统构成条件及电路
单片机最小系统是由单片机芯片外接时钟电路、复位电路、电源和接地构成的。
  1.复位电路
2. 时钟信号引脚XTAL1和XTAL2
七、 单片机学习方法
1. 实验板
2. 仿真器
3. 编程器
任务实施
观察单片机最小系统是否工作,将单片机的18脚接入示波器,调整示波器的量程,观察示波器输出。单片机有两个信号输入脚,一个是19脚(XTAL1),一个是18脚(XTAL2),对应单片机内部的电路是高增益放大器。当外面接晶振的时候,19脚对应高增益放大器的输入端,18脚对应高增益放大器的输出端,会输出一个近似正弦波,这里需要注意的是晶振和电容在焊接的时候,要靠近18和19脚。
知识拓展
将示波器接在单片机的ALE引脚上,观察示波器的输出。
目标检测
任务二 点亮LED灯
知识准备
本次任务我们将在KEIL 软件中编写源程序,并在Proteus软件中仿真。具体要求为AT89S52单片机的P0.7引脚接发光二极管(LED)的阴极,点亮发光二极管。
一、LED知识
发光二极管,也叫做LED,是一种常用的指示器件,例如电源指示、工作指示等。
二、 拉电流和灌电流
单片机输出低电平时,将允许外部器件,向单片机引脚内灌入电流,这个电流,称为“灌电流”,外部电路称为“灌电流负载”;单片机输出高电平时,则允许外部器件从单片机的引脚拉出电流,这个电流称为“拉电流”,外部电路称为“拉电流负载”。
三、 LED限流电阻
51单片机点亮LED方式,主要还是采用灌电流形式。
四、 KEIL C软件
KEIL C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编语言相比,C语言在功能、结构性、可读性、可维护性上有明显的优势,因而易学易用。
五、 PROTEUS 软件
PROTEUS是英国Labcenter Electro-nics公司开发的一款电路仿真软件,软件由两部分组成: 一部分是智能原理图输入系统ISIS(Intelligent Schematic Input System)和虚拟系统模型VSM(Virtual Model System);另一部分是高级布线及编辑软件ARES(AdvAncd Routing and Editing Software),也就是PCB。
任务实施
一、 在KEIL软件中编写源程序
1. 打开程序
在桌面上点击KEIL图标,出现KEIL软件工作界面。
2. 新建工程
点击Project 菜单,选择弹出的下拉式菜单中的New Project,如图所示。接着弹出一个标准Windows 文件对话窗口。在“文件名”中输入您的第一个C 程序项目名称,这里我们用“test”。“保存”后的文件扩展名为?uv2,这是KEIL uVision2 项目文件扩展名,以后可以直接点击此文件以打开先前做的项目。在图中选择AT89S51单片机,在图中选择“否”。
3. 新建源程序
点击图中的“File”菜单中的“NEW”命令,会出现一个文本编辑区域,在这个文本里输入下面的程序,如图所示,点击file中的“另存为”,如图所示。这里我们保存的时候要保存为××.c的格式。这里我们保存为yz.c。
4. 添加文件到当前工程中
右键单击图中“Source Group 1”,选择“add files to group ‘Source Group’”命令,选择目标文件并确定。当出现图时,表示目标文件已经添加进工程。
5. 设置
右键单击“target1”,选择“options for target ‘target 1’”,出现如图所示对话框,单击选项卡“target”,出现图,将“Xtal (MHz)”后的值改为12。单击选项卡“output”,单击选中“create hex”项。
6. 编译
设置好工程后,即可进行编译、连接。
二、 在PROTEUS软件中绘制电路图
1. 操作过程
运行PROTEUS的ISIS,进入仿真软件的主界面,如图所示。主界面分为菜单栏、工具栏、模型显示窗口、模型选择区、元件列表区等。
2. 元器件之间的连线
PROTEUS的智能化可以在你想要画线的时候进行自动检测。
三、 KEIL与PROTEUS的对接
(1) 电路连接完成后,选中AT89S51单击鼠标左键,打开“Edit Component”对话窗口
(2) 在仿真过程中每个管脚旁边会出现一个小方块,红色的方块表示高电平,蓝色的方块表示低电平。通过方块颜色的变化可以很方便地知道每个管脚电平的变化,从而能对系统的运行有更直观的了解,这对程序的调试有很大的帮助。
四、 程序分析
1. “文件包含”处理
程序的第一行是一个“文件包含”处理。所谓“文件包含”是指一个文件将另外一个文件的内容全部包含进来,所以这里的程序虽然只有5行,但C 编译器在处理的时候却要处理几十或几百行。源程序中头文件包含“reg51.h”。
2. 符号P0_7 表示P0.7 引脚
3. 主函数“main”
每一个C 语言程序有且只有一个主函数,函数后面一定有一对大括号“{}”,在大括号里面书写其他程序。
4. while(1)语句
While(1)语句连同其后的一对大括号“{}”构成了一个无限循环语句,该大括号内的语句将会被反复执行。
5. P0_7=0语句
让单片机的P0_7管脚输出0,低电平,点亮一个灯。
知识拓展
修改电路,编写程序让P2.0控制灯亮。
目标检测
任务三 KEIL C与PROTEUS基本使用
知识准备
上一次任务,我们基本掌握KEIL C和PROTEUS软件的使用,本次任务我们将深入的了解这两款软件,并通过点亮一个灯程序,来学会KEIL C和PROTEUS的仿真联调。
一、 KEIL C软件
51单片机的开发除了需要硬件的支持以外,同样离不开软件。
(一) KEIL 编译器简介
随着单片机开发技术的不断地发展,从普通使用汇编变速语言到逐渐使用高级语言开发,单片机的开发软件也在不断地发展。KEIL是目前最流行的51单片机开发软件,各仿真机厂商都宣称全面KEIL的使用,对于使用C语言进行单片机开发的用户,KEIL已经成为必备的开发工具。
(二) 如何使用KEIL开发
对KEIL软件及其集成开发环境有了整体认识后,本任务详细介绍如何使用KEIL来进行应用软件的开发。
1. 建立工程
首先启动KEIL软件的集成开发环境μVision,μVision启动以后,程序窗口的左边会出现一个工程管理窗口。
选择“Project/New Project ...”菜单,出现一个对话框。
要求给将要建立的工程取一个名字,不需要扩展名,单击“保存”按钮,出现第二个对话框。
2. 工程设置
工程建立好之后,还要对工程进行进一步的设置,以满足要求。
设置对话框中的“Target”页面,如图所示。
3. 编译与连接
在工程建立并设置好以后,接下来的工作就是对工作进行编译。
4. dScope for Windows的使用
在开发产品时,有时软件,也就是应用程序,先行于硬件设计,可以用软件模拟仿真器(Simulator)对应用程序进行软件模拟调试。
(1) 启动
如果源程序代码编译成功,那么运行dScope可以对8051应用程序进行软件仿真调试——使用Simulator。为了运行dScope,在如图所示的“Option for Targe”选项的“Debug”选项中要选中“Use Simular”单选项。
(2) 调试
调试是检查程序中看不见的错误,所以要认真对待。其实比起开发来,排除错误的调试更应该认真去做,因此,必须熟练掌握其使用要领,并且在做开发计划时,通常就把开发周期和调试周期同等对待。
(3) 调试窗口
KEIL软件在调试程序时提供了多个窗口,主要包括输出窗口(Output Window)、观察窗口(Watch & Call Stack Window)、存储器窗口(Memory Window)、反汇编窗口(Dissaembly Window)和串行窗口(Serial Window)等。进入调试模式后,可以通过菜单“View”下的相应命令打开或关闭这些窗口。
二、 PROTEUS软件
PROTEUS ISIS是英国Labcenter公司开发的电路分析与实物仿真软件。
(一) PROTEUS中绘制点亮LED电路图
1. 建立文件
单击工具栏上的“新建”按钮,新建一个设计文档。
2. 选取元器件
此简单实例需要如下元器件:
单片机: AT89C51
发光二极管: LEDRED
瓷片电容: CAP*
电阻: RES*
选取元器件晶振: CRYSTAL
按钮: BUTTON
3. 放置元器件至图形编辑窗口
在对象选择器窗口中,选中AT89C51,将鼠标置于图形编辑窗口该对象的欲放置的位置,单击鼠标左键,该对象被完成放置。
4. 放置终端(电源、地)
单击工具栏中的终端按钮,在对象选择器窗口中选择“POWER”。
5. 元器件之间的连线
PROTEUS的智能化可以在你想要画线的时候进行自动检测。
6. 修改、设置元器件的属性
PROTEUS库中的元器件都有相应的属性,要设置修改元器件的属性,只需要双击ISIS编辑区中的该元器件
(二) PROTEUS电路图的绘制
效果图如图所示。
1. 将所需元器件加入到对象选择器窗口
单击对象选择器按钮“p”。
2. 放置元器件至图形编辑窗口
将“74LS373”“80C51.BUS”和“MEMORY_13_8”放置到图形编辑窗口。
3. 放置总线至图形编辑窗口
单击绘图工具栏中的总线按钮“”,使之处于选中状态。将鼠标置于图形编辑窗口。
4. 添加时钟信号发生器和接地引脚
单击绘图工具栏中的信号发生器按钮。
5. 元器件之间的连线
在图形编辑窗口,完成各对象的连线。
6. 给导线或总线加标签
7. 添加电压探针
单击绘图工具栏中的电压探针按钮“”,在图形编辑窗口,完成电压探针的添加。
8. 设置元器件的属性
在图形编辑窗口内,将鼠标置于时钟信号发生器上,单击鼠标右键,选中该对象,单击鼠标左键,进入对象属性编辑页面,如图所示。在“Frequency[Hz]”栏中输入12M,单击“OK”按钮,结束设置。此番操作意味着时钟信号发生器给单片机提供频率为12MHz的时钟信号。
9. 添加虚拟逻辑分析仪
在我们绘制图形的过程中,遇到复杂的图形,通常一幅图很难准确地表达设计者的意图,往往需要多幅图来共同表达一个设计。
10. 给逻辑分析仪添加信号终端
单击绘图工具栏中的Inter-sheet Terminal按钮“”,在对象选择器窗口,选中对象DEFAULT,如图所示,将其放置到图形编辑窗口;在对象选择器窗口,选中对象BUS,将其放置到图形编辑窗口,如图所示。
11. 将信号终端与虚拟逻辑分析仪连线并加标签
在图形编辑窗口,完成信号终端与虚拟逻辑分析仪连线。
12. 调试运行
使用快捷键“Page Down”,将图幅切换到“Root sheet 1”。
三、 PROTEUS和KEIL联调
① 首先,安装PROTEUS和KEIL软件。
② 把PROTEUS\\MODEL目录下的VDM51.DLL文件复制到KEIL安装目录的\\c51\\bin目录中。
③ 修改KEIL安装目录下的TOOLS.INI文件,在c51字段中加入TDRV5=BIN\\VDM51.DLL(“PROTEUS VSM MONITOR51 DRIVER”),并保存。
注: 不一定要用TDRV5,根据原来字段选用一个不重复的数值就可以了,引号中的名字可随意写。
④ 运行PROTEUS,画出要设计的电路图,在Debug菜单中选择Use Remote Debug Monitor选项。
⑤ 在KEIL中编写相应的程序代码。
⑥ 在KEIL中Project菜单中选择Options for target “target 1”选项。
任务实施
根据任务实施里面的第三项,我们先对KEIL和PROTEUS进行设定。
在KEIL软件中输入源代码并编译,如图所示。
在PROTEUS软件中绘制电路,如图所示。
KEIL和PROTEUS联调:
点击KEIL软件“”图标,在点击“”后,大家会发现PROTEUS图中的灯在闪烁。我们可以利用KEIL中的工具栏,对PROTEUS进行详细的调试,如图所示,我们设置了一个断点,点击“”,程序运行到断点处,同时PROTEUS的灯不亮。
知识拓展
利用KEIL软件中的F10、F11快捷键调试观察灯的变化。
目标检测
任务四 LED报警灯闪烁
知识准备
通过任务二我们已经知道,要让图141中的LED发光,只要将P0_7置成低电平就可以了,反之把P0_7置成高电平就可以使LED灭掉。本次任务是要让LED闪动起来,即让亮和灭在一段时间内交替出现。
一、 函数
C程序是由函数组成的,对于规模较大、比较复杂的问题,人们常采用模块化设计方法,即将一个较大的程序按功能划分成若干个程序模块,每个模块用来实现一个特定的功能。在C语言中,函数就是实现模块化程序设计的工具,C语言中的函数相当于其他高级语言中的子程序和过程,由于采用函数结构的写法,使C语言的程序代码结构清晰,同时有利于程序的编写、阅读和维护。本次任务中的延时功能,便是使用函数来实现的。
二、 函数定义的一般形式
(一) 无参函数的定义形式
类型标识符 函数名()
{
声明部分
语句
}
(二) 有参函数定义的一般形式
类型标识符 函数名(形式参数表列)
{
声明部分
语句
}
任务实施
一、 源程序
二、 程序分析
(一) delay_ms(1000)
因为单片机的程序执行速度很快,如果在很短的时间内改变P0.7的状态,人眼是看不出来的,必须有个合适的延时时间。
(二) 函数分析
void delay_ms(unsigned int time)
{
unsigned int i,j;
for(i=0;ifor(j=0;j<121;j++);
}
程序中定义了一个函数delay_ms,函数在执行的时候,使用了FOR循环嵌套,程序在这个循环里面反复执行。如果单片机的晶振为12MHz,因此,1个机器周期为1μs,那么执行这样一次循环大约需要1ms。主函数中delay_ms(1000),将1000这个变量传递给time,即time=1000,嵌套的FOR循环一直执行了121*time次.,那么delay_ms(1000)延时大约为1ms*1000=1s。如果发现时间有偏差,可以适当修正这里的121,可以得到一个更精确的1ms。
三、 编译与仿真
将上述源程序在KEIL C中编译并生成HEX文件,在PROTEUS中作原理图仿真。
最后的仿真运行结果
知识拓展
请修改延时时间,让灯闪烁的时间变长。
目标检测
任务五 LED报警灯制作与调试
知识准备
本次任务是在任务四的基础上,制作一个闪烁报警灯。通过本次任务的学习,学会制作单片机最小化系统,并学会使用编程器。
一、 原理图
原理见图。注意: 这里省去了单片机40脚接、5V电源和20脚接地。
二、 元器件准备
本次任务所需元器件见表。
三、 西尔特280U编程器的使用
① 西尔特软件安装完毕后,使用USB连接线将SUPERPRO/280U连接到PC的USB口。
② 双击运行桌面西尔特软件图标。
③ 首次使用前应先设置自动烧录选项。,选择“编辑自动烧录方式”,出现对话框。
按图所示,顺序增加自动烧录功能项(Erase—Program—Verify),并单击“确定”按钮,出现下图。
任务实施
一、 源程序
二、 编译与仿真
① 编译结果如图所示。
② 仿真结果如图所示。
③焊接电路,实物如图所示。
④下载程序进单片机,实物运行效果如图所示。
三、 程序分析
本次任务的源程序和任务四的源程序变化的地方就在于将任务四的“#include"reg51.h";sbit led=P0^7;”这两句换成“#include"at89x51.h";#defineledP0_7”。下面分别解释任务五这两行语句的含义。
1. #include"at89x51.h"
2. #defineledP0_7
这句的意思是给P0_7端口重新起一个名字,下面程序在提到led的地方,就表示用的是P0_7这个端口。这样写的好处在于,如果将来硬件电路需要将灯接到P1_7上时,我们就不用在程序中修改,只需把语句修改成#defineledP1_7就可以了。
目标检测
六、课后习题
完成每个任务的目标检测。
21世纪教育网 www.21cnjy.com 精品试卷·第 2 页 (共 2 页)
21世纪教育网(www.21cnjy.com)

展开更多......

收起↑

资源预览