毕业设计(论文)基于MCS51单片机的LED汉字显示屏_第1页
毕业设计(论文)基于MCS51单片机的LED汉字显示屏_第2页
毕业设计(论文)基于MCS51单片机的LED汉字显示屏_第3页
毕业设计(论文)基于MCS51单片机的LED汉字显示屏_第4页
毕业设计(论文)基于MCS51单片机的LED汉字显示屏_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

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

文档简介

1、摘 要计算机技术的飞速发展,将人们带进了一个崭新的时代在这个时代中,计算机深入社会的各行各业,成为人们工作必不可少的工具。单片微型计算机是制作在一块集成电路芯片上的计算机,简称单片机。本设计介绍了一种由单片机作为中心处理器的led汉字显示屏,详细的说明了它的硬件结构框图和主要的编程思想。关键词:mcs-51单片机、pc机、led技术abstractwith the computer-technologys fast development, humans come into a new age. in this age .computers become necessary tools in

2、peoples work. single chip microcomputer is the computer that made in the integrated circuit chip,for short scm.this paper introduced srceem of this led-chinese character,which regard as cpu with scm.it explained hardware constructure and program ideas.keywords:mcs-51 scm.pc .led目 录134577778881011111

3、41414141516202022232425摘要前言第一章 需求分析第二章 概要设计第三章 详细设计第一节 led汉字显示屏原理 一、led汉字显示屏工作原理二、led汉字显示屏幕的程序功能第二节 led汉字显示屏电路设计一、led汉字显示屏的原理图如附录. 二、8031单片机三、led数码显示四、74ls373锁存器五、74ls138译码器.六、74ls164电路七、6264和2764只读存储器第五节 led汉字显示屏软件设计一、led汉字显示屏的主程序led.asm见附录二、程序流程三、mcs-51指令四、led.asm程序附录详解第四章 测 试第五章结束语主要参考文献附录1led汉字显

4、示屏原理图附录2led.asm源程序清单前 言计算机技术的飞速发展,将人们带进了一个崭新的信息时代。单片微型计算机是制作在一块集成电路芯片上的计算机,简称单片机。80年代单片机进入我国,当时较有影响的是intel的ncs-48系列和zilog公司的z80系列,20多年来单片机获得了飞速的发展,现在单片机已经渗入到工农业生产,国防军事,教育科研等诸多领域,已经形成了计算机领域的一个重要分支。以至我们无时无刻不在与它打交道,“好的技术就是财富”,如何才能使技术变成实用的产品呢?这个问题正是当今计算机技术发展的问题,这就使如何通过计算机辅助设计越来越得到人们的重视,本设计的主要特点如下:1)注重理论

5、联系实际,加强电子和软件理论的结合,实际应用。为了能适应现代计算机系统设计的需要,开发出质量高,可靠性强,实用性强,代价小的系统。2)力求在设计中反映当前开发设计的最新思想和最新方法。根据当前的已有技术,加上一些新技术,新方法设计出使用户满意的系统。3)力求在设计中创新。当前电子图系统很多,千篇一律,但推陈出新的很少;要想是设计出好的系统,被用户认可接受,创造出系统的一些新兴元素是成功的关键,也是本次设计的指导思想。4)力求尽可能充分满足用户需求。如果说创造出系统的一些新兴元素是成功的关键,那么尽其可能的满足用户的各种需求就是设计的生命线,本次设计将从实用、高效、可靠、使用方便等需求出发,设计

