室内用16x16的点阵LED图文显示屏_第1页
室内用16x16的点阵LED图文显示屏_第2页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

1、LED 形、图像、动画、行情、视频、录像信号等各种信息的显示屏幕。图文显示屏可与计算机同步显示汉字、英文文本和图形;视频显示屏采用微型计算机进行控制,图文、图像并茂,以实时、同步、清晰的信息传播方式播放各种信息,还可显示二维、三维动画、录像、电视、VCD 节目以及现场实况。LED 显示屏显示画面色彩鲜艳,立体感强,静如油画,动如电影,广泛应用于车站、码头、机场、商场、医院、宾馆、银行、证券市场、建筑市场、拍卖行、工业企业管理和其它公共场所。在实际应用中的显示屏由于成本和可靠性的因素常采用一种称为动态扫描的显示方法。本文设计的是一个室内用 1616 的点阵 LED 图文显示屏,图形或文字显示有逐

2、字显示、向上滚动、向左滚动等显示方式。它的优点:亮度高、工作电压低、功耗小、微型化、易与集成电路匹配、驱动简单、寿命长、耐冲击、性能稳定。第 1 页 共 29 页 1.1 设计要求设计一个1616点阵LED字符显示器,要求如下:显示器采用AT89S52单片机作控制器,12MHz晶振,1616点阵共阳LED显示器。1616点阵LED字符显示器能显示“电气自动化”五个文字。显示方式可由S1、S2和S3选择,S1为逐字显示,S2为向上滚动显示,和S3为向左滚动显示。1.2 系统基本方案的选择和论证1.2.1 核心电路的选择方案一: 采用89C51单片机采用89C51作为硬件核心,内部具有4KB Fl

3、ash ROM存储空间,能运用于3V的超低压工作,而且与MCS-51系列单片机完全兼容,但是运用于电路设计中时由于不具有ISP在线编程技术,当在对电路进行调试时,由于程序的过错修正或对程序的新增功能需要烧入程序时,对芯片的多次插拔会对芯片造成必定的损坏。方案二: 采用8051单片机:8051单片机最早由Intel公司推出,内部具有4KBROM存储空间。其后多家公司购买了8051的内核,使得以8051为内核的MCU系列单片机在世界上产量最大,应用也最广泛。有人推测8051可能最终形成事实上的标准MCU公司生产的GMS90系列单片机,与Intel MCS-51系列、Atmel 89C51/52,8

4、9C2051等单片机兼容,CMOS技术,高达40MHZ的时钟频率。应用于:多功能电话,智能传感器,电度表,工业控制,防盗报警装置,各种计费器,各种IC卡装置、DVD、VCD、CD-ROM。方案三: 采用AT89S52单片机AT89S52 是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程FlashAtmel公司高密度非 80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。该芯片且具备在线第 2 页共29 页编程

5、可擦除技术,当在对电路停止调试时,因为顺序的过错修正或对步伐的新删功能需要烧进程序时,没有需要对芯片屡次拔插,所以不会对芯片形成破坏。本次设计选择采用 AT89S52 单片机作为主控制系统。1.2.2 显示模块选择方案和论证方案一:使用液晶屏显示液晶显示屏(LCD)具有轻薄短小、低耗电量、无辐射危险,平面直角显示以及影像稳定不闪烁等优势,可视面积大,画面效果好,分辨率高,抗干扰能力强的特点。但由于只需要显示时间和转向、相数这样的数字,信息量比较少,且由于液晶是以点阵的模式显示各种符号,需要利用控制芯片创建字符库,编程工作量大,控制器的资源占用较多,其成本也偏高。在使用时,不能有静电干扰,否则易

