收藏 分享(赏)

基于89C51单片机的旋转显示屏设计与实现.doc

上传人:11xg27ws 文档编号:6286581 上传时间:2019-04-04 格式:DOC 页数:15 大小:797KB
下载 相关 举报
基于89C51单片机的旋转显示屏设计与实现.doc_第1页
第1页 / 共15页
基于89C51单片机的旋转显示屏设计与实现.doc_第2页
第2页 / 共15页
基于89C51单片机的旋转显示屏设计与实现.doc_第3页
第3页 / 共15页
基于89C51单片机的旋转显示屏设计与实现.doc_第4页
第4页 / 共15页
基于89C51单片机的旋转显示屏设计与实现.doc_第5页
第5页 / 共15页
点击查看更多>>
资源描述

1、 基于 89C51 单片机的旋转显示屏设计与实现摘 要:本设计利用高速旋转中控制 LED 的亮灭,进行字符或图形的显示,控制器采用廉价的 89C51 单片机,完成显示内容的传输、字库的转换、显示等功能。显示的内容给人一种漂浮的感觉,并且是 360全方位的显示,可以用于很多的场合,比如广告牌、家庭装饰、记分牌、娱乐显示等。关键词:单片机,LED 显示器,旋转显示我院本次针对四川省大学生电子竞赛的选拔赛题目是设计一种电子显示屏,我们通过思考,决定设计一个以旋转方式进行显示的新的显示屏,在参赛的同时提高自己的电路设计和单片机开发能力。一、设计思路旋转显示屏是通过一个旋转的支架,支架上排列的 LED

2、受单片机控制在特定的位置亮或灭,从而显示出特定的字符或图形。本作品主要是根据人的视觉暂留原理设计的。人眼的视觉暂留时间是 0.02S,如果采用 3000 转/S 的高速电动机,带动 LED 高速旋转时,从视觉效果上就会产生一种柱状的 LED 显示屏的状态。显示的字符或图形看起来是漂浮在空中的,不仅美观,而且新颖。1、总体设计思路本显示屏应由机械旋转部分、显示电路、通信电路等几部分构成。由于显示屏在高速旋转的情况下不便于接线进行显示内容的更改,所以设计中我们选用了红外通信模式传输数据。总体构成如下图所示:红外 通信 模块 控制器模块 电机驱动模块L E D 显示模块图 1 总体构成图2、结构设计

3、思路显示屏的主体为两个可旋转的矩形框架。我们在框架的两边都安装上发光二极管,由电动机通过中心轴带动框架进行高速旋转,框架上的两列发光二极管因高速旋转产生柱状显示屏。其中一列发光二极管作为显示过程中的背景光灯使用。主体框架如下图所示:图 2 框架设计图二、硬件组成1总体构成经过分析、比较,我们最终确定了以 89C51 作为控制器。由于 89C51 芯片的片内存储器容量有限,我们另外扩展了一块存储器芯片 29C040 作为字库存储器,储存一个完整的汉字库,为显示屏提供显示内容。为了解决计算机向旋转体中的单片机传送数据的问题,我们采用了红外传输的方式:计算机先通过RS232 接口将数据传送到一个 8

4、9C2051 单片机,将数据用 38KHz 调制后利用红外设备传输。此外,在显示屏高速旋转时,显示内容的稳定与否取决于转动的相位与 LED 发光时间的配合精度,所以还需要一个校准器件来判断显示屏的转动是否到达准确位置并根据结果做出校正处理,本设计中选用了霍尔元件进行相位检查并完成校正功能,使 LED 发光与旋转保持同步。L E D 显示 8 9 C 5 1相位检查红外发送P CR S 2 3 2红外接收电机字库电源图 3 硬件构成图2部分单元电路的设计在硬件电路中,对几个关键电路我们采用的设计是:此 上 面 安 装 红 外 接 收头 , 用 于 接 收 转 送 过 来的 红 外 信 号 辅 助

5、 金 属 框 架 , 用 于安 装 背 景 源 主 金 属 框 架 ,并 且 两 端 加有 发 光 二 极 管 列 ,就 是 控制 此 二 极 管 的 亮 、 灭 情 况来 显 示 字 符 .图 案 电 动 机 (1)显示电路图 4 显示电路图发光二极管的亮度决定了显示屏的视觉效果,我们采用 2803 芯片为发光二极管提供驱动,驱动电流达 35mA(为保证发光二极管在该电流下能正常工作,我们对发光二极管进行了抽样测试,在 45mA 下工作十个小时,没有损坏)。另外,由于 89C51 是 8 位数据处理器,我们可显示的最大数据位数可为 16 位,在设计时使用两片 74HC573 对接的方法提供两

