PC机和单片机控制的LED利率屏.docx

上传人:b****4 文档编号:3497613 上传时间:2022-11-23 格式:DOCX 页数:41 大小:1.94MB
下载 相关 举报
PC机和单片机控制的LED利率屏.docx_第1页
第1页 / 共41页
PC机和单片机控制的LED利率屏.docx_第2页
第2页 / 共41页
PC机和单片机控制的LED利率屏.docx_第3页
第3页 / 共41页
PC机和单片机控制的LED利率屏.docx_第4页
第4页 / 共41页
PC机和单片机控制的LED利率屏.docx_第5页
第5页 / 共41页
点击查看更多>>
下载资源
资源描述

PC机和单片机控制的LED利率屏.docx

《PC机和单片机控制的LED利率屏.docx》由会员分享,可在线阅读,更多相关《PC机和单片机控制的LED利率屏.docx(41页珍藏版)》请在冰豆网上搜索。

PC机和单片机控制的LED利率屏.docx

PC机和单片机控制的LED利率屏

基于PC机和单片机控制的LED利率屏

摘要

本文介绍了一种可通过PC机修改数据的LED利率屏系统的设计与实现方法。

该系统只需在PC机上操作便可实现对LED利率屏数据和颜色的修改。

系统采用了VB(VisualBasic)语言编写PC机上位机界面,利用单片机作为下位机控制LED利率屏的显示,通过MAX-232电平转换电路将PC机串口与单片机串口相连,并结合上、下位机程序,实现了上、下位机之间进行串口数据传输的功能。

达到了在PC机上方便的控制LED利率屏数据和颜色修改的目的。

关键词

可视化语言;串口通信;单片机;数码管

AnInterestRatesLEDScreenBasedonPCandMCU

Abstract

AdesignandmethodoftheinterestratesLEDscreensystemisintroducedinthispaper.ThedataofthissystemcanbemodifiedbyPC.ThewayofmodifingthedataandcolorofitisoperatingonPC.ThissystemtakesVBlanguagetocompilethePCinterface,takesMCUasPLCtocontrolthedisplayofit,integratesthePCserialportandMCUserialportbylevelconvertingcircuitMAX-232,realizestheserialportdatatransmissionbetweenPCandPLCbycombiningthePCandPLCprogram.ThesystemachievesthegoalofmodifyingthedataandcolorofinterestratesLEDscreenconveniently.

Keywords

Visuallanguage;serialportcommunication;MCU;digitron

引言

随着社会的不断进步,人们对于广告的需求不断增多,户外灯箱广告扮演着越来越重要的宣传角色,不论是汽车站,火车站,股市交易市场,还是学校等公共场所都离不开它。

然而传统的霓虹灯广告牌不论是在显示效果、耗电量还是可修改性上都无法满足当前社会的需求,传统的霓虹灯广告亟待改进。

由于单片机技术的不断发展和高亮度LED发光管的出现,促进了大屏幕高亮度LED电子广告屏的推广。

它与传统的霓虹灯广告在显示效果以及可修改性上都有着无法比拟的优势。

而且单片机的日益平民化以及LED技术的不断创新,使得高亮度高清晰的LED点阵广告牌与传统霓虹灯广告牌的成本日益接近。

另外,SMT技术的飞速发展,开关电源的大规模使用,使其在体积上和可靠性上都比传统的霓虹灯广告有明显的优势,为其在特殊领域的应用奠定了基础。

这种新兴的大屏幕显示技术成为众人目光的焦点。

与传统的显示设备相比,具有以下几个方面的优势:

首先,LED显示屏色彩丰富、3基色的发光管可以显示全彩色、显示方式变化多样(文字、图形、动画、视频、电视画面等)、亮度高,是集光电子技术、微电子技术、计算机技术、信息处理技术于一体的高技术产品、以及可用来显示文字、计算机屏幕同步的图形。

其次,LED显示屏的象素采用LED发光二极管,将多个发光二极管以序列的形式构成LED显示阵列,这种显示屏具有耗电省、成本低、亮度清晰度高、寿命长等优点,而且LED显示屏以其受空间限制较小,并可以根据用户要求设计屏的大小,较为灵活,是信息传播设施划时代的产品。

