《单片机应用技术 》中职配套教学课件_第1页
《单片机应用技术 》中职配套教学课件_第2页
《单片机应用技术 》中职配套教学课件_第3页
《单片机应用技术 》中职配套教学课件_第4页
《单片机应用技术 》中职配套教学课件_第5页
已阅读5页,还剩297页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

单片机应用技术任务四LED报警灯闪烁任务一51系列单片机及最小化系统任务二点亮LED灯任务三KEILC与PROTEUS基本使用项目一闪烁报警灯任务五LED报警灯制作与调试项目一闪烁报警灯

学习单片机应用技术离不开电子元器件的识别、检测与更换。本书就是为使初学者从零开始,学生学习51系列单片机及最小化系统、点亮LED灯、KEILC与PROTEUS基本使用、LED报警灯闪烁、LED报警灯制作与调试等概念;通过制作一个闪烁报警灯,来掌握单片机的基本知识,会用C语言编写程序并能读懂基本控制程序,并学会使用KEILC等相关软件导入、编译并调试源程序,学会用PROTEUS等软件仿真等。学习重点任务一51系列单片机及最小化系统

一、单片机的基本概念

单片微型计算机简称单片机,在有的书中也称单片微型控制器。它是把组成微型计算机的各种功能部件,包括CPU、随机存储器(RAM)、只读存储器(ROM)、基本输入/输出(Input/Output,I/O)接口电路、定时器/计数器等部分都制作在一块集成芯片上,构成一个完整的微型计算机,从而实现微型计算机的基本功能。知识准备任务一51系列单片机及最小化系统

一、单片机的基本概念知识准备任务一51系列单片机及最小化系统

一、单片机的基本概念知识准备任务一51系列单片机及最小化系统

二、单片机发展史第一代:20世纪70年代后期,4位逻辑控制器件发展到8位,使用NMOS工艺(速度低、功耗大、集成度低)。第二代:20世纪80年代初,采用CMOS工艺,并逐渐被高速低功耗HMOS工艺代替。第三代:近10年来,MCU的发展出现了许多新特点。第四代:FLASH的使用,使MCU技术进入了第四代。知识准备任务一51系列单片机及最小化系统

三、单片机的应用领域

单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域。

1.在智能仪器仪表上的应用

2.在家用电器中的应用

3.单片机在医用设备领域中的应用知识准备任务一51系列单片机及最小化系统

四、MCS51系列单片机

MCS51是原先由美国INTEL公司生产的一系列单片机的总称,这一系列单片机包括了许多的品种,如8031,8051,8751,8032,8052,8752等,其中8051是最早最典型的产品,该系列其他单片机都是在8051的基础上进行功能的增、减、改变而来的,所以人们习惯于用8051来称呼MCS51系列单片机,而8031是前些年在我国最流行的单片机,所以很多场合会看到8031的名称。知识准备任务一51系列单片机及最小化系统

五、AT89S51单片机AT89S51是一个低功耗、高性能CMOS8位单片机,片内含4kBytesISP(In-SystemProgrammable)的可反复擦写1000次的Flash只读程序存储器,器件采用Atmel公司的高密度、非易失性存储技术制造,兼容标准MCS51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,功能强大的微型计算机AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。知识准备任务一51系列单片机及最小化系统

五、AT89S51单片机知识准备任务一51系列单片机及最小化系统

六、单片机最小系统构成条件及电路知识准备单片机最小系统是由单片机芯片外接时钟电路、复位电路、电源和接地构成的。任务一51系列单片机及最小化系统

六、单片机最小系统构成条件及电路1.复位电路知识准备任务一51系列单片机及最小化系统

六、单片机最小系统构成条件及电路2.时钟信号引脚XTAL1和XTAL2知识准备任务一51系列单片机及最小化系统

七、单片机学习方法1.实验板知识准备任务一51系列单片机及最小化系统

七、单片机学习方法2.仿真器知识准备任务一51系列单片机及最小化系统

七、单片机学习方法3.编程器知识准备任务一51系列单片机及最小化系统

任务实施观察单片机最小系统是否工作,将单片机的18脚接入示波器,调整示波器的量程,观察示波器输出。单片机有两个信号输入脚,一个是19脚(XTAL1),一个是18脚(XTAL2),对应单片机内部的电路是高增益放大器。当外面接晶振的时候,19脚对应高增益放大器的输入端,18脚对应高增益放大器的输出端,会输出一个近似正弦波,这里需要注意的是晶振和电容在焊接的时候,要靠近18和19脚。任务一51系列单片机及最小化系统

将示波器接在单片机的ALE引脚上,观察示波器的输出。知识拓展目标检测任务二点亮LED灯

知识准备本次任务我们将在KEIL软件中编写源程序,并在Proteus软件中仿真。具体要求为AT89S52单片机的P0.7引脚接发光二极管(LED)的阴极,点亮发光二极管。任务二点亮LED灯

知识准备一、LED知识发光二极管,也叫做LED,是一种常用的指示器件,例如电源指示、工作指示等。任务二点亮LED灯

知识准备二、拉电流和灌电流单片机输出低电平时,将允许外部器件,向单片机引脚内灌入电流,这个电流,称为“灌电流”,外部电路称为“灌电流负载”;单片机输出高电平时,则允许外部器件从单片机的引脚拉出电流,这个电流称为“拉电流”,外部电路称为“拉电流负载”。任务二点亮LED灯

知识准备三、LED限流电阻51单片机点亮LED方式,主要还是采用灌电流形式。任务二点亮LED灯

知识准备四、KEILC软件KEILC51是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,与汇编语言相比,C语言在功能、结构性、可读性、可维护性上有明显的优势,因而易学易用。任务二点亮LED灯

知识准备五、PROTEUS软件PROTEUS是英国LabcenterElectro-nics公司开发的一款电路仿真软件,软件由两部分组成:一部分是智能原理图输入系统ISIS(IntelligentSchematicInputSystem)和虚拟系统模型VSM(VirtualModelSystem);另一部分是高级布线及编辑软件ARES(AdvAncdRoutingandEditingSoftware),也就是PCB。任务二点亮LED灯

知识准备五、PROTEUS软件PROTEUS与其他单片机仿真软件不同的是,它不仅能仿真单片机CPU的工作情况,也能仿真单片机外围电路或没有单片机参与的其他电路的工作情况。因此,在仿真和程序调试时,关心的不再是某些语句执行时单片机寄存器和存储器内容的改变,而是从工程的角度直接看程序运行和电路工作的过程和结果。对于这样的仿真实验,从某种意义上讲,是弥补了实验和工程应用间脱节的矛盾和现象。任务二点亮LED灯

