文档库 最新最全的文档下载
当前位置:文档库 › 基于PC机控制的LED显示屏的设计-毕业论文1

基于PC机控制的LED显示屏的设计-毕业论文1

毕业论文(设计)

基于PC机控制的点阵显示屏设计

学生姓名:李航

指导教师:张新颖

合作指导教师:

专业名称:电子信息工程

所在学院:信息工程学院

2012年6月

目录

摘要 (Ⅰ)

ABSTRACT (Ⅱ)

第一章绪论 (1)

1.1课题背景 (1)

1.2研究现状及发展趋势 (1)

第二章系统方案论证与选择 (3)

2.1方案论证 (3)

2.2各模块方案选择与论证 (5)

第三章系统硬件电路设计与实现 ....................................................................... - 6 -

3.1硬件电路设计 (6)

3.2各单元电路说明 (6)

第四章系统软件设计............................................................................................. - 15 -

4.1系统软件编译器介绍 (15)

4.2软件的选择 (15)

4.3程序主系统及驱动系统 (16)

4.4串口通信设计 (17)

4.5上位机功能实现说明 (23)

第五章系统调试及结果分析............................................................................... - 24 -

5.1系统调试 (24)

5.2结果分析 (25)

第六章总结 ............................................................................................................... - 26 - 致谢 ............................................................................................................................. - 27 - 参考文献 ...................................................................................................................... - 28 - 附录1 硬件电路图 ................................................................................................ - 29 - 附录2 单片机机程序............................................................................................ - 30 -

大连海洋大学本科毕业论文(设计)摘要

摘要

本设计是一基于PC机控制的16×16点阵LED汉字显示屏的设计。

整机以A T89C51单片机为核心,介绍了以它为控制系统的LED点阵电子显示屏的动态设计和开发过程。该系统通过RS232与上位机PC进行串行通信,采用计算机串口对其进行数据输入,能实现屏幕显示内容的实时采集;通过该芯片控制一个行驱动器74HC154来驱动显示屏显示。该电子显示屏可以显示各种文字,全屏能显示一个汉字,采用4块8×8点阵LED显示模块来组成16×16点阵显示模式。显示采用动态显示,使得文字能够实现静止、移入移出等多种显示方式。文中详细介绍了LED点阵显示的硬件设计思路、硬件电路各个部分的功能及原理、相应软件的程序设计,以及使用说明等。

单片机控制系统程序采用单片机汇编语言进行编辑,通过编程控制各显示点对应LED阳极和阴极端的电平,就可以有效的控制各显示点的亮灭。所显示字符的点阵数据可以自行编写(即直接点阵画图),也可从标准字库中提取,但此次设计我们采用从标准字库中提取。

经实践证明,该系统显示误差小,性能稳定,结构合理,扩展能力强。

关键词:AT89S51单片机,LED点阵显示,动态显示,串行通信,汇编语言

大连海洋大学本科毕业论文(设计)ABSTRACT

ABSTRACT

This design is a 16 ×16 lattice LED electron display monitor design basic on personal computer.

The whole equipment is with the 40-pin AT89C521MCU (Micro Controller Unit) produced by the American ATMEL company at the core, introduced take it as the control system LED lattice electron display monitor dynamic design and the development process. The system through the RS232 and PC to PC serial communications, using its computer serial port for data input, to achieve real-time screen display the contents of the collection.Controls good driver 74HC154 and eight row driver 74HC595 through this chip actuates the display monitor demonstration. The electronic screen can show all kinds of written, sixteen full screen display Chinese characters, four pieces of 8×8 dot-matrix LED display modules to form the 16×16 dot matrix display mode. Show dynamic show that makes static graphic or text can be achieved, shifted out of various formats. This paper describes the hardware design of the LED dot matrix display, and the principle function of the various parts of the circuit, the corresponding software program design and the use of some such.

SCM process control system used for editing MCU assembly language, Programming control points indicated by the corresponding LED anode and overcast extreme level. We can effectively control the defense showed bright spots. The lattice data shows characters can prepare themselves (that is, direct lattice Painting), which can also be extracted from the standard font.but this time we adopt being extracted from the standard font.