6、烧坏液晶显示芯片,不易维护。方案二: 使用传统的数码管显示数码管具有低能耗、低损耗、低压、寿命长、耐老化、防晒、防潮、防火、防高(低)温,对外界环境要求低,易于维护,同时其精度高,称量快,精确可靠,操作简单。数码显示是采用 BCD 编码显示数字,程序编译容易,资源占用较少。但实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。方案三:LED 显示LED 显示屏可以显示变化的数字、文字、图形图像。它不仅可以用于室内环境 本身优点有:亮度高、工作电压低、功耗小、小型化、寿命长、耐冲击和性能稳定。它的显示方式有静态、横向滚动、垂直滚动和翻页显示等。单块模块控制驱动 12 24 16X48

7、32X48 MAX7219(或 PS7219、HD7279、ZLG7289 及 8279 等类似 LED 显示驱动模块)的 12 倍(或24 根据以上的论述,本次设计采用方案三。1.2.3 LED驱动模块选择方案和论证由于单片机或 CPU 的数据/地址/控制总线端口都有一定的负载能力,如果负载超过其负载能力,一般应加驱动器。1、行驱动模块行驱动模块采用译码器,在中规模集成电路中译码器有几种型号,使用最广第 3 页 共 29 页的通常是74LS138,其是一个3输入8输出的译码器。但对于16*16点阵来说,它需要16个输出,所以如果用138译码器,必须要2个芯片。为了设计过程中制作4输入1613

8、8译码器一样。2、列驱动模块方案一:采用74HC59574HC595是硅结构的CMOS器件,兼容低电压TTL电路,遵守JEDEC标准。74HC595是具有8器是分别的时钟。其特点具有8位串行输入、/8位串行或并行输出和存储状态寄存器三种状态,其输出寄存器(三态输出:就是具有高电平、低电平和高阻抗三 100MHz的移位频率。其输出能力为并行输出,总线驱动;串行输出;是一个标准中等规模集成电路。方案二:采用74AC57374AC573是八进制 3 CMOS 输出兼容的;加上拉电阻,他们能和 LS/ALSTTL 输出兼容。当锁存使能端LE为高时,这些器时间和保持时间的数据会被锁存。方案三:采用74H

9、C245为了保护脆弱的主控芯片,通常在主控芯片的并行接口与外部受控设备的并的双向异步通信。当主控芯片与受控设备之间需要实现双向异步通信时,自然就就是面向这种需求的。常见于同并口液晶屏、并口打印机、并口传感器或通讯模块等设备的接口上。根据以上的论述,本次设计行驱动采用78LS154译码器,列驱动采用方案一74HC595。第 4 页共29 页 2.1 硬件系统的总体设计根据设计要求与设计方案,硬件电路的设计框图如图2-1所示。硬件电路结构由8个部分组成:时钟电路、复位电路、按键接口电路、电源电路、点阵显示行线驱动电路、点阵显示列线驱动电路和1616点阵显示器。图2-1 硬件电路的设计框图2.2 单

10、片机 AT89S52 的分析由于AT89S52片内有8K的Flash程序存储器,并且IO口可直接驱动点阵显示器,所以由它组成小系统硬件非常简单。2.2.1 性能说明8K字节可编程闪烁存储器寿命:1000写/擦循环全静态工作:0Hz-24Hz两个16位定时器/计数器一个数据指针DPTR图2-2 AT89S52 引脚图第 5 页共29 页8个中断源可编程全双工串行通道低功耗的闲置和掉电模式片内振荡器和时钟电路2.2.2 管脚说明AT89S52的管脚如图2-2所示,下列重点介绍其管脚功能。Vcc:供电电压。 Vss:接地。P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚

11、第一次写1能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。P2口为一个内部上拉电阻的8位双向I/O口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉

12、低,将输出电流。这是由于内口当用于外部程序存储器或16位地址外部数据存储器进行存取口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下所示:P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 0(外部中断0)第 6 页共29 页P3.3 1(外部中断1)P3.4 T0(定时器0外部输入)P3.5 T1(定时器

13、1外部输入)P3.6 WR (外部数据存储器写选通)P3.7(外部数据存储器读选通)RDP3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH端以不变出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,ALE只有在执行指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。 :外部程序存储器的选通信号。

14、在由外部程序存储器取指期间,每个机器周期两次 信号将不出现。 /VPP:当 保持低电平时,则在此期间外部程序存储器( 0000H1时,将内部锁定为RESET;当端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12VXTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。2.2.3 单片机最小系统设计1、各部分具体电路(1)单片机的时钟电路第 7 页共29 页AT89S52 单片机内部的振荡电路是一个高增益反向放大器,引线 XTAL1 和XTAL2的时钟产生方式有两种:内部时钟电方式和外部时钟方式。由于外部时钟方式用于多片单片机组成的

15、系统中,所以此处选用内部时钟方式。内部时钟方式:利用其内部的振荡电路在XTAL1和XTAL2引线上外接定时元件,内部振荡电路产生自激振荡。最常用的是在 XTAL1和XTAL2之间接晶体振荡器与电路构成稳定的自激振荡器,如图2-3电路所示为单片机最常用的时钟振荡12MHz30pF左右。图2-3使用片内振荡电路的时钟电路图2-4 AT89S52的上电复位电路(2)单片机的复位电路AT89S52CPU以及其他功能部件处于一个确定的初始状态,并从这个状态开始工作。单片机有多种复位方式,常用的复位操作有上电复位和手动复位方式。本设计采用最简单的上电复位方式,电路如图2-4所示。上电复位是通过外引脚送入到

16、内部的复位电路,对AT89S52单片机进行复位,复位信号要持续两个机器周期(24个时钟周期)以上,才能使AT89S52单片机可靠复位。当上电时,C1相当于短路,有时碰到干扰时会造成错误复位,可在复位端加个去耦电容,可以取得很好的效果。第 8 页共29 页2、AT89S52的最小应用系统AT89S52是片内有程序存储器的单片机,要构成最小应用系统时只要将单片机接上外部的晶体或时钟电路和复位电路即可,如图2-5所示。这样构成的最小系统简单可靠,其特点是没有外部扩展,有可供用户使用的大量的IO线。图2-5 AT89S52单片机构成的最小系统2.3 74LS154简介74LS154是4线-16 线译码

17、器/解调器,引脚如图2-6所示。2.3.1 74LS154特点 个二进制编码输入译成16 个独立的输出之一。16 个输出的任意一个而实现解调功能。输入箝位二极管简化了系统设计。与大部分TTL 和DTL 电路完全兼容。2.3.2 74LS154主要管脚及功能A、B、C、D 译码地址输入端(低电平有效)Y0Y15:输出端(低电平有效)图2-6 74LS154的引脚图第 9 页共29 页G1、G2 选通端(低电平有效)2.3.3 74LS154功能简介74LS154 为 4 线16 线译码器,当选通端(G1、G2)均为低电平时,可将地址端(ABCD)的二进制编码在一个对应的输出端,以低电平译出。 如

18、果将 G1和G2中的一个作为数据输入端,由ABCD还可作1线-16线数据分配器。表2-1 74LS154真值表低电平有效1LLLLLLLLLLLLLLLLLHHLLLLLLLLLLLLLLLLHLHL L L LL L L HL L H LL L H HL H L LL H L HL H H LL H H HH L L LH L L HH L H LH L H HH H L LH H L HH H H LH H H HX X X XX X X XX X X X-说明:H高电平 L低电平2.3.4 74LS154的主要电气参数电源电压: 7VX任意*其他输出端为高电平输入电压: 5.5V工作环境

19、温度: 74154:070贮存温度:65150第 10 页 共29 页2.4 74HC595简介74HC595 是一个8位串行输入/输出或者并行输出移位寄存器,具有高阻关断状态,引脚如图2-7所示。2.4.1 74HC595特点8位串行输入 /8位串行或并行输出 存储状态寄存器,三种状态。输出寄存器(三态输出:就是具有高电平、低电平和高阻抗三种输出状态的 100MHz的移位频率。2.4.2 74HC595主要管脚及功能QAQH 三态输出管脚SCK 数据输入时钟线RCK 输出存储器锁存时钟线OE 输出使能SER 数据线2.4.3 74HC595功能简介图2-774HC595引脚图74HC595是

20、CMOS器件,兼容低电压TTL电路。具有8位移位寄存器和一个存储器,三态输出功能。移位寄存器和存储器是分别的时钟。数据在SCK的上升沿输入到移位寄存器中,在RCK的上升沿输入到存储寄存器中去。如果两个时钟连在一起,则移位寄存器总是比存储寄存器早一个脉冲。移位寄存器有一个串行移一个并行8位的,具备三态的总线输出,当使能OE为0存器的数据输出到总线。2.5 具体电路及功能分析2.3.1电源电路电源电路采用普通的三端集成稳压电源的电压。电路图如图2-8所示。第 11 页 共29 页图2-8 稳压输出5V的电源电路CW7805是一个输出正5V的三端稳压集成电路芯片,三端分别是输入端、公共端和输出端,输

21、出+5V。电路中,C4、C6 分别为输入端和输出端滤波电容。C52.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引脚的排列图第 12 页 共29 页本次设计中采用88点阵LED显示器,简称LED点阵板或LED矩阵板。它是以发光二极管为像素,按照行与列的顺序排列起来,用集成工艺制成的显示器件。有单色和

22、双色之分,这种显示器有共阳极接法和共阴极接法两种,设计中用到的是共阳极的显示器。共阳极接法的原理图如图2-10所示,图中画出了88点阵的二极管。每一行发光二极管的阳极接在一起,有一个引出端r,每一列发光二极管的阴极接在一起,有一个引出端c。当给发光二极管阳极引出端r1加高电平,阴极引出端c1加低电平时,左上角的二极管被点亮。因此,对于行和列的电平进行扫描控制时,可以达到显示不同汉字的目的。例如“电气自动化”的显示可以按照从左到右,先下后上的顺序写出编码。然后写入单片机的数据存储单元中。本设计实际采用MLG-132088数码点阵。该数码点阵是共阳的,其引脚图和内部引脚图见图2-11。其连接方式如

23、图2-12,要使点阵上Aa二极管点亮,则A为(a)8*8点阵LED引脚图(b) 8*8点阵LED内部结构图2-12 8*8 LED点阵图设计采用逐行扫描方式,行驱动信号送扫描,列驱动信号送数据。硬件电路图如图所示。行驱动信号接AH,列驱动信号接ah。当行驱动信号的扫描字为80H,列驱动信号的数据为7FH时,此时第一号Aa发光二极管点亮。其余依此类推。因第一排至第八排发光二极管的阳极是连接在一起的,因此,该点阵为共阳点阵。当然也可以理解成共阴连接方式。2、1616点阵LED显示器采用四个88点阵LED2-1388点阵LED的行线连接在一起,作为行线L0L15,列两个88点阵LED的列第 13 页

24、 共29 页线连接在一起,作为列线R00R15。图2-13 16*16 LED点阵连接图3、驱动电路的设计显示器驱动是一个非常重要的问题,如果驱动能力差,显示器亮度就低,而驱动器长期在超负荷下运行则很容易损坏。单片机的串口与列驱动器相连,用来口低4口则用来发送控制信号。P0口和P2口空着,在有必要的时候可以扩展系统的ROM和RAM。(1)行驱动电路行驱动电路电路图如图2-14所示。单片机P1口低4位输出的行号经4/16线译码器74LS154译码后生成16条行选通信号线,再经过驱动器驱动对应的行线。一条行线上要带动16列的LED进行显示,按每一LED器件20mA电流计算,16个LED同时发光时,

25、需要320mA电流,选用三极管8550作为驱动管可满足要求。三极管8550的连接方式详细如图2-15所示。第 14 页 共29 页图2-14 16*16 LED点阵行驱动电路图图2-15 8550连接电路图第 15 页 共29 页(2)列驱动电路列驱动电路如图2-16所示。列驱动电路由集成电路74HC595构成。74HC595的输入侧有8个串行移位寄存器,每个移位寄存器的输出都连接一个输出锁存器。引脚SER是串行数据的输入端。引脚SCK是移位寄存器的移位时钟脉冲,在其上升沿发生移位,并将SER的下一个数据打入最低位。本设计的基本原理是移位后的各位信号出现在各移位寄存器的输出端,也就输出打入输出

26、锁存器。引脚E是输出三态门的开放信号,只有当其为低电平时锁存器的输出才开放,否则为高组态。SCLR信号是移位寄存器清零输入端,当其为低时移位寄存器的输出全部为零。由于SCK和RCK两个信号是互相独立的,所以能够做到输入串行移位与输出锁存互不干扰。芯片的输出端为O1O7,最高位Q7可作为多片74HC595级联应用时,向上一级的级联输出。但因为Q7受输出锁存器的打入控制,所以还从输出锁存器前引出Q7,作为与移位寄存器完全同步的级联输出。图2-16 16*16 LED点阵列驱动电路图第 16 页 共29 页 3.1 软件总体设计及功能描述3.1.1 总体设计思想显示屏软件的主要功能是向屏体提供显示数

27、据,并产生各种控制信号,使屏幕按设计的要求显示。根据软件分层次设计的原理,我们可把显示屏的软件系统分成两大层:第一层是底层的显示驱动程序,第二层是上层的系统应用程序。显示驱动程序负责向屏体送显示数据,并负责产生行扫描信号和其它控制信号,配合完成 LED 显示屏的扫描显示工作。显示驱动程序由定时器T0 中断程序实现。系3.1.2 字符编码图 3-1 “电气自动化”的点阵图16*16 点阵可以看成是从上至下 32 个字节。每个字节 8 位,见图 3-1。图中显示为黑色的灯亮,因为该点阵为共阳点阵,因此若该灯亮,则该位为“ 16*16 点阵可以通过字模软件提起编码,本设计采用晓奇字模软件。第 17

28、页 共 29 页3.2 程序设计本设计系统采用了结构化、模块化,并且利用键扫描程序代替程序中的 1ms延时程序,既为了按键的快速响应,又可以提高动态显示的扫描频率,从而减少了文字显示时的闪烁现象。3.2.1 显示驱动程序显示驱动程序在进入中断后首先要对定时器T0重新赋初值,以保证显示屏刷新率的稳定,1/16扫描显示屏的刷新率(帧频)计算公式如下:刷频率(帧频)=1/16T0溢出率=1/16f/12(65536-t)其中f位晶振频率,t为定时器T0初值(工作在16然后显示驱动程序查询当前燃亮的行号,从显示缓存区内读取下一行的显示数据,并通过串口发送给移位寄存器。为消除在切换行显示数据的时候产生拖

29、尾现象,驱动程序先要关闭显示屏,即消隐,等显示数据打入输出锁存器并锁存,然后再输出新的行号,重新打开显示。图3-2为显示驱动程序(显示屏扫描函数)流程图。图 3-2 显示驱动程序流程图图3-3是系统主程序流程图第 18 页 共29 页3.2.2 系统主程序本文设计的系统软件能使系统在目测条件下 LED 显示屏各点亮度均匀、充足,可显示图形和文字,显示图形和文字应稳定、清晰无串扰。图形或文字显示有静止、移入移出等显示方式。系统主程序开始以后,首先是对系统环境初始化,包括设置串口、定时器、 气自动化”这 5 个汉字及一个图形,然后以“卷帘入”效果隐去图形。由于单片机没有停机指令,所以可以设置系统程

30、序不断的循环执行上述显示效果。方式。按键程序流程图如 3-4 所示。图 3-4 按键程序流程图单元显示屏可以接收来自控制器(主控制电路板)或上一级显示单元模块传输下来的数据信息和命令信息,并可将这些数据信息和命令信息不经任何变化地再传送到下一级显示模块单元中,因此显示板可扩展至更多的显示单元,用于显示更多的显示内容。第 19 页 共 29 页3.3 性能分析与总结3.3.1 性能分析LED 常工作。软件部分需要调试的主要有显示屏刷新频率及显示效果两部分。显示屏刷新率由定时器 T0 的溢出率和单片机的晶振频率决定,表3.1 给出了实验调试时采用的频率及其对应的定时器 T0 初值。表 3.1 显示

31、平刷新率与 T0 初值关系表(24MHz 晶振)T0 初值 0Xec780Xf63C0Xf8300 xF97E0XFA420XFB1E0 xFBEE从理论上来说,24Hz 以上的刷新频率就能看到稳定的连续的显示,刷新率越高,显示越稳定,同时刷新频率越高,显示驱动程序占用的 CPU 时间越多。试验 40Hz 50Hz以上的已基本察觉不出画面的闪烁,刷新频率达到85Hz 以上时再增加画面闪烁没有明显的改善。3.3.2 安装与调试把显示屏电路和显示屏驱动电路分别做在两块电路板上,显示屏电路的行扫描信号输出管脚和列显示信号数据输出管脚分别引用两排 16 针的排针引出,排针长的那一头接到电路板的底层,以

32、方便插入驱动电路的插槽中。在画 PCB 时应当注意屏电路 PCB 中两排排针之间的距离要与驱动电路 PCB 中两排插槽之间的距离一样,才能保证能正确地将显示屏电路板排到驱动电路电路板上方。在画 PCB 时注意双面电路板的做板规则,特别要注意以下几个方面:双面电路板的过孔比较大,一般在 80mil 以上;定位孔的放置;要在顶层焊接时,应注意在顶层插上元器件后是否会影响到焊接,如芯片等管脚比较短的元器件,当插在电路板后要在顶层焊接其管脚是比较困难的。 AT89S52 AT89S52 插入驱动电路, 若每一个发光二极管都能被点亮,则说明电路硬件做成功。若发现二极管不是全被点亮则要用万用表来仔细地检测

33、。一般会出现的问题是电路板上的线被短路,断开等。根据不亮的二极管来找电路出现的问题应该是比较容易的。所以本电路的调试过程是较简单的。当然调试前必须要确保所购买的每一块显示屏都是完好的。第 20 页 共 29 页结 束 语第 21 页 共 29 页1 20042 3 4 5 99 SE 原理图与 PCB 设计教程 北京:机械工业出版社,20066 年7 年8 林 年9 年第 22 页 共 29 页附 录附录 1 源程序;中断入口程序 ;ORG0000HSTART0003HLJMPORGRETIORG000BHINTTO0013HLJMPORGRETIORG001BH0023H002BHRETIO

34、RGRETIORGRETI; 主程序 ;START: MOV20H,#00H 为第16为1帧SETB 00H;20H.0位置1START1:MOVA,#0FFHP1,AP2,A;四端口置1MOVMOVMOVMOVJB;P3,AP0,A;00H,DIS101H,MOVDISP02H,INTT0;20H.0位为1,执行DIS1;20H.1位为1,执行MOVDISP;20H.2位为1,执行INTT0;跳回 START1循环JBJBAJMP START1;键扫描子程序KEYWORK: MOVMOVP3,#0FFHP2,#0FFH;置输入状态;置输入状态JNBP3.6,CHUANKOU;P3.6为0(键

35、按下)转CHUANKOULCALL DL10MSJNBP3.6,CHUANKOUP2.0,KEY1P2.1,KEY2;P3.6为0(键按下)转CHUANKOU;P2.0为0(键按下)转KEY1;P2.1为0(键按下)转KEY2;P2.2为0(键按下)转KEY3;无键按下,子程序返回JNBJNBJNBP2.2,KEY3KEYRET: RET第 23 页 共29 页;按键1功能处理KEY1: LCALL DL10MSJB P2.0,KEYRETSETB 00H;延时10ms消抖动;是干扰转KEYRET结束;置逐字显示方式标志(20H.0=1)CLRCLRRET01H02H;子程序返回;按键2功能处

36、理KEY2: LCALL DL10MS;JBP2.1,KEYRETSETB 01H;置上移显示方式标志(20H.1=1)CLRCLRRET00H02H;按键3功能处理KEY3: LCALL DL10MS;JBP2.2,KEYRET;SETB 02H;置左移显示方式标志(20H.2=1)CLRCLRRET01H00H;1ms延时子程序,采用调用扫描键子程序延时,可快速读出按钮的状态DL1MS:LOOPK:MOVR3,#64HKEYWORK; 100*(10+2)usLCALLDJNZRETR3,LOOPK;串口程序设计CHUANKOU : MOVA,#0FFHP1,A;端口初始化MOVMOVMO

37、VMOVCLRMOVMOVMOVMOVMOVMOVP1,AP3,AP0,AP1.6;串行寄存器输入打入输出控制位TMOD,#01H ;使用T0做16位定时器,行扫描用。TH0,#0FCH ;1ms初值(12MHz)TL0,#18HSCON,#00H ;串口0方式传送显示字节IE,#82H ;T0中断允许,总中断允许SP,#70HMAIN:LCALL DISI;显示准备,黑屏,1.5sMOVDPTR,#TABLCALL MOVDISPINC DPHLCALL MOVDISPINC DPH;向上滚动显示一页(8个字);向上滚动显示一页(8个字)第 24 页 共29 页LACLL MOVDISPAJ

38、MP MAIN;向上滚动显示一页(8个字); 多字滚动显示程序;MOVDISP: MOV B,#00HDISLOOP: MOV R3,#07HDISMOV: MOV R2,00HMOV R1,B;向上移动显示,查表偏值暂存(从00开始);移动速度;第0行开始SETB TR0;开扫描(每次一帧)WAITMOV: JBC 01H,DISMOV1 ;标志为1扫描一帧结束(16ms为1帧,每行1ms)AJMP WAITMOVDISMOV1: DJNZ R3,DISMOVINC BINC B;1帧重复显示(控制移动速度);显示字的下一行(每行2字节)MOV A,R1;R1为0,8个字显示完;移动先是结束

39、JZMOVOUTAJMP DISLOOPRETMOVOUT:; 单字显示程序 ;DIS1:MOV R3,#5AH;静止显示时间控制(16ms*#=1.6s);一帧扫描初始值(行地址从000FH);取表首址DIS11:MOV R2,#00HMOV DPTR,#TABMOV R1,#00HSETB TR0;查表偏址(显示第一个字);开扫描(每次一帧)WAIT11:DIS111:;JBC 01H,DIS111 ;为1,扫描一帧结束AJMP WAIT11DJNZ R3,DIS11RET; 扫描程序 ;INTT0:PUSH ACCMOVMOVJBCINCMOVTH0,#0FCHTL0,#18H00H,GOENDR1;1ms初值重装;16行扫描标志为1,结束;取行右边字节偏址A,R1MOVC A,A+DPTR;查表MOVJBCSBUF,ATI,GO;串口0方式发送;等待发送完毕WAIT:AJMP WAIT1第 25 页 共29 页GO:DECMOVR1;取行左边字节偏址A,R1MOVC A,A+DPTRMOVJBCSBUF,AT1,GO1WAIT1:GO1:AJMP WAIT1SETB P1.7NOP;关行显示,准备刷新;串口寄存器数据稳定SETB P1.6NOP;产生上升沿,行数据打入输出端NOPCLRMOVORLMOVMOVORLANLMOVCLR

温馨提示

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

评论

0/150

提交评论