版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、江西航空职业技术学院江西航空职业技术学院毕业设计说明书毕业设计说明书(论文)(论文)课题名称 基于单片机控制文字的显示 航空电子设备维修 专业 121333 班学生姓名 傅嘉皓_ 学号 121333021指导老师 易丽萍 技术职称 高级讲师2015 年 4 月 9 日江西航空职业技术学院江西航空职业技术学院毕业设计毕业设计(论文)任务书(论文)任务书学生姓名:_傅嘉皓_ 班级:_121333_1.毕业设计(论文)题目:_基于单片机控制文字的显示 _2.毕业设计(论文)使用的原始资料数据及设计技术要求:各种资料来源于书本和互联网上查找的资料,设计的要求是利用单片机的控制系统,是文字在 LED 上
2、清晰的显示出来。3.毕业设计(论文)工作内容及完成时间: 以 MCS-51 系列的单片机为核心器件,组成一个点阵式汉字显示屏。而显示屏由一块 16*16LED 点阵显示器组成,可以依次显示四个汉字“欢迎光临”。而且可以通过编程能够随时对汉字进行修改、调整。 日期:自_2015_年_4_月_9_日至_2015_年_4_月_10_日指导老师评语:_ 指导老师: 易丽萍 系主任: 周延 目目 录录1 1 引言引言 .1 1.11.1 目的及意义目的及意义 .12 2 总体设计的原理与实现总体设计的原理与实现 .2 2.12.1 方案论证方案论证 .2 2.1.1 汉字显示分析与论证 .2 2.1.2
3、 时间显示分析与论证 .3 2.22.2 电路原理的总体设计电路原理的总体设计 .3 2.2.1 汉字显示的工作原理 .3 2.2.2 系统结构图 .43 3 硬件部分的设计硬件部分的设计 .5 3.13.1 硬件组成部分硬件组成部分 .5 3.23.2 相关芯片介绍相关芯片介绍 .6 3.2.1 AT89C51 的功能及说明 .6 3.33.3 硬件各部分设计硬件各部分设计 .7 3.3.1 单片机系统及外围电路 .7 3.3.2 行驱动电路 .7 3.3.3 列驱动电路 .8 3.3.4 LED 点阵显示电路 .104 4 软件部分的设计软件部分的设计 .13 4.14.1 软件总体设计软
4、件总体设计 .13 4.24.2 软件各模块设计软件各模块设计 .14 4.2.1 中断控制程序 .14 4.2.2 串行中断程程序 .14 4.2.3 程序清单 .175 5 系统调试系统调试 .21 5.15.1 常见硬件故障调试常见硬件故障调试 .21结束结束 .20 致谢致谢 .21 1 1 引言引言单片机自 20 世纪 70 年代问世,经历了 SCM、MCU、SOC 三大阶段。问世以来以极其高的性能价格比受到人们的重视和关注,所以应用很广,发展很快。单片机的特点是体积小、集成度高、重量轻、抗干扰能力强,对环境要求不高,价格低廉,可靠性高,灵活性好,开发较为容易。本系统是以 AT89C
5、51 单片机为核心,采用 LED 点阵屏来实现汉字显示系统。使用该芯片控制一个列驱动器74LS154 和两个行驱动器 74HC595 来驱 16*16 点阵屏显示汉字。采用 16*16 点阵屏一次性只能显示一个符合国家标准的汉字,本设计实现了汉字的静止、滚动等显示方式。本设计基于单片机 AT89C51 讲述了 16*16 LED 汉字点阵显示的基本原理、硬件组成与程序设计等基本环节的相关技术。1.11.1 目的及意义目的及意义 随着信息社会的到来,单片机广泛的应用于工业控制系统、数据采集系统、自动测试系统、声学领域和微机技术等广阔的领域。而利用单片机对语音芯片进行控制可以达到语音报站的效果。因
6、此,了解并掌握单片机智能控制技术工作原理及特性是非常重要的。在大型商场、车站、码头、地铁站以及各类办事窗口等越来越多的场所需要用 LED 点阵显示图形和汉字。LED 行业已成为一个快速发展的新兴产业,市场空间巨大,前景广阔。随着信息产业的高速发展,LED 显示作为信息传播的一种重要手段,已广泛应用于室内外需要进行服务内容和服务宗旨宣传的公众场所,例如户内外公共场所广告宣传、机场车站旅客引导信息、公交车辆报站系统、证券与银行信息显示、餐馆报价信息显示、高速公路可变情报板、体育场馆比赛转播、楼宇灯饰、交通信号灯、景观照明等。显然,LED 显示已成为城市亮化、现代化和信息化社会的一个重要标志。 LE
7、D 电子显示屏是随着计算机及相关的微电子光电子技术的迅猛发展而形成的一种新型信息显示媒体。它利用发光二极管构成的点阵模块或像素单元组成可变面积的显示屏幕,它具有高清晰度、色彩鲜艳、视角大、工作稳定、寿命长、功耗低等优点。由于采用单元模块化结构,屏体大小可按用户要求灵活拼制;它的超高亮度,使它在户内外显示中具有不可替代的作用。以可靠性高、使用寿命长、环境适应能力强、性能价格比高、使用成本低等特点,迅速成长为平板显示的主流产品,在信息显示领域得到了广泛的应用。广泛应用到军事、车站、宾馆、2体育、新闻、金融、证券、广告以及交通运输等许多行业。目前 LED 显示屏作为新一代的信息传播媒体,本设计的 L
8、ED 点阵显示系统自带字库。其显示和动态效果(主要是显示内容的滚动)的实现主要依靠硬件扫描驱动,该方法方便,且易于实现。2 2 总体设计的原理与实现总体设计的原理与实现2.12.1 方案论证方案论证根据此设计要求,我们认为此设计属于多输出量的复杂程序控制问题,结合实际情况,我们拟定了以下两种方案并进行了综合的比较论证。方案一:采用组合数字电路实现核心控制的方案 采用组合电路实现控制和处理功能,具有速度快,资源丰富的优点,但在实现多路控制和附加功能上受到种种限制,且功能越多电路越复杂,给电路的设计制作带来诸多不便,另外设计制作费用高,功能固定,不能扩展,因此该方案不被采用。方案二:采用单片机为核
9、心控制的方案采用单片机作为控制和处理的核心,由于单片机功能的高度集成,能达到多任务的处理,使得电路的复杂程度大大降低,尤其在实现汉字显示的自动控制和时间显示、调整上显现出独特的优势。同时能使设计费用降低许多,综合考虑以上实际情况,采用本方案。2.1.12.1.1 汉字显示分析与论证汉字显示分析与论证考虑到元器件的易购性和价格低廉,采用由 256 个发光二极管组成的 16*16汉字点阵阵列作为显示系统。在显示驱动电路中我们拟订了两种设计方案:方案一:采用静态显示的方案 使其列选信号始终为低电平,保证列选始终选中,此方案能使各个汉字呈现出稳定的显示,但系统占用资源多,使 AT89C51 的 CPU
10、 的使用率降低,不能发挥主处理器应有的功能,因此不采用此方案。方案二:采用动态显示的方案 动态显示,即使列选线按已编写好的方案有序出现低电平,点亮该列上的二极管,由于人眼的视觉暂留,在 20ms 时间内,人的眼睛会认为仍呈现出稳定显3示,因此结合实际,采用译码器为列选线循环出现低电平提供有效的保证,故此汉字显示模块采用本方案。2.1.22.1.2 时间显示分析与论证时间显示分析与论证 对时间的显示采用数码管显示,同样也有两种设计方案方案一:采用静态显示的方案 使其位选信号始终为低电平,保证位选始终选中,从而使各个数码管始终点亮,其特点等同于汉字静态显示的特点,因此,不采用此方案。方案二:采用动
11、态显示的方案采用移位循环使位选线循环出现低电平,从而使各个数码管依次点亮,此方案能提高 CPU 的效率,其特点等同于汉字动态显示,显现出动态显示的诸多优点,所以此模块采用本方案。 2.22.2 电路原理的总体设计电路原理的总体设计2.2.12.2.1 汉字显示的工作原理汉字显示的工作原理AT89C51 是一种带 4 kB 闪烁可编程可擦除只读存储器(Falsh Programmable and Erasable Read OnlyMemory,FPEROM)的低电压、高性能 CMOS 型 8 位微处理器,俗称单片机。该器件采用 ATMEL 高密度非易失存储器制造技术制造,与工业标准的 MCS-
12、51 指令集和输出管脚相兼容。由于将多功能 8 位 CPU 和闪烁存储器组合在单个芯片中,能够进行 1 000 次写擦循环,数据保留时间为 10 年。他是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。因此,在智能化电子设计与制作过程中经常用到 AT89C51 芯片。时钟电路由 AT89C51 的 18,19 脚的时钟端(XTALl 及 XTAL2)以及 12 MHz 晶振 X1、电容 C2,C3 组成,采用片内振荡方式。复位电路采用简易的上电复位电路,主要由电阻 R1,R2,电容 C1,开关 K1组成,分别接至 AT89C51 的 RST 复位输入端。 4图图 2-1
13、电路原理图电路原理图LED 点阵显示屏采用 1616 共 256 个象素的点阵。我们把行列总线接在单片机的 IO 口,然后把上面分析到的扫描代码送人总线,就可以得到显示的汉字了。但是若将 LED 点阵的行列端口全部直接接入 89S51 单片机,则需要使用 32条 IO 口,这样会造成 IO 资源的耗尽,系统也再无扩充的余地。因此,我们在实际应用中只是将 LED 点阵的 16 条行线直接接在 P2 口和 P3 口,至于列选扫描信号则是由 4-16 线译码器 74HC154 来选择控制,这样一来列选控制只使用了单片机的 4 个 IO 口,节约了很多 IO 资源,为单片机系统扩充使用功能提供了条件。
14、2.2.22.2.2 系统结构图系统结构图如图 2-2 可以看出系统有以下几部分:电源电路、复位电路、晶振电路、单片机、按键电路、行驱动、列驱动电路以及点阵屏构成。5图图 2-22-2 系统总体设计框图系统总体设计框图如图 2-2 可以看出系统有以下几部分:电源电路、复位电路、晶振电路、单片机、按键电路、行驱动、列驱动电路以及点阵屏构成。3 3 硬件部分的设计硬件部分的设计3.13.1 硬件组成部分硬件组成部分硬件电路大致上可分为单片机系统及外围电路、列驱动电路和行驱动电路 3部分。单片机采用 89C51 及其兼容系列,采用 24M 晶振以获得较高的屏幕刷新率,使显示更稳定。单片机的串口与列驱
15、动相连,用来送显示数据。P1 口低 4 位与行驱动相连,送行选信号。P1.5P1.7 口则用来发送控制信号。P0 口和 P2 口可在必要时扩展 ROM 或 RAM,以显示更多的文字。列驱动电路由 74HC595 构成,它具有一个 8 位串入并出的移位寄存器和一个8 位输出锁存器,而且移位寄存器和输出锁存器的控制是各自独立的,可以实现在显示本行各列数据的同时,传送下一行的列数据,达到重叠处理的目的。P1 口低四位输出的行号经 4 线-16 线译码器 74LS154 译码后生成 16 行选通信号线,再经过行驱动器驱动相应的行线。1 条行线上要带动 16 列的 LED 进行显示,按每一 LED 器件
16、 20mA 电流计算,16 个 LED 同时发光时,需要 320mA 电流,选用三极管 8550 作为驱动管可以满足要求。下面我就先对硬件电路设计中使用的主要器件的技术资料进行相关的介绍。让我们对硬件进行整体的了解。63.23.2 相关芯片介绍相关芯片介绍3.2.13.2.1 AT89C51AT89C51 的功能及说明的功能及说明(1). AT89C51 的主要性能有:与 MCS-51 兼容;4K 字节可编程闪烁存储器 ;寿命长:1000 写/擦循环; 数据保留时间长:10 年;全静态工作:0Hz-24Hz;三级程序存储器锁存;128*8 位内部 RAM;32 可编程 I/O 线;两个 16
17、位定时器/计数器 1;5 个中断源 ;可编程串行通道;低功耗的闲置和掉电模式;片内振荡器和时钟电路(2)管脚说明:图图 3-13-1 AT89C51AT89C51 的引脚的引脚VCC:供电电压。GND:接地。P0 口:P0 口为一个 8 位漏级开路双向 I/O 口P1 口:P1 口是一个内部提供上拉电阻的 8 位双向 I/O 口P2 口:P2 口为一个内部上拉电阻的 8 位双向 I/O 口 P3 口:P3 口管脚是 8 个带内部上拉电阻的双向 I/O 口7P3 口也可作为 AT89C51 的一些特殊功能口,如下表所示:P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /IN
18、T0(外部中断 0)P3.3 /INT1(外部中断 1)P3.4 T0(记时器 0 外部输入)P3.5 T1(记时器 1 外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)RST:复位输入。当振荡器复位器件时,要保持 RST 脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节PSEN:外部程序存储器的选通信号。EA/VPP:当 EA 端保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器,始终选用外部程序存储器。当 EA 端保持高电平时,首先选中内部程序存储
19、器,当存储容量超过内部程序存储空间时,如果有外扩程序存储器则自动调至外部存储空间。注意加密方式 1 时,EA 将内部锁定为RESET;在 FLASH 编程期间,此引脚也用于施加 12V 编程电源(VPP)。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。3.33.3 硬件硬件各部分设计各部分设计3.3.13.3.1 单片机系统及外围电路单片机系统及外围电路本系统由 AT89C51 构成单片机最小应用系统同时配有 110592 MHz 晶振和按键复位电路等。系统外扩的一片 Flash 存储器,可用来存储由 PC 机串口送来的点阵信息(通过软件将图像或
20、文字转 换成与 LED 显示屏的像素相对应的点阵信息)。该 Flash 存储器是一种非易失性存储器,它在供电电源关闭后仍能保持片8内信息。另外,采用 MAX232 可完成 RS232 与 TTL 电平的转换,以便使 PC 机与单片机交换信息。3.3.23.3.2 行驱动电路行驱动电路行驱动电路如图 3-2 所示,P1 口低四位输出的行号经 4 线-16 线译码器 74LS154译码后生成 16 行选通信号线,再经过行驱动器驱动相应的行线。1 条行线上要带动 16 列的 LED 进行显示,按每一 LED 器件 20mA 电流计算,16 个 LED 同时发光时,需要 320mA 电流,选用三极管
21、8550 作为驱动管可以满足要求。图图 3-23-2 行驱动电路原理图行驱动电路原理图3.3.33.3.3 列驱动电路列驱动电路9图图 3-33-3 列驱动电路原理图列驱动电路原理图列输入驱动由八个 8 位串行输入,串行或并行输出三态移位寄存器 74HC595实现。该芯片具有串行输入、并行输出两个独立的时钟信号。输入数据在串行移位时钟 SRCLK 上升沿由串行输入端 SER 输入到芯片内部串行移位寄存器中,同时,SQH 端串行输出;在锁存时钟信号 RCLK 上升沿到来时,芯片将内部串行移位寄存器 8 位数据并行输出。正常工作时,应将复位端 SRCLR 与使能端 RCLK 分别接高电平、低电平。
22、单片机输出信号直接与串入并出移位寄存器 74HC595 的锁存器输出端连接。10系统总电路图如下所示: 图 3-4 系统总电路图它的输入侧有 8 个串行移位寄存器,每个移位寄存器的输出都连接一个输出锁存器。引脚 SI 是串行数据的输入端。引脚 SCK 是移位寄存器的移位时钟脉冲,在其上升沿将发生移位,并将 SI 的下一个数据打入最低位。移位后的各位信号出现在各移位寄存器的输出端,也就是输出寄存器的输入端。RCK 是输出锁存器的打入信号,器上升沿将移位寄存器的输出打入输出锁存器。引脚 G 是输出三态门的开放信号,只有当其为低时锁存器的输出才开放,否则为高阻态。SCLR信号是移位寄存器的清 0 输
23、入端,当其为低时移位寄存器的输出全为 O。由于SCK 和 RCK 两个信号是相互独立的,所以能够做到输入串行移位与输出锁存器互不干扰。芯片的输出端为 QA-QH,最高位 QH 可作为多片 74HC595 级联应用时,向上一级的级联输出。但因 QH 受输出锁存器打入控制,所以还从输出锁存器前引出了 QH,作为与移位寄存器完全同步的级联输出。113.3.3.3.4 4 LEDLED 点阵显示电路点阵显示电路显示数据传输采用串行传输的方法,控制电路可以只用一根信号线,将列数据一位一位传往列驱动器,在硬件方面无疑是十分经济的。但串行传输过程较长,数据按顺序一位一位地输出给列驱动器,只有当一行的各列数据
24、都已传输到位之后,这一行的各列才能并行地进行显示。对于串行传输方式来说,列数据准备时间可能相当长,在行扫描周期确定的情况下,留给行显示的时间就太少了,以致影响到 LED 的亮度。基于串行传输中列数据准备和列数据显示的时间矛盾,可以采用重叠处理的方法。即在显示本行各列数据的同时,传送下一行的列数据。为了达到重叠处理的方的,列数据的显示就需要有锁存功能。对于列数据准备来说,它应能实现串入并出的移位功能。这样,本行已准备好的数据打入并行锁存器进行显示时,串行移位寄存器就可以准备下一行的列数据,而不会影响本行的显示。经过上述分析,可以归纳出列驱动器电路应具备的主要功能:对数据准备来说,它应能实现串入并
25、出的移位功能;对数据显示来说,应具有并行锁存的功能。这样,本行已准备好的数据打人并行锁存器进行显示时,串并移位寄存器就可以准备下一行的列数据,而不会影响本行的显示。同时为了 LED 显示的亮度,采用8 行扫描,每个汉字上面有 2 个 16 列驱动器驱动,列驱动器的位置应该是在第 1行跟第 9 行,即每个 16*16 的汉字点阵是有 4 个 8*8 的点阵组成的阵列,扫描的时候同时扫描显示第 1 行跟第 9 行,第二次扫描的时候显示第 2 行跟第 10 行,以此类推,最后显示第 8 行跟第 16 行,如图 3-4 所示:12第 1 行全亮 | 第 2 行不亮 | 第 3 行不亮 | 第 4 行不
26、亮 | 第 5 行不亮 | 第 6 行不亮 | 第 7 行不亮 | 第 8 行不亮 | 第 9 行全亮 | 第 10 行不亮 | 第 11 行不亮 | 第 12 行不亮 | 第 13 行不亮 | 第 14 行不亮 | 第 15 行不亮 | 第 16 行不亮 | 图图 3-43-4 LEDLED 点阵显示电路点阵显示电路共阳型 LED 点阵单元(8X8)的结构示意图如图 3-5,由行输入高电平点亮。13 图图 3-53-5 LEDLED 点阵单元结构示意图点阵单元结构示意图4 4 软件部分的设计软件部分的设计4.14.1 软件总体设计软件总体设计程序中需要使用两个计时器,一个用于扫描定时,定时时
27、间到时输出 1 帧显示数据,另一个用于循环显示 7 个汉字,定时时间到时调整字模数据起点,从而改变显示字符。第二个计时器可以在第一个定时中断中设置一个计数器,达到预定值后调整字模数据起点。流程图如下所示:14 图图 4-14-1 主程序流程图主程序流程图 图图 4-24-2 显示驱动程序流程图显示驱动程序流程图 4.24.2 软件各模块设计软件各模块设计4.2.14.2.1 中断控制程序中断控制程序任务:启动下一帧数据的发送(发送本帧字模数据的第一个字节) 为每个字符显示时间(ZFJS)计数,当达到预定值时将显示字符编号(ZF)加 115.NNYY定时中断入口保护现场恢复计数初值取字模数据发送
28、字模数据调整字模的指针字符显示计时时间到?字符号+1字符号*7字符号=0恢复现场返回CTC: PUSH ACC PUSH B MOV TH0, #CTH MOV TL0, #CTL CLR A MOVC A, A+DPTR INC DPTR MOV SBUF, A INC ZFJS MOV A, ZFJS CJNE A, #YS, CTCR MOV ZFJS, #0 INC AF MOV A, ZF CJNE A, #7, CTCR MOV ZF, #0CTCR:POP B POP ACC RETI图图 4-34-3 定时计数器定时中断程序框图与程序定时计数器定时中断程序框图与程序4.2.24
29、.2.2 串行中断程程序串行中断程程序任务:发送的字节数(JXJS)为 02 时,继续发送字模数据,每次发送后发送字节数(JZJS)加 1。 发送的字节数(JZJS)为 3 时,4 字节的字模数据已发送完,发送扫描码(SMM),发送字节数再加 1。 发送的字节数(JZJS)为 4 时,本帧数据全部发送完成,由 P3.2 产生一个 RCLK 脉冲,使移位寄存器锁存数据,同时检查一个字符的全部 8 行数据是16否都发送完成,若是则调整字模数据指针(DPTR)指向本字符字模数据的起点。NY串行中断入口保护现场取发送字节数字节数4?字符号8?扫描行0调整字模指针返回SHUCHU: PUSH ACCCL
30、R TIMOV A,JZJSCJNE A,#4,SHUCHU1CLR RCLKMOV JZJS,#0INC SMJSMOV A,SMJSSETB RCLKCJNE A,#8,SCRMOV SMJS,#0MOV A,ZFMOV B,#32MUL ABMOV DPTR,#XUADD A,DPLMOV DPL,AMOV A,BADDC A,DPHMOV DPH,ASJMP SCRSHUCHU1:CJNE A,#3,SHUCHU2MOV A,SMMMOV SBUF,ARL AMOV SMM,ASJMP SHUCHU3SHUCHU2: CLR AMOVC A,A+DPTRMOV SBUF,AINC DP
31、TRSHUCHU3: INC JZJSSCR: POP ACCRETI 取扫描行数字节计数器0发送一个锁存脉冲字符号=0恢复现场字节数3?取扫描码输出扫描码扫描移位取字模数据发送字模数据字模指针+1YNYYN图图 4-4 串行中断程序框图与程序串行中断程序框图与程序17注意:串行中断首先是在定时中断中向串行口发送了第一字节,串行口发送完成后产生的。串行中断程序继续向串行口发送数据,每当串行口发送完成后继续产生中断。当字节计数器达到 4 后,本帧数据发送完毕,不再向串行口发送数据,因此也就不会再有串行中断产生,直到定时计数器中断发起下一帧数据的传送。定时中断发送一字节字模数据串行中断发送第二字节
32、字模数据串行中断发送第三字节字模数据串行中断发送第四字节字模数据中行中断发送扫描码串行中断不再发送串行数据串行口发送 1 字节串行口发送 1 字节串行口发送 1 字节串行口发送 1 字节串行口发送 1 字节串行口发送 1 字节 图图 4-54-5 一帧数据的发送过程示意图一帧数据的发送过程示意图4.2.34.2.3 程序程序清单清单由于显示工作都安排在中断中完成,主程序的工作只是对定时计数器控制寄存器,串行口控制寄存器进行设置,同时开放定时计数器 0 和串行中断,启动定时计数器 0汉字显示ORG 0000HLJMP MAINORG 000BH ; 定时计数器 0 中断程序矢量地址SJMP CT
33、C ORG 0023H ;串行中断程序矢量地址SJMP SHUCHU18主程序MAIN: MOV TMOD,#01H ;设置定时计数器 0 为工作模式 1MOV TH0,#CTH ;设置计数器初值MOV TL0,#CTLMOV SCON,#00H ;设置串行口工作模式MOV SMM,#01 ;扫描码初值MOV SMJS,#0 ;扫描行计数初值MOV JZJS,#0 ;发送字节计数初值MOV DPTR,#XU ;字模表起点MOV ZF,#0 ;先显示第 0 个字符SETB TR0 ;启动定时计数器 0SETB ET0 ;开定时计数器 0 中断SETB ES ;开串行口中断SETB EA ;开总中
34、断定时计数器 0 中断程序入口CTC: PUSH ACC ;保护现场PUSH BMOV TH0,#CTH ;重置计数器初值MOV TL0,#CTLCLR A ;取字模数据MOVC A,A+DPTRINC DPTR ;字模指针加 1MOV SBUF,A ;发送字模数据INC ZFJS ;字符显示时间计数器加 1 MOV A,ZFJS ;判断字符显示时间是否达到预定值(YS)CJNE A,#YS,CTCR19 MOV ZFJS,#0 ;达到字符显示时间,字符显示时间计数器=0INC ZF ;字符编号加 1MOV A,ZF ;字符编号=7,说明 7 个字符已显示完CJNE A,#12,CTCRMOV
35、 ZF,#0 ;从头开始显示CTCR: POP B ;恢复现场POP ACCRETI ;中断返回串行口中断服务程序SHUCHU: PUSH ACC ;保护现场CLR TI ;清 TI 标志MOV A,JZJS ;取发送字节计数CJNE A,#4,SHUCHU1 ;本帧未发送完,转 SHUCHU1CLR RCLK ;本帧发送完,输出一个锁存脉冲下降沿MOV JZJS,#0 ;字节计数器清零INC SMJS ;扫描行加 1MOV A,SMJS ;检查 8 行是否扫描完SETB RCLK ;输出一个锁存脉冲上升沿CJNE A,#8,SCR ;未扫描完返回MOV SMJS,#0 ;已扫描完,恢复扫描计
36、数MOV A,ZF ;根据字符计数器调整数据指针 ZFMOV B,#32 ;每个汉字字模为 32 字节MUL ABMOV DPTR,#XUADD A,DPL ;调整指针MOV DPL,AMOV A,B20ADDC A,DPHMOV DPH,ASJMP SCRSHUCHU1: CJNE A,#3,SHUCHU2 ;本帧字模未发送完,输出扫描码MOV A,SMM ;本帧字模已发送完,取出扫描码MOV SBUF,A ;发送扫描码RL A ;扫描码移位MOV SMM,ASJMP SHUCHU3SHUCHU2: CLR A ;取字模数据MOVC A,A+DPTRMOV SBUF,A ;发送INC DPTR ;指针指向下一位数据SHUCHU3: INC JZJS ;字节计数器加 1SCR: POP ACC ;恢复现场RETI ;中断返回变量,常量,字模数据设置SMJS DATA 22H ;扫描计数器JZJS DATA 23H ;输出字节计数器SMM DATA 24H ;扫描码ZFJS DATA 25H ;每个字符显示时间计数器ZF DATA 26H ;当前输出字符编号RCLK BIT P3.2 ;移位寄存器锁存端连接在 P3.2YS EQU 200 ;字符显示时间计数CT EQU 65535-1000*3;12MHz ; 主频时定时器初值计算公
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 生态建设廉政合同施工
- 办公家具维修服务标准
- 广告传媒招投标及合同管理探讨
- 建筑材料防盗门安装合同
- 人工智能投资管理办法
- 医疗卫生灰土工程协议
- 中药库房药品配送供应链管理
- 油页岩开采延期协议
- 地下综合管廊打桩机租赁协议
- 广告宣传协管员管理办法
- 炼铁厂3#烧结主抽风机拆除安全专项方案
- 四年级上册英语期末复习课件综合复习及检测讲义 牛津上海版一起
- 公司安全生产领导小组架构图模版(共1页)
- 2020年污水处理厂设备操作维护必备
- 初中英语语法课堂教学设计有效性的探讨
- LSS-250B 纯水冷却器说明书
- 《煤矿开采学》课程设计实例
- (完整版)todo,doingsth初中魔鬼训练带答案
- 福建省青少年科技教育协会章程
- 防止返贫监测工作开展情况总结范文
- 2015年度设备预防性维护计划表
评论
0/150
提交评论