1、项目三 广告灯控制-简单程序设计项目三项目三 广告灯控制广告灯控制-简单程序设计简单程序设计3.1 功能要求功能要求3.2 任务分析任务分析3.3 发光二极管发光二极管LED 3.4 发光二极管发光二极管LED与单片机接口电路设计与单片机接口电路设计3.5 广告灯程序设计广告灯程序设计 项目三 广告灯控制-简单程序设计3.1 功能要求功能要求一、基本要求一、基本要求控制一个发光二极管LED定时闪烁,8个发光二极管LED定时闪烁。二、发挥部分二、发挥部分控制8个发光二极管LED产生“流水灯”效果。回目录回目录项目三 广告灯控制-简单程序设计3.2 任务分析任务分析要完成此任务,主要需解决如下三方
2、面问题:1、发光二极管LED工作原理,发光二极管LED与单片机接口电路设计;2、发光二极管LED显示程序设计;3、STC单片机程序下载步骤。下面将针对这三方面问题来进行学习。项目三 广告灯控制-简单程序设计3.3.1 发光二极管LED工作特性回目录回目录3.3 发光二极管发光二极管LED图图3-2 LED 3-2 LED 的伏安特性曲线的伏安特性曲线 发光二极管主要有如下两点不同发光二极管主要有如下两点不同:1.1.发光二极管正向导通电压要比普发光二极管正向导通电压要比普通二极管高。通二极管高。2.2.发光二极管反向击穿电压比普通二极管低。提示:仔细观察发光二极管,可以发现LED内部的两个电极
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磷砷化镓(磷砷化镓(GaAsPGaAs
4、P)1.61.61.81.8项目三 广告灯控制-简单程序设计3.3.2 发光二极管发光二极管LED驱动电路驱动电路 由发光二极管LED的工作特性可知,LED工作电流较大,而MCS-51单片机I/O口引脚负载能力有限,不能直接驱动LED,需要增加LED驱动电路。LED驱驱动电路形式有两种:低电平有效驱动电路和高电平有效驱动电路,如图动电路形式有两种:低电平有效驱动电路和高电平有效驱动电路,如图3-4所示所示:Q1LEDRQ1LEDRLEDR+5V+5V+5V74067407LEDR+5V 低电平有效低电平有效 高电平有效高电平有效 高电平有效高电平有效 低电平有效低电平有效 (a)(a)三极管驱
5、动电路三极管驱动电路 (b)(b)集成驱动器电路集成驱动器电路 图图3-4 LED3-4 LED驱动电路驱动电路项目三 广告灯控制-简单程序设计34 发光二极管发光二极管LED与单片机接口电路设计与单片机接口电路设计 由于STC单片机每个I/O口最大可提供电流为20mA,因此本例用单片机P1口(P1.0-P1.7)直接控制与驱动8个LED,LED与单片机的接口电路如图3-5所示。图图3-5 3-5 发光二极管发光二极管LEDLED与单片机接口电路与单片机接口电路项目三 广告灯控制-简单程序设计 图3-5中,采用1K的排阻RPA1作LED的限流电阻。RPA1也可用8个1K的电阻来代替,等效电路见
6、图3-6。图图3-6 3-6 发光二极管发光二极管LEDLED与单片机接口电路与单片机接口电路项目三 广告灯控制-简单程序设计35 广告灯程序设计广告灯程序设计 3.5.1 MCS-51单片机指令格式单片机指令格式 计算机程序设计语言可分为三种:计算机程序设计语言可分为三种:机器语言、汇编机器语言、汇编语言、高级语言。语言、高级语言。一条汇编语言指令通常包含如下几部分:标号、助记一条汇编语言指令通常包含如下几部分:标号、助记符、目的操作数、源操作数和注释。下面举一个例子来说明符、目的操作数、源操作数和注释。下面举一个例子来说明指令格式,例如,将数指令格式,例如,将数30H30H送到累加器送到累
7、加器A A的指令如下:的指令如下:LOOPLOOP:MOV A MOV A,#30H#30H ;30HA 30HA A=30HA=30H 标号:标号:操作码操作码 目的操作数目的操作数 ,源操作数,源操作数 ;注释;注释 项目三 广告灯控制-简单程序设计 标号标号是由用户定义的符号组成,标号可有可无,若一条指令中是由用户定义的符号组成,标号可有可无,若一条指令中有标号,标号代表该指令所存放存储单元的地址,故标号又称为符号地有标号,标号代表该指令所存放存储单元的地址,故标号又称为符号地址。在汇编时,把该地址赋值给标号。如上面指令的标号为址。在汇编时,把该地址赋值给标号。如上面指令的标号为LOOP
8、LOOP。助记符助记符表示指令的操作功能,不能缺省。如上面指令的助记表示指令的操作功能,不能缺省。如上面指令的助记符为符为MOVMOV,表示这条指令的功能为数据传送。,表示这条指令的功能为数据传送。操作数操作数是指令要操作的对象。根据指令的不同功能,操作数是指令要操作的对象。根据指令的不同功能,操作数的个数可以有的个数可以有0 03 3个(个(0 0个表示没有操作数)。在两个操作数的指令中,个表示没有操作数)。在两个操作数的指令中,目的操作数写在左边,源操作数写在右边。如上面指令目的操作数写在左边,源操作数写在右边。如上面指令A A为目的操作数,为目的操作数,#30H#30H为源操作数。为源操
9、作数。注释注释对指令作简要的功能说明。用对指令作简要的功能说明。用“;”隔开,加入注释主隔开,加入注释主要为了便于阅读理解,可有可无要为了便于阅读理解,可有可无。在指令的一般格式中使用了符号在指令的一般格式中使用了符号“”,表示括号内所包含的,表示括号内所包含的内容因指令的不同可有可无。内容因指令的不同可有可无。项目三 广告灯控制-简单程序设计3.5.2 单个单个LED闪烁闪烁 假设让LED灯D1进行单灯闪烁,由图3-6可知,当当P1.0输出高电平时输出高电平时(P1.0=1),),D1熄灭熄灭;当当P1.0输出低电平时(输出低电平时(P1.0=0),),D1点亮。点亮。欲使D1闪烁,则P1.
10、0输出必须为高低电平交替出现高低电平交替出现的矩形波(或方波),假设D1闪烁的周期为0.2s(每个周期内100ms亮,100ms灭),则程序流程图如图3-7所示。图图3-7 LED3-7 LED的单灯闪烁的程序流程图的单灯闪烁的程序流程图项目三 广告灯控制-简单程序设计图图3-7 LED3-7 LED的单灯闪烁的程序流程图的单灯闪烁的程序流程图根据程序流程图,编写的程序清单如下:根据程序流程图,编写的程序清单如下:ORG 0000H ORG 0000H ;伪指令,指定下条指令存放的地址;伪指令,指定下条指令存放的地址0000H0000H LJMP KAISHI LJMP KAISHI ;跳转到
11、;跳转到 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
12、.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,
13、#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,子程序返回指令,返回原来调,
14、子程序返回指令,返回原来调 ;用该子程序的下条指令;用该子程序的下条指令 END END ;伪指令,程序结束;伪指令,程序结束延时时间延时时间tt大循大循环次数小循环次数环次数小循环次数每次小循环指令执每次小循环指令执行时间行时间tsts项目三 广告灯控制-简单程序设计3.5.3 利用仿真软件编辑源程序利用仿真软件编辑源程序 利用WAVE6000软件可以方便的进行单片机程序的编辑、编译、调试。双击桌面上的WAVE图标或从开始/程序/WAVE FOR WINDOWS/WAVE进入WAVE6000开发环境,其界面如下图3-8所示。项目三 广告灯控制-简单程序设计 (1)新建源程序文件:执行【文件】
15、【新建文件】菜单命令,新建源程序文件。将上述源程序录入,并保存为“单灯闪烁.asm”。提示:提示:程序的注释部分可以不输入。源程序文件保存时,一定要以“.asm”为后缀。如果保存正确,你会发现源程序的颜色会有变化。项目三 广告灯控制-简单程序设计 (2)新建项目文件执行【文件】【新建项目】菜单命令,当出现加入模块文件对话框时,将“单灯闪烁.asm”文件加入,如图3-10所示。项目三 广告灯控制-简单程序设计 这里不需要加入包含文件,当出现加入包含文件对话框时,直接按取消按钮,如图3-11所示项目三 广告灯控制-简单程序设计 保存项目名为保存项目名为“单灯闪烁单灯闪烁”,如图如图3-12所示。所
16、示。项目三 广告灯控制-简单程序设计 保存项目后,将在仿真软件窗口的顶部显示所保存项目名保存项目后,将在仿真软件窗口的顶部显示所保存项目名称及项目存放路径,如图称及项目存放路径,如图3-13所示。所示。编译快捷按钮加入的模块文件编译信息窗口项目三 广告灯控制-简单程序设计 (3)编译程序单击工具栏上的编译快捷按钮或直接按 F9 键,仿真软件将编译此项目程序,编译完后,将在编辑区的底部显示有关的编译信息,如果编译程序时发现错误,将会在信息窗口显示错误错误提示。我们可以根据错误提示来修改源程序,直到将所有错误改正为止。项目三 广告灯控制-简单程序设计 3.5.4 STC单片机程序下载步骤单片机程序
17、下载步骤 我们使用USB_TTL串口下载线进行单片机程序下载,下载线见下图3-14所示。项目三 广告灯控制-简单程序设计 操作步骤:操作步骤:第一步:安装驱动第一步:安装驱动如果你的电脑是第一次使用如果你的电脑是第一次使用USB_TTL下载线,则下载线,则需要给它安装驱动程序后才能使用。双击文件夹里面的需要给它安装驱动程序后才能使用。双击文件夹里面的CH341SER.EXE,安装下载线驱动程序。安装下载线驱动程序。(点击点击INSTALL)项目三 广告灯控制-简单程序设计 操作步骤:操作步骤:等待片刻,会出现以下界面,驱动安装成功等待片刻,会出现以下界面,驱动安装成功项目三 广告灯控制-简单程
18、序设计 操作步骤:操作步骤:第二步:硬件连接:第二步:硬件连接:按以下接线关系,将下载线连接到单片按以下接线关系,将下载线连接到单片机实训板。机实训板。然后,将下载器接到电脑然后,将下载器接到电脑USB 口。口。下载线引脚下载线引脚单片机单片机JA1JA1接口接口5V05V05V5VTXDTXDRXDRXDRXDRXDTXDTXDGNDGNDGNDGND项目三 广告灯控制-简单程序设计 操作步骤:操作步骤:第三步第三步:运行运行STC单片机下载软件:单片机下载软件:单击桌面上的单击桌面上的 图标,运图标,运行行STC单片机下载软件,弹出如图单片机下载软件,弹出如图314所示的下载界面窗口。软件
19、操作所示的下载界面窗口。软件操作说明如下:说明如下:项目三 广告灯控制-简单程序设计 步骤步骤1:单击单击MCU Type下拉菜单,选择待烧写下拉菜单,选择待烧写的芯片型号的芯片型号 项目三 广告灯控制-简单程序设计 步骤步骤2:单击单击Open File按钮按钮选择要下载的文选择要下载的文件。件。项目三 广告灯控制-简单程序设计 步骤步骤3:选择下载端口和下载速度。选择下载端口和下载速度。项目三 广告灯控制-简单程序设计 步骤步骤4:选择下载后芯片选项:选择下载后芯片选项:项目三 广告灯控制-简单程序设计 步骤步骤5:先单击先单击“Download/下载下载”按钮,其次切断控按钮,其次切断控
20、制板电源,然后再上电启动控制板。当程序下载完后,将显制板电源,然后再上电启动控制板。当程序下载完后,将显示示“校验校验OK”等内容。等内容。项目三 广告灯控制-简单程序设计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
21、,#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
22、R4,XH2XH2:DJNZ R4,XH2 DJNZ R3,XH1 DJNZ R3,XH1 RET RET END END项目三 广告灯控制-简单程序设计3.5.6 流水灯程序设计 实现流水灯效果,即要求循环移位点亮实现流水灯效果,即要求循环移位点亮LED,每次只点亮一个每次只点亮一个LED,LED点亮的顺序为:点亮的顺序为:D1D2D3D4D5D6D7D8D1,D8被被点亮之后又移位点亮点亮之后又移位点亮D1,这样循环往复,实现流水灯效果。,这样循环往复,实现流水灯效果。回目录回目录表表3-3 83-3 8种显示状态与种显示状态与P1P1口输出值的关系口输出值的关系显示结果显示结果D8 D7
23、 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
24、 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-20 3-20 数据传送法程序设计流程图数据传送法程序设计流程图程序清单如下:程序清单如下:MAIN:MAIN:MOV P1,#0FEH MOV P1,#0FEH ;P1P10FEH,0FEH,点亮点亮D1D1 LCALL YANSHI LCALL YANSHI ;延时;延时100
25、ms100ms 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 LC
26、ALL 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 ;跳回去循环。;跳回去循环。项目三 广告灯控制-简单程序设计方法二移位指令法程序清单如下:程序清单如下: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 移位指令法程序设移位指令法程序设计流程图计流程图
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。