As the practice proves, the system possesses advantages in low shows errors, stable, rational structure and strong extensible abilities.

Key words: AT89S51microcontroller,LED dot matrix display,Dynamic display,Serial port correspondence control system,Assembly language

第一章绪论

1.1课题背景

在短短的十来年中,LED点阵显示屏就以亮度高、工作电压低、低功耗、小型化、寿命长、耐冲击和性能稳定的优点迅速成长为平板显示的主流产品,在信息显示领域得到了广泛的应用。LED的发展前景极为广阔,目前正朝着更高亮度、更高耐气候性、更高的发光密度、更高的发光均匀性、可靠性、全色化方向发展。LED显示屏应用在社会生活中都有,例如:(1)证券交易、金融信息显示。(2)机场航班动态信息显示。(3)港口、车站旅客引导信息显示。(4)体育场馆信息显示。(5)道路交通信息显示。(6)调度指挥中心信息显示。(7)邮政、电信、商场购物中心等服务领域的业务宣传及信息显示。(8)广告媒体新产品等。

1.2研究现状及发展趋势

1.2.1我国LED产业发展现状

作为近年来最具有革命性意义的技术发明形成的产业,LED被称为继明火和白炽灯之后的第三次照明革命,有着广阔的发展前景。很多国家和地区相继出台各种政策扶持LED 产业的发展,以期该产业能够成为国家重要产业的重要组成部分。

目前,我国半导体LED作为节能、环保的主要技术,已被纳入国家中长期科技发展规划与“十一五”国家“863”高新技术产业化重大项目,并得到了大力支持。

然而,我国目前LED产品开发应用领域依然存在许多不足。我国自主的LED芯片、外延片产量仍有限,产品以中、低档为主,与国外差距很大。产业化规模偏小,只能满足国内封装企业需求量的20%-30%,大部分高性能的LED和大功率LED产品均要依赖进口。此外,在LED的应用市场方面,也存在着由于产品种类、品种参差不齐问题而引起的制约,尤其是在通用照明领域,由于存在的技术不足,使其无法进行规模化普及应用。因此,推广对LED封装技术的发展力度,提升自身核心技术并实现规模量产是LED产业发展的最关键一步。

1.2.2 LED显示屏的发展趋势

现代信息社会中,作为人一机信息视觉传播媒体的显示产品和技术得到迅速发展,进入二十一世纪的显示技术将是平板显示的时代,LED显示屏作为平板显示的主导产品之一无疑会有更大的发展,并有可能成为二十一世纪平板显示的代表性主流产品。高亮度、全彩化蓝色及纯绿色LED产品自出现以来,成本逐年快速降低,已具备成熟的商业化条件。基础材料的产业化。使LED全彩色显示产品成本下降,应用加快。LED产品性能的提高,使全彩色显示屏的亮度、色彩、白平衡均达到比较理想的效果,完全可以满足户外全天候的环

境条件要求,同时,由于全彩色显示屏价格性能比的优势,预计在未来几年的发展中,全彩色LED显示屏在户外广告媒体中会越来越多地代替传统的灯箱、霓红灯、磁翻板等产品,体育场馆的显示方面全彩色LED屏更会成为主流产品。全彩色LED显示屏的广泛应用会是LED显示屏产业发展的一个新的增长点[1]。

未来LED显示屏会向着标准化、规范化,产品结构多样化的方向发展。

1.2.3本课题的主要特点

这个方案设计的16×16点阵LED图文显示屏,结构合理,成本较低,且较容易扩展成更大的显示屏;显示屏各点亮度均匀、充足;显示图形或文字稳定、清晰无串扰;可用静止、移入移出等多种显示方式显示图形或文字。

第二章系统方案论证与选择

2.1方案论证

从理论上说,不论显示图形还是文字,只要控制这些组成图形或文字的各个点所在位置相对应的LED器件发光,就可以得到我们想要的显示结果,这种同时控制各个发光点亮灭的方法称为静态驱动显示方式。16×16的点阵共有256个发光二极管,显然单片机没有这么多端口,如果采用锁存器来扩展端口,按8位的锁存器来计算,16×16的点阵需要256/8=32个锁存器。这个数字很大,因为仅仅是16×16的点阵,在实际应用中的显示屏往往要大的多,这样在锁存器上花的成本将是一个很大的数字。因此采用另一种称为动态扫描的显示方法。