任务实施一、在KEIL软件中编写源程序1.打开程序在桌面上点击KEIL图标,出现KEIL软件工作界面。任务二点亮LED灯

任务实施一、在KEIL软件中编写源程序2.新建工程点击Project菜单,选择弹出的下拉式菜单中的NewProject,如图所示。接着弹出一个标准Windows文件对话窗口。在“文件名”中输入您的第一个C程序项目名称,这里我们用“test”。“保存”后的文件扩展名为uv2,这是KEILuVision2项目文件扩展名,以后可以直接点击此文件以打开先前做的项目。在图中选择AT89S51单片机,在图中选择“否”。任务二点亮LED灯

任务实施一、在KEIL软件中编写源程序2.新建工程任务二点亮LED灯

任务实施一、在KEIL软件中编写源程序2.新建工程任务二点亮LED灯

任务实施一、在KEIL软件中编写源程序2.新建工程任务二点亮LED灯

任务实施一、在KEIL软件中编写源程序3.新建源程序点击图中的“File”菜单中的“NEW”命令,会出现一个文本编辑区域,在这个文本里输入下面的程序,如图所示,点击file中的“另存为”,如图所示。这里我们保存的时候要保存为××.c的格式。这里我们保存为yz.c。任务二点亮LED灯

任务实施一、在KEIL软件中编写源程序3.新建源程序任务二点亮LED灯

任务实施一、在KEIL软件中编写源程序4.添加文件到当前工程中右键单击图中“SourceGroup1”,选择“addfilestogroup‘SourceGroup’”命令,选择目标文件并确定。当出现图时,表示目标文件已经添加进工程。任务二点亮LED灯

任务实施一、在KEIL软件中编写源程序4.添加文件到当前工程中右键单击“SourceGroup1”任务二点亮LED灯

任务实施一、在KEIL软件中编写源程序5.设置右键单击“target1”,选择“optionsfortarget‘target1’”,出现如图所示对话框,单击选项卡“target”,出现图,将“Xtal(MHz)”后的值改为12。单击选项卡“output”,单击选中“createhex”项。任务二点亮LED灯

任务实施一、在KEIL软件中编写源程序5.设置单击选项卡“Target”任务二点亮LED灯

任务实施一、在KEIL软件中编写源程序6.编译设置好工程后,即可进行编译、连接。选择菜单Project→Buildtarget,对当前工程进行连接,如果当前文件已修改,将先对该文件进行编译,然后再连接以产生目标代码。任务二点亮LED灯

任务实施一、在KEIL软件中编写源程序6.编译编译结果任务二点亮LED灯

任务实施二、在PROTEUS软件中绘制电路图1.操作过程运行PROTEUS的ISIS,进入仿真软件的主界面,如图所示。主界面分为菜单栏、工具栏、模型显示窗口、模型选择区、元件列表区等。任务二点亮LED灯

任务实施二、在PROTEUS软件中绘制电路图1.操作过程通过左侧的工具栏区的P(从库中选择元件)命令,在PickDevices窗口中选择系统所需元器件,如图所示。任务二点亮LED灯

任务实施二、在PROTEUS软件中绘制电路图1.操作过程在“Keywords”栏中重新输入RES,选中“MatchWholeWords”,如图所示。在“Results”栏中获得与RES完全匹配的搜索结果。双击“RES”,则可将“RES”(电阻)添加至对象选择器窗口。单击“OK”按钮,结束对象。任务二点亮LED灯

任务实施二、在PROTEUS软件中绘制电路图2.元器件之间的连线PROTEUS的智能化可以在你想要画线的时候进行自动检测。任务二点亮LED灯

任务实施三、KEIL与PROTEUS的对接(1)电路连接完成后,选中AT89S51单击鼠标左键,打开“EditComponent”对话窗口,如图所示,可以直接在“LockFrequency”后进行频率设定,设定单片机的时钟频率为12MHz。在“ProgramFile”栏中选择已经生成的led.hex文件,把在KEIL编写的程序导入PROTEUS,然后单击“OK”按钮保存设计。至此,就可以进行单片机的仿真。任务二点亮LED灯

任务实施三、KEIL与PROTEUS的对接(1)电路连接完成后,选中AT89S51单击鼠标左键,打开“EditComponent”对话窗口,如图所示。任务二点亮LED灯

任务实施三、KEIL与PROTEUS的对接(2)在仿真过程中每个管脚旁边会出现一个小方块,红色的方块表示高电平,蓝色的方块表示低电平。通过方块颜色的变化可以很方便地知道每个管脚电平的变化,从而能对系统的运行有更直观的了解,这对程序的调试有很大的帮助。任务二点亮LED灯

任务实施四、程序分析1.“文件包含”处理程序的第一行是一个“文件包含”处理。所谓“文件包含”是指一个文件将另外一个文件的内容全部包含进来,所以这里的程序虽然只有5行,但C编译器在处理的时候却要处理几十或几百行。源程序中头文件包含“reg51.h”。2.符号P0_7表示P0.7引脚3.主函数“main”每一个C语言程序有且只有一个主函数,函数后面一定有一对大括号“{}”,在大括号里面书写其他程序。任务二点亮LED灯

任务实施四、程序分析4.while(1)语句While(1)语句连同其后的一对大括号“{}”构成了一个无限循环语句,该大括号内的语句将会被反复执行。5.P0_7=0语句让单片机的P0_7管脚输出0,低电平,点亮一个灯。任务二点亮LED灯

知识拓展

修改电路,编写程序让P2.0控制灯亮。目标检测

任务三KEIL

C与PROTEUS基本使用

知识准备上一次任务,我们基本掌握KEILC和PROTEUS软件的使用,本次任务我们将深入的了解这两款软件,并通过点亮一个灯程序,来学会KEILC和PROTEUS的仿真联调。任务三KEIL

C与PROTEUS基本使用

知识准备一、KEILC软件51单片机的开发除了需要硬件的支持以外,同样离不开软件。CPU真正可执行的是机器码,用汇编语言或C等高级语言编写的源程序必须转换为机器码才能被执行。转换的方法有手工汇编和机器汇编两种,前者目前已极少使用。机器汇编是指通过汇编软件将源程序变为机器码的编译方法。这种汇编软件称为编译器。本任务将向大家介绍目前十分流行的KEIL51C编译器。任务三KEIL

C与PROTEUS基本使用

知识准备一、KEILC软件(一)KEIL编译器简介随着单片机开发技术的不断地发展,从普通使用汇编变速语言到逐渐使用高级语言开发,单片机的开发软件也在不断地发展。KEIL是目前最流行的51单片机开发软件,各仿真机厂商都宣称全面KEIL的使用,对于使用C语言进行单片机开发的用户,KEIL已经成为必备的开发工具。任务三KEIL

