第3章-广告灯控制-简单程序设计_第1页
第3章-广告灯控制-简单程序设计_第2页
第3章-广告灯控制-简单程序设计_第3页
第3章-广告灯控制-简单程序设计_第4页
第3章-广告灯控制-简单程序设计_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

第三章、广告灯控制---简单程序设计3.0你知道吗3.1功能要求3.2任务分析3.3发光二极管LED3.4发光二极管LED与单片机接口电路设计3.5广告灯程序设计走在城市街道,我们经常看到各种琳琅满目、色彩斑澜的广告灯,你知道这些广告灯效果是如何产生的吗?在这一章中,我们将通过控制8个发光二极管实现多种广告灯效果来说明其产生方法你知道吗?回目录3.1功能要求一.基本要求控制一个发光二极管LED定时闪烁。二.发挥部分控制8个发光二极管LED产生“跑马灯”效果。

3.2任务分析要完成此任务,主要需解决如下三方面问题:1)发光二极管LED工作原理;2)8个发光二极管LED与单片机接口电路设计;3)发光二极管LED显示程序设计回目录3.3发光二极管LED发光二极管的电参数与普通二极管大致相同,也是一个PN结,同样具有正向导通,反向截止的特性。发光二极管的伏安特性曲线如下图。与普通二极管相比,发光二极管主要有如下两点不同1.发光二极管正向导通电压要比普通二极管高

2.发光二极管反向击穿电压比普通二极管低

发光二极管实物图3.3.1发光二极管LED工作特性3.3.2发光二极管LED驱动电路由发光二极管LED的工作特性可知,LED工作电流较大,而MCS-51单片机I/O口引脚负载能力有限,不能直接驱动LED,需要增加LED驱动电路。低电平有效高电平有效高电平有效低电平有效(a)三极管驱动电路(b)集成驱动器电路回目录3.4发光二极管LED与单片机接口电路设计1)74LS245工作特性/E(19脚)DIR(1脚)总线驱动方向01A→B00B→A1X不工作其中19脚/E为芯片工作使能端,只有该引脚电平为有效电平(低电平)时,74LS245才会工作;1脚DIR为总线驱动方向选择端,2)发光二极管LED与单片机接口电路图回目录3.5广告灯程序设计3.5.1单个LED闪烁假设让LED灯D1进行单灯闪烁,由图3-5可知,当P1.0输出高电平时,D1熄灭;当P1.0输出低电平时,D1点亮。欲使D1闪烁,则P1.0输出必须为高低电平交替出现的矩形波(或方波),假设D1闪烁的周期为0.2s(每个周期内100ms亮,100ms灭),则程序流程图如图3-6所示LED_BLINK:SETBP1.0 ;P1.0=1,D1灭LCALLDELAY_100MS;延时100msCLRP1.0 ;P1.0=0,D1亮LCALLDELAY_100MS;延时100msLJMPLED_BLINK ;跳到LED_BLINK程序清单如下:

DELAY_100MS:MOVR3,#100;2usLOOP1:MOVR4,#250;2usLOOP2:DJNZR4,LOOP2;4us如果R4-1≠0,则跳到LOOP2DJNZR3,LOOP1;4us如果R3-1≠0,则跳到LOOP1RET;4us延时子程序如下:

3.5.2跑马灯程序设计

实现跑马灯效果,即要求循环移位点亮LED,每次只点亮一个LED,LED点亮的顺序为:D1→D2→D3→D4→D5→D6→D7→D8→D1…,D8被点亮之后又移位点亮D1,这样循环往复,实现跑马灯效果。显示结果D8D7D6D5D4D3D2D1P1输出值二进制码P1输出值十六进制码○○○○○○○●11111110FEH○○○○○○●○11111101FDH○○○○○●○○11111011FBH○○○○●○○○11110111F7H○○○●○○○○11101111EFH○○●○○○○○11011111DFH○●○○○○○○10111111BFH●○○○○○○○011111117FH方法一.数据传送法

程序清单如下:LED_LOOP:

MOVP1,#0FEH;点亮第1个LEDLCALLDELAY_100MS;延时100msMOVP1,#0FDH;点亮第2个LEDLCALLDELAY_100MS;延时100msMOVP1,#0FBH;点亮第3个LEDLCALLDELAY_100MS;延时100msMOVP1,#0F7H;点亮第4个LEDLCALLDELAY_100MS;延时100msMOVP1,#0EFH;点亮第5个LEDLCALLDELAY_100MS;延时100msMOVP1,#0DFH;点亮第6个LEDLCALLDELAY_100MS;延时100msMOVP1,#0BFH;点亮第7个LEDLCALLDELAY_100MS;延时100msMOVP1,#07FH;点亮第8个LEDLCALLDELAY_100MS;延时100msLJMPLED_LOOP;跳回去循环。MOVA,#0FEH;先将点亮第1个LED的初值送给ALOOP:MOVP1,A ;点亮一位LEDLCALL

温馨提示

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

评论

0/150

提交评论