动态扫描的意思简单地说就是逐行轮流点亮,这样扫描驱动电路就可以实现多行(比如16行)的同名列共用一套列驱动器。具体就16×16的点阵来说,我们把所有同一行的发光管的阳极连在一起,把所有同一列的发光管的阴极连在一起(共阳的接法),先送出对应第一行发光管亮灭的数据并锁存,然后选通第一行使其点亮一定的时间,然后熄灭;再送出第二行的数据并锁存,然后选通第二行使其点亮相同的时间,然后熄灭;…… 第十六行之后又重新点亮第一行,这样反复轮回。当这样轮回的速度足够快(每秒24次以上),由于人眼的视觉暂留现象,我们就能看到显示屏上稳定的图形了。

采用扫描方式进行显示时,每行有一个行驱动器,各行的同名列共用一个列驱动器。显示数据通常存储在单片机的存储器中,按8位一个字节的形式顺序排放。显示时要把一行中各列的数据都传送到相应的列驱动器上去,这就存在一个显示数据传输的问题。从控制电路到列驱动器的数据传输可以采用并行方式或串行方式。显然,采用并行方式时,从控制电路到列驱动器的线路数量大,相应的硬件数目多。当列数很多时,并行传输的方案是不可取的。

采用串行传输的方法,控制电路可以只用一根信号线,将列数据一位一位传往列驱动器,在硬件方面无疑是十分经济的。但是,串行传输过程较长,数据按顺序一位一位地输出给列驱动器,只有当一行的各列数据都已传输到位之后,这一行的各列才能并行地进行显示。这样,对于一行的显示过程就可以分解成列数据准备(传输)和列数据显示两个部分。对于串行传输方式来说,列数据准备时间可能相当长,在行扫描周期确定的情况下,留给行显示的时间就太少了,以至影响到LED的亮度。

解决串行传输中列数据准备和列数据显示的时间矛盾问题,可以采用重叠处理的方法。即在显示本行各列数据的同时,传送下一行的列数据。为了达到重叠处理的目的,列数据的显示就需要具有锁存功能。经过上述分析,可以归纳出列驱动器电路应具备的主要功能。对于列数据准备来说,它应能实现串入并出的移位功能;对于列数据显示来说,应具有并行锁存的功能。这样,本行已准备好的数据打入并行锁存器进行显示时,串并移位寄存器就可以准备下一行的列数据,而不会影响本行的显示[2]。

课题拟以AT89C51单片机为控制核心设计一个简单的数字时钟系统,用单片机、点阵显示屏等设计一个16×16点阵LED 电子显示屏的设计。系统可以分为电源模块、时钟信号电路、复位电路、驱动模块、单片机控制模块、显示模块等,其系统结构框图如下图2-1。

图2-1系统结构框图

2.2各模块方案选择与论证

2.2.1 片机控制模块

采用89C51芯片作为硬件核心,采用Flash ROM ,内部具有4KB ROM 存储空间,可多次擦写,而且与MCS-51系列单片机完全兼容。 2.2.2 时钟信号电路

直接采用普通晶体时钟源提供脉冲信号,此种方案能够减少芯片的使用,节约成本。 2.2.3复位电路

方案一:采用按钮复位,通过按电路中的开关按钮使系统内部复位,按一次开关按钮系统复位一次,但是在点阵屏显示过程中不需要对系统进行复位,本方案与实际应用不相符合,所以不采取本方案。

方案二:采用上电复位,电路第一次通电时对系统进行一次复位,而后系统执行。这个方案简单且符合实际设计,故采用本设计方案[3]。 2.2.4串口模块

时钟电路

复位电路 单

片 机

点阵 显示器阳极驱动电路

16×16点阵 LED 显示屏

P

C

AT24C08