C与PROTEUS基本使用

知识准备一、KEILC软件(一)KEIL编译器简介KEIL提供了一个集成开发环境(IDE,IntegratedDevelopmentEnvironment)μVision,它包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器。这样在开发应用软件的过程中,编辑、编译、汇编、连接、调试等各阶段都集成在一个环境中,先用编辑器编写程序,接着调用编译器进行编译,连接后即可直接运行。这样避免了过去先用编辑器进行编辑,然后退出编辑状态进行编译,调试后又要调用编辑器的重复过程,因此可以缩短开发周期。任务三KEIL

C与PROTEUS基本使用

知识准备一、KEILC软件(二)如何使用KEIL开发对KEIL软件及其集成开发环境有了整体认识后,本任务详细介绍如何使用KEIL来进行应用软件的开发。1.建立工程首先启动KEIL软件的集成开发环境μVision,μVision启动以后,程序窗口的左边会出现一个工程管理窗口。任务三KEIL

C与PROTEUS基本使用

知识准备一、KEILC软件(二)如何使用KEIL开发1.建立工程任务三KEIL

C与PROTEUS基本使用

知识准备一、KEILC软件(二)如何使用KEIL开发建立工程选择“Project/NewProject...”菜单,出现一个对话框。任务三KEIL

C与PROTEUS基本使用

知识准备一、KEILC软件(二)如何使用KEIL开发2.工程设置工程建立好之后,还要对工程进行进一步的设置,以满足要求。首先单击左边“Project”窗口的“Target1”,然后选择菜单“Project/Optionfortarget‘garget1’”,即出现工程设置对话框。此对话框共有8个页面,有些复杂,好在绝大部分设置取默认值即可。任务三KEIL

C与PROTEUS基本使用

知识准备一、KEILC软件(二)如何使用KEIL开发2.工程设置任务三KEIL

C与PROTEUS基本使用

知识准备一、KEILC软件(二)如何使用KEIL开发2.工程设置任务三KEIL

C与PROTEUS基本使用

知识准备一、KEILC软件(二)如何使用KEIL开发2.工程设置C51标签页用于对KEIL的C51编译器的编译过程进行控制,其中比较常用的是“CodeOptionzation”组任务三KEIL

C与PROTEUS基本使用

知识准备一、KEILC软件(二)如何使用KEIL开发3.编译与连接在工程建立并设置好以后,接下来的工作就是对工作进行编译。如果一个项目包含多个源程序文件,而仅对某一个文件进行了修改,则不用对所有文件进行编译,仅对修改过的文件进行编译,然后和已被编译过的文件进行连接处理;可选择“Project/BuildTarget”(),或者对所有源程序全部进行编译连接(),选择“Project/RebuildallTargetFiles”。按“F7”键或单击快捷按钮“”仅对修改过的文件进行编译连接的选择。任务三KEIL

C与PROTEUS基本使用

知识准备一、KEILC软件(二)如何使用KEIL开发4.dScopeforWindows的使用在开发产品时,有时软件,也就是应用程序,先行于硬件设计,可以用软件模拟仿真器(Simulator)对应用程序进行软件模拟调试。另外,现在应用程序的开发往往采用几个人共同开发、一个人汇总的情形较多,因此,直接用硬件方法调试软件会带来一定的困难。任务三KEIL

C与PROTEUS基本使用

知识准备一、KEILC软件(二)如何使用KEIL开发4.dScopeforWindows的使用(1)启动如果源程序代码编译成功,那么运行dScope可以对8051应用程序进行软件仿真调试——使用Simulator。为了运行dScope,在如图所示的“OptionforTarge”选项的“Debug”选项中要选中“UseSimular”单选项。任务三KEIL

C与PROTEUS基本使用

知识准备一、KEILC软件(二)如何使用KEIL开发4.dScopeforWindows的使用(1)启动“OptionforTarget”页面中的“Debug”标签页面任务三KEIL

C与PROTEUS基本使用

知识准备一、KEILC软件

(二)如何使用KEIL开发4.dScopeforWindows的使用(1)启动KEIL执行菜单任务三KEIL

C与PROTEUS基本使用

知识准备一、KEILC软件(二)如何使用KEIL开发4.dScopeforWindows的使用(2)调试调试是检查程序中看不见的错误,所以要认真对待。其实比起开发来,排除错误的调试更应该认真去做,因此,必须熟练掌握其使用要领,并且在做开发计划时,通常就把开发周期和调试周期同等对待。任务三KEIL

C与PROTEUS基本使用

知识准备一、KEILC软件(二)如何使用KEIL开发4.dScopeforWindows的使用(3)调试窗口KEIL软件在调试程序时提供了多个窗口,主要包括输出窗口(OutputWindow)、观察窗口(Watch&CallStackWindow)、存储器窗口(MemoryWindow)、反汇编窗口(DissaemblyWindow)和串行窗口(SerialWindow)等。进入调试模式后,可以通过菜单“View”下的相应命令打开或关闭这些窗口。任务三KEIL

C与PROTEUS基本使用

知识准备一、KEILC软件(二)如何使用KEIL开发4.dScopeforWindows的使用(3)调试窗口任务三KEIL

C与PROTEUS基本使用

知识准备二、PROTEUS软件PROTEUSISIS是英国Labcenter公司开发的电路分析与实物仿真软件。任务三KEIL

C与PROTEUS基本使用

知识准备二、PROTEUS软件(一)PROTEUS中绘制点亮LED电路图1.建立文件单击工具栏上的“新建”按钮,新建一个设计文档。任务三KEIL

C与PROTEUS基本使用

知识准备二、PROTEUS软件(一)PROTEUS中绘制点亮LED电路图2.选取元器件此简单实例需要如下元器件:单片机:AT89C51发光二极管:LEDRED瓷片电容:CAP*电阻:RES*选取元器件晶振:CRYSTAL按钮:BUTTON任务三KEIL

C与PROTEUS基本使用

知识准备二、PROTEUS软件(一)PROTEUS中绘制点亮LED电路图3.放置元器件至图形编辑窗口在对象选择器窗口中,选中AT89C51,将鼠标置于图形编辑窗口该对象的欲放置的位置,单击鼠标左键,该对象被完成放置。任务三KEIL

C与PROTEUS基本使用