6、出简单适用的系统。5)在撰写设计论文的内容选取,章节安排,语言描述等充分按照专业论文撰写要求编写,力求使论文中的概念准确、清晰、重点明确、内容广泛、知识性强、易于阅读。第一章 需求分析所谓的led汉字显示屏,顾名思义是为用户提供信息的一个智能信息系统。同具体实际相结合,一个显示信息的系统应实现如下功能。1 为用户提供的服务由于不同目的要求显示不同信息。例如,车站的滚动显示屏要求显示车次和票数信息。 故要求为: (1)提供对车次和票数信息进行初始化(建立一个强大的数据库),由微机控制对数据库数据进行显示的功能。(2)提供车次时刻表,车的出站、进站时间和车费等。(如车次,发车时间,到达时间,等待时

7、间和票价等)2为用户提供强大的显示功能 提供强大的多媒体让用户使用更方便,并且达到数据的一致性,完整性,完备性;其要求如下:(1)提供友好的显示界面和显示效果,微机以窗口界面为主,减去纯输入键盘的麻烦,总之要操作简单。(2)在系统输出数据后,系统显示出信息,以动态的信息输出方式。()提供对信息数据的打印保存。3为系统提供强大的功能可扩充性,系统可移植性。4错误处理要对输入错误进行完善的处理,因为用户输入错误是不可避免的,如果不对其进行相应处理,就会出现无法预计的错误结果。第二章 概要设计单片机的应用系统随着其用途不同,其硬件和软件均有着不同,也即单片机的最初的选型都很重要,硬件软件化是提供系统

8、性价比的有效方法,尽量减少硬件成本,多用软件来实现相同的功能,这样也可大大提高系统的可靠性。虽然单片机的硬件选型不尽相同,软件编写也千差万别,但系统的研制步骤和方法是基本一致的,一般都分为总体设计、硬件电路的构思设计、软件的编制和仿真调试几个阶段,下面作简要介绍:一、确立功能特性指标不管是工程控制系统还其他的系统,都必须先分析和了解项目的总体要求,使用的环境及工作的电源要求,产品的成本,可靠性要求和可维护性及经济效益等等因素,制定出可行的性能指标。 二、单片机的选型 现在的单片机数量品种繁多,各种专用功能的单片机基本上都有,这带来的好处很多,至少可节约很多外接扩展器件。单片机的选型很重要,选择

9、时需考虑其功能全部满足规定的要求,要驱动led显示器,可选用多端口的单片机直接驱动,还可利用少端口加扩展电路构成,这就具体的分析选用何种器件有利于降低成本、电路易于制作、软件便于编写等等因素。三、软件的编写和支持工具 由于单片机的应用软件的设计与硬件的设计一样重要,没有控制软件的单片机是毫无用处的,它们紧密联系,相辅相成。并且硬件和软件具有一定的互换性,在应用系统中,有些功能既可用硬件来实现,也可以软件来完成,多利用硬件,可以提高研制速度,减少编制软件的工作量,争取时间,争取商机。相反,以软件代替硬件来完成一些功能,最直观的是降低成本,提高可靠性,增加技术难度而给仿制者增加仿制难度,这是好的一

10、面,不利的一面是同时也增加了系统软件的复杂性,软件的编制工作量大,研制周期可能会加长,同时系统运行的速度可能也会降低等。因此在总体考虑时,必须综合分析以上因素,合理地制定某些功能硬件和软件的比例。开发层次图如下: 第三章 详细设计第一节 led汉字显示屏的原理一、led汉字显示屏的工作原理此系统的原理:控制电路驱动电路显示电路,用mcs51单片机p1口做行选,16*16的点阵,一次选通两行,所以是8行扫描,列选是通过行口推动串行移位电路(74ls164),串行输入,并行送出,通过移位电路点发光管;控制口是用中断和定时做了一个伪串口。实时监视送来的控制信号。此led汉显示屏是用发光二级管阵组成的

11、,一个单元由八个汉字组成,显示屏内一次可以固化200个汉字,可分为一条或多条信息,通过pc机控制,可由不同的方式显示内容二、led汉字显示屏幕的程序功能此系统的功能:控制方式:用计算机的串行口控制。显示方式:水平流动,上下移动,卷帘形式等。变换内容:用pc机串口,显示新的内容。led.asm 是主程序,前边是程序,后边是汉字字模。此汉字显示屏还有相关命令程序,其中cc45是一个msdos程序作用是将汉字文本转换成,单片机用的汉字点阵,cc是中文dos的意思,45是生成的点阵的首地址的4500h。即单片机程序4500以前是控制程序,4500以后是汉字点阵,2764的终了地址是1fffh. 从45

