项目三广告灯控制课件

上传人:风*** 文档编号:240926002 上传时间:2024-05-18 格式:PPT 页数:33 大小:1.29MB
返回 下载 相关 举报
项目三广告灯控制课件_第1页
第1页 / 共33页
项目三广告灯控制课件_第2页
第2页 / 共33页
项目三广告灯控制课件_第3页
第3页 / 共33页
点击查看更多>>
资源描述
项目三 广告灯控制-简单程序设计项目三项目三 广告灯控制广告灯控制-简单程序设计简单程序设计3.1 功能要求功能要求3.2 任务分析任务分析3.3 发光二极管发光二极管LED 3.4 发光二极管发光二极管LED与单片机接口电路设计与单片机接口电路设计3.5 广告灯程序设计广告灯程序设计 项目三 广告灯控制-简单程序设计3.1 功能要求项目三 广告灯控制-简单程序设计3.1 功能要求功能要求一、基本要求一、基本要求控制一个发光二极管LED定时闪烁,8个发光二极管LED定时闪烁。二、发挥部分二、发挥部分控制8个发光二极管LED产生“流水灯”效果。回目录回目录3.1 功能要求一、基本要求回目录项目三 广告灯控制-简单程序设计3.2 任务分析任务分析要完成此任务,主要需解决如下三方面问题:1、发光二极管LED工作原理,发光二极管LED与单片机接口电路设计;2、发光二极管LED显示程序设计;3、STC单片机程序下载步骤。下面将针对这三方面问题来进行学习。3.2 任务分析要完成此任务,主要需解决如下三方面问题:项目三 广告灯控制-简单程序设计3.3.1 发光二极管LED工作特性回目录回目录3.3 发光二极管发光二极管LED图图3-2 LED 3-2 LED 的伏安特性曲线的伏安特性曲线 发光二极管主要有如下两点不同发光二极管主要有如下两点不同:1.1.发光二极管正向导通电压要比普发光二极管正向导通电压要比普通二极管高。通二极管高。2.2.发光二极管反向击穿电压比普通二极管低。提示:仔细观察发光二极管,可以发现LED内部的两个电极一大一小。一般来说,电极较小、个头较矮的一个是发光二极管的正极,电极较大的一个是它的负 极。若是新买来的发光二极管,外部管脚较长的一个是正极,较短的一个是负极。3.3.1 发光二极管LED工作特性回目录3.3 发光二极项目三 广告灯控制-简单程序设计3.3.1 发光二极管LED工作特性回目录回目录3.3 发光二极管发光二极管LED表表3-1 LED3-1 LED的开启电压与材料关系的开启电压与材料关系LEDLED材料材料开启电压开启电压V VF F(V V)砷化镓(砷化镓(GaAsGaAs)1.21.2镓铝砷(镓铝砷(GaAsGaAs)1.61.61.81.8磷化镓(磷化镓(GaPGaP)1.91.92.52.5磷砷化镓(磷砷化镓(GaAsPGaAsP)1.61.61.81.83.3.1 发光二极管LED工作特性回目录3.3 发光二极项目三 广告灯控制-简单程序设计3.3.2 发光二极管发光二极管LED驱动电路驱动电路 由发光二极管LED的工作特性可知,LED工作电流较大,而MCS-51单片机I/O口引脚负载能力有限,不能直接驱动LED,需要增加LED驱动电路。LED驱驱动电路形式有两种:低电平有效驱动电路和高电平有效驱动电路,如图动电路形式有两种:低电平有效驱动电路和高电平有效驱动电路,如图3-4所示所示:低电平有效低电平有效 高电平有效高电平有效 高电平有效高电平有效 低电平有效低电平有效 (a)(a)三极管驱动电路三极管驱动电路 (b)(b)集成驱动器电路集成驱动器电路 图图3-4 LED3-4 LED驱动电路驱动电路3.3.2 发光二极管LED驱动电路 由发项目三 广告灯控制-简单程序设计34 发光二极管发光二极管LED与单片机接口电路设计与单片机接口电路设计 由于STC单片机每个I/O口最大可提供电流为20mA,因此本例用单片机P1口(P1.0-P1.7)直接控制与驱动8个LED,LED与单片机的接口电路如图3-5所示。图图3-5 3-5 发光二极管发光二极管LEDLED与单片机接口电路与单片机接口电路34 发光二极管LED与单片机接口电路设计 项目三 广告灯控制-简单程序设计 图3-5中,采用1K的排阻RPA1作LED的限流电阻。RPA1也可用8个1K的电阻来代替,等效电路见图3-6。图图3-6 3-6 发光二极管发光二极管LEDLED与单片机接口电路与单片机接口电路 图3-5中,采用1K的排阻RPA1作LED的项目三 广告灯控制-简单程序设计35 广告灯程序设计广告灯程序设计 3.5.1 MCS-51单片机指令格式单片机指令格式 计算机程序设计语言可分为三种:计算机程序设计语言可分为三种:机器语言、汇编机器语言、汇编语言、高级语言。语言、高级语言。一条汇编语言指令通常包含如下几部分:标号、助记一条汇编语言指令通常包含如下几部分:标号、助记符、目的操作数、源操作数和注释。下面举一个例子来说明符、目的操作数、源操作数和注释。下面举一个例子来说明指令格式,例如,将数指令格式,例如,将数30H30H送到累加器送到累加器A A的指令如下:的指令如下:LOOPLOOP:MOV A MOV A,#30H#30H ;30HA 30HA A=30HA=30H 标号:标号:操作码操作码 目的操作数目的操作数 ,源操作数,源操作数 ;注释;注释 35 广告灯程序设计 3.5.1 MCS-51单片机项目三 广告灯控制-简单程序设计 标号标号是由用户定义的符号组成,标号可有可无,若一条指令中是由用户定义的符号组成,标号可有可无,若一条指令中有标号,标号代表该指令所存放存储单元的地址,故标号又称为符号地有标号,标号代表该指令所存放存储单元的地址,故标号又称为符号地址。在汇编时,把该地址赋值给标号。如上面指令的标号为址。在汇编时,把该地址赋值给标号。如上面指令的标号为LOOPLOOP。助记符助记符表示指令的操作功能,不能缺省。如上面指令的助记表示指令的操作功能,不能缺省。如上面指令的助记符为符为MOVMOV,表示这条指令的功能为数据传送。,表示这条指令的功能为数据传送。操作数操作数是指令要操作的对象。根据指令的不同功能,操作数是指令要操作的对象。根据指令的不同功能,操作数的个数可以有的个数可以有0 03 3个(个(0 0个表示没有操作数)。在两个操作数的指令中,个表示没有操作数)。在两个操作数的指令中,目的操作数写在左边,源操作数写在右边。如上面指令目的操作数写在左边,源操作数写在右边。如上面指令A A为目的操作数,为目的操作数,#30H#30H为源操作数。为源操作数。注释注释对指令作简要的功能说明。用对指令作简要的功能说明。用“;”隔开,加入注释主隔开,加入注释主要为了便于阅读理解,可有可无要为了便于阅读理解,可有可无。在指令的一般格式中使用了符号在指令的一般格式中使用了符号“”,表示括号内所包含的,表示括号内所包含的内容因指令的不同可有可无。内容因指令的不同可有可无。标号是由用户定义的符号组成,标号可有可无,若一条指令项目三 广告灯控制-简单程序设计3.5.2 单个单个LED闪烁闪烁 假设让LED灯D1进行单灯闪烁,由图3-6可知,当当P1.0输出高电平时输出高电平时(P1.0=1),),D1熄灭熄灭;当当P1.0输出低电平时(输出低电平时(P1.0=0),),D1点亮。点亮。欲使D1闪烁,则P1.0输出必须为高低电平交替出现高低电平交替出现的矩形波(或方波),假设D1闪烁的周期为0.2s(每个周期内100ms亮,100ms灭),则程序流程图如图3-7所示。图图3-7 LED3-7 LED的单灯闪烁的程序流程图的单灯闪烁的程序流程图3.5.2 单个LED闪烁 图3-7 LED的单灯闪烁的程序项目三 广告灯控制-简单程序设计图图3-7 LED3-7 LED的单灯闪烁的程序流程图的单灯闪烁的程序流程图根据程序流程图,编写的程序清单如下:根据程序流程图,编写的程序清单如下:ORG 0000H ORG 0000H ;伪指令,指定下条指令存放的地址;伪指令,指定下条指令存放的地址0000H0000H LJMP KAISHI LJMP KAISHI ;跳转到;跳转到 KAISHI KAISHI ORG 0100H ORG 0100H ;伪指令,指定下条指令存放的地址;伪指令,指定下条指令存放的地址0100H0100HKAISHIKAISHI:MOV P1 MOV P1,#0FFH#0FFH ;P1=FFHP1=FFH,关闭所有,关闭所有LEDLED灯灯XUNHUAN:XUNHUAN:SETB P1.0 SETB P1.0 ;位置;位置“1 1”指令,让指令,让P1.0=1,D1P1.0=1,D1灭灭 LCALL YANSHI LCALL YANSHI ;调用子程序;调用子程序YANSHIYANSHI,延时,延时100ms 100ms CLR P1.0 CLR P1.0 ;位清;位清“0 0”指令,让指令,让P1.0=0,D1P1.0=0,D1亮亮 LCALL YANSHI LCALL YANSHI ;调用子程序;调用子程序YANSHIYANSHI,延时,延时100ms100ms LJMP XUNHUAN LJMP XUNHUAN ;跳转指令,;跳转指令,跳到跳到XUNHUAN XUNHUAN =以下是延时子程序以下是延时子程序=YANSHI:YANSHI:MOV R3,#100 MOV R3,#100 ;数据传送指令,将数值;数据传送指令,将数值100100传送给传送给R3,R3=100R3,R3=100XH1:XH1:MOV R4,#250 MOV R4,#250 ;2us,2us,数据传送指令数据传送指令,R4=250,R4=250XH2:XH2:DJNZ R4,XH2 DJNZ R4,XH2 ;延时;延时4us4us,如果如果R4-10R4-10,则跳到,则跳到XH2XH2 如果如果R4-1=0R4-1=0,则按顺序执行下一条指令,则按顺序执行下一条指令 DJNZ R3,XH1 DJNZ R3,XH1 ;延时;延时4us4us,如果如果R3-10R3-10,则跳到,则跳到XH1XH1 ;如果;如果R3-1R3-10 0,则跳到,则跳到XH1XH1 RET RET ;延时;延时4us4us,子程序返回指令,返回原来调,子程序返回指令,返回原来调 ;用该子程序的下条指令;用该子程序的下条指令 END END ;伪指令,程序结束;伪指令,程序结束延时时间延时时间tt大循大循环次数环次数小循环次数小循环次数每次小循环指令执每次小循环指令执行时间行时间tsts图3-7 LED的单灯闪烁的程序流程图根据程序流程图,编写的项目三 广告灯控制-简单程序设计3.5.3 利用仿真软件编辑源程序利用仿真软件编辑源程序 利用WAVE6000软件可以方便的进行单片机程序的编辑、编译、调试。双击桌面上的WAVE图标或从开始/程序/WAVE FOR WINDOWS/WAVE进入WAVE6000开发环境,其界面如下图3-8所示。3.5.3 利用仿真软件编辑源程序 利用WAVE600项目三 广告灯控制-简单程序设计 (1)新建源程序文件:执行【文件】【新建文件】菜单命令,新建源程序文件。将上述源程序录入,并保存为“单灯闪烁.asm”。提示:提示:程序的注释部分可以不输入。源程序文件保存时,一定要以“.asm”为后缀。如果保存正确,你会发现源程序的颜色会有变化。(1)新建源程序文件:执行【文件】【新建文件】项目三 广告灯控制-简单程序设计 (2)新建项目文件执行【文件】【新建项目】菜单命令,当出现加入模块文件对话框时,将“单灯闪烁.asm”文件加入,如图3-10所示。(2)新建项目文件项目三 广告灯控制-简单程序设计 这里不需要加入包含文件,当出现加入包含文件对话框时,直接按取消按钮,如图3-11所示 这里不需要加入包含文件,当出现加入包含文件对项目三 广告灯控制-简单程序设计 保存项目名为保存项目名为“单灯闪烁单灯闪烁”,如图如图3-12所示。所示。保存项目名为“单灯闪烁”,如图3-12所示项目三 广告灯控制-简单程序设计 保存项目后,将在仿真软件窗口的顶部显示所保存项目名保存项目后,将在仿真软件窗口的顶部显示所保存项目名称及项目存放路径,如图称及项目存放路径,如图3-13所示。所示。编译快捷按钮加入的模块文件编译信息窗口 保存项目后,将在仿真软件窗口的顶部显示所保存项项目三 广告灯控制-简单程序设计 (3)编译程序单击工具栏上的编译快捷按钮或直接按 F9 键,仿真软件将编译此项目程序,编译完后,将在编辑区的底部显示有关的编译信息,如果编译程序时发现错误,将会在信息窗口显示错误错误提示。我们可以根据错误提示来修改源程序,直到将所有错误改正为止。(3)编译程序项目三 广告灯控制-简单程序设计 3.5.4 STC单片机程序下载步骤单片机程序下载步骤 我们使用USB_TTL串口下载线进行单片机程序下载,下载线见下图3-14所示。3.5.4 STC单片机程序下载步骤 我们使用U项目三 广告灯控制-简单程序设计 操作步骤:操作步骤:第第一一步步:安安装装驱驱动动如如果果你你的的电电脑脑是是第第一一次次使使用用USB_TTL下下载载线线,则则需需要要给给它它安安装装驱驱动动程程序序后后才才能能使使用用。双双击击文文件件夹夹里里面面的的CH341SER.EXE,安装下载线驱动程序。,安装下载线驱动程序。(点击点击INSTALL)操作步骤:项目三 广告灯控制-简单程序设计 操作步骤:操作步骤:等待片刻,会出现以下界面,驱动安装成功等待片刻,会出现以下界面,驱动安装成功 操作步骤:项目三 广告灯控制-简单程序设计 操作步骤:操作步骤:第第二二步步:硬硬件件连连接接:按按以以下下接接线线关关系系,将将下下载载线线连连接接到到单单片片机实训板。机实训板。然后,将下载器接到电脑然后,将下载器接到电脑USB 口。口。下载线引脚下载线引脚单片机单片机JA1JA1接口接口5V05V05V5VTXDTXDRXDRXDRXDRXDTXDTXDGNDGNDGNDGND 操作步骤:下载线引脚单片机JA1接口5V05VTXDR项目三 广告灯控制-简单程序设计 操作步骤:操作步骤:第第三三步步:运运行行STC单单片片机机下下载载软软件件:单单击击桌桌面面上上的的 图图标标,运运行行STC单单片片机机下下载载软软件件,弹弹出出如如图图314所所示示的的下下载载界界面面窗窗口口。软软件件操操作作说明如下:说明如下:操作步骤:项目三 广告灯控制-简单程序设计 步步骤骤1:单单击击MCU Type下下拉拉菜菜单单,选选择择待待烧烧写写的芯片型号的芯片型号 步骤1:单击MCU Type下拉菜单项目三 广告灯控制-简单程序设计 步步骤骤2:单单击击Open File按按钮钮选选择择要要下下载载的的文文件。件。步骤2:单击Open File按钮项目三 广告灯控制-简单程序设计 步骤步骤3:选择下载端口和下载速度。选择下载端口和下载速度。步骤3:选择下载端口和下载速度。项目三 广告灯控制-简单程序设计 步骤步骤4:选择下载后芯片选项:选择下载后芯片选项:步骤4:选择下载后芯片选项:项目三 广告灯控制-简单程序设计 步步骤骤5:先先单单击击“Download/下下载载”按按钮钮,其其次次切切断断控控制制板板电电源源,然然后后再再上上电电启启动动控控制制板板。当当程程序序下下载载完完后后,将将显显示示“校验校验OK”等内容。等内容。步骤5:先单击“Download/下项目三 广告灯控制-简单程序设计3.5.5 8个个LED同步闪烁同步闪烁 与单个与单个LED闪烁类似闪烁类似 程序清单如下:程序清单如下:ORG 0000H ORG 0000H ;指定下条指令存放的地址;指定下条指令存放的地址 LJMP KAISHI LJMP KAISHI ;跳转到;跳转到 KAISHI ORG 0100H ORG 0100H ;指定下条指令存放的地址;指定下条指令存放的地址KAISHIKAISHI:MOV P1,#0FFH MOV P1,#0FFH ;P1=FFHFFH,8 8个个LED全灭全灭 LCALL YANSHI YANSHI ;调用子程序延时;调用子程序延时100ms MOV P1,#00H MOV P1,#00H ;P1=00H00H,8 8个个LED全灭亮全灭亮 LCALL YANSHIYANSHI ;调用子程序延时;调用子程序延时100ms LJMP KAISHI KAISHI ;跳转指令,;跳转指令,跳到跳到KAISHI;=以下是延时子程序以下是延时子程序=YANSHI:YANSHI:MOV R3,#100 MOV R3,#100XH1:MOV R4,#250XH1:MOV R4,#250XH2:DJNZ R4,XH2XH2:DJNZ R4,XH2 DJNZ R3,XH1 DJNZ R3,XH1 RET RET END END3.5.5 8个LED同步闪烁 与单个LED闪烁类似 程序项目三 广告灯控制-简单程序设计3.5.6 流水灯程序设计 实现流水灯效果,即要求循环移位点亮实现流水灯效果,即要求循环移位点亮LED,每次只点亮一个每次只点亮一个LED,LED点亮的顺序为:点亮的顺序为:D1D2D3D4D5D6D7D8D1,D8被被点亮之后又移位点亮点亮之后又移位点亮D1,这样循环往复,实现流水灯效果。,这样循环往复,实现流水灯效果。回目录回目录表表3-3 83-3 8种显示状态与种显示状态与P1P1口输出值的关系口输出值的关系显示结果显示结果D8 D7 D6 D5 D4 D3 D2 D1D8 D7 D6 D5 D4 D3 D2 D1P1P1输出值二进制码输出值二进制码P1P1输出值十六进制码输出值十六进制码 1 1 1 1 1 1 1 01 1 1 1 1 1 1 0FEHFEH 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 FDHFDH 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 FBHFBH 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 F7HF7H 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 EFHEFH 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1 DFHDFH 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 BFHBFH 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 7FH7FH其中其中 表示指示灯亮,表示指示灯亮,表示指示灯灭。表示指示灯灭。3.5.6 流水灯程序设计 实现流水灯效果,即要求项目三 广告灯控制-简单程序设计方法一数据传送法方法一数据传送法 图图3-20 3-20 数据传送法程序设计流程图数据传送法程序设计流程图程序清单如下:程序清单如下:MAIN:MAIN:MOV P1,#0FEH MOV P1,#0FEH ;P1P10FEH,0FEH,点亮点亮D1D1 LCALL YANSHI LCALL YANSHI ;延时;延时100ms100ms MOV P1,#0FDH MOV P1,#0FDH ;点亮;点亮D2D2 LCALL YANSHI LCALL YANSHI ;延时;延时100ms100ms MOV P1,#0FBH MOV P1,#0FBH ;点亮;点亮D3D3 LCALL YANSHI LCALL YANSHI ;延时;延时100ms100ms MOV P1,#0F7H MOV P1,#0F7H ;点亮;点亮D4D4 LCALL YANSHI LCALL YANSHI ;延时;延时100ms100ms MOV P1,#0EFH MOV P1,#0EFH ;点亮;点亮D5D5 LCALL YANSHI LCALL YANSHI ;延时;延时100ms100ms MOV P1,#0DFH MOV P1,#0DFH ;点亮;点亮D6D6 LCALL YANSHI LCALL YANSHI ;延时;延时100ms100ms MOV P1,#0BFH MOV P1,#0BFH ;点亮;点亮D7D7 LCALL YANSHI LCALL YANSHI ;延时;延时100ms100ms MOV P1,#07FH MOV P1,#07FH ;点亮;点亮D8D8 LCALL YANSHI LCALL YANSHI ;延时;延时100ms100ms LJMP MAIN LJMP MAIN ;跳回去循环。;跳回去循环。方法一数据传送法 图3-20 数据传送法程序设计流程图程项目三 广告灯控制-简单程序设计方法二移位指令法程序清单如下:程序清单如下:MOV A MOV A,#0FEH#0FEH ;将点亮第;将点亮第1 1个个LEDLED的初值送给的初值送给A ALOOPLOOP:MOV P1MOV P1,A A;点亮一位;点亮一位LEDLED LCALL YANSHI LCALL YANSHI;延时;延时100ms100ms RL A RL A ;左移一位,为下次显示准备;左移一位,为下次显示准备 LJMP LOOP LJMP LOOP;跳回去循环;跳回去循环图图3-21 3-21 移位指令法程序设移位指令法程序设计流程图计流程图方法二移位指令法程序清单如下:图3-21 移位指令法程
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学培训


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!