知识准备二、PROTEUS软件(一)PROTEUS中绘制点亮LED电路图5.元器件之间的连线PROTEUS的智能化可以在你想要画线的时候进行自动检测。下面,我们来操作将电阻R1的右端连接到LED显示器的左端。当鼠标的指针靠近R1右端的连接点时,跟着鼠标的指针就会出现一个“□”号,表明找到了R1的连接点,单击鼠标左键,移动鼠标(不用拖动鼠标),将鼠标的指针靠近LED左端的连接点时,跟着鼠标的指针就会出现一个“□”号,表明找到了LED显示器的连接点,单击鼠标左键完成电阻R1和LED的连线。任务三KEIL

C与PROTEUS基本使用

知识准备二、PROTEUS软件(一)PROTEUS中绘制点亮LED电路图6.修改、设置元器件的属性PROTEUS库中的元器件都有相应的属性,要设置修改元器件的属性,只需要双击ISIS编辑区中的该元器件。任务三KEIL

C与PROTEUS基本使用

知识准备二、PROTEUS软件(一)PROTEUS中绘制点亮LED电路图6.修改、设置元器件的属性任务三KEIL

C与PROTEUS基本使用

知识准备二、PROTEUS软件(一)PROTEUS中绘制点亮LED电路图6.修改、设置元器件的属性任务三KEIL

C与PROTEUS基本使用

知识准备二、PROTEUS软件(二)PROTEUS电路图的绘制效果图如图所示。任务三KEIL

C与PROTEUS基本使用

知识准备二、PROTEUS软件(二)PROTEUS电路图的绘制1.将所需元器件加入到对象选择器窗口单击对象选择器按钮“p”。任务三KEIL

C与PROTEUS基本使用

知识准备二、PROTEUS软件(二)PROTEUS电路图的绘制2.放置元器件至图形编辑窗口将“74LS373”“80C51.BUS”和“MEMORY_13_8”放置到图形编辑窗口。任务三KEIL

C与PROTEUS基本使用

知识准备二、PROTEUS软件(二)PROTEUS电路图的绘制3.放置总线至图形编辑窗口单击绘图工具栏中的总线按钮“

”,使之处于选中状态。将鼠标置于图形编辑窗口。任务三KEIL

C与PROTEUS基本使用

知识准备二、PROTEUS软件(二)PROTEUS电路图的绘制4.添加时钟信号发生器和接地引脚单击绘图工具栏中的信号发生器按钮。任务三KEIL

C与PROTEUS基本使用

知识准备二、PROTEUS软件(二)PROTEUS电路图的绘制5.元器件之间的连线在图形编辑窗口,完成各对象的连线。任务三KEIL

C与PROTEUS基本使用

知识准备二、PROTEUS软件(二)PROTEUS电路图的绘制6.给导线或总线加标签任务三KEIL

C与PROTEUS基本使用

知识准备二、PROTEUS软件(二)PROTEUS电路图的绘制7.添加电压探针单击绘图工具栏中的电压探针按钮“

”,在图形编辑窗口,完成电压探针的添加。任务三KEIL

C与PROTEUS基本使用

知识准备二、PROTEUS软件(二)PROTEUS电路图的绘制8.设置元器件的属性在图形编辑窗口内,将鼠标置于时钟信号发生器上,单击鼠标右键,选中该对象,单击鼠标左键,进入对象属性编辑页面,如图所示。在“Frequency[Hz]”栏中输入12M,单击“OK”按钮,结束设置。此番操作意味着时钟信号发生器给单片机提供频率为12MHz的时钟信号。任务三KEIL

C与PROTEUS基本使用

知识准备二、PROTEUS软件(二)PROTEUS电路图的绘制9.添加虚拟逻辑分析仪在我们绘制图形的过程中,遇到复杂的图形,通常一幅图很难准确地表达设计者的意图,往往需要多幅图来共同表达一个设计。任务三KEIL

C与PROTEUS基本使用

知识准备二、PROTEUS软件(二)PROTEUS电路图的绘制10.给逻辑分析仪添加信号终端单击绘图工具栏中的Inter-sheetTerminal按钮“”,在对象选择器窗口,选中对象DEFAULT,如图所示,将其放置到图形编辑窗口;在对象选择器窗口,选中对象BUS,将其放置到图形编辑窗口,如图所示。任务三KEIL

C与PROTEUS基本使用

知识准备二、PROTEUS软件(二)PROTEUS电路图的绘制10.给逻辑分析仪添加信号终端任务三KEIL

C与PROTEUS基本使用

知识准备二、PROTEUS软件(二)PROTEUS电路图的绘制11.将信号终端与虚拟逻辑分析仪连线并加标签在图形编辑窗口,完成信号终端与虚拟逻辑分析仪连线。任务三KEIL

C与PROTEUS基本使用

知识准备二、PROTEUS软件(二)PROTEUS电路图的绘制11.将信号终端与虚拟逻辑分析仪连线并加标签任务三KEIL

C与PROTEUS基本使用

知识准备二、PROTEUS软件(二)PROTEUS电路图的绘制12.调试运行使用快捷键“PageDown”,将图幅切换到“Rootsheet1”任务三KEIL

C与PROTEUS基本使用

知识准备三、PROTEUS和KEIL联调①首先,安装PROTEUS和KEIL软件。②把PROTEUS\\MODEL目录下的VDM51.DLL文件复制到KEIL安装目录的\\c51\\bin目录中。③修改KEIL安装目录下的TOOLS.INI文件,在c51字段中加入TDRV5=BIN\\VDM51.DLL(“PROTEUSVSMMONITOR51DRIVER”),并保存。注:不一定要用TDRV5,根据原来字段选用一个不重复的数值就可以了,引号中的名字可随意写。任务三KEIL

C与PROTEUS基本使用

知识准备三、PROTEUS和KEIL联调④运行PROTEUS,画出要设计的电路图,在Debug菜单中选择UseRemoteDebugMonitor选项。⑤在KEIL中编写相应的程序代码。⑥在KEIL中Project菜单中选择Optionsfortarget“target1”选项。任务三KEIL

C与PROTEUS基本使用

任务实施根据任务实施里面的第三项,我们先对KEIL和PROTEUS进行设定。①在KEIL软件中输入源代码并编译,如图所示。任务三KEIL

C与PROTEUS基本使用

任务实施根据任务实施里面的第三项,我们先对KEIL和PROTEUS进行设定。在PROTEUS软件中绘制电路,如图所示。任务三KEIL

C与PROTEUS基本使用

任务实施根据任务实施里面的第三项,我们先对KEIL和PROTEUS进行设定。③KEIL和PROTEUS联调:点击KEIL软件“”图标,在点击“”后,大家会发现PROTEUS图中的灯在闪烁。我们可以利用KEIL中的工具栏,对PROTEUS进行详细的调试,如图所示,我们设置了一个断点,点击“”,程序运行到断点处,同时PROTEUS的灯不亮。任务三KEIL

