单片机课程设计点阵显示器报告_第1页
单片机课程设计点阵显示器报告_第2页
单片机课程设计点阵显示器报告_第3页
单片机课程设计点阵显示器报告_第4页
单片机课程设计点阵显示器报告_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、大连民族学院机电信息工程学院自动化系单片机系统课程设计报告 题 目:点阵显示器专 业:自动化班 级:自动化101班学生姓名:指导教师:赵凤强,张艳设计完成日期: 2012年 11月30日课程设计任务书题目: 点阵显示器课程设计时间: 2012.11.122012.11.30一、设计任务 设计一个16×16的LED点阵图文显示屏,可显示图形和文字,显示图形和文字应稳定、清晰,各点亮度均匀。图形和文字显示有静态、移入和移出等显示方式。掉电时能保存显示的信息。二、设计内容及要求 系统设计的方案; 过程通道的设计; 系统软件设计与实现; 需要的详细材料和工具清单; 设计的性能指标; 撰写设计

2、报告; 资料归档。三、设计重点过程通道设计;系统软件设计、调试。四、课程设计进度要求 12.11.1212.11.13 系统方案设计; 12.11.1412.11.15过程通道设计; 12.11.16 完成系统硬件设计,提交材料清单; 12.11.1912.6.23 系统硬件焊接和软硬件调试; 12.11.2612.6.28 完善系统设计,撰写设计报告; 12.11.28 成果验收; 12.11.30 答辩。目 录1 设计分析和性能指标.41.1设计任务41.2任务分析42 设计方案52.1方案论证52.2总体方案设计框图63 硬件介绍73.1单片机系统及其外围电路7 3.1.1单片机管脚说明

3、73.3行驱动电路93.4 点阵显示原理10 3.4.1点阵模块10 3.4.2LED驱动显示103.5系统的总体电路114 软件设计124.1 显示驱动程序134.2系统主程序135 系统调试145.1软件调试145.2硬件调试146 设计总结16参考文献17附录 源程序181 任务分析和性能指标1.1设计任务设计一个16×16的LED点阵图文显示屏,可显示图形和文字,显示图形和文字应稳定、清晰,各点亮度均匀。图形和文字显示有静态、移入和移出等显示方式。掉电时能保存显示的信息。1.2任务分析LED显示屏是利用发光二极管点阵模块或像素单元组成的平面式显示屏幕。它具有发光效率高、使用寿

4、命长、组态灵活、色彩丰富以及对室内外环境适应能力强等优点。并广泛的应用于公交汽车,码头,商店,学校和银行等公共场合的信息发布和广告宣传。LED显示屏经历了从单色,双色图文显示屏到现在的全彩色视频显示屏的发展过程,自20世纪八十年代开始,LED显示屏的应用领域已经遍布交通、电信、教育、证券、广告宣传等各方面。19 / 20文档可自由编辑打印2 设计方案2.1方案论证16×16的点阵显示屏共有256个发光二极管,显然单片机没有这么多端口,如果我们采用锁存器来扩展端口,按8位的锁存器来计算,16×16的点阵需要256/8=32个锁存器。这个数字很庞大,因为我们仅仅是16×

5、;16的点阵,在实际应用中的显示屏往往要大的多,这样在锁存器上花的成本将是一个很庞大的数字。因此在实际应用中的显示屏几乎都不采用这种设计,而采用另一种称为动态扫描的显示方法。动态扫描的意思简单地说就是逐行轮流点亮,这样扫描驱动电路就可以实现多行(比如16行)的同名列共用一套列驱动器。具体就16×16的点阵来说,我们把所有同一行的发光管的阳极连在一起,把所有同一列的发光管的阴极连在一起(共阳的接法),先送出对应第一行发光管亮灭的数据并锁存,然后选通第一行使其燃亮一定的时间,然后熄灭;再送出第二行的数据并锁存,然后选通第二行使其燃亮相同的时间,然后熄灭; 第十六行之后又重新燃亮第一行,这