方案一采用RS485来进行长距离(1219M)的传输,RS-485总线通信模式由于具有结构简单、价格低廉、通信距离和数据传输速率(最大传输速率为10Mb/S)适当等特点而被广泛应用.但RS485总线存在自适应、自保护功能脆弱等缺点,如不注意一些细节的处理,常出现通信失败甚至系统瘫痪等故障而且总线本身存在许多的局限性,效率低,实时性差,通信的可靠性低,应用不灵活。

方案二采用MAX232来进行串行的传输, 用串行通讯的好处是简单,抗干扰性强.,因此不需要远距离传输,因此MAX232已经足够满足要求。并且可直接和PC机通信,不用外加协议转换电路。

基于以上分析,我们选用方案二,选用芯片MAX232。

2.2.5显示模块

方案一:采用4块8×8点阵LED显示屏相连接构成一块16×16点阵LED显示屏,但4块点阵屏连接起来面积较大,且需多根导线将其焊接,外观上较不美观。所以不采用本方案。

方案二:采用16×16点阵LED显示屏,16×16点阵屏的功能与4块8×8点阵屏构成16×16点阵屏功能相同,但是更为美观小巧美观,且单块16×16点阵屏和4块8×8点阵屏价格相等。故本设计采用这种方案。

2.2.6驱动模块

方案一:采用静态锁存方式,将每一个LED发光管的一端接至单片机的一个I/O口,另一端通过电阻接电源。这种方法可以直接驱动LED,原理简单,驱动能力强,LED的亮度也可以通过限流电阻调节,非常方便,但此种方法太浪费单片机的I/O口,只适合于较小的系统。

方案二:采用动态扫描方式,通过三极管驱动并联在一起的LED发光管的一端(共阴或共阳),LED发光管的另一脚接通用I/O口,控制其亮灭。该方法能驱动较多的LED,控制方式较灵活,而且节省单片机的资源。故采用本设计方案[4]。

行驱动电路主要是要实现译码功能,下面有2种方案供其选择:

方案一:采用2块74LS138级联来实现4/16线译码功能,74LS138芯片本身具有3/8线译码功能,但是增加了芯片的使用数目,增加了连线及所占面积。所以不采用本方案。

方案二:采用芯片74LS154,74LS154芯片本身具有4/16线译码功能,其功能与2块74LS138级联实现4/16译码一样,但是相比74LS138少用一片芯片。所以采用本方案。

2.2.7掉电保存模块

掉电保存模块是通过单片机AT24C08对LED点阵显示屏内容进行保存。在PC机突然断电时仍然能保存输入到LED点阵显示屏上的内容。

P1.01

P1.12P1.23P1.34P1.45P1.56P1.67P1.78RST/VPD 9P3.0/Rx D 10P3.1/TxD 11P3.2/INT012P3.3/INT113P3.4/T014P3.5/T115P3.6/WR 16P3.7/RD 17XTAL218XTAL119GND 20

P2.0

21

P2.122P2.223P2.324P2.425P2.526P2.627P2.728PSEN 29ALE/PROG 30EA/Vp p 31P0.732P0.633P0.5

34P0.435P0.336P0.237P0.138P0.039VCC 40

U1

AT89C51第三章 系统硬件电路设计与实现

3.1硬件电路设计

本电路是由A T89C51单片机为控制核心,低功耗;时钟源电路有很多种,比如阻容低速时钟源、普通晶体时钟源、带缓冲放大的晶体时钟源等等,考虑到电路稳定及材料选购等方面,决定采用普通晶体时钟源,其中晶体用12MHz 的石英晶振;复位电路结合实际应用功能的实现,采用上电复位;显示部分由16×16点阵LED 显示屏显示;行驱动电路采用74LS154。

3.2各单元电路说明

3.2.1单片机AT89C51

AT89C51是美国ATMEL 公司生产的低电压,高性能CMOS8位单片机,片内含有4K bytes 的可反复擦写的只读程序存储器和128的随机存取数据存储器,器件采用AEMEL 公司的高密度,非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和FLASH 存储单元,功能强大,可灵活应用于各种控制领域[5]。图3.1为AT89C51外部封装。

图3-1 单片机A T89C51

AT89C51单片机为40引脚双列直插芯片,有四个I/O 口P0,P1,P2,P3, MCS-51单片机共有4个8位的I/O 口(P0、P1、P2、P3),每一条I/O 线都能独立地作输出或输入。

