版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、引言led显示屏是一种通过控制半导体发光二极管的显示方式,用来显示文字、图形、图像、动画、行情、视频、录像信号等各种信息的显示屏幕。图文显示屏可与计算机同步显示汉字、英文文本和图形;视频显示屏采用微型计算机进行控制,图文、图像并茂,以实时、同步、清晰的信息传播方式播放各种信息,还可显示二维、三维动画、录像、电视、vcd节目以及现场实况。led显示屏显示画面色彩鲜艳,立体感强,静如油画,动如电影,广泛应用于车站、码头、机场、商场、医院、宾馆、银行、证券市场、建筑市场、拍卖行、工业企业管理和其它公共场所。在实际应用中的显示屏由于成本和可靠性的因素常采用一种称为动态扫描的显示方法。本文设计的是一个室
2、内用1616的点阵led图文显示屏,图形或文字显示有逐字显示、向上滚动、向左滚动等显示方式。它的优点:亮度高、工作电压低、功耗小、微型化、易与集成电路匹配、驱动简单、寿命长、耐冲击、性能稳定。第一章 设计要求与方案论证1.1 设计要求设计一个1616点阵led字符显示器,要求如下:显示器采用at89s52单片机作控制器,12mhz晶振,1616点阵共阳led显示器。1616点阵led字符显示器能显示“电气自动化”五个文字。显示方式可由s1、s2和s3选择,s1为逐字显示,s2为向上滚动显示,和s3为向左滚动显示。1.2 系统基本方案的选择和论证1.2.1 核心电路的选择方案一: 采用89c51
3、单片机采用89c51作为硬件核心,内部具有4kb flash rom存储空间,能运用于3v的超低压工作,而且与mcs-51系列单片机完全兼容,但是运用于电路设计中时由于不具有isp在线编程技术,当在对电路进行调试时,由于程序的过错修正或对程序的新增功能需要烧入程序时,对芯片的多次插拔会对芯片造成必定的损坏。方案二: 采用8051单片机: 8051单片机最早由intel公司推出, 内部具有4kb rom存储空间。其后多家公司购买了8051的内核,使得以8051为内核的mcu系列单片机在世界上产量最大,应用也最广泛。有人推测8051可能最终形成事实上的标准mcu芯片。lg公司生产的gms90系列单
4、片机,与intel mcs-51系列、atmel 89c51/52,89c2051等单片机兼容,cmos技术,高达40mhz的时钟频率。应用于:多功能电话,智能传感器,电度表,工业控制,防盗报警装置,各种计费器,各种ic卡装置、dvd、vcd、cd-rom。 方案三: 采用at89s52单片机at89s52 是一种低功耗、高性能cmos8位微控制器,具有8k在系统可编程flash存储器。使用atmel公司高密度非 易失性存储器技术制造,与工业80c51 产品指令和引脚完全兼容。片上flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位cpu和在系统可编程flash,
5、使得at89s52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。该芯片且具备在线编程可擦除技术,当在对电路停止调试时,因为顺序的过错修正或对步伐的新删功能需要烧进程序时,没有需要对芯片屡次拔插,所以不会对芯片形成破坏。本次设计选择采用at89s52单片机作为主控制系统。1.2.2 显示模块选择方案和论证方案一:使用液晶屏显示液晶显示屏(lcd)具有轻薄短小、低耗电量、无辐射危险,平面直角显示以及影像稳定不闪烁等优势,可视面积大,画面效果好,分辨率高,抗干扰能力强的特点。但由于只需要显示时间和转向、相数这样的数字,信息量比较少,且由于液晶是以点阵的模式显示各种符号,需要利用控制芯片创建字
6、符库,编程工作量大,控制器的资源占用较多,其成本也偏高。在使用时,不能有静电干扰,否则易烧坏液晶显示芯片,不易维护。 方案二: 使用传统的数码管显示数码管具有低能耗、低损耗、低压、寿命长、耐老化、防晒、防潮、防火、防高(低)温,对外界环境要求低,易于维护,同时其精度高,称量快,精确可靠,操作简单。数码显示是采用bcd编码显示数字,程序编译容易,资源占用较少。但实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。方案三:led显示led显示屏可以显示变化的数字、文字、图形图像。它不仅可以用于室内环境还可以用于室外环境,具有投影仪、电视墙、液晶显示屏无法比拟的优点。led本身优点有:亮度
7、高、工作电压低、功耗小、小型化、寿命长、耐冲击和性能稳定。它的显示方式有静态、横向滚动、垂直滚动和翻页显示等。单块模块控制驱动12块(最多可控制24块)8x8点阵,共16x48点阵(或32x48点阵),是单块max7219(或ps7219、hd7279、zlg7289及8279等类似led显示驱动模块)的12倍(或24倍)!可采用“级联”的方式组成任意点阵大显示屏。显示效果好,功耗小。根据以上的论述,本次设计采用方案三。1.2.3 led驱动模块选择方案和论证由于单片机或cpu的数据/地址/控制总线端口都有一定的负载能力,如果负载超过其负载能力,一般应加驱动器。1、行驱动模块 行驱动模块采用译
8、码器,在中规模集成电路中译码器有几种型号,使用最广的通常是74ls138,其是一个3输入8输出的译码器。但对于16*16点阵来说,它需要16个输出,所以如果用138译码器,必须要2个芯片。为了设计过程中制作方便,本次设计采用74ls154,其是一个4输入16输出的译码器,而且功能和138译码器一样。2、列驱动模块方案一:采用74hc59574hc595是硅结构的cmos器件,兼容低电压ttl电路,遵守jedec标准。 74hc595是具有8位移位寄存器和一个存储器,三态输出功能。移位寄存器和存储器是分别的时钟。其特点具有8位串行输入、/8位串行或并行输出和存储状态寄存器三种状态,其输出寄存器(
9、三态输出:就是具有高电平、低电平和高阻抗三种输出状态的门电路。)可以直接清除 100mhz的移位频率。其输出能力为并行输出,总线驱动;串行输出;是一个标准中等规模集成电路。方案二:采用74ac57374ac573是八进制 3 态非反转透明锁存器,输入是和标准 cmos 输出兼容的;加上拉电阻,他们能和 ls/alsttl 输出兼容。当锁存使能端le为高时,这些器件的锁存对于数据是透明的(也就是说输出同步)。当锁存使能变低时,符合建立时间和保持时间的数据会被锁存。方案三:采用74hc245为了保护脆弱的主控芯片,通常在主控芯片的并行接口与外部受控设备的并行接口间添加缓冲器。74hc245是方向可
10、控的八路缓冲器,主要用于实现数据总线的双向异步通信。当主控芯片与受控设备之间需要实现双向异步通信时,自然就得选用双向的八路缓冲器了,245就是面向这种需求的。常见于同并口液晶屏、并口打印机、并口传感器或通讯模块等设备的接口上。根据以上的论述,本次设计行驱动采用78ls154译码器,列驱动采用方案一74hc595。第二章 系统的硬件设计2.1 硬件系统的总体设计 根据设计要求与设计方案,硬件电路的设计框图如图2-1所示。硬件电路结构由8个部分组成:时钟电路、复位电路、按键接口电路、电源电路、点阵显示行线驱动电路、点阵显示列线驱动电路和1616点阵显示器。图2-1 硬件电路的设计框图2.2 单片机
11、at89s52的分析 由于at89s52片内有8k的flash程序存储器,并且io口可直接驱动点阵显示器,所以由它组成小系统硬件非常简单。 2.2.1 性能说明与mcs-51 兼容8k字节可编程闪烁存储器 寿命:1000写/擦循环 数据保留时间:10年全静态工作:0hz-24hz三级程序存储器锁定256*8位内部ram 32可编程i/o线 两个16位定时器/计数器一个数据指针dptr 图2-2 at89s52 引脚图8个中断源 可编程全双工串行通道低功耗的闲置和掉电模式片内振荡器和时钟电路2.2.2管脚说明 at89s52的管脚如图2-2所示,下列重点介绍其管脚功能。 vcc:供电电压。 vs
12、s:接地。 p0口:p0口为一个8位漏级开路双向i/o口,每脚可吸收8ttl门电流。当p1口的管脚第一次写1时,被定义为高阻输入。p0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在fiash编程时,p0 口作为原码输入口,当fiash进行校验时,p0输出原码,此时p0外部必须被拉高。 p1口:p1口是一个内部提供上拉电阻的8位双向i/o口,p1口缓冲器能接收输出4ttl门电流。p1口管脚写入1后,被内部上拉为高,可用作输入,p1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在flash编程和校验时,p1口作为第八位地址接收。 p2口:p2口为一个内部上拉电阻的8
13、位双向i/o口,p2口缓冲器可接收,输出4个ttl门电流,当p2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,p2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。p2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,p2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,p2口输出其特殊功能寄存器的内容。p2口在flash编程和校验时接收高八位地址信号和控制信号。 p3口:p3口管脚是8个带内部上拉电阻的双向i/o口,可接收输出4个ttl门电流。当p3口写入“1”后,它们被内部上拉为高电平,并用作输入。作
14、为输入,由于外部下拉为低电平,p3口将输出电流(ill)这是由于上拉的缘故。 p3口也可作为at89c51的一些特殊功能口,如下所示:p3.0 rxd(串行输入口)p3.1 txd(串行输出口)p3.2 (外部中断0)p3.3 (外部中断1)p3.4 t0(定时器0外部输入)p3.5 t1(定时器1外部输入)p3.6 (外部数据存储器写选通)p3.7 (外部数据存储器读选通)p3口同时为闪烁编程和编程校验接收一些控制信号。 rst:复位输入。当振荡器复位器件时,要保持rst脚两个机器周期的高电平时间。 ale/prog:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在fla
15、sh编程期间,此引脚用于输入编程脉冲。在平时,ale端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ale脉冲。如想禁止ale的输出可在sfr8eh地址上置0。此时,ale只有在执行movx,movc指令是ale才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ale禁止,置位无效。 :外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次有效。但在访问外部数据存储器时,这两次有效的信号将不出现。 /vpp:当保持低电平时,则在此期间外部程序存储器(0000h
16、ffffh),不管是否有内部程序存储器。注意加密方式1时,将内部锁定为reset;当端保持高电平时,此间内部程序存储器。在flash编程期间,此引脚也用于施加12v编程电源(vpp)。 xtal1:反向振荡放大器的输入及内部时钟工作电路的输入。xtal2:来自反向振荡器的输出。2.2.3 单片机最小系统设计1、各部分具体电路(1)单片机的时钟电路 at89s52单片机内部的振荡电路是一个高增益反向放大器,引线xtal1和xtal2分别是放大器的输入端和输出端。单片机内部虽然有振荡电路,但要形成时钟,外部还需附加电路。at89s52的时钟产生方式有两种:内部时钟电方式和外部时钟方式。由于外部时钟
17、方式用于多片单片机组成的系统中,所以此处选用内部时钟方式。内部时钟方式:利用其内部的振荡电路在xtal1和xtal2引线上外接定时元件,内部振荡电路产生自激振荡。最常用的是在 xtal1和xtal2之间接晶体振荡器与电路构成稳定的自激振荡器,如图2-3电路所示为单片机最常用的时钟振荡电路的接法,其中晶振可选用振荡频率为12mhz的石英晶体,电容器一般选择30pf左右。图2-3使用片内振荡电路的时钟电路 图2-4 at89s52的上电复位电路(2)单片机的复位电路at89s52单片机在启动运行时或者出现死机时需要复位,使cpu以及其他功能部件处于一个确定的初始状态,并从这个状态开始工作。单片机有
18、多种复位方式,常用的复位操作有上电复位和手动复位方式。本设计采用最简单的上电复位方式,电路如图2-4所示。上电复位是通过外部复位电路的电容充电来实现的,复位电路产生的复位信号(高电平有效)由rst引脚送入到内部的复位电路,对at89s52单片机进行复位,复位信号要持续两个机器周期(24个时钟周期)以上,才能使at89s52单片机可靠复位。当上电时,c1相当于短路,有时碰到干扰时会造成错误复位,可在复位端加个去耦电容,可以取得很好的效果。2、at89s52的最小应用系统 at89s52是片内有程序存储器的单片机,要构成最小应用系统时只要将单片机接上外部的晶体或时钟电路和复位电路即可,如图2-5所
19、示。这样构成的最小系统简单可靠,其特点是没有外部扩展,有可供用户使用的大量的io线。图2-5 at89s52单片机构成的最小系统2.3 74ls154简介74ls154是4线-16 线译码器/解调器,引脚如图2-6所示。2.3.1 74ls154特点 将4 个二进制编码输入译成16 个独立的输出之一。 将数据从一个输入线分配到16 个输出的任意一个而实现解调功能。 输入箝位二极管简化了系统设计。 与大部分ttl 和dtl 电路完全兼容。2.3.2 74ls154主要管脚及功能 a、b、c、d 译码地址输入端(低电平有效)y0y15:输出端(低电平有效) 图2-6 74ls154的引脚图g1、g
20、2 选通端(低电平有效) 2.3.3 74ls154功能简介74ls154 为 4 线16 线译码器,当选通端(g1、g2)均为低电平时,可将地址端(abcd)的二进制编码在一个对应的输出端,以低电平译出。 如果将g1和g2中的一个作为数据输入端,由abcd对输出寻址,74ls154还可作1线-16线数据分配器。表2-1 74ls154真值表信号输入输出低电平有效 d c b a l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l ll h h l h h l l l l l l l h l l h l l l h hl
21、h l l l h l h l h h l l h h hh l l lh l l h h l h l h l h hh h l lh h l h h h h l h h h hx x x xx x x xx x x x 0 1 23 4 56 7 89 10 1112 13 14 15 - - -说明:h高电平 l低电平 x任意 *其他输出端为高电平2.3.4 74ls154的主要电气参数 电源电压: 7v输入电压: 5.5v工作环境温度: 74154:070贮存温度:651502.4 74hc595简介74hc595 是一个8位串行输入/输出或者并行输出移位寄存器,具有高阻关断状态,引脚如
22、图2-7所示。2.4.1 74hc595特点8位串行输入 /8位串行或并行输出 存储状态寄存器,三种状态。输出寄存器(三态输出:就是具有高电平、低电平和高阻抗三种输出状态的门电路。)可以直接清除 100mhz的移位频率。2.4.2 74hc595主要管脚及功能qaqh 三态输出管脚 q7 串行数据输出管脚 sclr 移位寄存器清零端 sck 数据输入时钟线 rck 输出存储器锁存时钟线 oe 输出使能 ser 数据线 2.4.3 74hc595功能简介 图2-7 74hc595引脚图74hc595是cmos器件,兼容低电压ttl电路。具有8位移位寄存器和一个存储器,三态输出功能。移位寄存器和存
23、储器是分别的时钟。数据在sck的上升沿输入到移位寄存器中,在rck的上升沿输入到存储寄存器中去。如果两个时钟连在一起,则移位寄存器总是比存储寄存器早一个脉冲。 移位寄存器有一个串行移位输入(ser),和一个串行输出(q7),和一个异步的低电平复位,存储寄存器有一个并行8位的,具备三态的总线输出,当使能oe为0时(为低电平),存储寄存器的数据输出到总线。2.5 具体电路及功能分析2.3.1电源电路电源电路采用普通的三端集成稳压电源cw7805,为整个系统提供+5v的电压。电路图如图2-8所示。图2-8 稳压输出5v的电源电路 cw7805是一个输出正5v的三端稳压集成电路芯片,三端分别是输入端、
24、公共端和输出端,输出+5v。电路中,c4、c6分别为输入端和输出端滤波电容。c5是减小输入电压的脉动和防止过电压,c7是消弱电路的高频干扰,具有消振作用。2.3.2按键接口控制电路本设计采用轻触开关s1、s2和s3分别控制字符的显示方式,s1:控制字符逐字显示,s2:控制字符向上显示,s3:控制字符向左显示。电路接线如图2-9所示。图2-9 按键接口控制电路2.3.3 显示器接口设计1、88点阵led显示器的组成原理及控制方式 图2-10 88点阵led显示器组成原理图 图2-11 88点阵led引脚的排列图本次设计中采用88点阵led显示器,简称led点阵板或led矩阵板。它是以发光二极管为
25、像素,按照行与列的顺序排列起来,用集成工艺制成的显示器件。有单色和双色之分,这种显示器有共阳极接法和共阴极接法两种,设计中用到的是共阳极的显示器。共阳极接法的原理图如图2-10所示,图中画出了88点阵的二极管。每一行发光二极管的阳极接在一起,有一个引出端r,每一列发光二极管的阴极接在一起,有一个引出端c。当给发光二极管阳极引出端r1加高电平,阴极引出端c1加低电平时,左上角的二极管被点亮。因此,对于行和列的电平进行扫描控制时,可以达到显示不同汉字的目的。例如“电气自动化”的显示可以按照从左到右,先下后上的顺序写出编码。然后写入单片机的数据存储单元中。本设计实际采用mlg-132088数码点阵。
26、该数码点阵是共阳的,其引脚图和内部引脚图见图2-11。其连接方式如图2-12,要使点阵上aa二极管点亮,则a为高电平,a为低电平。我们通过改变限流电阻的阻值的大小来改变显示字符的亮度。 (a)8*8点阵led引脚图 (b) 8*8点阵led内部结构 图2-12 8*8 led点阵图设计采用逐行扫描方式,行驱动信号送扫描,列驱动信号送数据。硬件电路图如图所示。行驱动信号接ah,列驱动信号接ah。当行驱动信号的扫描字为80h,列驱动信号的数据为7fh时,此时第一号aa发光二极管点亮。其余依此类推。因第一排至第八排发光二极管的阳极是连接在一起的,因此,该点阵为共阳点阵。当然也可以理解成共阴连接方式。
27、2、1616点阵led显示器采用四个88点阵led串并联的连接方法,电路图如图2-13所示。行两个88点阵led的行线连接在一起,作为行线l0l15,列两个88点阵led的列线连接在一起,作为列线r00r15。图2-13 16*16 led点阵连接图3、驱动电路的设计显示器驱动是一个非常重要的问题,如果驱动能力差,显示器亮度就低,而驱动器长期在超负荷下运行则很容易损坏。单片机的串口与列驱动器相连,用来显示数据。p1口低4位与行驱动器相连,送出行选信号;p1.5p1.7口则用来发送控制信号。p0口和p2口空着,在有必要的时候可以扩展系统的rom和ram。(1)行驱动电路行驱动电路电路图如图2-1
28、4所示。单片机p1口低4位输出的行号经4/16线译码器74ls154译码后生成16条行选通信号线,再经过驱动器驱动对应的行线。一条行线上要带动16列的led进行显示,按每一led器件20ma电流计算,16个led同时发光时,需要320ma电流,选用三极管8550作为驱动管可满足要求。三极管8550的连接方式详细如图2-15所示。图2-14 16*16 led点阵行驱动电路图图2-15 8550连接电路图(2)列驱动电路列驱动电路如图2-16所示。列驱动电路由集成电路74hc595构成。74hc595的输入侧有8个串行移位寄存器,每个移位寄存器的输出都连接一个输出锁存器。引脚ser是串行数据的输
29、入端。引脚sck是移位寄存器的移位时钟脉冲,在其上升沿发生移位,并将ser的下一个数据打入最低位。本设计的基本原理是移位后的各位信号出现在各移位寄存器的输出端,也就是输出锁存器的输入端。rck是输出锁存器的打入信号,其上升沿将移位寄存器的输出打入输出锁存器。引脚e是输出三态门的开放信号,只有当其为低电平时锁存器的输出才开放,否则为高组态。sclr信号是移位寄存器清零输入端,当其为低时移位寄存器的输出全部为零。由于sck和rck两个信号是互相独立的,所以能够做到输入串行移位与输出锁存互不干扰。芯片的输出端为o1o7,最高位q7可作为多片74hc595级联应用时,向上一级的级联输出。但因为q7受输
30、出锁存器的打入控制,所以还从输出锁存器前引出q7,作为与移位寄存器完全同步的级联输出。图2-16 16*16 led点阵列驱动电路图第三章 系统的软件设计3.1 软件总体设计及功能描述3.1.1总体设计思想显示屏软件的主要功能是向屏体提供显示数据,并产生各种控制信号,使屏幕按设计的要求显示。根据软件分层次设计的原理,我们可把显示屏的软件系统分成两大层:第一层是底层的显示驱动程序,第二层是上层的系统应用程序。显示驱动程序负责向屏体送显示数据,并负责产生行扫描信号和其它控制信号,配合完成led显示屏的扫描显示工作。显示驱动程序由定时器t0中断程序实现。系统应用程序完成系统环境设置(初始化)、显示效
31、果处理等工作,由主程序来实现。3.1.2字符编码 图3-1 “电气自动化”的点阵图16*16点阵可以看成是从上至下32个字节。每个字节8位,见图3-1。图中显示为黑色的灯亮,因为该点阵为共阳点阵,因此若该灯亮,则该位为“0”;该灯不亮,则该位为“1”。16*16点阵可以通过字模软件提起编码,本设计采用晓奇字模软件。3.2 程序设计本设计系统采用了结构化、模块化,并且利用键扫描程序代替程序中的1ms延时程序,既为了按键的快速响应,又可以提高动态显示的扫描频率,从而减少了文字显示时的闪烁现象。3.2.1显示驱动程序显示驱动程序在进入中断后首先要对定时器t0重新赋初值,以保证显示屏刷新率的稳定,1/
32、16扫描显示屏的刷新率(帧频)计算公式如下: 刷频率(帧频)=1/16t0溢出率 =1/16f/12(65536-t) 其中f位晶振频率,t为定时器t0初值(工作在16位定时器模式)。然后显示驱动程序查询当前燃亮的行号,从显示缓存区内读取下一行的显示数据,并通过串口发送给移位寄存器。为消除在切换行显示数据的时候产生拖尾现象,驱动程序先要关闭显示屏,即消隐,等显示数据打入输出锁存器并锁存,然后再输出新的行号,重新打开显示。图3-2为显示驱动程序(显示屏扫描函数)流程图。 图 3-2 显示驱动程序流程图 图3-3是系统主程序流程图3.2.2系统主程序本文设计的系统软件能使系统在目测条件下led显示
33、屏各点亮度均匀、充足,可显示图形和文字,显示图形和文字应稳定、清晰无串扰。图形或文字显示有静止、移入移出等显示方式。系统主程序开始以后,首先是对系统环境初始化,包括设置串口、定时器、中断和端口;然后以“卷帘出”效果显示图形,停留约3s;接着向上滚动显示“电气自动化”这5个汉字及一个图形,然后以“卷帘入”效果隐去图形。由于单片机没有停机指令,所以可以设置系统程序不断的循环执行上述显示效果。设计中也可以通过读一次键开关状态,由键标志位(00h、01h、02h)决定显示方式。按键程序流程图如3-4所示。图3-4 按键程序流程图单元显示屏可以接收来自控制器(主控制电路板)或上一级显示单元模块传输下来的
34、数据信息和命令信息,并可将这些数据信息和命令信息不经任何变化地再传送到下一级显示模块单元中,因此显示板可扩展至更多的显示单元,用于显示更多的显示内容。3.3性能分析与总结3.3.1 性能分析led显示屏硬件电路只要硬件质量可靠,引脚焊接正确,一般无需调试即可正常工作。软件部分需要调试的主要有显示屏刷新频率及显示效果两部分。显示屏刷新率由定时器t0的溢出率和单片机的晶振频率决定,表3.1给出了实验调试时采用的频率及其对应的定时器t0初值。 表3.1 显示平刷新率与t0初值关系表(24mhz晶振)刷新率255062.57585100120t0初值0xec780xf63c0xf8300xf97e0x
35、fa420xfb1e0xfbee从理论上来说,24hz以上的刷新频率就能看到稳定的连续的显示,刷新率越高,显示越稳定,同时刷新频率越高,显示驱动程序占用的cpu时间越多。试验证明,在目测条件下刷新频率40hz一下的画面看起来闪烁较严重,刷新频率50hz以上的已基本察觉不出画面的闪烁,刷新频率达到85hz以上时再增加画面闪烁没有明显的改善。3.3.2 安装与调试把显示屏电路和显示屏驱动电路分别做在两块电路板上,显示屏电路的行扫描信号输出管脚和列显示信号数据输出管脚分别引用两排16针的排针引出,排针长的那一头接到电路板的底层,以方便插入驱动电路的插槽中。在画pcb时应当注意屏电路pcb中两排排针之
36、间的距离要与驱动电路pcb中两排插槽之间的距离一样,才能保证能正确地将显示屏电路板排到驱动电路电路板上方。在画pcb时注意双面电路板的做板规则,特别要注意以下几个方面:双面电路板的过孔比较大,一般在80mil以上;定位孔的放置;要在顶层焊接时,应注意在顶层插上元器件后是否会影响到焊接,如芯片等管脚比较短的元器件,当插在电路板后要在顶层焊接其管脚是比较困难的。安装完电路后,可将测试程序烧到at89s52中,将at89s52插入驱动电路, 若每一个发光二极管都能被点亮,则说明电路硬件做成功。若发现二极管不是全被点亮则要用万用表来仔细地检测。一般会出现的问题是电路板上的线被短路,断开等。根据不亮的二
37、极管来找电路出现的问题应该是比较容易的。所以本电路的调试过程是较简单的。当然调试前必须要确保所购买的每一块显示屏都是完好的。结 束 语致 谢 词参考文献:1 郝瑞生编著,单片机原理及接口技术,北京:中国劳动社会保障出版社,20042 李虹编著,单片机原理与应用,南京:河海大学出版社,19993 梁洁婷编著,单片机原理与应用,北京:高等教育出版社,20084 李全利编著,单片机原理及应用技术,北京:高等教育出版社,20085 胡烨、姚鹏翼、陈明编著,protel 99 se原理图与pcb设计教程 , 北京:机械工业出版社,20066 朱家建编著,单片机与可编程控制器,北京:高等教育出版社,200
38、4年7 徐仁贵,微型计算机接口技术及应用,山东:机械工业出版社,1996年8 林 军,电子学基础,上海:华东师范大学出版社,2009年9 张梦欣,电子技术基础,北京:中国劳动社会保障出版社,2007年附 录附录1 源程序;中断入口程序 ;org 0000hljmp startorg 0003hretiorg 000bhljmp inttoorg 0013hretiorg 001bhretiorg 0023hretiorg 002bhreti; 主程序 ;start: mov 20h,#00h ;清零标志,00h为第16行开始扫描标志,01为1帧 setb 00h ;20h.0位置1start1
39、:mov a,#0ffh ;四端口置1mov p1,a ;mov p2,a ;mov p3,a ;mov p0,a ; jb 00h,dis1 ;20h.0位为1,执行dis1jb 01h,movdisp ;20h.1位为1,执行movdisp jb 02h,intt0 ;20h.2位为1,执行intt0ajmp start1 ;跳回 start1循环;键扫描子程序keywork: mov p3,#0ffh ;置输入状态mov p2,#0ffh ;置输入状态jnb p3.6,chuankou ;p3.6为0(键按下)转chuankoulcall dl10msjnb p3.6,chuankou
40、;p3.6为0(键按下)转chuankoujnb p2.0,key1 ;p2.0为0(键按下)转key1jnb p2.1,key2 ;p2.1为0(键按下)转key2jnb p2.2,key3 ;p2.2为0(键按下)转key3keyret: ret ;无键按下,子程序返回;按键1功能处理key1: lcall dl10ms ;延时10ms消抖动jb p2.0,keyret ;是干扰转keyret结束setb 00h ;置逐字显示方式标志(20h.0=1)clr 01h ;clr 02h ;ret ;子程序返回;按键2功能处理key2: lcall dl10ms ;jb p2.1,keyret
41、 ;setb 01h ;置上移显示方式标志(20h.1=1)clr 00h ;clr 02h ;ret ;按键3功能处理key3: lcall dl10ms ;jb p2.2,keyret ;setb 02h ;置左移显示方式标志(20h.2=1)clr 01h ;clr 00h ;ret ;1ms延时子程序,采用调用扫描键子程序延时,可快速读出按钮的状态dl1ms: mov r3,#64h ; 100*(10+2)usloopk: lcall keyworkdjnz r3,loopkret;串口程序设计chuankou : mov a,#0ffh ;端口初始化 mov p1,a mov p1
42、,amov p3,amov p0,aclr p1.6 ;串行寄存器输入打入输出控制位mov tmod,#01h ;使用t0做16位定时器,行扫描用。mov th0,#0fch ;1ms初值(12mhz)mov tl0,#18hmov scon,#00h ;串口0方式传送显示字节mov ie,#82h ;t0中断允许,总中断允许mov sp,#70hmain: lcall disi ;显示准备,黑屏,1.5s mov dptr,#tab lcall movdisp ;向上滚动显示一页(8个字) inc dph lcall movdisp ;向上滚动显示一页(8个字) inc dph lacll
43、movdisp ;向上滚动显示一页(8个字) ajmp main; 多字滚动显示程序 ;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 waitmovdismov1: djnz r3,dismov ;1帧重复显示(控制移动速度) inc b ;显示字的下一行(每行2字节) inc b mov
44、 a,r1 ;r1为0,8个字显示完 jz movout ajmp disloopmovout: ret ;移动先是结束; 单字显示程序 ;dis1: mov r3,#5ah ;静止显示时间控制(16ms*#=1.6s)dis11: mov r2,#00h ;一帧扫描初始值(行地址从000fh)mov dptr,#tab ;取表首址mov r1,#00h ;查表偏址(显示第一个字)setb tr0 ;开扫描(每次一帧)wait11: jbc 01h,dis111 ;为1,扫描一帧结束ajmp wait11dis111: djnz r3,dis11ret; 扫描程序 ;intt0: push accmov th0,#0fch ;1ms初值重装mov tl0,#18hjbc 00h,goend ;16行扫描标志为1,结束inc r1 ;取行右边字节偏址mov a,r1movc a,a+dptr ;查表mov sbuf,a ;串口0方式发送wait: jbc ti,go ;等待发送完毕ajmp wait1go: dec r1 ;取行左边字节偏址mov a,r1movc a,a+dptrmov sbuf,await1: jbc t1,go1ajmp wait1go1: setb p1.7 ;关行显示,准备刷新nop ;串口寄存器数据稳定setb p1.6 ;产生上升沿,行
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论