再次,LED显示屏应用广泛,金融证券、银行利率、商业广告、文化娱乐等方面,显示效果清晰稳定,越来越多的地方开始使用LED电子显示屏,带来了巨大的社会效益和经济效益。

它以其超大画面、超宽视觉、灵活多变的显示方式独具一格的优势,是目前国际上使用广泛的显示系统。

 

1设计任务

本系统采用VB编制PC机上位机人机操作界面,通过PC机键盘操作输入和修改数据,将输入的数据快速、及时清晰地显示在LED数码管红黄双色屏上。

该系统要求输入的数据具有掉电保护和数据存储功能。

2总体方案论证

2.1PC上位机程序方案论证

基于本系统设计任务的要求,不得不利用PC机和单片机之间的通信。

由于PC机和单片机(如MCS51)都具有串口,因此经常使用串口完成而者之间的数据交换。

这就需要在PC端设计相应的串口通信程序。

Windows为用户提供了两种方式实现串行通信:

①使用串口通信控件

针对串口通信,微软公司专门提供了MSComm控件,使用该控件进行串口通信设计是十分方便的,程序员不必花时间去了解较为复杂API函数。

通过简单的修改控件的属性和使用控件提供的方法,就可以实现对串口配置,完成串口接收和发送数据。

  ②使用Windows的API应用程序接口

Windows中,串口是以文件形式被打开和访问的。

串口和串口通信驱动需要使用设备控制块(DCB,DeviceControlBlock)进行配置。

应用程序使用API函数CreatFile读串口,CreateEvent建立事件对象和CloseHandle关闭串口[5]。

综合考虑,使用串口通信控件进行串口程序开发较为方便。

由于VisualBasic利用可视化技术进行编程,使编程工作变得轻松快捷,摆脱了面向过程语言的许多细节,而将主要精力集中在解决实际问题和设计友好界面上。

本设计在VB语言下使用MSComm控件进行串口程序设计。

在串口编程中,使用MSComm控件非常方便,仅需要通过简单的修改控件的属性和使用控件提供的方法,就可以实现对串口的配置,完成串口接收和发送数据等任务。

本系统上位机软件主要包括:

用户界面的设计、程序的初始化、发送数据、接收数据以及其他工作。

2.2显示部分方案论证

方案一,静态驱动显示方式:

从理论上说,不论显示图形还是文字,只要控制与组成这些图形或文字的各个点所在位置与LED发光器件相对应,就可以得到我们想要的显示结果。

这种同时控制各个发光点亮灭的方法称之为静态驱动显示方式。

本设计的LED利率屏共有20个数码管,总计有20×8段发光二极管。

显然,单片机没有这么多端口。

如果我们采用锁存器来扩展端口,按8位的锁存器来计算,160个发光二极管共需要20个锁存器,这个数字比较大,而且成本很昂贵,而我们仅仅使用20个数码管,在实际应用中的显示屏往往要大得多,这样在锁存器上花的成本将是一个很庞大的数字。

方案二,动态扫描的显示方式:

所谓动态显示,就是一位一位地轮流点亮各位显示器。

对每一位显示器而言,每隔一段时间点亮一次。

具体就是所有数码管的8个段选端并联在8位的数据线上,由软件分别送各个数码管该显示的数字,一个一个点亮数码管,延时一段时间后再送下一个数码管的数字,同时熄灭除下一个该点亮的数码管以外所有数码管。

显示位的亮度既跟导通电流有关,也和点亮时间与间隔时间的比例有关。

这种方法为多位数码管的段选端确实节省了不少的数据端口,同时也对省电起到了不小的作用(实际上数码管是时亮是不亮的)。

当这样轮回的速度足够快(每秒24次以上),由于人眼的视觉暂留现象,就能看到显示屏上稳定的图形了。

动态显示器的硬件成本较低,但是动态显示有一个致命的缺点就是随着显示数码管的增多,它显示的亮度会明显的较暗甚至出现闪烁的现象。

