单片机控制LED显示屏系统.doc

上传人:hw****26 文档编号:3087634 上传时间:2019-05-20 格式:DOC 页数:10 大小:1.24MB
下载 相关 举报
单片机控制LED显示屏系统.doc_第1页
第1页 / 共10页
单片机控制LED显示屏系统.doc_第2页
第2页 / 共10页
单片机控制LED显示屏系统.doc_第3页
第3页 / 共10页
单片机控制LED显示屏系统.doc_第4页
第4页 / 共10页
单片机控制LED显示屏系统.doc_第5页
第5页 / 共10页
点击查看更多>>
资源描述

1、单片机控制 LED 显示屏系统选修课电子设计报告XXXXXX 班 XXX 10021189系统简介单片机是一种集成在电路芯片,采用超大规模集成电路技术把具有数据处理能力的中央处理器 CPU、随机存储器 RAM、只读存储器 ROM、多种 I/O 口和中断系统、定时器/计时器等多种功能集成到一块硅片上构成的一个小而完善的计算机系统,该系统小巧,功能多样且易于开发使用。而 51 单片机是对目前所有兼容 Intel 8031 指令系统的单片机的统称,且该系列单片机已经成为目前应用最广泛的 8 位单片机之一,其代表型号是 ATMEL 公司的 AT89 系列,它广泛应用于工业测控系统之中。而 LED 显示

2、屏,也是一个被广泛应用在在人们的日常生活中的设备。在商场、车站、以及银行等各类办事窗口等越来越多的场所,我们可以看见 LED 点阵显示文本信息。其由于耗电量低、使用寿命长、成本低、亮度高、规格品种多等诸多优点,可以满足各种不同应用场景的需求,可以说具有非常广阔的发展前景。然而目前市场上的 LED 显示屏大多都需要固定在特定位置,并且显示内容的更改需要连接 PC 机或插入移动存储器来实现。这使得大部分 LED 显示屏不能随意改变摆放位置。虽然少部分 LED 显示屏可以实现便携功能,但其只能通过外接移动存储器来输出显示内容,这导致 LED 显示屏的诸多优势不能完全体现。正是由于单片机提供了操作简单

3、的 IR 红外接收模块,我们可以考虑采用单片机和 LED 显示屏结合起来,用红外遥控的方式来控制单片机,继而再利用单片机控制 LED 显示屏的输出,最终实现遥控 LED 显示屏的效果。以下所阐述的系统,是我们小组采用 SST 单片机作为控制核心,外接红外接收探头及 LED 扩展板为硬件基础构建了 LED 显示屏,从硬件上为便携、遥控等预期功能提供了基础。在代码编写方面,我们集成了现有比较完善的单片机的红外解码技术、蜂鸣器及 LED 点阵显示,并自主编写了屏幕显示的滚动效果的相关代码。系统原理为了更清楚的展示系统原理,先将该系统划分为 3 个子系统:红外接收系统,数据储存系统,以及信息展示系统。

4、首先,当用户按下遥控器上的某个按钮时,遥控器会发出一组脉冲。而红外接收系统的任务就是将接收到的物理脉冲进行解码,获得用户按钮信息,也就是让单片机捕捉到用户按下了哪个按钮。接着,数据储存系统会将用户按钮信息转换为该按钮对应的功能,比如字母键、清空键、滚动键等等,若用户输入的是文本,便将该文本存储在一个数组中。最后,信息展示系统会自动提取数据中存储的信息,控制其在 LED 展示屏上滚动显示。三个子系统通过中断触发,协同运,组成了整个 LED 显示系统(如下图所示) 。1 红外接收系统人眼能看到的可见光按波长从长到短排列,依次为红、橙、黄、绿、青、蓝、紫。其中红光的波长范围为 0.620.76m;紫

5、光的波长范围为0.380.46m。比紫光的波长还短的光叫紫外线,比红光的波长还长的光叫红外线。红外线遥控就是利用波长为 0.761.5m 之间的近红外线来传送控制信号的。对于红外线遥控器发出红外波的原理,再此不予讨论,我们仅研究将接收到的红外信号转化为我们可以利用的数据。当用户一个键按下超过 22ms,遥控器上的振荡器使芯片激活,将发射一组108ms 的编码脉冲。由位置 1 的波形得知,这 108ms 发射代码由一个起始码(9ms ) ,一个结果码(4.5ms) ,低 8 位地址码(用户编码) (9ms18ms) ,高 8位地址码(用户编码) (9ms18ms) ,8 位数据码(键值数据码)