12、001fff约有200多汉字。第二节led汉字显示屏电路设计一、led汉字显示屏的原理图如附录总体功能特性要求:水平流动,上下移动,卷帘形式等显示内容,确定单片机的型号mcs51系列中的8031,外围扩展芯片存储器为电可擦除只读存储器 cmos ram 6264(8k8)和紫外线可擦除只读存储器 eprom 2764(8k8)、i/o电路、驱动电路、还有a/d和d/a转换电路以及其它辅助功能的模拟电路器件。二、8031单片机 8051和8031只有一些区别,那就是8031的内部没有存储器,它们有32个i/o口,可用于作i/o口线的就较多,一般均可满足要求。需外接rom和ram时,p0口为标准的

13、双向数据/地址总线口,p2为高8位地址总线口,即使高8位的地址总线口没有完全使用,余下的i/o口也不能当作它用,否则编程将相当麻烦。这样作i/o的端口只有16个。此外,p3口它的中断功能更为重要,一般在使用中都用作中断处理,剩下的也只有p1口,这8个i/o口就显得相当宝贵。p0和p2口作数据和地址总线,一般可驱动数个外接芯片,也即p0和p2口的驱动能力还是有限的,p0口为lsttl电路,p2口为4个lsttl电路,如果外接的芯片过多,负载过重,系统将可能不能正常工作,此时必须加接缓冲驱动器予以解决。此led汉字显示屏根据成本、可靠性选择了mcs51系列的8031单片机,8031单片机的外部结构

14、图如下: 1、电源:单片机使用的是5v电源,其中正极接40引脚,负极(地)接20引脚。 2、 振蒎电路:单片机是一种时序电路,必须提供脉冲信号才能正常工作,在单片机内部已集成了振荡器,使用晶体振荡器,接18、19脚。买来晶振,电容,按图1接上即可。 3、 复位引脚 。4、 ea引脚:ea引脚接到正电源端。三、 led数码显示在单片机系统中,用led(发光二极管)数码显示器来显示单片机系统的工作状态,运算结果等各种信息,led数码显示器是单片机与人对话的一种重要输出设备。led数码显示器的构造如下图。它实际上是由8个发光二极管构成,其中7个发光二极管排列成“8”字形的笔画段,另一个发光二极管为圆

15、点形状,安装在显示器的右下角作为小数点使用。通过发光二极管亮暗的不同组合,从而可显示出09的阿拉伯数字符号以及其它能由这些笔画段构成的各种字符。led数码显示示意图和发光二极管接法如下:如上图led数码显示器的内部结构共有两种不同形式,一种是共阳极显示器,其内部电路8个发光二极管的正极全部电路连接在一起组成公共端,8个发光二极管的负极则各自独立引出。另一种是共阴极显示器,其内部电路的8个发光二极管的负极全部连接在一起组成公共端,8个发光二极管的正极则各自独立引出。既:共阳极连接方法,把发光二极管的阳极连在一起,使用时公共阳极接+5v,这时阴极接低电平的段发光二极管就导通点亮,而接高电平的则不点

16、这。共阴极接法,把发光二极管的阴极连接在一起,使用公共阴极接地,这时阳极接高电平的段发光二极管就导通点亮,而接低电平的则不点亮。四、74ls373锁存器74ls373是一种8d锁存器,具有三态驱动输出,其引脚电路图如下:74ls373的锁存功能如下表:使能g输出允许oe输入d输出qhhllllhlhlhq0z74ls373锁存器主要用于锁存地址信息、数据信息以及dma页面地址信息等。五、 74ls138译码器74ls138是一个3-8译码器,它将单片机输出的地址信号译码后动态驱动相应的led。但74ls138电流驱动能力较小,为此,此设计使用了未级驱动三极管作为地址驱动。74ls138译码器得