因为数码管越多,那么在整个循环周期内,相对于每一个数码管来说它点亮的时间就会越短,数码管亮度明显降低也就顺理成章了。

一般,当数码管的位数大于12位时,就会出现闪烁现象,这是所有动态显示方式共同的弱点。

方案三,动态扫描和静态扫描相结合的方法:

采用动态扫描和静态扫描相结合的方法显示时,每行有一个行驱动器,它每行5个数码管的位选相并联,每列共用一个列驱动器,它每列4个数码管的段选相并联。

行驱动器采用74LS138译码器,它可以控制4行8种情况(每行数码管的位选有红色位选和绿色位选之分),数码管的位选采用动态扫描的方法。

列驱动采用74HC595移位寄存器,先送高位再送低位,数码管的段选采用静态扫描的方法。

这样只需要给单片机6个数据线就可以完成20个数码管的显示,74LS138三个数据输入线,74HC595一根数据线、一根时钟线和一个使能线。

采用串行传输的方法,控制电路可以只用2根线:

数据线、时钟线。

将行数据一位一位传往行驱动器,在硬件方面无疑是十分经济的。

位选G

位选R

段选

段选

段选

段选

段选

数码管

数码管

数码管

数码管

数码管

位选G

3-8译码器

位选R

段选

段选

段选

段选

段选

数码管

数码管

数码管

数码管

数码管

位选G

位选R

段选

段选

段选

数码管

数码管

位选R

段选

段选

数码管

数码管

数码管

位选G

段选

段选

段选

段选

段选

数码管

数码管

数码管

数码管

数码管

DATA4

DATA3

DATA2

DATA1

DATA0

SCK

EN

595

595

595

595

595

 

图2.1动静态结合显示原理框图

这样,对于一行的显示过程就可以分解成列数据准备(传输)和列数据显示两个部分。

采用重叠处理的方法。

即在显示本行数据的同时,传送下一行的数据。

这样,本行已准备好的数据打入移位存储器74HC595进行锁存输出时,串并移位寄存器就可以准备下一行的列数据,直到下一行的数据输送完毕后,即可熄灭第一行的数码管进而点亮第二行的数码管,进行动态显示。

一定的刷新频率保证了各行的数码管显示不同的数字。

综合以上几点,本设计方案采用动态扫描和静态驱动显示相结合的方法,在数据串行传输过程中采用重叠处理的方法,这样既节省硬件资源又保证了LED显示的亮度。

[10]动静态显示原理框图如图2.1所示。

2.3通信方式方案论证

CPU与外部设备交换数据有并行和串行通信两种方式。

并行通信时指数据的各位同时进行传送的方式。

其特点是数据的传送速度快、效率高,显然并行传送的数据有多少位,就要有多少根传输线。

当传送距离较远时,位数较多就会导致通信线路成本的大幅度提高,因此它仅适合于短距离传输。

串行通信时指数据的各位按顺序一位一位地传送的通信方式。

其特点时只要一对传输线就可以实现通信,对传输的数据较多、距离很远时,它可以大量节约系统的硬件投资。

因此,在远距离的数据通信系统中一般采用串行通信方式。

基于设计要求,本设计的整体方案为:

使用VB编制PC机上位机人际界面操作窗口,用于数据的输入和修改。

然后使PC机和单片机进行串口通信,把从PC机键盘输入或修改的数据送往单片机,单片机再将送过来的数据进行存储和送LED显示屏进行显示。

系统整体框图2.2所示。

图2.2基于PC机和单片机控制的LED利率屏系统框图

3系统硬件设计

该系统主要由电源模块电路、单片机系统及外围电路、PC机组成。

3.1电源电路

电源模块由12V变压器构成的降压电路、整流桥堆构成的整流电路、电容构成滤波电路以及7805和7808稳压块稳压电路构成,为单片机提供5V直流电压以及为LED显示屏提供7.4V直流电压。

具体电源模块电路框图和硬件电路原理图3.1和图3.2所示。

变压器

整流电路

滤波电路

稳压电路

220V交流电

 

直流电压

 

图3.1电源模块框图