C与PROTEUS基本使用

任务实施根据任务实施里面的第三项,我们先对KEIL和PROTEUS进行设定③KEIL和PROTEUS联调:任务三KEIL

C与PROTEUS基本使用

任务实施根据任务实施里面的第三项,我们先对KEIL和PROTEUS进行设定③KEIL和PROTEUS联调:任务三KEIL

C与PROTEUS基本使用

知识拓展利用KEIL软件中的F10、F11快捷键调试观察灯的变化。目标检测任务四LED报警灯闪烁

通过任务二我们已经知道,要让图141中的LED发光,只要将P0_7置成低电平就可以了,反之把P0_7置成高电平就可以使LED灭掉。本次任务是要让LED闪动起来,即让亮和灭在一段时间内交替出现。知识准备任务四LED报警灯闪烁

知识准备一、函数C程序是由函数组成的,对于规模较大、比较复杂的问题,人们常采用模块化设计方法,即将一个较大的程序按功能划分成若干个程序模块,每个模块用来实现一个特定的功能。在C语言中,函数就是实现模块化程序设计的工具,C语言中的函数相当于其他高级语言中的子程序和过程,由于采用函数结构的写法,使C语言的程序代码结构清晰,同时有利于程序的编写、阅读和维护。本次任务中的延时功能,便是使用函数来实现的。任务四LED报警灯闪烁

知识准备二、函数定义的一般形式(一)无参函数的定义形式类型标识符函数名(){声明部分语句}任务四LED报警灯闪烁

知识准备二、函数定义的一般形式(二)

有参函数定义的一般形式类型标识符函数名(形式参数表列){声明部分语句}任务四LED报警灯闪烁

一、源程序二、程序分析(一)delay_ms(1000)因为单片机的程序执行速度很快,如果在很短的时间内改变P0.7的状态,人眼是看不出来的,必须有个合适的延时时间。任务实施任务四LED报警灯闪烁

二、程序分析(二)

函数分析voiddelay_ms(unsignedinttime){unsignedinti,j;for(i=0;i<time;i++)for(j=0;j<121;j++);}任务实施任务四LED报警灯闪烁

三、编译与仿真将上述源程序在KEILC中编译并生成HEX文件,在PROTEUS中作原理图仿真。任务实施任务四LED报警灯闪烁

三、编译与仿真最后的仿真运行结果任务实施任务五LED报警灯制作与调试

本次任务是在任务四的基础上,制作一个闪烁报警灯。通过本次任务的学习,学会制作单片机最小化系统,并学会使用编程器。一、原理图原理见图。注意:这里省去了单片机40脚接、5V电源和20脚接地。知识准备任务五LED报警灯制作与调试

知识准备

一、原理图任务五LED报警灯制作与调试

知识准备

二、元器件准备

本次任务所需元器件见表。任务五LED报警灯制作与调试

知识准备三、西尔特280U编程器的使用①西尔特软件安装完毕后,使用USB连接线将SUPERPRO/280U连接到PC的USB口。②双击运行桌面西尔特软件图标。任务五LED报警灯制作与调试

知识准备三、西尔特280U编程器的使用③首次使用前应先设置自动烧录选项。,选择“编辑自动烧录方式”,出现对话框。任务五LED报警灯制作与调试

知识准备三、西尔特280U编程器的使用③首次使用前应先设置自动烧录选项。,选择“编辑自动烧录方式”,出现对话框。任务五LED报警灯制作与调试

知识准备三、西尔特280U编程器的使用④按图所示,顺序增加自动烧录功能项(Erase—Program—Verify),并单击“确定”按钮,出现图。任务五LED报警灯制作与调试

知识准备三、西尔特280U编程器的使用④按图所示,顺序增加自动烧录功能项(Erase—Program—Verify),并单击“确定”按钮,出现图。任务五LED报警灯制作与调试

知识准备三、西尔特280U编程器的使用④按图所示,顺序增加自动烧录功能项(Erase—Program—Verify),并单击“确定”按钮,出现图。任务五LED报警灯制作与调试

任务实施

一、源程序

二、编译与仿真

①编译结果如图所示。任务五LED报警灯制作与调试

任务实施

二、编译与仿真

②仿真结果如图所示。任务五LED报警灯制作与调试

任务实施

二、编译与仿真

②仿真结果如图所示。任务五LED报警灯制作与调试

任务实施

二、编译与仿真

③焊接电路,实物如图所示。任务五LED报警灯制作与调试

任务实施

二、编译与仿真

④下载程序进单片机,实物运行效果如图所示。任务五LED报警灯制作与调试

三、程序分析

本次任务的源程序和任务四的源程序变化的地方就在于将任务四的“#include"reg51.h";sbitled=P0^7;”这两句换成“#include"at89x51.h";#defineledP0_7”。下面分别解释任务五这两行语句的含义。

1.#include"at89x51.h"

2.#defineledP0_7任务实施任务五LED报警灯制作与调试

三、程序分析这句的意思是给P0_7端口重新起一个名字,下面程序在提到led的地方,就表示用的是P0_7这个端口。这样写的好处在于,如果将来硬件电路需要将灯接到P1_7上时,我们就不用在程序中修改,只需把语句修改成#defineledP1_7就可以了。任务实施目标检测项目一闪烁报警灯

思考题1.单片机由哪几个功能部件组成?2.简述单片机的发展史。3.AT89S51单片机的4个I/O口在使用上有哪些分工和特点?4.AT89S51的P3口第二功能有哪些?5.为了更好地学习单片机,往往需要准备必要的软、硬件设备,请问常用的硬件设备需要准备哪些?这些硬件设备有什么用途?THANKYOU!谢谢观看!单片机应用技术任务四按键计数器制作与调试任务一按键输入检测任务二单只数码管显示任务三多位数码管显示项目二

按键计数器项目二

按键计数器

学习重点

通过本项目的学习,让学生学习按键输入检测、单只数码管显示、多位数码管显示、按键计数器制作与调试等概念;本项目的学习和实践,我们掌握按键检测、消抖程序设计方法;数码管结构类型、段码、静态与动态显示程序设计方法。任务一按键输入检测

知识准备

在很多项目中都会用到按键,如图所示的电子秤。任务一按键输入检测

知识准备一、键盘的分类

键盘分编码键盘和非编码键盘两种。键盘上闭合键的识别由专用的硬件编码器实现,并产生键编码号或键值的称为编码键盘,如计算机的键盘。而靠软件编程来识别的称为非编码键盘,在单片机组成的各种系统中,用得最多的是非编码键盘。非编码键盘分为行列式(又称为矩阵式)键盘和独立按键。本次任务,我们选择的是独立按键。任务一按键输入检测

