项目4 led广告灯设计

项目4 led广告灯设计

ID:10843019

大小:143.50 KB

页数:8页

时间:2018-07-08

项目4 led广告灯设计_第1页
项目4 led广告灯设计_第2页
项目4 led广告灯设计_第3页
项目4 led广告灯设计_第4页
项目4 led广告灯设计_第5页
资源描述:

《项目4 led广告灯设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、项目4LED广告灯设计★知识目标:1.单片机I/O端口及端口的基本应用;2.单片机C语言的基本结构及设计方法;3.程序对单片机端口的控制方法。★能力目标:1.能根据设计任务要求编制程序流程图,理解程序对发光二极管的控制原理;2.会利用绘制流水广告灯电路原理图;3.会用keilC51软件对源程序进行编译调试及与protues软件联调,实现电路仿真。任务1流水广告灯的设计广告灯是一种常见的装饰,常用于街上的广告及舞台装饰等场合。最简单的流水广告灯就是各个灯依次发光。本任务利用AT89S51单片机来实现这一功能。1.1提出任务用AT89S51的P1口做输出口,接八只发光二极管D1、D2

2、、D3、D4、D5、D6、D7、D8,编写程序,使发光二级管循环点亮,时间间隔为0.2s。即刚开始时D1点亮,延时0.2s后,接着是D2点亮,接着依次点亮D3、D4、D5、D6、D7、D8,然后再点亮D7、D6、D5、D4、D3、D2、D1,重复循环。1.2分析任务1.硬件电路设计电路组成。这里选择具有内部程序存储器的AT89S51单片机作为控制电路,其P1口接8个发光二极管(LED)和8个限流电阻,硬件电路原理图如图4.1所示。电路分析。要使LED点亮,则P1口的对应端子输出低电平,即P1.0=0时,D1亮。一般情况下,驱动LED的电流约10mA左右,而LED本身的压降为2V。

3、当P1.0输出为低电平时,输出为0V,则流经D1的电流为,为了在仿真实验中让LED更亮一些,在这里取限流电阻为100Ω。相反,当P1.0输出为高电平时,输出电压为5V,则流经D1的电流为0mA,D1不亮(熄灭),即P1.0=1时,D1不亮(熄灭)。图4.1流水广告灯电路图2.软件设计思路P1口输出电平分析。在图3.1中,P1口的每一位都接有一个LED,要实现流水灯功能,就是要让各个LED依次点亮一段时间,再熄灭一段时间,然后再点亮下一个LED一段时间,然后再熄灭一段时间,如此循环。换句话来说,就是让P1口周而复始地输出高电平和低电平,要实现这一功能,最简单和最直接的方法是依次将数

4、据送往P1口,每送一个数据延时一段时间。根据上述分析,我们列出一个功能表,如表4-1所示。表4-1任务分析功能表发光二极管D8D7D6D5D4D3D2D1P1口输出(16进制)功能说明P1口P1.7P1.6P1.5P1.4P1.3P1.2P1.1P1.0输出电平111111100xfeD1点亮111111010xfdD2点亮111110110xfbD3点亮111101110xf7D4点亮111011110xefD5点亮110111110xdfD6点亮101111110xbfD7点亮011111110x7fD8点亮101111110xbfD7点亮110111110xdfD6点亮11

5、1011110xefD5点亮111101110xf7D4点亮111110110xfbD3点亮111111010xfdD2点亮111111100xfeD1点亮从表4-1可以看出,要实现设计任务功能,P1口输出的8个数据分别是11111110B、11111101B、11111011B、11110111B、11101111B、11011111B、10111111B、011111111B,转化成十六进制分别是0xfe、0xfd、0xfb、0xf7、0xef、0xdf、0xbf和0x7f。送完这8个数据后再反过来送011111111B、10111111B、11011111B、1110111

6、1B、11110111B、11111011B、11111101B、11111110B,转化成十六进制分别是0x7f、0xbf、0xdf、0xef、0xf7、0xfb、0xfd和0xfe。送完后从头开始循环。如何采用单片机C语言编程实现数据从输出P1口呢?从这些数据来看,有这么一个规律,D1至D8依次点亮时,就是数据中的二进制0的位置依次往左移动了1位,D8至D1依次点亮时,就是往右依次移动1位。在单片机C51中,要直接实现数据的这种计算是不容易的,如果将数据的所有二进制取反后,D1至D8依次点亮时的数据就变成了:0x01、0x01、0x04、0x08、0x10、0x20、0x40

7、、0x80,也就是后一个数是在前一个数的基础上乘以2(或者直接左移1位)。根据前面分析,实现任务的思路是:程序开始时,给某一个变量赋初始值0x01,并从端口输出反码,延时一段时间后,让显示变量左移1位,再次输出反码并延时,直到输出所有左移数据为止,接下来就实现右移数据输出完毕,再次重复整个过程。延时程序编写。单片机程序的延时有两种,一种是软件延时,一种是硬件延时,在这里我们重点讨论软件延时。当系统加电后,单片机就开始工作,按照设计的程序开始运行(也称执行指令)。单片机执行一条指令

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。