您的当前位置:首页正文

LED显示屏

来源:帮我找美食网


单片机原理及系统课程设计

专 业: 电气工程及其自动化 班 级: 电气091 姓 名: 学 号: 指导教师:

评语: 平时(40) 修改(30) 报告(30) 总成绩

2012 年 7月 1日

单片机原理及系统课程设计报告

1引言

LED显示屏是一种通过控制半导体发光二极管的显示方式,用来显示文字、图形、图像、动画、行情、视频、录像信号等各种信息的显示屏幕。图文显示屏可与计算机同步显示汉字、英文文本和图形;视频显示屏采用微型计算机进行控制,图文、图像并茂,以实时、同步、清晰的信息传播方式播放各种信息,还可显示二维、三维动画、录像、电视、VCD节目以及现场实况。LED显示屏显示画面色彩鲜艳,立体感强,静如油画,动如电影,广泛应用于车站、码头、机场、商场、医院、宾馆、银行、证券市场、建筑市场、拍卖行、工业企业管理和其它公共场所。

它的优点:亮度高、工作电压低、功耗小、微型化、易与集成电路匹配、驱动简单、寿命长、耐冲击、性能稳定。

2设计方案及原理

图1设计原理图

列驱动器 电源 单 片 机 驱动行器 16X16LED显示点阵 图文显示一般有静态和动态显示两种方案,静态方案虽然设计简单,但其使用的管脚太多,如本设计中16x16的点阵共有256个发光二极管,显然单片机没有这么多的端口,如果我采用锁存器来扩展端口,按8位的锁存器来计算,16x16的点阵需要256/8=32个锁存器。这个数字很庞大,因为我们仅仅是16x16的点阵,在实际应用中的显示屏往往要大得多,这样在锁存器上花的成本将是一个很庞大的数字。因此在实际应用中的显示屏几乎都不采用这种设计,而采用另外一种称为动态扫描的显示方法。

1

单片机原理及系统课程设计报告

3硬件设计

3.1 电源、单片机系统及其管脚

3.1.1电源部分

说明:此部分为为电源部分。若电源为家用电源,则需经过降压,整流滤波,稳压等步骤得到一个稳定的5V电压,此电压可作为主电路的电压源。电路中二极管为电源指示灯。

图2 电源仿真图

3.1.2单片机系统及其管脚

常用的时钟电路设计有两种方式,一种是内部时钟方式,一种是外部时钟方式。本实验采用内部时钟方式,将XTAL1与XTAL2之间跨接一个石英晶振和微调电容,从而构成一个稳定的自激震荡器。电容值取30pF左右,其大小将影响震荡频率的高低、振荡器的稳定性和起振的快速性。为减少线间的寄生电容,晶振和电容应尽能安装得与单片机靠近,保证晶振稳定可靠的工作。

单片机信号输出采用串行输出,因此在下一模块的移位寄存器要与该部分的串行口P3.0(RXD)及P3.1(TXD)相连 其图形如下图3 3.2点阵及其驱动部分

点阵显示用是动的态扫描来实现的。在采用扫描方式显示时,由于每行要带动十六个二极管,每行电流较大。若每个二极管安5mA计算,十六个二极管就得80mA电流,超出单片机管脚的承受范围,因此每行都加有一个驱动器,本设计的行驱动用的是十六个pnp型三极管。三极管的发射极接5V电压,集电极接点阵的行线,而其基级本应接单片机,但该接线方式占用为了16个单片机管脚,为了节省单片机管脚,用了一片74LS154译码器,这样就只需要3个管脚了。74LS154的管脚图及其说明如图4。点阵及其驱动部分总体接线图如图5(未画完整)。

2

单片机原理及系统课程设计报告

图3 单片机接线图

图4 单片机管脚图

图5 点阵及其驱动

3

单片机原理及系统课程设计报告

4软件设计

本软件要求实现如下要求:汉字要稳定、明亮并且文字要以一定速度上升滚动显示。 4.1显示驱动程序

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

刷频率(帧频)=1/16×T0溢=1/16×f/12(65536-t) 其中f位晶振频率,t为定时器T0初值(工作在16位定时器模式)

图6为显示驱动程序(显示屏扫描函数)流程图

进入中断定时器赋初值读取行号并加1送新行显示数据消隐切换显示数据发送新行号,打开显示退出中断

图6 驱动程序流程图

4

单片机原理及系统课程设计报告

4.2系统主程序

本设计的系统软件能使系统LED显示屏各点亮度均匀、充足,可显示图形和文字,显示图形和文字应稳定、清晰无串扰。图形或文字显示有静止、移入移出等显示方式。