17、引脚图,逻辑图及功能表如下74ls138的引脚图用与非门组成的3线-8线译码器74ls1383线-8线译码器74ls138的功能表无论从逻辑图还是功能表我们都可以看到74ls138的八个输出引脚,任何时刻要么全为高电平1芯片处于不工作状态,要么只有一个为低电平0,其余7个输出引脚全为高电平1。如果出现两个输出引脚同时为0的情况,说明该芯片已经损坏。当附加控制门的输出为高电平(s1)时,可由逻辑图写出六、74ls164电路74ls164为普通的ttl电路,价格低,显示驱动均可使用该芯片完成。接一片74ls164可扩展一个8位并行口,用以连接一位七段数码管led,显示电路中,每增加一位74ls16

18、4,可增加一位led数码管。74ls164输出(q0-q7)作为led的段驱动时,只能连接共阳数码管。多片74ls164连接时,低位的q7要与高位的a、b端相连,这样才能实现多片移位。七、 6264和2764只读存储器由于8031单片机的虽内部没有存储器但价格便宜和功能又够用。故采用了8031扩展电可擦除只读存储器 cmos ram 6264(8k8)与紫外线可擦除只读存储器 eprom 2764(8k8)。第五节 led汉字显示屏软件设计一、led汉字显示屏的主程序led.asm见附录主程序中4500h以前是控制程序,4500h以后是汉字点阵,2764h的终了地址是1fffh. 从45001

19、fff约有200多汉字软件的设计与硬件的设计一样重要,没有控制软件的单片机是毫无用处的,它们紧密联系,相辅相成。考虑此项目时先分析该系统要完成的任务,再明确软硬件承担的工作,确定哪一些任务可用软件完成,也可以用硬件构成,还需考虑用软件或硬件的优势,一般均以最优的方案和和价格为考虑条件来选。定义各输入/输出(i/o)的功能、数据的传输交换形式、与外部设备接口及它们的地址分配、程序存储器和数据存储器的使用区域、主程序子程序使用的空间、显示等数据暂存区的选择、堆栈区的开辟等等。二、程序流程 在单片机的软件设计中,任务可能很多,在这种情况下一般都需把程序分成若干个功能独立的模块,这也是软件设计中常用的

20、方法,这也即俗称的“化整为零”的方法,这样可以分阶段地对单个模块进行设计和调试,一般情况下单个模块利用仿真工具即可将它们调试好,最后再将它们有机的联系起来,构成一个完整的控制程序,并对它们进行联合调试即可较复杂的控制系统一般都需要绘制一份程序流程图,可以这样说它是程序编制的纲领性文件,可以有效地知道程序的编写。当然,程序设计伊始,流程图不可能尽善尽美,在编制过程中仍需进行修改和完善,认真地绘制程序流程图,可以起到事倍功半的效果。程序流程图如下:三、mcs-51指令一个单片机所需执行指令的集合即为单片机的指令系统。单片机使用的机器语言、汇编语言及高级语言,但不管使用是何种语言,最终还是要“翻译”

21、成为机器码,单片机才能执行之。所谓机器语言即指令的二进制编码,而汇编语言则是指令的表示符号 。在指令的表达式上也不会直接使用二进制机器码,最常用的是十六进制的形式。但单片机并不能直接执行汇编语言和高级语言,都必须通过汇编器“翻译”成为二进制机器码方能执行,但如果直接使用二进制来编写程序,那将十分不便,也很难记忆和识别,不易编写、难于辨读,极易出错,同时出错了也相当难查找。所以现在基本上都不会直接使用机器语言来编写单片机的程序。最好的办法就是使用易于阅读和辨认的指令符号来代替机器码,我们常称这些符号为助记符,用助记符的形式表示的单片机指令就是汇编语言。)mcs-51指令分类1.数据传送类指令(共

22、29条)2.算数运算类指令(共24条)3.逻辑运算及移位类指令(共24条)4.控制转移类指令(共17条)5.布尔变量操作类指令(共17条)程序特殊符号rn当前选中的寄存器区的8个工作寄存器r0r7(n=0-7)。ri当前选中的寄存器区中可作为地址寄存器的两个寄存器r0和r1(i=0,1)direct内部数据存储单元的8位地址。包含0127(255)内部存储单元地址和特殊功能寄存地址。#data指令中的8位常数。#data16指令中的16位常数。addr16用于lcall和ljmp指令中的16目的地地址,目的地址的空间为64kb程序存储器地址。#addr11用于acall和ajmp指令中的11目