P0口:P0口为一个8位漏级开路双向I/O 口,每脚可吸收8TTL 门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FLASH 编程时,P0 口作为原码输入口,当FLASH 进行校验时,P0输出原码,此时P0外部必须被拉高。

P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL 门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。

P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故[6]。

P3口也可作为AT89C51的一些特殊功能口,如下所示:

P3.0 RXD(串行输入口)

P3.1 TXD(串行输出口)

P3.2 /INT0(外部中断0)

P3.3 /INT1(外部中断1)

P3.4 T0(记时器0外部输入)

P3.5 T1(记时器1外部输入)

P3.6 /WR(外部数据存储器写选通)

P3.7 /RD(外部数据存储器读选通)

AT89C51振荡器特性为: XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度[7]。

此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,停止芯片其它功能直至硬件复位,直到下一个硬件复位为止。

3.2.2单片机复位原理

单片机刚上电时需要复位一次才能可靠工作,通过电容接VCC,是利用电容充电来提供2个周期的高电平时间让单片机复位,如此单片机可以正常工作。这之后又不要求单片机复位,所以通过8.2K左右的电阻下拉接地保证RESET脚维持在低电平状态(即不复位状态)[8]。如图3-2所示。

大连海洋大学本科毕业论文(设计) 第三章 系统硬件电路设计与实现

12

D

C

B

A

EA/VP 31

X119X218RESET 9RD 17WR 16INT012

INT113T014T115

P101P112P123P134P145P156P167P178

P00

39P01

38P02

37P03

36P04

35P05

34P06

33P0732P2021P2122P2223P2324P2425P2526P2627P27

28

PSEN

29

ALE/P 30TXD 11RXD 10U1

8051

C2

47p f

11.0592M Hz CR YSTAL

C147p f

SW1

SW-PB

VC C

C347p f

R3210k

R331k

A 23B

22C 21D

20

G1

18G2

19

0112233445566778899101011111312141315141615

17

U2

74LS154

R0

200R1

200R2

200R3

200R4

200R5

200R6

200R7

200R8200R9200R10200R11 200R12200R13200R14200R15

200

R16200R17200R18200R19200R20200R21200R22200R23200R24200R25200R26200R27200R28200R29200R30200R31

200

Q0S8550

Q8

S8550

VC C

VC C

VC C

图3-2 单片机复位电路

3.2.2时钟电路

单片机的最小系统如下图所示,18引脚和19引脚接时钟电路,X1接外部晶振和微调电容的一端,在片内它是振荡器倒相放大器的输入,X2接外部晶振和微调电容的另一端,在片内它

是振荡器倒相放大器的输出[9]

。第9引脚为复位输入端,接上电容,电阻及开关后够上电复位电路,20引脚为接地端,40引脚为电源端。31引脚接电源端,如图3-3所示。

图3-3 单片机时钟电路 3.2.3 16×16点阵LED 显示模块的设计 一、LED 点阵屏介绍

组合型LED 点阵显示器自八十年代开始出现,以发光二极管为像素,它用高亮度发光二极管芯阵列组合后,环氧树脂和塑模封装而成。具有高亮度、功耗低、引脚少、视角大、寿命长、耐湿、耐冷热、耐腐蚀等特点。LED 点阵有4×4、4×8、5×7、5×8、 8×8等多种。点阵显示屏有单色和双色两类,可显示红,黄,绿,橙等,本次设计选用单色点阵显示屏。 二、点阵LED 显示屏的外观和引脚

8×8点阵共需要64个发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上。要实现显示图形或字体,只需考虑其显示方式,通过编程控制各显示点对应LED 阳极和阴极端的电平,就可以有效的控制各显示点的亮灭。当采用按行扫描按列控制的驱动方