6、样反复轮回。当这样轮回的速度足够快(每秒24次以上),由于人眼的视觉暂留现象,我们就能看到显示屏上稳定的图形了。采用串行传输的方法,控制电路可以只用一根信号线,将列数据一位一位传往列驱动器,在硬件方面无疑是十分经济的。但是,串行传输过程较长,数据按顺序一位一位地输出给列驱动器,只有当一行的各列数据都已传输到位之后,这一行的各列才能并行地进行显示。这样,对于一行的显示过程就可以分解成列数据准备(传输)和列数据显示两个部分。对于串行传输方式来说,列数据准备时间可能相当长,在行扫描周期确定的情况下,留给行显示的时间就太少了,以至影响到LED的亮度。解决串行传输中列数据准备和列数据显示的时间矛盾问题,

7、可以采用重叠处理的方法。即在显示本行各列数据的同时,传送下一行的列数据。为了达到重叠处理的目的,列数据的显示就需要具有锁存功能。经过上述分析,可以归纳出列驱动器电路应具备的主要功能。对于列数据准备来说,它应能实现串入并出的移位功能;对于列数据显示来说,应具有并行锁存的功能。这样,本行已准备好的数据打入并行锁存器进行显示时,串并移位寄存器就可以准备下一行的列数据,而不会影响本行的显示。2.2总体方案设计框图图2.1系统的总体框图3 硬件介绍3.1单片机系统及其外围电路3.1.1单片机管脚说明VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流P1

8、口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。 P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。 P3口也可作为AT89C51的一些特殊功能,如下 图3.1单片机管脚列所示:P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(记时器0外部输入)P3.5 T1(记时器1外部输入

9、)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。PSEN:外部程序存储器的选通信号EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出3.1.2复位电路当开关不闭合式 ,为低电平此时不复位。当开关闭合时,电

10、源提供电压使RST为高电平,则单片机复位。图3.1单片机复位电路3.1.3时钟电路单片机的最小系统如下图所示,18引脚和19引脚接时钟电路,X1接外部晶振和微调电容的一端,在片内它是振荡器倒相放大器的输入,X2接外部晶振和微调电容的另一端,在片内它是振荡器倒相放大器的输出9。第9引脚为复位输入端,接上电容,电阻及开关后够上电复位电路,20引脚为接地端,40引脚为电源端时钟电路。图3.2时钟电路3.2列驱列电路列驱动有集成电路74HC595构成。它具有一个8位串入并出的移位寄存器和一个8位输出锁存器的结构动电路,两片595级联构成此电路。图3.3列驱动电路3.3行驱动电路 单片机P1口低4位输出

11、的行号经4/16线译码器74LS154译码后生成16条行选通信号线,再经过驱动器驱动对应的行线。一条行线上要带动16列的LED进行显示。图3.4行驱动电路3.4 点阵显示原理3.4.1点阵模块四个8×8的点阵构成一个16×16的点阵共由256个LED构成。如果LED的阴极与行相连而阳极与列相连那么只要给该LED对应的行以低电平列以高电平那么对应的LED就发光。 图5画出了可显示一个汉字的16×16的点阵屏模块。这种模块由256个发光LED以16×16的形式构成一个正方形模块 然后引出2列16针的引脚将内部电路接口引出供驱动电路使用。图 5 四块8

12、5;8的LED点阵组成16×16的LED点阵3.4.2LED驱动显示 LED驱动显示采用动态扫描方法,动态扫描方式是逐行轮流点亮,这样扫描驱动电路就可以实现多行的同名列共用一套列驱动器。以16×16点阵为例,把所有同一行的发光管的阳极连在一起,把所有同一列的发光管的阴极连在一起(共阳的接法),先送出对应第1行发光管亮灭的数据并锁存,然后选通第1行使其燃亮一定的时间,然后熄灭;再送出第2行的数据并锁存,然后选通第2行使其燃亮相同的时间,然后熄灭;.第16行之后,又重新燃亮第1行,反复轮回。3.5系统的总体电路图6总体电路图4 软件设计此设计的主要功能是向屏体提供显示数据,并产