23、的地地址,目的地址必须放在与下条指令第一个字节同一个2kb程序存储器空间之中。rel8位带符号的偏移字节,用于所有的条件转移和sjmp等指令中,偏移字节对于下条指令的第一个字节开始的-128+127范围内。间接寄存器寻址或基址寄存器的前缀。/为操作的前缀,声明对该位操作书取反。dptr数据指针。bit内部ram和特殊功能寄存器的直接寻址位。a累加器。b累加器b。用于乘法和除法指令中。c进位标志位。(x)某地址单元中的内容。(x)由x寻址单元中的内容。)mcs-51的寻址方式寻址的“地址”即为操作数所在单元的地址,绝大部分指令执行时都需要用到操作数,那么到哪里去取得操作数呢?最易想到的就是告诉c

24、pu操作数所在的地址单元,从那里可取得响应的操作数,这便是“寻址”之意。mcs-51的寻址方式很多,使用起来也相当方便,功能也很强大,灵活性强。这便是mcs-51指令系统“好用”的原因之下面是寻址方式的原理。1.直接寻址指令中操作数直接以单元地址形式出现,例如:mova,68h2.寄存器寻址寄存器寻址对选定的8个工作寄存器r0-r7进行操作,也就是操作数在寄存器中,因此指定了寄存器就得到了操作数,寄存器寻址的指令中以寄存器的符号来表示寄存器。例如:mova,r13.寄存器间接寻址寄存器寻址方式,寄存器中存放的是操作数,而寄存器间接寻址方式,寄存器中存放的则为操作数的地址,也即操作数是通过寄存器

25、指向的地址单元得到的,这便是寄存器间接寻址名称的由来。例如指令:mova,r0寄存器间接寻址方式可用于访问内部ram或外部数据存储器。访问内部ram或外部数据存储器的低256字节时,可通过r0和r1作为间接寄存器。然而内部ram的高128字节地址与专用积存器的地址是重叠的,所以这种寻址方式不能用于访问特殊功能寄存器。外部数据存储器的空间为64kb,这时可采用dptr作为间址寄存器进行访问,指令如下:movxa,dptr4.立即寻址立即寻址就是把操作数直接在指令中给出,即操作数包含在指令中,指令操作码的后面紧跟着操作数,一般把指令中的操作数称为立即数,因此而得名。为了与直接寻址方式相区别,在立即

26、数前加上“#”符号,例如:movxa,#0eh5.变址寻址变址寻址是以dptr或pc作为基址寄存器,以累加器a作为变址寄存器,将两寄存器的内容相加形成16位地址形成操作数的实际地址。例如:mova,a+dptrmovxa,a+pcjmpa+dptr6.位寻址 在mcs-51单片机中,ram中的20h2fh字节单元对应的位地址为00h7fh,特殊功能寄存器中的某些位也可进行为寻址,这些单元既可以采用字节方式访问它们,也可采用位寻址的方式访问它们。7.相对寻址相对寻址方式是为了程序的相对转移而设计的,其夜里是以pc的内容为基址,加上给出的偏移量作为转移地址,从而实现程序的转移。转移的目的地址可参见

27、如下表达式:目的地址=转移指令地址+转移指令字接数+偏移量四、led.asm程序详解led.asm 是主程序,即前边是程序,后边是汉字字模,详细见附录2。汉字显示屏相关命令程序,ps.asm 将mcs51.exe asm lst obj 生成的obj文件,生成机器码的文件2764,准备写rom。s.asm 是在计算机上通过串行线,向led.asm发送汉字,改变显示内容。如:c:s file。cc45是一个msdos程序作用是将汉字文本转换成,单片机用的汉字点阵,cc是中文dos的意思,45是生成的点阵的首地址的4500h。第四章 测 试经过多次调试已能达到预定的目标,能把汉字信息通过led汉字