6、(9ms18ms)和这 8 位数据的反码(键值数据码反码) (9ms18ms)组成。如果按下超过108ms 仍未松开,接下来发射的代码(连发代码由位置 3 所示)将仅由起始码(9ms )和结束码(2.5ms)组成。通过红外线接收头可接收这些信号,并且启用单片机外部中断来暂停 LED 运行来处理信号,之后经过特定程序的解码,我们便可以得到遥控器上各个按键的对应取值,也就是得到了用户所按的按键。这里解码的关键是如何识别“0”和“1”。从位的定义我们可以发现“0”、“1”均以 0.56ms 的低电平开始,不同的是高电平的宽度不同,“0”为0.56ms,“1”为 1.68ms,所以必须根据高电平的宽度

7、区别“0”和“1”。如果从 0.56ms 低电平过后,开始延时,0.56ms 以后,若读到的电平为低,说明该位为“0”,反之则为“1”,为了可靠起见,延时必须比 0.56ms 长些,但又不能超过 1.12ms,否则如果该位为“0”,读到的已是下一位的高电平,因此取(1.12ms+0.56ms)/2=0.84ms 最为可靠,一般取 0.84ms 左右均可。并且,应该等待 9ms 的起始码和 4.5ms 的结果码均完成后才能读码。2 数据储存系统红外线遥控器上每个按键都对应了一组键值(如“16”对应按键“0” ,“0C”对应按键 “1”等) 。解码完毕我们就可以得到这个用户按下的按键键值。通过匹配

8、内置的键值表,系统就能识别出用户的按键信息:数字键、清空键、退格键、速度调节键、启动键等等。经过若干条件语句的筛选,可以对不同用户行为进行相应动作:当用户按下数字按键时,单片机内部的专用数组就会按顺序记录该按键对应的数值(09 ) 。 (当然这只是初步的调试。当系统更加完善之后,还要增加将数字转换为字母的子过程)。当用户按下退格键时,数组将会剔除最新一个字符,也就是退格效果;当用户按下清空键时,输出重置,恢复空数组。当用户按下速度调节键,系统会相应增加或减少变量“speed”的值,用于之后控制 LED 显示滚动速度的调整。当用户按下启动键后,信息展示系统被激活,开始 LED 显示屏的滚动文本显

9、示。3 信息展示系统以逐行扫描方式的 LED 点阵为例。行编码决定哪一行被接通(相当于位码,如下面第一幅图为第一行接通的情况) ,列编码决定该行上的哪些 LED 点亮(相当于段码,如下面第一幅图为第二至第七和 LED 点亮) 。行从上向下扫描即显示出一帧完整的图像。利用视觉暂留原理,以很快的速度依次亮起 LED,使人眼无法区别先后亮起顺序,于是得到了 LED 屏幕完整的可见内容。人眼观察到的图象如图所示:以上为 LED 点阵静态显示的原理。但仅仅是静态显示远远不能满足我们的需要。由于需要显示的文本长度较长,故不可能把所有数据都只显示在一个屏幕内,所以我们需要动态的滚动显示。也就是在静态显示的基

10、础上,每隔 t时间,将前一个文字左移一个单位,后一个文字进入屏幕内一个单位,然后继续保持静态输出,之后再隔 t 时间重复上述步骤,于是就形成了滚动效果,如下图展示了文本“58”的滚动效果。当用户按下启动按键后,单片机进入一个永久循环,其中一个计数器不断累加,每到能被“speed”变量整除的时间点,屏幕内容便会向左位移一列,此时就形成了新的一帧画面,此画面将被循环扫描直到下一个整除时间点的出现。通过改变除数的大小来改变每一帧画面的扫描次数,由此就实现了滚动速度的调节,实现文字一个一个的从右向左滚动出现的效果。当用户输入的文字全部显示一遍之后,会出现若干空格,标志着第一遍已经显示完毕,之后会重新回

11、到第一个字的滚动显示,形成不断循环往复出现的信息展示屏。使用方法接通电源,数码管显示 0,代表目前没有字符。按下数字键 09,点阵显示对应文本,同时数码管示数增加,代表目前文本区有若干字符待显示。按下退格键,数码管示数减小,代表字符被删除。按下清空,数码管回复显示 0,代表文本被清空。编辑好带显示文本后,按下“滚动/ 停止”按钮,字符看是循环滚动。此时按速度调节按钮可以改变滚动速率。同时在滚动状态不可编辑文本内容,停止滚动后回复编辑文本状态。单片机源代码/2012.3.27/P0-J12(排线)/P2-J20(排线)/P1-JP3(排线)/P3.5-J8 蜂鸣器(单线)/遥控 LED 显示板,

12、最多存储 9 个数字,滚动播放,退格、清空、速度调节。#include #include #define uchar unsigned char#define uint unsigned int#define delayNOP(); _nop_();_nop_();_nop_();_nop_();#define SPEED 8void delay(uchar x); /x*0.14MSvoid delay1(int ms);void beep();sbit IRIN = P32; /红外接收器数据线sbit BEEP = P35; /蜂鸣器驱动线unsigned char code IRCod