知识准备一、键盘的分类任务一按键输入检测

知识准备二、独立按键连接图

独立按键连接电路有两种,一种是按键的公共端接地,当按键按下时,单片机控制引脚输入低电平“0”,如图所示。另一种是按键的公共端接电源,这样当按键按下时,单片机的控制引脚接高电平“1”,如图所示。任务一按键输入检测

知识准备三、按键抖动

通常按键所用开关多为机械弹性开关,当机械触点断开、闭合时,电压信号波形如图所示。任务一按键输入检测

知识准备四、按键程序编写

由于按键按下后,会出现抖动,单片机应该避开这段时间,待键盘稳定后,再对键盘的信息进行识别。任务一按键输入检测

任务实施一、绘制原理图二、编写源程序三、程序分析

①按键识别的步骤:先判断按键是否按下,如果没按,直接退出。如果按下,此时还不能确定是否为有效按下,有可能是抖动,此时应去抖动,调用延时函数。

②本程序将灯亮还是灭分成两个状态。在亮的时候,如果按键按下,灯灭。在灭的时候,如果按键按下,灯亮。这里的led_flag就是作灯状态的一个标记。任务一按键输入检测

知识拓展

试编写程序:按键按下灯亮,松开灯灭。目标检测任务二

单只数码管显示

知识准备

数码管作为一种应用十分普遍的显示器件可以在各种各样的设备上见到,图就是电子钟显示的效果图。任务二

单只数码管显示

知识准备一、数码管

数码管也叫LED数码显示器,其实是由多个LED排列封装而成,图给出了一些常见数码管的实物图,其引脚如图所示。任务二

单只数码管显示

知识准备二、LED七段数码管结构原理

LED七段数码管通常由8个LED发光二极管组成,其中7个发光LED二极管构成7笔字形,一个构成小数点,通称七段LED数码管。任务二

单只数码管显示

知识准备三、LED七段数码管显示字符和字母的方法

如果我们要显示“6”,并不是给数码管写个“6”就行了,而是点亮这个数码管的相应的一些LED发光二极管,即点亮a,c,d,e,f,g段,其余段灭。任务二

单只数码管显示

一、绘制原理图

在PROTEUS中画好的原理图,如图所示。本图中我们省去单片机的复位电路和晶振电路。但是在制作电路板的时候,还是要加进去,不能省去。任务实施任务二

单只数码管显示

二、编写源程序三、程序分析

①port_0=table[count]:当count=0时,port_0=table[0],相当于把“0”的段码通过单片机的P0端口送到数码管上,数码管显示“0”。

②delay_time()是个延时函数:控制前后两次显示的切换的快慢。

③在任务一和任务二中,我们都调用到了一个delay_time()的延时函数,程序中,delay_time()函数的定义如果出现在main()函数前,就不需要对delay_time()做说明而直接使用任务实施任务二

单只数码管显示

四、编译与仿真

将上述源程序在KEILC中编译并生成HEX文件,在PROTEUS中作原理图仿真。PROTEUS对单片机的仿真结果见图。任务实施任务二

单只数码管显示

四、编译与仿真

将上述源程序在KEILC中编译并生成HEX文件,在PROTEUS中作原理图仿真。PROTEUS对单片机的仿真结果见图。任务实施任务二

单只数码管显示

四、编译与仿真

将上述源程序在KEILC中编译并生成HEX文件,在PROTEUS中作原理图仿真。PROTEUS对单片机的仿真结果见图。任务实施任务二

单只数码管显示

知识拓展

①推导共阴和共阳数码管显示“H”的时候的段码。

②通过修改延时函数,观察数码管显示。

③本次任务选择的是共阳数码管,如选择共阴数码管,如何编写程序?目标检测任务三

多位数码管显示

由于很多项目中都会用到多位数码管,多位数码管的显示一般有两种方法:静态显示和动态显示。一、静态显示

所谓静态显示,是指当显示器显示某个字符时,相应位的发光二极管处于恒定的导通或截止状态,直到需要显示另一个字符为止。知识准备任务三

多位数码管显示

知识准备二、

动态显示原理

LED数码管显示的基本原理是利用人眼的“视觉暂留”效应和发光二极管的余晖现象来工作的。接口电路把所有数码管的8个笔画段a~dp的各同名端相互连接在一起,并把它们接到输出口上,每个数码管的公共端COM各自独立地受控制。任务三

多位数码管显示

知识准备三、数码管静态显示驱动电路

将单片机的管脚直接和数码管相连,当然中间需要增加限流电阻,如图所示。对于共阳数码管,公共端需要接上高电平,要想显示什么字符,只需单片机输出该字符的显示段码就可以了。任务三

多位数码管显示

知识准备四、数码管动态显示驱动电路

单片机的管脚和动态数码管相连,中间加上限流电阻,这个和静态显示电路一样。任务三

多位数码管显示

任务实施一、

静态显示00~59s循环计时

1.绘制原理图

在PROTEUS软件中绘制的原理图任务三

多位数码管显示

任务实施

2.编写源程序

3.程序分析

(1)程序运行的时候,数码管要求显示00,接着1s到后,数码管显示01。所以初始化需要加上这几句second=0;port_2=table[second%10];port_0=table[second/10]。

(2)当second=29的时候,second%10=9,那么table[second%10]=table[9],而table[9]=0X90,正好对应了9的段码,通过执行port_2=table[second%10]语句,数码管个位显示9。任务三

多位数码管显示

任务实施

4.编译与仿真

将上述源程序在KEILC中编译并生成HEX文件,在PROTEUS中作原理图仿真。正确的编译结果如图所示。任务三

多位数码管显示

任务实施

4.编译与仿真

PROTEUS对单片机的仿真结果任务三

多位数码管显示

任务实施二、动态显示电路图

1.绘制原理图

在PROTEUS软件中绘制的原理图,如图所示。任务三

多位数码管显示

任务实施二、动态显示电路图

2.编写源程序

3.编译与仿真任务三

多位数码管显示

任务实施二、动态显示电路图

3.编译与仿真任务三

多位数码管显示

知识拓展

试修改程序并仿真,看能否动态显示59到00倒计数。目标检测任务四

按键计数器制作与调试

本次任务是在前面几个任务的基础上,制作一个按键计数器电路,并能够根据控制要求编写单片机程序。具体的功能要求为:系统刚上电时,数码管显示“00”,每次按动加法键,数码管显示数据增加1,每次按动减法按钮,显示数据减1,通过按键设置,让数码管显示范围在“00~20”之间变化。知识准备任务四

按键计数器制作与调试

一、绘制原理图