开始系统初始化“卷帘出”显示效果“上滚屏”显示效果“卷帘入”显示效果

图7 系统流程图

4.3系统调试

调试主要分为硬件调试和软件调试

硬件调试:在焊接电路板的时候,应该从最基本的最小系统开始,分模块,逐个进行焊接测试。在对各个硬件模块进行测试时,要保证软件正确的情况下去测试硬件,要不然发生错误时,不知道到底是哪一方出错了。当然,在设计的过程中也存在着失误和不足,在调试中进行修改了。焊接完成后,检验点阵、及线路的好坏:烧进检验程序,点阵将自第一排向下(上)点亮。检验无异常,下载主程序

软件调试:软件为老师所提供提供,其原理在上一模块以作说明,在这里 再作说明,软件经调试无误,直接将其下再到单片机中,看是否达到所要的效果 软件部分是先参考书上的例子,然后自己根据硬件电路写程序。

5

单片机原理及系统课程设计报告

5总结

本文设计的6x16的点阵LED图文显示屏,能够在目测条件下LED显示屏各点亮度均匀、充足,可显示图形和文字,显示的图形和文字较稳定、清晰。图形或文字向上滚动显示。本系统具有硬件少,结构简单,容易实现,性能稳定可靠,成本低等特点。

6参考文献

[1] 刘欣铭,张广斌.LED显示屏技术综述[J].黑龙江电力,2003. [2] 阳进.基于单片机的LED显示屏的汉字显示[J].中国科技信息,2005.

[3] Mark Nelson著.潇湘工作室译.串行通信开发指南[M].中国水利水电出版社,2002. [4] 王宜怀.单片机原理及其嵌入式应用教程[M].北京希望电子出版社,2002. [5] 韩润萍,陈小萍.点阵LED显示屏控制系统[J].微计算机信息,2003.

6

单片机原理及系统课程设计报告

7附录

源程序

***************************************

; * * ; * 单个16x16的点阵电子屏字符显示器 * ; * ATA89C52 12MHz晶振 * ; * 2004.2.11 LRM * ; *************************************** ;显示字用查表法,不占用内存,字符用16x16共阳LED点阵, ;效果:向上滚动显示5个字,再重复循环。

;R1:查表偏址寄存器,B:查表首址,R2:扫描地址(从00~0FH)。 ;R3:滚动显示时控制移动速度,单字显示可控制静止显示的时间。 ;*************; ;中断入口程序 ; ;*************; ;

ORG 0000H LJMP START ORG 0003H RETI

ORG 000BH LJMP INTTO ORG 0013H ERTI

ORG 001BH ERTI

ORG 0023H RETI

ORG 002BH RETI ;

;***********; ;初始化程序; ;***********; ; ;

;***********; ; 主程序 ; ;***********; ;

START: MOV 20H,#00H ;清零标志,00H为第16行开始扫描标

7

单片机原理及系统课程设计报告

志,01为1帧

;扫描结束标志 MOV A,#0FFH ;端口初始化 MOV P1,A MOV P1,A MOV P3,A MOV P0,A

CLR P1.6 ;串行寄存器输入打入输出控制位

MOV TMOD,#01H ;使用T0做16位定时器,行扫描用。 MOV TH0,#0FCH ;1ms初值(12MHz) MOV TL0,#18H

MOV SCON,#00H ;串口0方式传送显示字节 MOV IE,#82H ;T0中断允许,总中断允许 MOV SP,#70H

MAIN: LCALL DISI ;显示准备,黑屏,1.5s MOV DPTR,#TAB

LCALL MOVDISP ;向上滚动显示一页(8个字) INC DPH

LCALL MOVDISP ;向上滚动显示一页(8个字) INC DPH

LACLL MOVDISP ;向上滚动显示一页(8个字) AJMP MAIN ; ;

;***********************; ; 多字滚动显示程序 ; ;***********************;

;每次8个字,入口时定义好DPTR值 ;

MOVDISP: MOV B,#00H ;向上移动显示,查表偏值暂存(从00开始)

DISLOOP: MOV R3,#07H ;移动速度 DISMOV: MOV R2,00H ;第0行开始 MOV R1,B

SETB TR0 ;开扫描(每次一帧)

WAITMOV: JBC 01H,DISMOV1 ;标志为1扫描一帧结束(16ms为1帧,每行1ms)

AJMP WAITMOV

DISMOV1: DJNZ R3,DISMOV ;1帧重复显示(控制移动速度) INC B ;显示字的下一行(每行2字节) INC B

MOV A,R1 ;R1为0,8个字显示完

8

单片机原理及系统课程设计报告

JZ MOVOUT AJMP DISLOOP

MOVOUT: RET ;移动先是结束 ; ;