图3.2电源电路原理图

3.2单片机系统及外围电路

由于LED显示屏由单片机控制部分和显示驱动部分组成,本设计单片机选择最常见的ATMEL公司的AT89C51单片机。

此单片机与MCS-51产品指令系统完全兼容,由4K字节可重擦写Flash闪速存储器,128*8字节内部RAM,32个可编程I/O口线,2个16位定时/计数器和6个中断源。

并且该单片机经济实用,使用广泛。

我们使用的是由AT89C51构成的系统电路,包括:

复位电路、时钟脉冲、外部程序存储器设定电路[3]和串口通信电路。

具体介绍如下:

①复位电路:

单片机在开机时都需要复位,以便中央处理器CPU以及其他功能部件都处于一个确定的初始状态,并从这个状态开始工作。

51的RST引脚是复位信号的输入端。

复位电平是高电平有效,持续时间要有24个时钟周期以上。

本系统中单片机时钟频率为12MHz则复位脉冲至少应为2us。

本设计采用上电复位电路。

上电瞬间,RST端的电

位与Vcc相同,随着电容的逐步充电,充电电流减小,RST电位逐渐下降。

上电复位所需的最短时间是振荡器建立时间加上二个机器周期,在这段时间里,振荡建立时间不超过10ms。

复位电路的典型参数为:

C取10uF,R取8.2k,故时间常数

=RC=10

10

8.2

10

=82ms以满足要求。

图3.3上电复位

②时钟电路:

AT89C51单片机的时钟频率为11.0592MHz,它内部已经具备了振荡电路,只要在AT89C51的两个引脚(即19、18脚)连接到简单的石英振荡晶体的2个管脚即可,同时晶体的2个管脚也要用30pF的电容耦合到地。

③外部程序存储器电路

X24C02是CMOS2048位串行

,在内部组织成256×8位。

X24C02的特点是具有允许在简单的二线总线上工作的串行接口和软件协议。

可以解决89C51系列单片机片内EEPROM不足的问题,用以保存诸如用户设置参数、采集和接收到的数据,用以对数据实施掉电保护等。

具体电路图如图3.4所示。

图3.4外部存储器电路

图3.5X24C02引脚排列图3.6X24c02引脚名称

该存储芯片引脚功能介绍如下:

串行时钟(SCL):

SCL输入用于使所有数据能与时钟同步地输入和输出器件。

串行数据(SDA):

SDA是双向引脚,用于把数据送入器件和从器件送出。

且与任何数目的漏极开路或集电极开路输出“线或”(wire-ORed)连接。

漏极开路输出要求使用上拉电阻。

地址(A0,A1,A2):

地址输入用于设置七位从地址的最低三个有效位。

这些输入端可以静态或动态驱动。

如果是静态使用,那么必须按要求接至Vss或Vcc。

若是动态驱动,必须把它们驱动至Vss或Vcc。

写控制输入控制对器件的写入的能力。

当WC为低电平时(连接至VSS),X24C02将被允许执行写操作。

当WC为高电平(连接至VCC)时,内部高电压电路被禁止且所有写操作均被禁止。

X24C02支持面向双向总线的协议。

协议规定任何发送数据到总线上的器件为发送器而接收器件为接收器。

控制传送的器件是主机,被控制的器件为从机。

主机总是启动数据的传送并提供用于发送和接收操作的时

钟。

因此,在所有的应用中X24C02被认为是从机。

④串口通信电路:

上位PC机通过串口发送数据,由MAX232转换TTL电平后经过SPI串行输入到51单片机中,51单片机将接收到的数据经MXA232转换成RS232电平后发送至上位PC机。

串口波特率设置为1200。

具体电路图如图3.7所示。

图3.7串口通信电路

3.3LED显示屏电路

3.3.1总体规划及实现电路

每个汉字需要4个8*8的LED点阵,要想实现8行扫描驱动,上下2行必须都有1个74HC595接到LED点阵模块上,而每个汉字是按照16*16取模,所以需要4个74HC595来驱动一个汉字,我的电路设计的是8个汉字,所以需要8*4=32个74HC595来实现8行扫描显示。