6、级数据锁存、缓冲,实现对端口的扩展能力。2、字库电路图 5 字库电路图我们为 89C51 扩展了一片 512 KB 容量的存储器芯片 29C040,能够满足普通使用要求。3、红外发送、接收电路从计算机串口接收数据,可以在显示屏工作的状态下直截通过电脑进行显示内容的改变。实现该功能的是红外发送和接收电路。红外发送电路有双重功能:一是从计算机串口接收数据,二是将接收的信号调制成红外传输信号。计算机的数据可以通过串口调试软件直接发出,发出的数据每包为固定的 20 个 ASCII 字符或 10 个汉字,采用低速发送以提高红外传输的准确度。为了在显示屏高速旋转工作的状态下能准确无误地接收到红外数据,我们

7、,在与显示主板相联的旋转中轴上端打一个通孔,在通孔上安装红外接收模块,让红外模块接收到的数据直截送给显示主板上的控制器。在红外接收模块的正上方上固定安装的一个与红外发射头相联的发射板。发射板是以 AT89C2051 为控制核心。所有从电脑串口传送过来的数据都是通过它转变成带有 38K 载波的红外数据格式送给红外发射头供发射使用。具体电路如下:1 0 K1 K9 0 1 41 0 K2 0 09 0 1 4接 P C 串口的 1 脚5 V5 V8 9 C 2 0 5 1P 1 . 7P 3 . 5接 P C 串口的 5 脚T 1T 2图 6 红外发送电路电路中,T1 完成从 RS232 到单片机

8、串口的电平转换。T2 是红外发光管的驱动管。5 VG N D接 I C 1 第 1 0 脚R H 11 0 u F图 7 红外接收端电路图该红外接收端位于转轴顶部,自带 38KHz 解码功能,电路设计简单、使用方便。AT89C2051 中的程序如下:ORG 0JMP STARTORG 0BHJMP T0_INTSTART:CLR P3.5MOV TMOD,#2MOV TH0,#243;红外发射 38K 参数设置MOV TL0,#243SETB EASETB ET0WAIT:CLR P1.0;信号指示灯JB P1.7,WAIT;P1.7 串口信号输入SETB P3.5SETB TR0SETB P

9、1.0JNB P1.7,$CLR P3.5CLR TR0MOV TH0,#243MOV TL0,#243JMP WAITT0_INT:CPL P3.5;载波 38K 输出RETIEND4、相位检测电路图 8 相位检测电路图图中 CON 3 为霍尔元件,当显示屏旋转到磁铁所在位置时,输出低电平脉冲至 89C51,作为位置基准信号。三、控制程序显示内容的接收、转换、同步、显示都在控制器的控制之下。根据数据的处理过程,我们编写了相应的控制软件。1、控制程序流程图开始初始化读红外接收有无数据霍尔器有无数据送数据计数器清零读片外存储器送显示送数据计数器加 1接收转换为点阵存入显示缓冲区YN YN图 9

10、控制程序流程图2、控制程序说明(1)当程序开始运行的时候,首先就是要对程序进行初始化,主要作用就是让程序按照我们所设计的初始值去运行。初始化之后,由红外接收器判断是否有数据送入,如果有数据送入就通过红外接收器进行接收,然后将该数据转换为点阵,再存入显示缓冲区,再根据霍尔元件检测到的同步信号,对数据进行校对,如果有数据输入的话那就将数据计数器进行清零。执行完成后返回到初始化操作之后重复以上的操作。(2)如果红外接收器没有检测到数据输入,则直接检查霍尔元件是否有同步信号,有则就返回初始化操作,无就直接读取片外存储器提取字库,然后进行显示。对送数据计数器进行加 1 指令。随后返回到初始化操作之后进行

11、循环扫描。四、设计制作过程中问题的解决1、结构问题我们认为,整机的机械结构是决定作品成败的关键。经过试验,结构强度对稳定性影响很大,因此采用角钢支架,以钢板为底,同时对转盘进行平衡调节,基本解决了转动的稳定性问题。防振采取了以下措施:(1) 在各种元器件的摆放位置上都做到平衡放置的要求;(2) 将电源、变压器设为一体以便加大主体的重量,从而抑制振动;(3) 采用钢质材料,从而加固各级子部件之间的联接,来减小振动;(4) 关键传动部位,严格要求加工精度,从根本上消除振动。3、噪声问题由于我们的框架是纯手工制作,所以它的精度并不是很高,在高速旋转的情况下难免会有一定的声音,于是我们采取了一系列的方