13、生各种控制信号,使屏幕按设计的要求显示,显示驱动程序负责向屏体送显示数据,并负责产生行扫描信号和其它控制信号,配合完成LED显示屏的扫描显示工作。显示驱动程序由定时器T0中断程序实现。系统应用程序完成系统环境设置(初始化)、显示效果处理等工作,由主程序来实现。 所有的程序都采用汇编语言编写。4.1 显示驱动程序示驱动程序在进入中断后首先要对定时器T0重新赋初值,以保证显示屏刷新率的稳定,1/16扫描显示屏的刷新率(帧频)计算公式如下:刷频率(帧频)=1/16×T0溢出率=1/16×f/12(65536-t) 其中f位晶振频率,t为定时器T0初值(工作在16位定时器模式)。然

14、后显示驱动程序查询当前燃亮的行号,从显示缓存区内读取下一行的显示数据,并通过串口发送给移位寄存器。为消除在切换行显示数据的时候产生拖尾现象,驱动程序先要关闭显示屏,即消隐,等显示数据打入输出锁存器并锁存,然后再输出新的行号,重新打开显示。图7为显示驱动程序(显示屏扫描函数)流程图。 图7 显示驱动程序流程图4.2系统主程序本设计的系统软件能使系统LED显示屏各点亮度均匀、充足,可显示文字,显文字应稳定、清晰无串扰。文字显示有应该逐字显示。 图8系统的主程序流程图5 系统调试5.1软件调试长时间没用单片机汇编语言,而这个系统在编写程序过程中都采用汇编语言编写。刚刚开始,编写不会一次性通过,经过仔

15、细分析修改最后编译成功。但是,在实际写如S51中,LED显示屏出现各种各样的乱码,通过再次认真仔细分析,多次修改程序后能正常运行。protuse软件仿真及调试可以很清楚的顺次显示出“机电信息工程”六个字,但是显示的每个字停留的时间过短,通过改变程序中的静止显示时间控制,来延长显示时间,问题得到解决。5.2硬件调试在焊接电路板的时候,应该从最基本的最小系统开始,分模块,逐个进行焊接测试,16×16点阵LED电子显示屏的电路系统较小,但是线路颇为麻烦,特别是在焊接点阵屏时,庞大的电路系统中只要出现一处的错误,则会对整个电路带来麻烦且对检测造成很大的不便,而且电路的交线较多,对于各种锋利的

16、引脚要注意处理,否则会刺破带有包皮的导线,则会对电路造成短路现象。等到完全按照仿真电路焊接完各个部分时,调试时没有出现字符显示,用万用表再三检测各点是否短路时,也不曾发现问题,没有一个点是虚焊状态。但是调试时就是不出现现象。后来经过多次尝试,问题仍是得不到解决。硬件显示失败。6 设计总结硬件电路焊接不是问题,因为在去年 电子工业实习中,我们已经熟练掌握焊接这门技艺,所以在这次试验中,焊接工作进行的十分顺利,在焊接的过程中没有出现虚焊和错焊的问题。在焊接板子之前需要弄懂88点阵的结构,需要弄懂怎么样将4个88点阵并成一个1616的点阵,这是我初次接触,需要努力的去分析,经过我们大家共同的研究我们

17、没有把行列接错,这点我们很开心,因为如果接错,这个重新焊接的过程将非常庞大。焊接板子过程中需要考虑布局,怎么样布局能让板子焊接起来轻松点并且美观点。我们经过规划,成品看起来十分美观,没有线路纠缠错乱的请况。不过最令人沮丧的是我们虽说焊完了,但是最后一步硬件调试却没有出现该出的现象,虽说我们用万用表反复检查仍然没有解决问题。我认为可能是我们的学习过程中缺乏实践,导致调试过程不成功,所以在以后的学习过程中,我们应该加强此方面的训练。参考文献1 任涛等.闪速存储器数据及应用简明速查手册.电子工业出版社,1997 2 张毅刚等.MCS-51单片机应用设计.哈尔滨工业电子出版社,1996 3 邬宽明.单