28、显示屏的发光二极管亮暗在屏幕上以水平流动、上下移动、卷帘形式等显示,。调试改进:本系统需要改进的地方还有,如本系统是单机版,要用于网络还要进行很多系统结构的改进。此led汉字显示屏在dos中的操作过程如下: 首先输入:c:cc45 =1popdplpopdphclrabu0:movxdptr,a;再向ram区送一屏0 (256字节)incdptrdjnzr5,bu0;传完,movth1,#0f6h;ffff-f618=2535 12/11.059=11.085 movtl1,#18h;送定时扫描时间常数 约2.7mssetbtr1;起动定时器1-起动扫描setbet1;t1开中断setb ex

29、0setbex1;允许外部中断1setbea;中断总允许setb 01h;方式标志 rdvrt:mov dptr,#200dh;复位好了吗? movx a,dptrjnb acc.7,rdvrt mov dptr,#200bh;146818 b字mov a,#82h;set=1 禁止计数 movx dptr,amov dptr,#200ah;146818 a字mov a,#26h;32768 movx dptr,amov dptr,#2032h;19世纪mov a,#19hmovx dptr,amov dptr,#200bh;146818 b字mov a,#02h;set=0 允许计数 mov

30、x dptr,a sjmp $; int0: clr ex0 ;关外中断0 clr c inc 13h ;方式变化 mov a,13h;方式限制jnb p1.7,nta;同时按下p1.7 切换汉字jnb p1.6,ntc;同是按下p1.6 静态显示 subb a,#08h jc ntb ;=8 重定为方式1 sjmp ntb nta: mov 13h,#0ch ntb: jnb p3.2 $;等待键抬起setb 01h;要求改变方式 reti ntc: mov 13h,#01sjmp ntb;红外接收ir305-36kh. t=1/(0.036mh)=27.8us t/2=13.8us ;fc

31、=11.059 则:1/cyc=11.059/12 cyc=12/11.059=1.085=1.09;13.8/1.085=12.7个 (发送时一个位 12.7个cyc);设波特率=1200位/s 位时间1/1200(s)=1/1.2(ms)=1000/1.2(us)=833.3us;每位有:833.33/1.085=768(计数)=300h 1.5位:300h+180h=480h int1:mov09h,#09h;接收八位数据一位停止位-1区r1mov th0,#0fbh;时间常数1.5位 (480h)mov tl0,#80hclr ex1;禁止外部中断1setb tr0;定时器0启动set

32、b et0;允许定时器0中断retit0int:setbrs0;转到一区movth0,#0fdh;时间常数1位 (300h)movtl0,#00h push psw;入栈保护push adec r1mov a,r1jz sbyte;接收八位数据和一位停止位后转一字节处理mov c,p3.3;取数据mov a,11hrrc amov 11h,a;保存数据pop a;出栈pop pswclrrs0;恢复工作区0retisbyte:pushdphpushdplpushbclrtr0;关定时器0clr it1;外部中断1为电平方式 setb ex1;允许外部中断1mov a,11h;取出数据cjner

33、2,#03h,ncom;不是命令字转movr0,a;存命令字cjnea,#00,n0decr2;命令字为0则下次允许接收数据ajmprtn0:cjnea,#07h,n7cpl03h;命令字为7时置反相显示ajmprtn7:cjne a,#09h,com;速度上升mova,12hsubba,#07hanla,#7fh;最大到7fhmov12h,aajmprtcom:jncerr;大于0e时,是干扰mov13h,r0;送入方式字单元setb01h;要改变方式,在扫描程序中改err:ajmprt;ncom:cjner2,#02h,nuber;不是字符个数低位 转mov10h,a;存字符个数 低字节d

34、ecr2movr4,#00h;初始化地址低位movr5,#00h;初始化地址高位ajmprtnuber: cjne r2,#01h,rdatamov1dh,a;存字符数高字节decr2mova,10h;送低字节movb,#10hmulab;a*b=bamov r6,amov r7,bmova,1dh;送高字节movb,#10hmulab;a*b=baadda,r7movr7,aajmprt;中断返回rdata:movdph,r5;r5,r4是步进地址movdpl,r4cpla;从假串口收到的数据求反送rammovx dptr,a;送6264incdptr;地址指针加1movr5,dph;mov