设计好的列驱动电路的部分如图3.8所示。

图3.8列驱动部分电路图

串入并出移位寄存器74HC595:

列驱动电路由集成电路74HC595构成。

它具有一个8位串入并出的移位寄存器和一个8位输出锁存器,而且移位寄存器和输出锁存器的控制是各自独立的,可以实现在显示本行各列数据的同时,传送下一行的列数据,即达到重叠处理的目的。

74HC595的外形及内部结构如图3.9所示。

它的输入端有8个串行移位寄存器,每个移位寄存器的输出都连接一个输出锁存器。

引脚SI是串行数据的输入端。

引脚SCK是移位寄存器的移位时钟脉冲,在其上升沿发生移位,并将SI的下一个数据打入最低位。

移位

图3.974HC595外形及内部逻辑结构图

后的各位信号出现在各移位寄存器的输出端,也就是输出锁存器的输入端。

RCK是输出锁存器的打入信号,其上升沿将移位寄存器的输出打入到输出锁存器。

引脚G是输出三态门的开放信号,只有当其为低时锁存器的输出才开放,否则输出端为高阻状态。

SCLR信号是移位寄存器的清0输入端,当其为低时移位寄存器的输出全部为0。

由于SCK和RCK两个信号是互相独立的,所以能够做到输入串行移位与输出锁存互不干扰。

芯片的输出端为QA~QH,最高位QH可作为多片74HC595级联应用时向上一级的级联输出。

但因QH受输出锁存器打人控制,所以还从输出锁存器前引出了QH’,作为与移位寄存器完全同步的级联输出。

由74HC595在4.5V供电的情况下(25℃),可以达到21MHz以上的时钟频率,而我们采用的89C51的时钟频率只有11.0592Hz,串口方式0的时钟频率只有fosc/12﹦1MHz,所以74HC595完全胜任;由于74HC595输出高电平时每个管脚的驱动电流只有20mA,而每个LED发光管的驱动电流也是20mA,要是8个发光管同时轮流点亮的时候瞬间电流必定大于20mA,所以我们采用是采用吸收电流的方式直驱LED发光管。

3.3.2行驱动电路

单片机P0口低4译码位输出的行选信号经74LS244八位数据缓冲器将数据缓冲后送往4/10译码器的输入端,生成10条行选通信号线,再经过ULN2803扩流后将信号去驱动对应的行LED显示。

我们为了隔离外界的干扰信号,使用了74LS244八位数据缓冲器。

因为任何时候74HC595里面的数据是不确定的,只要显示屏只要稍微有一点外界干扰,导致CD4028BM/CD4028BC译码器使能端E变低,进而使数据不够稳定。

74LS244是一个常用的八缓冲器,它的管脚图以及控制表如图3.10所示。

图3.1074LS244外部管脚图以及门控制端的真值表

4系统软件设计

系统软件包括PC机上位机数据输入和修改界面的设计,系统主程序的设计,系统显示程序的设计,系统串口中断程序的设计。

4.1PC机上位机数据修改和颜色控制

PC机上位机软件的编写流程是并行的,所以只要任何一个键按下,它都能执行相应的操作。

PC机上位机软件流程图如图4.1和图4.2所示。

图4.1是PC机上位机实现功能键键的操作。

如果有确认键按下,那么它马上锁定确定键的再次按下,而允许修改键的按下,同时串口发送显示的数据和颜色的控制字,并保存数据。

如果是修改键的按下,那么它马上锁定修改键的再次按下,而允许确认键的按下,同时禁止退出。

如果有退出键的按下,那么判断接下来是否有确认键的按下,

开始

退出

确认

修改

N

N

N

Y

Y

Y

判断确认键是否按下

禁止按确认键允许按修改键

禁止按修改键允许按确认键

N

Y

串口发送显示数据和颜色控制字

禁止退出

弹出提示,选择是否退出

N

Y

退出界面

 

图4.1PC机上位机软件流程图1

开始

改绿色

改数据

改黄色

N

N

N

Y

Y

Y

改变数码管数据