式时,LED显示屏8行的同名列共用一套列驱动器。行驱动器一行的行线连接到电源的一端,列驱动器一列的列线连接到电源的另一端。应用时还应在各条行线或列线上接上限流电阻。扫描中控制电路将行线的1到8轮流接通高电位,使连接到各该行的全部LED器件接通正电源,但具体那一个LED导通,还要看它的负电源是否接通,这就是列控制的任务了。当对应的某一列置0电平,则相应的二极管就亮;反之则不亮。例如:如果想使屏幕左上角LED点亮,左下角LED熄灭的话,在扫描到第一行时,第一列的电位就应该为低,而扫描到第八行时第一列的电位就应该为高。这样行线上只管一行一行的轮流导通,列线上进行通断控制,实现了行扫描列控制的驱动方式。

以上就是16×16点阵LED电子显示屏系统硬件部分的各功能模块分述,经过合理的设计论证后和就可以整体结合在一起,再根据设计配备好各元器件实物,通过组装后等在单片机的程序存储器里放入编制好的程序即可成为一个完整的应用系统。

16×16点阵LED显示屏由256个LED发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上。它的外观形状如图3-4所示,内部结构如图3-5所示。且每个发光二极管是放置在行线和列线的交叉点上,当对应的某一列置1电平,某一行置0电平,则相应的二极管就亮[10]。如第一列为高电平置1,第二列为低电平置0,第三列为高电平置1,P 行为低电平置0,O行为高电平置1,则显示效果是P行上的第一个LED灯亮,第二个LED 灯灭,第三个LED灯亮。第O行上的三个LED灯全灭,如图3-6所示。

图3-4 16×16点阵LED显示屏实物照片

图3-5 16×16点阵LED显示屏内部结构

图3-6 LED点阵亮灭示意图

16×16点阵LED显示屏的内部结构和外观引脚并不相对应,下面图3-7所示为点阵显示屏外观管,图3-8为个管教所对应的管教编号。

图3-7 16×16点阵LED显示屏引脚分配表

图3-8 点阵显示屏各个管脚对应的管脚号

3.2.4驱动模块

该设计驱动模块为行驱动模块

(1)74LS154介绍

74LS154这种4线—16线译码器非常适合用于高性能存储器的译码器。当两个选通输入。G1和G2为低时, 它可将4个二进制编码的输入译成16个互相独立的输出之一。实现解调功能的办法是:用4 个输入线写出输出线的地址,使得在一个选通输入为低时数据通过另一个选通输入。当任何一个选通输入是高时,所有输出都为高。图3-9为编码器74LS154外形及内部

逻辑结构。图3-10为其真值表[11]

图3-9 74LS154 编码器外形及内部逻辑结构

图3-10 74LS154 编码器真值表

(2)8550三极管介绍

三极管8550是一种常用的普通三极管,是一种低电压,大电流,小信号的PNP型硅三极

管,其电流放大倍数为50-300[12]。图3-10为三极管分装。

1 发射极

2 基极

3 集电极 图3-11 三极管8550 (3)点阵行驱动模块

单片机P1口低4位输出信号对16行点阵进行驱动,信号经4/16线译码器74LS154译码后生成16条行选通信号线,再经过驱动器驱动对应的行线。 一条行线上要带动16列的LED 进行显示,按每一个LED 器件3mA 电流计算,16个LED 同时发光时,需要48mA 电流,选用三极管8550对电流进行放大从而满足需求。图3-12为行驱动模块。

123

4

A

B

C

D

4

321D

C

B

A

Titl e Number

Revision

Size A4Date:8-Jun-2012 Sheet of File:

C:\Documents and Set t ings\Administrator\桌面\060800415.ddb Drawn By:

EA/VP

31X119

X2

18RESET

9

RD 17

WR

16

INT012

INT113T0

14T115

P101P112P123P134P145P156P167P17

8

P0039P0138P0237P0336P0435P0534P0633P0732P2021P2122P2223P2324P2425P2526P2627P27

28PSEN

29

ALE/P 30TXD 11RXD 10U1

8051

C247pf

11.0592MHz CRYSTAL

C147pf

SW1SW-PB VCC

C347pf

R32

10k

R331k

A 23

B 22

C 21D

20

G118G2

19

0112233445566778899101011111312141315141615

17U2

74LS154

R0200R1

200R2200R3200R4200R5200R6200R7200R8200R9200R10200R11 200R12200R13200R14200R15

200