在Proteus软件中绘制的原理图,如图所示。知识准备任务四

按键计数器制作与调试

二、编写源程序三、编译与仿真

将上述源程序在KEILC中编译并生成HEX文件,在PROTEUS中作原理图仿真。知识准备任务四

按键计数器制作与调试

三、编译与仿真

PROTEUS对单片机的仿真结果知识准备任务四

按键计数器制作与调试

四、实物展示知识准备任务四

按键计数器制作与调试

知识拓展

尝试修改程序,等按键松开后,让显示的数值发生改变。目标检测项目二

按键计数器

思考题

1.

描述单位LED数码管的物理结构。

2.简述单位LED数码管的显示原理。

3.在PROTUES中绘制数码管显示电路图,将本任务“知识拓展”的例子中LED数码管变更到其他口,实现显示9到0的倒计时。修改程序输入仿真,观察现象。4.叙述多位LED数码管扫描显示工作过程。5.结合项目一中的delay_ms()延时1秒钟函数,完成数码管60秒钟计时。

THANKYOU!谢谢观看!单片机应用技术任务四倒计时交通灯制作与调试任务一按钮控制外部中断应用任务二定时器控制数码管计时任务三定时器中断实现倒计时交通灯控制项目三

倒计时交通灯项目三

倒计时交通灯

学习重点

通过本项目的学习,让学生学习按钮控制外部中断应用、定时器控制数码管计时、定时器中断实现倒计时交通灯控制、倒计时交通灯制作与调试的识读及简单分析;电阻器的参数、作用及测量;通过本项目的学习与实践,我们要掌握单片机中断系统的基本概念、工作原理和工作方式,并掌握中断服务程序的写法和实际应用;了解定时器的工作方式及应用。本项目中,我们将先用两个任务来学习单片机的中断系统和定时器系统,最后以这两个项目为基础实现交通灯的总体控制。任务一按钮控制外部中断应用

知识准备

51单片机四组I/O口中的P3口其实是多功能复用口,其中P3.2和P3.3(第12、13脚)就是单片机的外部中断输入端,如图所示。任务一按钮控制外部中断应用

知识准备一、任务及其优先级

一个完整的单片机系统其实就是由多个不同功能的子模块叠加在一起所组成的。任务一按钮控制外部中断应用

知识准备二、中断的概念

中断是为使CPU具有对单片机外部或内部产生的重要事件进行实时处理的能力而设置的。51系列单片机的中断系统能大大提高单片机对内部和外部事件的处理能力。任务一按钮控制外部中断应用

知识准备三、51系列单片机的中断源

1.IT1——INT1中断触发方式控制位

(1)“1”INT1使用跳沿触发方式;

(2)“0”INT1使用电平触发方式。

2.IE1——INT1中断请求标志位

若IT1为1,则当INT1输入引脚产生一个下降沿时,该位会被硬件置“1”,以向CPU发出中断申请。该位会在CPU响应INT1中断服务程序后由硬件清“0”,该位可以软件清“0”。任务一按钮控制外部中断应用

知识准备四、中断使能控制寄存器

中断使能控制寄存器IE是控制51单片机中断开关的寄存器。其各位的含义如表所示。该特殊功能寄存器是可位寻址的。通过对该寄存器的设置,能够实现中断的2级开关控制,即一个所有中断的总开关和每个中断的子开关。任务一按钮控制外部中断应用

知识准备四、中断使能控制寄存器

1.EA——中断使能总控制位

(1)“1”开放所有中断(俗称开中断);

(2)“0”屏蔽所有中断(俗称关中断)。

2.ES——串口中断使能控制位

(1)“1”打开串口中断;

(2)“0”关闭串口中断。

3.ET1——T1溢出中断使能控制位

(1)“1”打开T1溢出中断;

(2)“0”关闭T1溢出中断。任务一按钮控制外部中断应用

知识准备四、中断使能控制寄存器

4.EX1——INT1中断使能控制位

(1)“1”打开INT1中断;

(2)“0”关闭INT1中断。

5.ET0——T0溢出中断使能控制位

(1)“1”打开T0溢出中断;

(2)“0”关闭T0溢出中断。

6.EX0——INT0中断使能控制位

(1)“1”打开INT0中断;

(2)“0”关闭INT0中断。任务一按钮控制外部中断应用

知识准备五、中断优先级控制寄存器

中断优先级控制寄存器IP,用于控制单片机中断源的优先级。该寄存器是可位寻址的。并且该寄存器设定的中断优先级高于自然优先级。其各位的含义如表所示。任务一按钮控制外部中断应用

知识准备五、中断优先级控制寄存器

1.PS——串口中断优先级控制位

(1)“1”串口中断优先级设为高;

(2)“0”串口中断优先级设为低。

2.PT1——T1溢出中断优先级控制位

(1)“1”T1溢出中断优先级设为高;

(2)“0”T1溢出中断优先级设为低。

3.PX1——INT1中断优先级控制位

(1)“1”INT1中断优先级设为高;

(2)“0”INT1中断优先级设为低。任务一按钮控制外部中断应用

知识准备五、中断优先级控制寄存器

4.PT0——T0溢出中断优先级控制位

(1)“1”T0溢出中断优先级设为高;

(2)“0”T0溢出中断优先级设为低。

5.PX0——INT0中断优先级控制位

(1)“1”INT0中断优先级设为高;

(2)“0”INT0中断优先级设为低。任务一按钮控制外部中断应用

知识准备六、中断处理过程

当某一个中断发生时,单片机的中断系统将该中断的中断请求标志位置“1”,CPU查询到该标志位是“1”后,如果该中断被打开,那么,CPU会停止当前程序的运行,转而执行中断服务程序,并将中断请求标志位清“0”(串口中断标志位必须软件清“0”)。任务一按钮控制外部中断应用

知识准备七、外部中断的触发方式

外部中断是当单片机外部发生紧急事件,需要单片机立即处理时,事件能够向CPU发出处理请求的途径。外部事件触发外部中断的方式有两种:

1.电平触发方式(低电平)

2.边沿触发方式(下降沿)任务一按钮控制外部中断应用

知识准备八、外部中断服务程序的编写

中断服务程序的编写和其他函数程序的编写略有不同。这是因为当中断发生时,每个中断所对应的中断服务程序所存放的位置在ROM中是固定的,因此,中断服务程序必须通过中断号指定中断的类型。任务一按钮控制外部中断应用

任务实施一、原理图的绘制

在PROTUES中画好原理图,完整的原理图如图所示。任务一按钮控制外部中断应用

任务实施二、编写外部中断试验程序三、程序分析

typedef原数据类型新数据类型;