;****************; ; 单字显示程序 ; ;****************; ;显示表中某个字; ;****************;

DIS1: MOV R3,#5AH ;静止显示时间控制(16ms*#=1.6s) DIS11: MOV R2,#00H ;一帧扫描初始值(行地址从00~0FH) MOV DPTR,#TAB ;取表首址

MOV R1,#00H ;查表偏址(显示第一个字) SETB TR0 ;开扫描(每次一帧)

WAIT11: JBC 01H,DIS111 ;为1,扫描一帧结束 AJMP WAIT11

DIS111: DJNZ R3,DIS11 RET ; ;

;************; ; 扫描程序 ; ;************;

;1ms刷新一次,每行显示1s INTT0: PUSH ACC

MOV TH0,#0FCH ;1ms初值重装 MOV TL0,#18H

JBC 00H,GOEND ;16行扫描标志为1,结束 INC R1 ;取行右边字节偏址 MOV A,R1

MOVC A,@A+DPTR ;查表

MOV SBUF,A ;串口0方式发送

WAIT: JBC TI,GO ;等待发送完毕 AJMP WAIT1

GO: DEC R1 ;取行左边字节偏址 MOV A,R1

MOVC A,@A+DPTR MOV SBUF,A

WAIT1: JBC T1,GO1 AJMP WAIT1

GO1: SETB P1.7 ;关行显示,准备刷新

9

单片机原理及系统课程设计报告

NOP ;串口寄存器数据稳定

SETB P1.6 ;产生上升沿,行数据打入输出端 NOP NOP

CLR P1.6 ;恢复低电平

MOV A,R2 ;修改显示行地址 ORL A,#0F0H ;修改显示行地址 MOV R2,A ;修改显示行地址 MOV A,P1 ;修改显示行地址 ORL A,#0FH ;修改显示行地址 ANL A,R2 ;修改显示行地址 MOV P1,A ;修改完成 CLR P1.7 ;开行显示

INC R2 ;下一行扫描地址值 INC R1

INC R1 ;下一行数据地址 MOV A,R2 ANL A,#0FH JNZ GO2

SETB 00H ;R2为01H,现为末行扫描,置标志 GO2: POP ACC RETI

GOEND: CLR TR0 ;一帧扫描完毕,关扫描 SETB 01H ;一帧扫描完毕,置结束标志 POP ACC

RETI ;退出 ; ;

;***************; ; 扫描文字表 ; ;***************; ;

TAB:DB

0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,00FFH,0FFH,0FFH;黑屏

DB

0F9H,0BFH,0C7H,0AFH,0F7H,0B7H,0F7H,0B7H,0F7H,0BFH,000H,001H,0F7H,0BFH,0F7H,0B7H;我

DB

0F1H,0D7H,0C7H,0CFH,037H,0DFH,0F7H,0AFH,0F6H,06DH,0F7H,0F5H,0D7H,0F9H,0EFH,0FDH;

DB

10

单片机原理及系统课程设计报告

0FFH,007H,0C0H,06FH,0EDH,0EFH,0F6H,0DFH,0C0H,001H,0DDH,0FDH,0BDH,0FFH,0C0H,003H;爱

DB

0FBH,0FFH,0F8H,00FH,0F3H,0DFH,0F4H,0BFH,0EFH,03FH,09CH,0CFH,073H,0F1H,0CFH,0FBH;

DB

0F7H,0DFH,0F9H,0CFH,0FBH,0BFH,0C0H,007H,0DEH,0F7H,0C0H,007H,0DEH,0F7H,0DEH,0F7H;单

DB

0C0H,007H,0DEH,0F7H,0FEH,0FFH,000H,001H,0FEH,0FFH,0FEH,0FFH,0FEH,0FFH,0FEH,0FFH

DB

0FFH,0BFH,0EFH,0BFH,0EFH,0BFH,0EFH,0BBH,0E0H,001H,0EFH,0FFH,0EFH,0FFH,0EFH,0FFH;片

DB

0E0H,00FH,0EFH,0EFH,0EFH,0EFH,0EFH,0EFH,0DFH,0EFH,0DFH,0EFH,0BFH,0EFH,07FH,0FFH

DB

0EFH,0FFH,0EFH,007H,0EFH,077H,001H,077H,0EFH,077H,0EFH,077H,0C7H,077H,0CBH,077H;机

DB

0ABH,077H,0AFH,077H,06EH,0F7H,0EEH,0F5H,0EDH,0F5H,0EDH,0F5H,0EBH,0F9H,0EFH,0FFH;

DB

0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH;黑屏

DB

0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH;

END

11

因篇幅问题不能全部显示,请点此查看更多更全内容

Top