置颜色控制字为黄

置颜色控制字为绿

禁止按黄,允许按绿

禁止按绿,允许按黄

图4.2PC机上位机软件流程图2

如果没有,那么马上弹出提示选择是否退出,如果是,那么退出界面,如果不是,那么返回程序开始的地方。

如果退出键按下后,接下来有确认键的按下,那么直接退出界面。

图4.2是三个具体操作键的流程图。

具体思路是这样的:

如果按下了改数据的键,那么数码管的数据实时更新。

如果有改换色的键按下,那么程序马上置颜色控制字为黄色,同时禁止修改黄色的键按下,而允许绿色键的按下。

如果改绿色的键按下,那么马上置颜色控制字为绿色,同时禁止改绿色的键按下,而允许黄色键的按下。

4.2下位机主程序的设计

本论文只要求在LED利率屏上固定的输出不同的数字,所以如图4.3所示。

下位机的主程序也就是只要不断的读24c02存储器中存储的数字并不断的更新即可。

开始

系统初始化

读24C02

显示程序

图4.3下位机主程序流程图

4.3下位机显示驱动程序的设计

将数据读取到缓冲区

将缓冲区数据调整后发送到模拟串口

发送完毕?

N

Y

返回

关闭4028,锁存595,输出行号

图4.4下位机显示驱动流程图

如图4.4所示,下位机的显示必须要等到所有实时更新的数据发送完毕以后才能锁存输出。

首先,将在上位机上实时更新了的数据分4批存到数据缓冲区,一批一批发送到模拟串口,每一批次发送完毕以后,74HC595开始锁存输出,并动态扫描行的显示,如此循环。

4.4系统串口中断程序的设计

串行口方式设置

指向下一个地址

将接收的字节发送

并等待

接收等待

发送应答

接收正确?

应答接收

置发送和接收

数据的首地址

波特率设置

N

Y

接收完?

N

Y

写24C02

 

图4.5系统串口中断流程图

在单片机与PC机的通讯中,单片机一般作为下位机负责从控制对象采集数据(如压力、流量等),上位机则进行现场可视化检测。

本文在双方通讯中通讯协议采用半双工异步串行通讯方式,通过MAX232的RTS信号进行收发转换,传输数据采用二进制数据,上

位机与下位机之间采用主从式通讯。

对串行口的操作可分为以下几步进行:

①串行口初始化;

②发送联络信号;

③接收联络信号;

④发送数据。

如图4.5所示,波特率为1200b/s,无奇偶校验位,传输的数据位为8位,停止位为1位,用串行口工作于方式1。

单片机的晶振频率fosc=11.0592MHZ,定时器T1工作于方式2作为波特率发生器,根据计数初值的计算公式X=256-(fosc×2smod)/(384×baud)可得计数初值为0FDH将上位机更新的数据接收到并写入24C02中[4]。

5调试

调试主要围绕以下几个步骤进行:

①下位机驱动显示

②检查MAX232通讯电路

③使用串口调试精灵发送单字节数据给下位机显示

④使用串口调试精灵发送多自己数据给下位机显示

⑤使用串口调试精灵发送颜色控制子改变利率屏的颜色

⑥用VB编写上位机软件界面,并进行界面调试

⑦使用VB中的串口控件进行上位机和下位机的联机调试

5.1硬件调试

用示波器检测单片机的XTAL1脚和XTAL2脚是否有正弦波形,即检测单片机是否起振,起振是单片机运行的基础部分。

5.2复位电路的检测

此电路能纠正程序的跑飞,一旦程序跑飞,按此键能使程序从头开始。

注意复位电路的R1和R2的比例要大于10。

5.3MAX232电路检测

用外用表测量MAX232各引脚之间的电压,看是否是出现正负对称的电压情况,电压大概在±9V~±12V之间则验证了MAX232的工作电路是正常的[11]。

5.4下位机软件调试

根据系统软件流程图的算法,把编写好的程序利用串口调试精灵发送到下位机,看是否出现预想的效果,如果不能出现则,则继续调整软件程序,直到满意为止。

6使用方法

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

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1