typedefunsignedintU16;任务一按钮控制外部中断应用

任务实施四、编译与仿真

将上述源程序在KEILC中编译并生成HEX文件,在PROTUES中作原理图仿真。正确的编译结果如图所示。任务一按钮控制外部中断应用

任务实施四、编译与仿真目标检测任务二定时器控制数码管计时

知识准备

数字钟是日常生活很常用的数码产品,在本任务中,我们将模拟实现数字钟读秒部分的功能,并且使用两个按键控制外部中断来使秒表能够根据需要正计时和倒计时。任务二定时器控制数码管计时

知识准备一、定时/计数器的基本知识

51系列单片机内部具有两个16位的定时/计数器,分别是T0和T1(52系列还有定时器T2)。

1.计数器模式任务二定时器控制数码管计时

知识准备一、定时/计数器的基本知识

2.定时器模式任务二定时器控制数码管计时

知识准备二、定时器控制寄存器TCON

TCON中各位的含义如表3-12所示,这里我们主要讲解高四位的功能。

1.TF1——T1溢出中断请求位

(1)“1”T1溢出,向CPU申请中断。

(2)“0”T1未溢出。

2.TR1——T1启动位,该位须由软件置位或清零

(1)“1”T1计数开始。

(2)“0”T1计数停止。任务二定时器控制数码管计时

知识准备三、定时方式寄存器TMOD如表所示是TMOD中各位的含义。该寄存器不能位寻址。任务二定时器控制数码管计时

知识准备三、定时方式寄存器TMOD

1.M1,M0——T0方式控制位

(1)“00”方式0——13位定时计数方式。

(2)“01”方式1——16位定时计数方式。

(3)“10”方式2——8位常数自动重载方式。

(4)“11”方式3——双8位定时计数方式(仅适用于T0)。

2.C/T——定时器计数器模式选择位

(1)“1”T0处于计数模式。

(2)“0”T0处于定时模式。任务二定时器控制数码管计时

知识准备三、定时方式寄存器TMOD

3.GATE——门控位

(1)“1”定时计数器的启动由TR0=1和INT0接收到的高电平来共同控制。

(2)“0”定时计数器的启动仅由TR0=1来控制。任务二定时器控制数码管计时

知识准备四、定时计数器的四种工作方式

1.方式0

当M1M0是00时,定时计数器工作于方式0,该方式是13位定时或计数方式。该方式下,定时计数器的逻辑结构如图所示。任务二定时器控制数码管计时

知识准备四、定时计数器的四种工作方式

2.方式1

当M1M0是01时,定时计数器工作于方式1,该方式是16位定时或计数方式。该方式下,定时计数器的逻辑结构如图所示。任务二定时器控制数码管计时

知识准备四、定时计数器的四种工作方式

3.方式2

方式0和方式1的最大特点是,当计数发生溢出后,计数器会全部清0。因此在循环定时或循环计数应用时,就会需要软件反复设置计数器的初值,这不但增加了程序的复杂度,而且在定时时间很短的场合,也会影响到定时的精度。此时,可以使用方式2来解决这个问题。任务二定时器控制数码管计时

知识准备四、定时计数器的四种工作方式

4.方式3

方式3是为了增加一个附加的8位定时计数器而提供的,这样51单片机就具有三个定时计数器(52系列单片机本身就有第三个定时计数器T2)。只有T0能工作于方式3,T1不能工作在方式3,一般只有在T1做波特率发生器,系统却还需要两个定时器的情况下才使T0工作于方式3。任务二定时器控制数码管计时

知识准备四、定时计数器的四种工作方式

4.方式3

图是T0工作在方式3时的逻辑结构图。任务二定时器控制数码管计时

知识准备五、定时器初值的计算

当使用定时器时,根据所需的定时值,需要设置定时器的初值。下面以最常用的方式1为例,详细讲解定时器初值的计算过程。任务二定时器控制数码管计时

一、原理图的绘制

在PROTUES中绘制原理图。二、编写定时器计数试验程序三、程序分析

主函数首先初始化定时器T1和T0,并打开两个定时器中断和外部中断。然后打开两个定时器使两个定时器开始运行。任务实施任务二定时器控制数码管计时

四、编译仿真

将上述源程序在KEILC中编译并生成HEX文件,在PROTUES中作原理图仿真。正确的编译结果如图所示。任务实施任务二定时器控制数码管计时

四、编译仿真任务实施目标检测任务三

定时器中断实现倒计时交通灯控制

知识准备本任务是以上两个任务的综合。系统主要要求如下:

①红绿灯控制只使用一路双向。

②两个数码管用于对红黄绿灯的时间进行倒计时计数。

③绿灯40s,红灯20s,黄灯4s。

④行人优先系统能强行减少机动车的绿灯时间。

⑤计时精度达到实用要求,误差控制要好。任务三

定时器中断实现倒计时交通灯控制

知识准备

⑥程序结构清晰,变量命名含义明确,采用结构化的编程方法。

⑦系统整个运行过程中没有明显漏洞。任务三

定时器中断实现倒计时交通灯控制

一、编写源程序二、程序分析

主函数中,程序先完成对各个中断和定时器的初始化,并确定系统运行时的初始状态(本任务是绿灯状态)。然后后台部分启动[即主函数中的while任务实施任务三

定时器中断实现倒计时交通灯控制

三、编译与仿真

将上述源程序在KEILC中编译并生成HEX文件,在PROTUES中作原理图仿真。正确的编译结果如图所示。任务实施任务三

定时器中断实现倒计时交通灯控制

三、编译与仿真任务实施目标检测任务四

倒计时交通灯制作与调试

倒计时交通灯的硬件连接原理图如图331所示。按照图中的硬件在万能板上搭建实物。知识准备任务四

倒计时交通灯制作与调试

搭建好的实物板如图所示。目标检测任务实施项目一标题

1.按照51单片机内中断源的自然优先级,写出每个中断的名称及符号表示。

2.与外部中断INT0相关的配置寄存器有哪些?

3.编程挑战:运用两个外部中断所连接的按钮,来控制数码管的亮灭。如果仅使用一个按钮来实现数码管的开关,你能做到吗?(假设数码管显示0是点亮,什么都不显示是熄灭。)

4.修改本任务的设计,实现:主道红灯状态下,10s内如无行人按下按键,则主道方向自动切换成绿灯;如10s内有行人按下按键,则主道方向的红灯再延时10秒。其余条件不变。思考题THANKYOU!谢谢观看!单片机应用技术任务一直流电机驱动及正反转控制任务二采用PWM技术实现直流电机调速任务三直流电机调速控制实训项目四

直流电机调速项目四

直流电机调速

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论