18、片机外围器件实用手册.北京航空航天大学出版社,19984 张凯.LED介绍完全手册.北京航空航天大学出版社,2000 5 张友德等.单片微型机原理应用与实验.复旦大学出6 郭文川.单片机原理与接口技术.中国农业出版社,20077 周景润. Proteus在MCS-51&ARM7系统中的应用百例M.电子工业出版社,20068 马忠梅等.单片机的C语言应用程序设计M.北京航空航天大学出版社,20069 何立民.MCS-51系列单片机应用系统设计与接口技术.北京航空航天大学出版社,1990.10 何立民.单片机应用技术选编.北京航空航天大学出版社,200011 张新成.杨志邦.c语言程序设计

19、.河南科学技术出版社,200912 余发山.王福忠.单片机原理及应用技术.中国矿大出版社,200413 课程组.单片机与案例一接口技术.大连民族学院14 韩桂英.数字电子技术.清华大学出版社,2011附录 源程序 ORG 0000HLJMP STARTORG 0003HRETIORG 000BHLJMP INTT0ORG 0013HRETIORG 001BHRETIORG 0023HRETIORG 002BHRETI;*; 初始化程序 ;*;*; 主程序 ;*;START: MOV 20H,#00H ;清标志,00H为第16行开始扫描标志,01为1帧扫描结束标志 MOV A,#0FFH ;端口

20、初始化 MOV P1,A MOV P2,A MOV P3,A MOV P0,#0ffh 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,#70HMAIN: LCALL DIS1 ;显示准备,黑屏,1.5秒 MOV DPTR,#TAB LCALL MOVDISP ;向上滚动显示一页(8个字) INC DPH LCALL MOVDI

21、SP ;向上滚动显示一页(8个字) INC DPH LCALL 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扫描一帧结束(16毫秒为1帧,每行1毫秒) AJMP WAITMOVDISMOV1: DJNZ

22、 R3,DISMOV ;1帧重复显示(控制移动速度) INC B ;显示字的下一行(每行2字节) INC B ; MOV A,R1 ;R1为0,8个字显示完 JZ MOVOUT ; AJMP DISLOOP ;MOVOUT: RET ;移动显示结束;*; 单字显示子程序 ;*;显示表中某个字DIS1: MOV R3,#6AH ;静止显示时间控制(16MS*#=1.6秒)DIS11 MOV R2,#00H ;一帧扫描初始值(行地址从00-0FH) MOV DPTR,#TAB ;取表首址 MOV R1,#00H ;查表偏址(显示第一个字) SETB TR0 ;开扫描(每次一帧)WAIT11: JB

23、C 01H,DIS111 ;为1,扫描一帧结束 AJMP WAIT11DIS111: DJNZ R3,DIS11 RET;*; 扫描程序 ;*;1MS刷新一次,每行显示1秒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 WAIT ;GO: DEC R1 ;取行左边字节偏址 MOV A,R1 MOVC A

24、,A+DPTR MOV SBUF,AWAIT1: JBC TI,GO1 AJMP WAIT1GO1: SETB P1.7 ;关行显示,准备刷新 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 ;下一行扫描地址值

25、 INC R1 ; INC R1 ;下一行数据地址 MOV A,R2 ANL A,#0FH JNZ GO2 SETB 00H ;R2为10H,现为末行扫描,置标志GO2: POP ACC RETIGOEND: CLR TR0 ;一帧扫描完,关扫描 SETB 01H ;一帧扫描完,置结束标志 POP ACC RETI ;退出;*; 扫描文字表 ;*;TAB: db 08H,20H,08H,0C0H,0BH,00H,0FFH,0FFHdb 09H,01H,08H,82H,00H,04H,3FH,0F8Hdb 20H,00H,20H,00H,20H,00H,7FH,0FCHdb 20H,02H,00H,02H,00H,0EH,00H,00H db 00H,00H,1FH,0E0H,12H,40H,12H,40Hdb 12H,40H,12H,40H,0FFH,0FCH,12H,42Hdb 12H,42H,12H,42H,12H,42H,3FH,0E2Hdb 10H,02H,00H,0EH,00H,00H,00H,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论