R16200R17200R18200R19200R20200R21200R22200R23200R24200R25200R26200R27200R28200R29200R30200R31

200

Q0S8550

Q1S8550

Q2S8550

Q3S8550

Q4S8550

Q5S8550

Q6S8550

Q7S8550

Q8S8550Q9S8550Q10S8550Q11S8550Q12S8550Q13S8550Q14S8550Q15S8550

VCC VCC

VCC

VCC VCC VCC VCC VCC VCC

VCC

VCC VCC VCC VCC VCC VCC VCC 1

62738495J1DB9C1+1V+2C1-3

V-6

C2+4

V C C 16

C2-5

G N D 15

T1IN 11

T1OUT

14T2IN 10

T2OUT 7R1OUT 12

R1IN 13R2OUT

9

R2IN

8

U3

MAX232VCC

C5105

C4105VCC C6

105C7

105

65

781234A0A1A2VS S

SDA SCL TEST VDD VCC GND

图3-12 74LS154行驱动模块

3.2.5掉电保存模块

掉电保存模块是通过单片机AT24C08对LED 点阵显示屏内容进行保存。在PC 机突然断

电时仍然能保存输入到LED 点阵显示屏上的内容。

AT24C08提供8192位的串行电可擦写可编程只读存储器(EEPROM),组织形式为1024字×8位字长。适用于许多要求低功耗和低电压操作的工业级或商业级应用。可选节省空间的8脚PDIP, 8脚JEDEC SOIC, 8脚Ultra Lead Frame Land Grid Array (ULA),5脚SOT23,8脚TSSOP,和8触点dBGA2封装,并通过2-wire 串行接口存取。图3-13为掉电保存电路。

大连海洋大学本科毕业论文(设计) 第三章 系统硬件电路设计与实现

12

2

1D

C

B

A

EA /VP 31

X119X218RE SET 9RD 17WR 16INT 012

INT 113T014T115

P101P112P123P134P145P156P167P178P0039P0138P0237P0336P0435P0534P0633P0732P2021P2122P2223P2324P2425P2526P2627P27

28

PSE N

29

AL E/P 30TX D 11RX D 10U1

8051

C2

47p f

11.0592M Hz CR YSTA L

C147p f

SW1

SW-PB

VC C

C347p f

R32

10k

R331k

A 23

B 22

C 21D

20

G118G2

19

112233445566778899101011111312141315141615

17

U2

74L S154

R0200R1200R2200R3200R4200R5200R6200R7200R8200R9200R10200R11 200R12200R13200R14200R15

200

R16200R17200R18200R19200R20200R21200R22200R23200R24200R25200R26200R27200R28200R29200R30200R31

200

Q0S8550

Q1S8550

Q2S8550

Q8

S8550

Q9S8550

Q10S8550

VC C

VC C VC C

VC C

VC C

7

38495J1

DB 9C1+

1V C1-3

V

C2+

4

V C C

16

C2-5

G N D

15

T1IN

11

T1O UT T2IN

10

T2O UT R1O UT

12

R1IN R2O UT

9

R2IN

U3C5105

C4105

VC C

C6

105

C7

105

65

78

1234A0A1A2VS S SD A SCL TE ST VD D

VC C

GN D

图3-13 掉电保存电路

第四章系统软件设计

随着科技的发展,现代化的生产对智能化的要求越来越高,如何迅速获取现场数据以便及时对生产过程进行调控,是其关键所在。现在大量的智能仪器或数据采集模块都采用了RS—232或485通讯接口,通过相应的通讯协议,将测试、采集的数据传输给上位机,以满足各种形式的数据处理的要。VisualBasic6.0(以下简VB)是许多工程技术人员熟悉和常用的应用程序开发软件,VB以其简单易学、32位面向对象的程序设计等特点,倍受广大计算机开发者的青睐,已广泛地应用于各个领域;如何用VB编写数据通讯程序,并进行数据处理,意义重大。用VB开发串口通讯一般有两种方法:一是采用VB自身的标准控件MSComm来实现;另一种是利用windows的通讯API函数。

