单片机原理及系统课程设计
专 业: 电气工程及其自动化 班 级: 电气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
因篇幅问题不能全部显示,请点此查看更多更全内容