35、r4,dpl;mova,r7;cjnea,dph,rtmova,r6cjnea,dpl,rt;不到末地址继续接收数据movr2,#03h;接收完毕下次接收命令字0ah=#03hmovb,#00h;* 送一屏0(256)clra;* 清am00:movxdptr,a;* 接着送 incdptr;* 指向下一个单元djnzb,m00;* 够256个了吗?setb01h;接收完毕置方式标志有效clr05h;方式一时第一屏标志rt:popbpopdplpopdphpopapoppswclrrs0reti; ldely:mov18h,#18h dldl:lcalldelydjnz18h,dldlret

36、dely:mov15h,12h drrr:lcallt1ms;dely:显示子程序djnz15h,drrrret t1ms:mov16h,#02h;05=0.5ms del1:mov17h,#31h del2:djnz17h,del2djnz16h,del1retclr1e: movdptr,#1e00hsjmp clrclear:movdptr,#1f00h;清屏子程 clr:movr2,#00hmova,#00h cl1:movxdptr,aincdptrdjnzr2,cl1ret;dir:mov th1,#0f6h ;正显示jnb 03h,nfffmov th1,#0f7h;反显参数nf

37、ff:mov tl1,#18hpush a;入栈保护 push dpl;push dph;push psw;mov p1, #0ffh;关显示mov dph,1chmov dpl,14h;扫的行点阵要和选通行对应clr csetb tidr1:jnb ti, dr1;8位未发送完则循环clr ti;清进位标志位movx a, dptr;对应行数从显示缓冲区取相应的字节送ajnb 03h,zhengcpl azheng:mov sbuf, a;串行发送mov a, #08h;送立即数#08h至a中add a, dpl;显示缓冲区低地址加8mov dpl, a;送回低地址 jnc dr1dr2:j

38、nb ti, dr2;8位未发送完则循环mov a,14horl a,#0e0hmov p1,ainc 14h;发送完则行数加1cjne a,#0e7h,go;行底mov 14h,#00h;行数清0clr 02h;同意换指针go:jb 01h,chmode;(01h)=1 要改变方式pop psw;出栈pop dph;pop dpl;pop a;reti;返回;chmode:clr01h;清方式标志 setb ex0;int0允许setbrs0;用1寄存器组mov1ch,#1fh;初始1cmov1bh,#1eh;是,mov14h,#00h;行数清0movr0,13h;方式字存r0cjner0,

39、#0ch,d1;是0c?movdptr,#runrom ;rom中的下一段d1:cjne r0,#01h,d2;是01?movdptr,#mode1 ;静态d2:cjner0,#02h,d3;是02?movdptr,#mode2 ;左移d3:cjner0,#03h,d4;是03?movdptr,#mode3 ;上移d4:cjner0,#04h,d5;是04?movdptr,#mode4 ;左移+上移+时间d5:cjner0,#05h,d6;是05?movdptr,#mode5 ;刷出+渐灭d6:cjner0,#06h,d7;是06?movdptr,#mode6 ;三屏显示d7:cjner0,#

40、07h,end;是07?movdptr,#mode7 ;手动调时end:clrrs0 ;恢复工作寄存器区0 movsp,#50h ;堆栈初始化pushdplpushdphreti ;进入相应显示方式子程序;mode6: acall timeupsjmp mode6;timeup: acallloada;汉字-1exxacallinst;1exx-1fxx 移入acallzout;1fxx:移出8行acallloadb;分三屏:一九九五年acallinst; 12月22日 星期一acallzout; 18点30分44秒acallloadc;acallinstacallzoutacallzoutretloada: acall clearacall clr1emov p2,#1ehmov r0,#30h ;字位置指针 一屏初始化一次mov dptr,#2032hacall sdscrzmov dptr,#2009hacall sdscrzmov dptr,#nan acall rdzretloadb: acall clr1e;清1exxmov p2,#1ehmov r0,#0;第一字显示位置mov dptr,#2008h;

温馨提示

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

评论

0/150

提交评论