12、法来减少噪音,比如让中间的主旋转框架在旋转的过程中尽量保持平衡,不致因哪一方过重从而导致噪音过大,在齿轮和轴承上添加润滑油以减小噪音的产生,在主框架外加上玻璃罩以隔离噪音。4、供电问题由于我们的电路板是随主框架一起高速旋转的,所以不可能使用导线进行供电,因为这样会把导线缠上,所以我们就另外想了两种方案。(1) 在中心轴的周围装上 4 个电刷,由电源通过电刷对高速旋转中的主电路板进行供电。采用电刷供电的优点是结构简单、成本低。但有电火花干扰的顾虑。(2) 在中心轴上面放一个小型发电机,发电机的定子为磁铁,固定在轴上,线圈为转子,直接连接在电路上,高速旋转时即可产生电流,对主电路进行供电。这种方法

13、可克服由电刷产生的干扰。在制作过程中我们先进行了实验,用单片机做了个循环灯控制器作为主电路,然后用电刷进行供电,结果发现使用碳刷后再使用稳压电路,可保证单片机系统的正常工作,因此我们选择了由电源通过电刷来对主电路板进行供电。5、信号传输问题由于控制单片机是在旋转的支架上,从计算机到单片机的数据传送也成了一个问题。数据的传输不能采用电刷来进行,因此采用了红外传输的方式。为了使红外传输可靠,采用了家电红外遥控的 38KHz 调制方式,使用了带有放大和解调功能的接收模块,很好地解决了这一问题。6、同步问题显示的图像或文字要稳定,同步是关键。要达到同步的目的,同步信号的取得是关键。在设计前,我们考虑了

14、多种方案,如光电式、磁场式等,最后选择了使用霍尔器件的磁场方式,达到很好的效果。五、小结本系统以单片机芯片为核心部件,通过电脑来控制和调节所要显示的内容,通过红外数据传输可实现在显示屏旋转中对显示内容进行更改。在设计过程中,力求硬件线路简单,充分发挥软件在编程方面灵活的特点,来满足系统设计的要求。制作的成品也能完全实现显示所要达到的要求,能够显示出清晰,美丽的图案,但由于时间有限,系统还存在一些误差,存在很多有待改进的地方。在竞赛的过程中,我们遇到了许多突发性的不太好解决的问题,也曾有过对自己没有信心的时候,但经过仔细冷静地思考之后,我们还是以最快的时间调整自我,回归参赛状态,继续进行设计。通

15、过这次比赛,我们深深的体会到了团队间的共同协作的重要性,提高了自己的动手能力和解决问题的能力。C51 源程序:#include sbit gate11=P30;sbit gate12=P31;#define unit unsigned int#define uchar unsigned charuchar code GB_16 = 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /“ “0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0

16、0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /“ “0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /“ “0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0

17、0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /“ “0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /“ “0x00,0x00,0x00,0x00,0x00,0x0

18、0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /“ “0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x34,0x40,0xC4,0x38,0x04,0x0F, /“

19、欢“0xC4,0x07,0xFC,0x3C,0x3E,0x98,0x24,0x60,0x18,0x30,0x0E,0x1C,0xEF,0x0F,0xCA,0x07,0x48,0x1C,0x38,0x70,0x1C,0xE0,0x08,0x40,0x00,0x00,0x40,0x40,0x46,0xE0,0xDC,0x3F, /“迎“0xE8,0x1F,0x40,0x32,0xFE,0x67,0xFC,0xC3,0x06,0xC2,0x03,0xC1,0xFD,0xFF,0xFC,0xDF,0x04,0xC2,0xFC,0xC7,0xFE,0xC3,0x04,0x40,0x00,0x00,0x0

20、0,0x80,0x80,0x80,0x82,0x40, /“光“ 0xBC,0x60,0x98,0x38,0x80,0x1F,0xFF,0x07,0xFE,0x00,0x80,0x7F,0xE0,0xFF,0xB8,0xC0,0x9E,0xC0,0xC4,0xC0,0x80,0xF0,0x00,0x40,0x00,0x00,0xF8,0x0F,0xF0,0x07,0x00,0x00, /“临“0xFF,0xFF,0xFE,0x7F,0x80,0x00,0x60,0xFF,0x38,0x7E,0x1E,0x42,0x3F,0x7E,0x6A,0x7E,0x68,0x42,0xC8,0xFE,0x

