旋转LED显示屏的设计与制作.docx
《旋转LED显示屏的设计与制作.docx》由会员分享,可在线阅读,更多相关《旋转LED显示屏的设计与制作.docx(30页珍藏版)》请在冰点文库上搜索。
旋转LED显示屏的设计与制作
旋转显示屏的设计与制作
摘要
随着社会信息技术的发展,高科技教育和创新活动越来越受到大家的关注,电子产品越来越受到大家的青睐,旋转显示屏这一信息技术的前沿领域也得到了飞速发展,而在旋转显示屏中主要应用的便是单片机。
在户外广告屏上,高科技是不可缺少的,因此单片机技术的应用注定是不可或缺的,所以利用单片机技术制作的旋转显示屏的应用价值与科研价值是很高的。
我们利用单片机,通过16芯片制作出的旋转显示屏,可以顺利完成我们所要求的显示的内容,现场演示。
通过自制的下载线与电脑之间的链接,将电脑中的程序文件输入到单片机中,根据我们的需要显示不同的内容。
该设计主要包括:
基板硬件的设计、硬件驱动的设计、显示程序的设计等。
它具有设计思路简捷、程序简短、结构简单等特点。
旋转显示屏用于教学演示,可以使学生了解动态扫描的原理,同时对相关知识的综合应用有一个清晰的认识,易于加深对相关知识的了解、掌握。
能更好的应用所学到的知识,更好的把所学到的知识应用的实物中去,能引导同学们去开发想象到的东西,能是学到的理论知识更好的与实际相结合。
关键字:
旋转显示屏;16单片机
,,,,.
.,16a,,.,'s,.
:
a,,.a,a,.
,a,.,.
:
;16
1前言1
2系统设计构思2
2.1设计要求2
2.2显示屏的原理2
2.3模块设计的方案2
2.3.1显示屏整体设计2
2.3.2控制器模块2
2.3.3传感器模块3
2.3.4电源模块3
2.3.5显示模块4
2.4最终方案4
3系统机构5
4硬件实现与单元电路设计6
4.1微控制器模块的设计6
4.2指针板电路的设计6
4.3基板电路的设计7
4.3.1主要元件7805稳压块的介绍8
4.3.2主要元件3296电位器的介绍8
4.4光电管的安装9
4.5指针版电源的连接9
4.6下载线的制作10
5软件实现11
5.1显示处理11
5.2程序源文件15
6系统调试23
6.17805的降压与散热处理23
6.2电量储存问题的处理-23
6.3文字调节问题的处理-24
7结论25
参考文献26
致谢27
1前言
随着社会信息技术的发展,高科技教育和创新活动越来越受到大家的关注,电子产品越来越受到大家的青睐,旋转显示屏这一信息技术的前沿领域也得到了飞速发展,而在旋转显示屏中主要应用的便是单片机。
单片机又称单片机微控制器,它是把一个计算机系统集成到一个芯片上,单片机技术就是计算机技术的一个分支,是旋转显示屏的核心元件,在旋转显示屏设计中主要就是应用弹片机的技术进行控制的。
我们在这次项目中应用的单片机是很新颖的一种,它不仅价格低廉,可以节省很多开发费用,而且内部存储器的擦写可达到10000次以上,不会产生报废品。
在户外广告屏上,高科技是不可缺少的,因此单片机技术的应用注定是不可或缺的,所以利用单片机技术制作的旋转显示屏的应用价值与科研价值是很高的。
我们利用单片机制作出的旋转显示屏,可以顺利完成我们所要求的显示的内容,现场演示。
通过自制的下载线与电脑之间的链接,将电脑中的程序文件输入到单片机中,根据我们的需要显示不同的内容。
所完成的作品可以直接应用于单片机的教学之中,使自己的毕业设计有了实在的应用价值。
本作品今后可以向商品化方面进行开发,以使之有更大的价值。
由于某些资料与时间的限制,所以致使单片机的一些功能没有全部扩展出来,处于正在研究探索中。
我们会对该项目进行不断的创新。
2系统设计构思
2.1设计要求
(1)旋转部分的电路板重心要适中,以便旋转起来后没有大的抖动。
(2)旋转电路板能检测到一个固定的位置来确定显示起始位置。
(3)显示内容要有花形图案、汉字静态显示和汉字动态滚动显示。
2.2显示屏的原理
旋转显示屏采用扫描方式进行显示,其实现原理是通过控制不同时间段内让不同批次的轮流点亮,根据人眼的视觉暂留特性,当扫描帧频达到24以上时,人眼便感觉不到扫描过程,而是一幅稳定的图像。
2.3模块设计的方案
根据设计要求,本系统主要由控制器模块、电源模块、传感器模块、显示模块等模块构成。
为较好的实现各模块的功能,我们选择了最合理的设计方案
2.3.1显示屏整体设计
制作旋转显示屏。
经反复论证考虑,采用方形薄木板做系统平台,用塑胶块做好支架。
中间装上直流电动机。
将焊好元件的条形电路板插在电动机转轴上。
为保平衡,在轻的一侧用小螺丝配重。
2.3.2控制器模块
采用公司的16L单片机作为主控制器。
16L是一个低功耗,高性能的8位单片机。
片内资源丰富,16K的,代码区,512字节的,1K的,接口,仿真和下载,支持下载,3个带的定时器,8路10位的转换器,(异步串口),(同步串口),看门狗,()接口,模拟比较器等。
引脚图如图2-1。
图2-116L引脚示意图
2.3.3传感器模块
用红外发射管和接收管。
红外发射管发出红外线,当发出的红外线照射到红外接收管就能检测出光信号而输出低电平,若接收不到发射管发出的光信号则输出高电平。
2.3.4电源模块
旋转显示屏设计的成败,不是取决于电路和程序,而是取决于结构。
或者说,取决于如何实现对指针板的供电。
根据所学知识,指针板的供电方式一般有以下三种:
(1)自感应发电
这种方法,就是从指针板上引出导线,接入到电机内部绕在转子上,电机旋转时该导线切割磁场产生感应电动势,经过整流后作为指针板上的电源。
这种方式的优点是:
设计很巧妙,无机械磨损。
更巧妙的是,由于感应出来的电动势是交流的,所以可以利用该过零信号来定位,不必另外准备定位信号了。
这种方式的缺点是:
提供的电流有限,只能适合较少的旋转时钟,当数量较多时,需要更多的电流,这种方式就不能满足了。
其次,这种方式要对电机本身进行改造,也有一定的难度。
并不是所有的电机都适合这种改造。
而且这种改造可能会给电机带来损害。
(2)自备电池
这种方式,就是在指针板上安装电池,由电池供电。
一般是用两到三节7号电池。
这种方式的优点是:
不用担心电压波动。
也不存在机械磨损,不用担心接触不良之类问题的困扰。
这种方式的缺点是:
很费电池,三天两头换电池,既不经济也不环保,费时费力!
电池很重,一般的电机带不动,必须用很大的电机。
这也意味了成本的上升。
(3)机械传导供电
这种方式就是采用滑环和电刷,通过机械接触传导电流。
这种方式的优点是:
能够提供比较大的工作电流。
这种方式的缺点是:
有机械摩擦,会产生磨损。
因此要求滑环和电刷材料要耐磨。
另外,还得有足够的弹性,并且要耐锈,否则会导致接触不良。
有机械阻力,因此要求电机有比较大一点的功率。
有机械噪音。
2.3.5显示模块
正端接到电源,负端经过限流电阻接到单片机的口。
之所以采用负端控制,是因为从的口带载能力方面来看,灌电流一般都比拉电流大,采用负端控制能够提供更大的驱动能力。
2.4最终方案
经过反复论证,我们最终确定了如下方案:
(1)指针板用万能电路板实现。
(2)采用16L单片机作为主控制器。
(3)用外接12V直流稳压电源。
(4)用1650型红外光电管进行定位。
(5)用作为显示。
(6)基板用薄模板制作。
系统的结构框图如图2-2所示:
图2-2系统结构框图
3系统结构
旋转显示屏可以设计成多种样式,如圆柱式、圆锥式、圆盘式等,基于制作条件、造价和显示效果等多方面因素考虑,我采用了圆盘式的方案。
系统的总体结构是由以上提到的每个独立的模块组合而成的,结构设计如图3-1,成品结构如图3-2。
图3-1结构设计图
图3-2成品的总体结构
4硬件实现与单元电路设计
4.1微控制器模块的设计
采用公司的16L单片机,不用烧写器而只用串口或者并口就可以往单片机中下载程序。
我们在开发过程中程序的调试和整机的测试,“下载线”相当于“数据线”,“接口”相当于“U口”,“16”相当于“U盘”,因此不需要将单片机从指针板板上取下,直接在指针板上通过接口在线调试。
如图4-1
图4-1指针板接口
4.2指针板电路的设计
旋转显示屏的指针板是以单片机为核心,围绕单片机展开的一系列连接,控制外部电路的使用,指针设计是一个至关重要的试验步骤。
旋转显示屏指针板电路原理图如图4-2所示:
图4-2指针板电路原理图
电路确定可以正常运行使用后,进行电路板的制作和实际焊接。
实际焊接是要注意元件的布局,小的元器件要放在插座内侧,这样既能节省空间又能保护器件不受损害。
如图4-3。
图4-3指针板结构图
4.3基板电路的设计
基板主要负责为指针板提供电源,通过红外发光二极管向指针板位置信号。
由于本系统的电机转速直接决定图形显示是否成功,所以在设计电机电源时要考虑电压是稳定性。
我们生活的供电是200V,但在实际中电压是180250V。
为了保证本系统供电正常设计了微调稳压供电。
以适应不同的供电环境。
如图4-4所示。
图4-4基板电路图
4.3.1主要元件7805稳压块的介绍
7805为定值三端集成稳压块。
正面面对7805,左边管脚是高电位输入,中间管脚为公共接地端,右边管脚为输出端。
输入电压过高会发热严重甚至击穿稳压块,输入电压过低则输出电压达不到稳定的目的。
7805输出为+5V稳定电压,最高输入极限电压36,最低输入电压7V,集成稳压块的最佳工作状态是输入电压与输出电压间的压差在3~4V左右。
如图4-4基板电路设计输入电压为12V,输出为5V,由于压差太大,在输入前端串联几个二极管降压,且在7805上加了自制的散热器,这样稳压块就不会很烫。
4.3.2主要元件3296电位器的介绍
电位器是一个可调的电子元件,俗称“可调变阻器”,它在电路中的主要作用有以下几个方面:
1.用作分压器2.用作变阻器3.用作电流控制器。
3296电位器是一个连续可调的电阻器,本实验用作变阻器的功能,把它接成两端器件,当调节电位器的转柄时,便可获得一个平滑连续变化的电阻值。
通过调节滑动变阻器,可以改变电动机的转速,使指针板旋转平稳,用以调节屏幕上字的宽度。
图4-57805和3296
4.4光电管的安装
根据设计的要求指针板旋转过程中要实时检测位置信号。
根据这个信号来确定显示图案的起始点。
并根据指针板所处的不同位置,点亮相应的,利用人眼的视觉暂留效应,形成完整的显示画面。
红外光电管采用1650型号,其优点是体积小、灵敏度高。
当发光二极管发出的光被三极管接收时,三极管导通输出低电平。
此光电管电路简单,工作性能稳定。
安装位置如图4-6。
图4-6光电管位置
4.5指针板电源的连接
如何通过12V直流电源给指针板供电,使显示屏在旋转时既不会被导线缠绕,也可以给指针板提供连续稳定的电压,经过反复思考与实验,确定用自制电刷和导电环为指针板提供电源。
具体做法是:
指针板的轴心为两部分金属材料,中间做绝缘处理防止短路,外部与导电环连接,基板电路的稳定电流由外部流入,为16与发光二级管供电,同时负电由轴心内部流出,使电路形成回路。
如图4-7。
且为了保证电源的稳定性在指针板的电源接入端并联大电容。
当电流稳定时,电容充电;当电流不稳定时,电容放电持续给指针板供电,使旋转显示屏在电流不稳定时也能形成稳定、完整、流畅的图形或文字。
图4-7指针板的轴心
4.6下载线的制作
将代码写入芯片一般使用并行烧写器和下载线两种,由于下载线可以在线编程,所以使用很方便,我们使用的是串口下载线,如图4-8。
图4-8下载线
5软件实现
5.1显示处理
旋转显示屏采用扫描方式进行显示,其实现原理是通过控制不同时间段内让不同批次的轮流点亮而形成一个整体的图形。
如图5-1。
图5-1旋转示意图
显示图形的设计是通过将整体的图形细分之后,分析每一个位置的显示情况。
将这些显示合并后就组成了一个整体的图形。
下面以“好”字为例介绍一下汉字的静态显示和动态显示。
图5-2汉字的点阵处理
根据系统结构的要求我们采用了纵向取模的方式。
由于汉字是16*16的点阵,而我们的单片机是8位的芯片。
所以我们将汉字从中间一分为二,分别对上半部和下半部进行取模。
上半部取模为:
0x08,0x08,0x0F,08,0x08,0x0F,0x01,0x41,
0x41,0x41,0x4F,0x51,0x61,0x41,0x01,0x00,
下半部取模为:
0x01,02,0x44,0x28,0x30,0,0x04,0x00,
0x02,0x01,0,0x00,0x00,0x00,0x00,0x00,
在实际程序中要用到字符表通过循环函数来实现汉字的显示。
例:
a[]={0x08,0x08,0x0F,08,0x08,0x0F,0x01,0x41,
0x41,0x41,0x4F,0x51,0x61,0x41,0x01,0x00};
b[]={0x01,02,0x44,0x28,0x30,0,0x04,0x00,
0x02,0x01,0,0x00,0x00,0x00,0x00,0x00,}
(0<16)
{
[i];
[i];
(100);
}
下面我们来设计一个汉字滚动显示的程序。
显示效果如图5-3所示。
汉字向左循环滚动。
图5-3汉字移位图
程序如下:
a[]={0x08,0x08,0x0F,08,0x08,0x0F,0x01,0x41,
0x41,0x41,0x4F,0x51,0x61,0x41,0x01,0x00};
b[]={0x01,02,0x44,0x28,0x30,0,0x04,0x00,
0x02,0x01,0,0x00,0x00,0x00,0x00,0x00,}
()
{
;
(0<16)
{
[()%16];
[()%16];
}
;
}
该程序可以实现没运行一次后显示表依次左移一位。
字符的取模用两种方式,通过手动计算和用专业的软件实现。
上面的例子就是通过计算得出的,但字符较多时最好采用软件取模。
下面我们来介绍一个软件《字符取模》。
如图5-4所示。
图5-4取模软件
旋转显示屏的显示内容规划如下:
电机启动后,循环显示全亮、花形1、花形2、动态文字(鞍山师范物理科学学院)、花形3、静态文字(09级毕业生作品展示!
)、花形4。
旋转显示屏采用扫描方式进行显示,其实现原理是通过控制不同时间段内让不同批次的轮流点亮,根据人眼的视觉暂留特性,当扫描帧频达到24以上时,人眼便感觉不到扫描过程,而是一幅稳定的图像。
但是在运用相机拍照过程中,相机的灵敏度比人眼球高很多,因此拍到的不是一幅稳定的完整的图像,而是一个片段。
图5-5显示花形1
图5-6显示花形2
图5-7显示文字(鞍山师范物理科学学院)
图5-8显示花形3
图5-9显示文字(09级毕业生作品展示)
图5-10显示花形4
图5-11显示全亮
单片机的设计中,程序就等于它的灵魂,如果没有程序的支撑,再好的设计结构都只是一个支架,不具有任何意义。
所以我们设计的重点内容就是编写我们所需要的程序文件,需要大量的时间和精力来完成这项工作。
5.2程序源文件
<16>加载头文件
<>
宏定义为类型
宏定义为类型
0:
2外部中断0
()延时子函数
{;
(0<)
{(0<5);}}
[]={字符上半部分
/*文字:
鞍*/
0x20,0x23,0,0x2F,0,0x27,0x19,0x11,
0x11,0x97,0x71,0x11,0x11,0x15,0x19,0x00,
/*文字:
山*/
0x00,0x00,0x0F,0x00,0x00,0x00,0x00,0,
0x00,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,
/*文字:
师*/
0x00,0x3F,0x00,0x00,0,0x00,0x40,0x47,
0x44,0x44,0x7F,0x44,0x44,0x47,0x40,0x00,
/*文字:
范*/
0x20,0x22,0x21,0x28,0x26,00,0x20,0x27,
0x24,04,0x24,0x24,0x27,0x20,0x20,0x00,
/*文字:
*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
/*文字:
物*/
0x02,0x3C,0x08,0,0x08,0x08,0x04,0x08,
01,0x1E,0x10,0x1F,0x10,0x1F,0x00,0x00,
/*文字:
理*/
0x20,0x21,0x21,0x3F,0x21,0x21,0x00,0x7F,
0x49,0x49,0x7F,0x49,0x49,0x7F,0x00,0x00,
/*文字:
科*/
0x24,0x24,0x25,0x7F,05,0x44,0x00,0x44,
0x33,0x00,0x00,0,0x00,0x00,0x00,0x00,
/*文字:
学*/
0x02,0x0C,0x88,0x69,0x09,0x09,0x89,0x69,
0x09,0x09,0x19,0x28,08,0x0A,0x0C,0x00,
/*文字:
学*/
0x02,0x0C,0x88,0x69,0x09,0x09,0x89,0x69,
0x09,0x09,0x19,0x28,08,0x0A,0x0C,0x00,
/*文字:
院*/
0x00,0x7F,0x44,0x5A,0x61,0x08,0x30,0x24,
0x24,04,0x64,0x24,0x24,0x28,0x30,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,};
/*字符下半部*/
[]={
/*文字:
鞍*/
0x10,00,0x50,0,0x50,00,0x01,0x21,
02,0x14,0x08,0x14,02,0x01,0x00,0x00,
/*文字:
山*/
0x00,0x00,0,0x04,0x04,0x04,0x04,0,
0x04,0x04,0x04,0x04,0,0x00,0x00,0x00,
/*文字:
师*/
0x00,01,0x02,0x0C,00,0x00,0x00,08,
0x00,0x00,0,0x10,0x08,00,0x00,0x00,
/*文字:
范*/
0x00,0x10,0x90,0x1E,0x20,00,0x00,0,
0x02,0x02,0x42,0x22,02,0x02,0x1E,0x00,
/*文字:
*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
/*文字:
物*/
0x40,0x60,0x40,0,0x80,0x80,0x20,0x42,
0x84,0x18,0x62,0x81,0x02,0,0x00,0x00,
/*文字:
理*/
0x04,0x06,0x04,08,0x08,0x08,0x02,0x22,
0x22,0x22,0,0x22,0x22,0x22,0x02,0x00,
/*文字:
科*/
0x10,0x60,0x80,0,0x00,0x80,0x20,0x20,
0x20,0x20,0x20,0,0x40,0x40,0x40,0x00,
/*文字:
学*/
0x20,0x20,0x20,0x20,0x20,0x22,0x21,0x7E,
0x60,00,0x20,0x20,0x20,0x20,0x20,0x00,
/*文字:
学*/
0x20,0x20,0x20,0x20,0x20,0x22,0x21,0x7E,
0x60,00,0x20,0x20,0x20,0x20,0x20,0x00,
/*文字:
院*/
0x00,0,0x20,0x10,00,0x01,0x82,0x8C,
00,0x80,0x80,0,0x82,0x82,0x8E,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,};
2[]={
/*文字:
9*/0x00,0x07,0x08,0x10,0x10,0x08,0x07,0x00,
/*文字:
0*/0x00,0x07,0x08,0x10,0x10,0x08,0x07,0x00,
/*文字:
级*/
0x04,0x0C,0x35,06,0x0C,0x00,0x40,0x40,
0x7F,0x40,0x40,0x46,0x5A,0x63,0x00,0x00,
/*文字:
毕*/
0x00,0x00,0,0x11,0x11,0x12,0x12,0x00,
0,0x11,0x21,0x21,0x41,0x07,0x00,0x00,
/*文字:
业*/
0x00,0x08,0x06,0x01,0x00,0,0x00,0x00,
0x00,0,0x00,0x00,0x03,0x0C,0x00,0x00,
/*文字:
生*/
0x01,0x02,0x0C,0x78,0x08,0x08,0x08,0,
0x08,0x08,0x08,0x08,0x08,0x08,0x00,0x00,
/*文字:
作*/
0x00,0x01,0x06,0x1F,00,0x02,0x0C,0