13、e = “160C185E081C5A42524A0D19441509“; /解码结果对应表unsigned char code LEDCode = 0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F; /数码管段选unsigned char code tab=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f;/逐列开启unsigned char code digittab118=0x00,0x00,0x3e,0x41,0x41,0x41,0x3e,0x00, /0 的第 1 列,2.80x00,0x00,0x00,

14、0x00,0x21,0x7f,0x01,0x00, /10x00,0x00,0x27,0x45,0x45,0x45,0x39,0x00, /20x00,0x00,0x22,0x49,0x49,0x49,0x36,0x00, /30x00,0x00,0x0c,0x14,0x24,0x7f,0x04,0x00, /40x00,0x00,0x72,0x51,0x51,0x51,0x4e,0x00, /50x00,0x00,0x3e,0x49,0x49,0x49,0x26,0x00, /60x00,0x00,0x40,0x40,0x40,0x4f,0x70,0x00, /70x00,0x00,0x36

15、,0x49,0x49,0x49,0x36,0x00, /80x00,0x00,0x32,0x49,0x49,0x49,0x3e,0x00, /90x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /空白;int list10;int length;int run;uchar IRCOM7;unsigned char j,time,shift;int speed=SPEED;main()unsigned char i,line;int ch1,ch2;IRIN=1; /I/O 口初始化BEEP=1;delay1(10); /延时IE = 0x81; /允许总中断中断

16、,使能 INT0 外部中断TCON = 0x01; /触发方式为脉冲负边沿触发length=0;P1=LEDCode0;list0=10;run=0;while(1)if (run=0)for (i=0;ilength) ch2=list0;j=0; else ch2=listj+1;j+;line=0;for (i=shift;i=30)EX0=1;return; /0.14ms 计数过长自动离开。 /高电平计数完毕IRCOMj=IRCOMj 1; /数据最高位补“0”if (N=8) IRCOMj = IRCOMj | 0x80; /数据最高位补“1”N=0;if (IRCOM2!=IRC

17、OM3) EX0=1; return;IRCOM5=IRCOM2 /取键码的低四位IRCOM6=IRCOM2 4; /右移 4 次,高四位变为低四位if(IRCOM59) IRCOM5=IRCOM5+0x37;else IRCOM5=IRCOM5+0x30;if(IRCOM69) IRCOM6=IRCOM6+0x37;else IRCOM6=IRCOM6+0x30;/解码完成,第一位:IRCOM6 第二位:IRCOM5N=-1;for(i=0;i=0)P1=LEDCodelength%10;if (N=12) if (run=0) j=0;time=0;shift=7;run=1;else r

18、un=0;P1=LEDCodelength%10;if (N=14) if (speed2) speed-=2;if (N=13) if (speed20) speed+=2;beep();EX0 = 1;/*蜂鸣器*/void beep()unsigned char i;for (i=0;i100;i+)delay(4);BEEP=!BEEP; /BEEP 取反BEEP=1; /关闭蜂鸣器/*延时函数*/void delay(unsigned char x) /x*0.14MSunsigned char i;while(x-)for (i = 0; i13; i+) void delay1(

19、int ms)unsigned char y;while(ms-)for(y = 0; y250; y+)_nop_();_nop_();_nop_();_nop_();系统特点这款 LED 显示屏主要有以下两个特点:体积小便于移动,以及显示内容遥控,可及时迅速改变。它的摆放位置可以十分灵活并且可以通过修改显示内容在多个应用场合之间迅速转换功能。由于这个特点,该系统适用于中小型活动中的展示任务,比如它可以在校园活动中充分发挥一定的作用。系统局限由于所配遥控器的键位个数有限,我们无法使用该款遥控器输入除空格键以外的标点符号,否则会导致输入法过于繁琐。一方面考虑到在 LED 显示屏的显示内容中不会

20、存在过于复杂的特殊符号,另一方面考虑到遥控器的键位可扩展性,我们设计的便携式遥控 LED 显示屏可以通过改进在实际应用中完成对常用标点符号的输入,而这一改进会使 LED 显示屏的显示内容更加符合人们需求。从另一方面来看,该便携式遥控 LED 显示屏采用的红外遥控解码技术是单片机通用的红外解码方式。这将导致任意一个相同型号的遥控器均可以直接遥控并修改 LED 显示屏的显示内容。由于任意拥有相同型号的遥控器的人可以未经允许修改显示屏显示内容,这对于实际需求来说是非常不安全,也是不方便的(比如两个系统无法同时使用) 。对于这个缺陷的改进,可以修改遥控器红外线的发射频率使得每一个 LED 显示屏都对应唯一的红外线频率,这样只有与相应 LED 显示屏对应的遥控器才能控制显示屏的显示内容。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育教学资料库 > 精品笔记

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。