21、4C,0x7F,0x08,0x02,0x00,0x00,0x04,0x00,0x04,0x00,0x44,0x70, /“艺“0x44,0xF8,0x5F,0xCC,0x5F,0xC6,0x44,0xC2,0x44,0xC1,0xC4,0xC1,0xFF,0xC0,0x5F,0xC0,0x04,0xC0,0x04,0xC0,0x06,0xF8,0x04,0x60,0x00,0x00,0x44,0x22,0x4C,0x1A,0x7C,0x4E, /“新“0xD7,0xFF,0xE6,0x7F,0x7C,0x0E,0x5C,0x9A,0x44,0x60,0xFE,0x3F,0xFC,0x1F,0x

22、46,0x00,0xC2,0xFF,0xC3,0xFF,0x62,0x00,0x40,0x00,0x00,0x00,0x00,0x40,0x04,0x40,0x04,0x40, /“工“0x04,0x40,0x04,0x40,0x04,0x40,0xFC,0x7F,0xFC,0x7F,0x04,0x40,0x04,0x40,0x04,0x40,0x06,0x40,0x04,0x60,0x00,0x40,0x00,0x00,0x00,0x00,0x80,0x00,0x60,0x00,0xF8,0xFF, /“作“0xEF,0x7F,0x06,0x00,0x40,0x00,0x30,0x00,0x

23、1C,0x00,0xFF,0xFF,0xFA,0xFF,0x48,0x04,0x48,0x04,0x68,0x04,0x4C,0x06,0x08,0x04,0x00,0x00,0x08,0x00,0x1C,0x80,0x0E,0x81, /“室“0x94,0x8B,0xD4,0x89,0x75,0x89,0x37,0xFF,0x16,0xFF,0x34,0x89,0xD4,0x89,0x94,0x8B,0x1C,0x81,0x0E,0xC0,0x04,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /“ “0x00,0x00,0x

24、00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /“ “0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x

25、00,0x00,0x00, /“ “0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /“ “0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x

26、00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /“ “0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /“ “0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x

27、00,0x00,0x00,0x00,0x00,0x00,0x00;unit disp1,disp2,key1,key2;unit a,w,ii,jj,kk;void Delay(unit ms)while(-ms);void display_HZ(void)gate11=key1;gate12=key2;for(ii=0;ii #define SEG 17 /每帧图片分成 17 列来显示 #define INTERVAL 20 /每幅图片在左右摇摆 20 次后换下一幅 typedef unsigned char uchar; typedef unsigned int uint; code ch

28、ar pattern173= /3 幅图片的字模 0xff,0xff,0xff, 0xff,0xff,0xff, 0xff,0xff,0xff, 0xff,0x9f,0xff, 0xff,0x6f,0xf9, 0xff,0x77,0x65, 0xfe,0xbb,0x1e, 0x7e,0xdd,0xfe, 0x00,0xee,0xfe, 0x7e,0xdd,0xfe, 0xfe,0xbb,0x1e, 0xff,0x77,0x65, 0xff,0x6f,0xf9, 0xff,0x9f,0xff, 0xff,0xff,0xff, 0xff,0xff,0xff, 0xff,0xff,0xff, ; u

29、char phase,th1,tl1,index,count; main() EA=0; EX0=1; ET1=1; PX0=1; IT0=1; TMOD=0x11; index=0; EA=1; while(1) void Int0_Handle(void) interrupt 0 using 2 uint t0_time; TR0=0; TR1=0; TF1=0; t0_time=TH08|TL0; TL0=0; TH0=0; TR0=1; t0_time=65535-t0_time/SEG; th1=t0_time/256; TH1=th1; tl1=t0_time % 256; TL1=tl1; if (count3*INTERVAL) /3 幅图片循环 count+; else count=0; index=count/INTERVAL; if (th1!=0xff | tl1!=0xff) /如果摆动特别慢,定时器溢出就不显示 phase=0; TR1=1; else TR1=0; void Timer1(void) interrupt 3 using 3 if (phaseSEG) /17 段依次显示 P1=patternphaseindex; phase+; TH1=th1; TL1=tl1;

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 学术论文 > 期刊/会议论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报