在单片机系统中,硬件是系统的基础,软件则是在硬件的基础上对其合理的调配和使用,从而完成应用系统所要完成的任务。软件的设计是设计控制系统的应用程序。其任务是在总体设计和硬件设计的基础上,确定程序结构,分配内RAM资源,划分功能模块,然后进行主程序和各模块程序的设计,最后连接起来成为一个完整的应用程序。

在进行系统总体设计时,曾经规划过软件结构,但由于硬件系统尚未仔细确定,软件结构框图十分粗糙,当硬件设计接口扩展及各功能模块与CPU连接关系确定后,就能够具体明确对软件设计的要求。本设计的LED显示屏软件的主要功能是向屏体提供显示数据,并产生各种控制信号,使屏幕按设计的要求显示。根据软件分层次设计的原理,可把显示屏的软件系统分成两大层:第一层是底层的显示驱动程序,第二层是上层的系统应用程序。显示驱动程序负责向屏体送显示数据,并负责产生行扫描信号和其它控制信号,配合完成LED 显示屏的扫描显示工作。显示驱动程序由定时器T0中断程序实现。系统应用程序完成系统环境设置(初始化)、显示效果处理等工作,由主程序来实现。

从有利于实现语言的直观,易于记忆和检查,可读性较好和使语言程序占用较少的单片机存储空间,实时处理系统可以快速的执行指令的角度考虑,本设计中显示屏程序采用汇编语言编写。

4.1系统软件编译器介绍

使用C 语言肯定要使用到C 编译器,以便把写好的C 程序编译为机器码,这样单片机才能执行编写好的程序。

KEIL uVISION3 是众多单片机应用开发软件中优秀的软件之一,它支持众多不同公司的MCS51 架构的芯片,它集编辑,编译,仿真等于一体,同时还支持,PLM,汇编和C 语言的程序设计,它的界面和常用的微软VC++的界面相似,界面友好,易学易用,在调试程序,软件仿真方面也有很强大的功能。

4.2软件的选择

4.2.1单片机编程语言选择

方案一:采用汇编语言编程,由于汇编语言是比较低层的开发语言,它要求开发者非常熟悉单片机的硬件结构,存储器结构等等。加上汇编语言可读性差,一般人是很难看懂的。还有也是比较致命的一点,可移植性比较差,所以使用汇编语言编程将需要大量的时间用于软件的编写和调试。

方案二:采用C 语言编程,它不要求开发者深入了解单片机和硬件接口的结构,编译器自动完成变量的存储单元的分配,可读性比较好,可移植性强,这是C 语言最大的优势。而且现在很多编译器都能很好的支持C 语言的编译和调试。

基于以上分析,我们决定采用方案二。 4.2.2上位机控制传输软件选择

方案一:采用网上下载的上位机控制传输软件,由于他人制作的上位机软件具有局限性,功能也达不到自己的要求,用起来也不方便。不能很好的体现系统的功能。

方案二:采用自己编写的上位机软件,不仅功能上可以满足系统控制需要,并且通信协议可以自己给定,能更好的完成信息的交换。

基于以上分析,我们决定采用方案二。

4.3程序主系统及驱动系统

4.3.1主系统

系统的主程序开始以后,首先是对系统环境初始化,包括设置串口、定时器、中断和端口;然后LED 显示屏进入开机状态,转入正常的显示。首先是向上滚动显示汉字,每个字停留时间约1.6s 。由于单片机没有停机指令,所以可以设置系统程序不断地循环执行上述显示效果。

系统程序结构属中断方式,绝大多数功能在中断服务子程序中完成。根据总体结构,可将程序划分为几个功能化模块:串行口中断服务程序、多字滚动显示子程序、单字显示子程序、扫描程序。各个模块可进行独立设计、调试和查错,最终再连接成一个整体。这样可方便程序调用,程序整体层次清晰,结构一目了然,方便阅读。 4.3.2驱动系统

根据流程图可以编写出相应的显示程序。显示驱动程序在进入中断后首先要对定时器T0重新赋初值,以保证显示屏刷新率的稳定,1/16扫描显示屏的刷新率(帧频)计算公式如下:

刷新率(帧频)=

16

1

×T0溢出率 =161

×)

65536(120t f osc

相关文档