




已阅读5页,还剩23页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
16*16点阵LED显示目录第一章 设计目的及要求- 1 -1.1、设计目的- 1 -1.2、设计要求- 1 -1.2.1、课程设计要求- 1 -1.2.2、基本设计功能要求:- 1 -第2章 方案设计- 2 -2.1、几种常见的不同LED显示方式。- 2 -2.1.1、静态扫描方式- 2 -2.1.2、动态扫描方式- 2 -2.2、研究背景- 2 -2.3、本文研究的主要内容- 2 -2.4、方案论证- 2 -2.4.1、方案- 2 -第3章 主要元器件介绍- 4 -3.1 AT89C51单片机介绍- 4 -3.1.1 AT89C51芯片简介- 4 -3.1.2 引脚说明- 4 -第四章 硬件电路设计- 6 -4.1、晶振时钟电路设计- 6 -4.2、复位电路设计- 6 -4.3、驱动电路设计- 7 -4.3.1 8*8的点阵驱动电路电路- 7 -4.3.2 16*16的点阵驱动电路电路- 7 -4.3.3 16*32的点阵驱动电路- 8 -4.4 8x8的LED点阵内部结构- 8 -第5章 软件设计及主要子程序- 10 -5.1、软件设计思路- 10 -5.1.1 8*8点阵LED的程序设计- 10 -5.1.2 16*16点阵LED的程序设计- 10 -5.1.3 16*32点阵LED的程序设计- 10 -第6章 系统仿真与调试- 11 -6.1、Keil编译- 11 -6.2、Protues仿真平台- 11 -6.2.1、Protues仿真简介及部分模块仿真- 11 -6.2.2、硬件电路总图与仿真- 12 -6.2.2.3 16*32点阵硬件电路总图- 13 -总结- 14 -附录一:8*8点阵汇编程序- 15 -附录二:16*16点阵C语言程序- 16 -附录三:16*32点阵汇编程序- 19 -附录四:8*8点阵PCB板- 21 -附录五:16*16点阵PCB板- 22 -附录六:参考文献- 23 -全套设计加扣3012250582 - 3 -前言 时至今日,单片机已广泛应用于各个领域,从家用电器到办公自动化、工业自动化以及各种智能仪表、智能接口。虽然单片机的性能无法和PC机相比,但它具有体积小、价格低、可靠性高、智能、实时、可塑性好等诸多优点,使其成为开发嵌入式要用心太软和小型智能化产品的首选机种。社会在飞速发展无疑能源当今、健康、空间的利用,成了人们着重关注的对象。而在这个信息传递极速的社会,LED的出现给人们带来了希望之光。LED的特色之处一是节能(直接功耗,间接耗能),二是基本无电离辐射,三提高空间利用率。而这些特色又恰好解决了上述的三种问题。然而LED点阵显示屏的特点不仅仅于此LED点阵显示屏用的是数码管,而数码管具有实用,便宜等优点。做出来的LED点阵显示很耐用。LED点阵显示屏之所以受到广泛重视而得到迅速发展,是与LED显示屏本身所具有的优点分不开的。LED点阵显示屏的发展前景极为广阔,目前正朝着更高亮度、更高耐气候性、更高的发光密度、更高的发光均匀性,可靠性、全色化方向发展。组合型led点阵显示器以发光二极体为图素,它用高亮度LED晶粒进行阵列组合后,再透过环氧树脂和塑模封装而成。具有高亮度、功耗低、引脚少、视角大、寿命长、耐湿、耐冷热、耐腐蚀等特点。点阵显示器有单色和双色两类,可显示红,黄,绿,橙等。LED点阵有44、48、57、58、 88、1616、2424、4040等多种;根据图素的数目分为等,双原色、三原色等,根据图素顏色的不同所显示的文字、图像等内容的顏色也不同,单原色点阵只能显示固定色彩如红、绿、黄等单色,双原色和三原色点阵显示内容的顏色由图素内不同顏色发光二极体点亮组合方式决定,如红绿都亮时可显示黄色,如果按照脉冲方式控制二极体的点亮时间,则可实现256或更高级灰度显示,即可实现真彩色显示。LED点阵显示系统中各模组的显示方式有静态和动态显示两种。静态显示原理简单、控制方便,但硬体接线复杂,在实际应用中一般採用动态显示方式,动态显示採用扫描的方式工作,由峰值较大的窄脉冲驱动,从上到下逐次不断地对显示幕的各行进行选通,同时又向各列送出表示图形或文字资讯的脉冲信号,反復迴圈以上操作,就可显示各种图形或文字资讯。第一章 设计目的及要求1.1、设计目的本次课程设计目的在于真正的把所学单片机理论知识应用于实际,更加熟悉51单片机的硬件与软件。能灵活运用Keil进行软件编程调试以及用proteus软件仿真。本次设计的LED点阵系统。在调试程序时,要求整个系统工作正常、显示正确、结果满意,掌握该芯片的工作原理并完成读、写程序的设计、编写和调试。设计一个室内用1616点阵LED图文显示屏,要求在目测条件下LED显示屏各点亮度均匀、充足,可显示图形和文字,显示图形或文字应稳定、清晰无串扰。图形或文字显示有静止、移入移出等显示方式。 1.2、设计要求1.2.1、课程设计要求设计一个室内用1616点阵LED图文显示屏,要求在目测条件下LED显示屏各点亮度均匀、充足,可显示图形和文字,显示图形或文字应稳定、清晰无串扰。图形或文字显示有静止、移入移出等显示方式。1.2.2、基本设计功能要求:(1)设计8*8的点阵LED使之显示“1”掌握基本的LED点阵使用方法。(2)通过程序设计使16*16点阵LED动态循环显示不同的文字。(3)设计16*32的点阵LED动态显示图片。第2章 方案设计2.1、几种常见的不同LED显示方式。2.1.1、静态扫描方式从理论上说,不论显示图形还是文字,只要控制与组成这些图形或文字的各个点所在位置相对应的LED器件发光,就可以得到我们想要的显示结果,这种同时控制各个发光点亮灭的方法称为静态驱动显示方式。1616的点阵共有256个发光二极管,显然单片机没有这么多端口,如果我们采用锁存器来扩展端口,按8位的锁存器来计算,1616的点阵需要256/8=32个锁存器。这个数字很庞大,因为我们仅仅是1616的点阵,在实际应用中的显示屏往往要大的多,这样在锁存器上花的成本将是一个很庞大的数字。因此在实际应用中的显示屏几乎都不采用这种设计,而采用另一种称为动态扫描的显示方法。2.1.2、动态扫描方式动态扫描的意思简单地说就是逐行轮流点亮,这样扫描驱动电路就可以实现多行(比如16行)的同名列共用一套列驱动器。具体就1616的点阵来说,我们把所有同一行的发光管的阳极连在一起,把所有同一列的发光管的阴极连在一起(共阳的接法),先送出对应第一行发光管亮灭的数据并锁存,然后选通第一行使其燃亮一定的时间,然后熄灭;再送出第二行的数据并锁存,然后选通第二行使其燃亮相同的时间,然后熄灭; 第十六行之后又重新燃亮第一行,这样反复轮回。当这样轮回的速度足够快(每秒24次以上),由于人眼的视觉暂留现象,我们就能看到显示屏上稳定的图形了。2.2、研究背景 社会在飞速发展无疑能源当今、健康、空间的利用,成了人们着重关注的对象。而在这个信息传递极速的社会,LED的出现给人们带来了希望之光。LED的特色之处一是节能(直接功耗,间接耗能),二是基本无电离辐射,三提高空间利用率。而这些特色又恰好解决了上述的三种问题。然而LED点阵显示屏的特点不仅仅于此LED点阵显示屏用的是数码管,而数码管具有实用,便宜等优点。做出来的LED点阵显示很耐用。LED点阵显示屏之所以受到广泛重视而得到迅速发展,是与LED显示屏本身所具有的优点分不开的。LED点阵显示屏的发展前景极为广阔,目前正朝着更高亮度、更高耐气候性、更高的发光密度、更高的发光均匀性,可靠性、全色化方向发展。2.3、本文研究的主要内容(1) 对8*8的LED点阵进行简要分析,了解LED的内部结构,连线方式,驱动方式(2) 对16*16的LED点阵进行较为详细的分析,让其动态显示汉字(3) 对16*32的LED点阵尝试性设计,尽可能让其显示图片。2.4、方案论证2.4.1、方案方案:本系统采用AT89C52单片机作控制器,整个电路主要由单片机控制及其接口电路、驱动显示电路、电源电路等部分组成。为了简化显示屏电路,降低成本,本系统在单片机部分不加字库存储器。而在PC机上编辑汉字和字符显示信息,并将其转换为相应的点阵显示数据,然后通过串口(采用RS232通信标准)送给单片机存储并进行显示处理图2.4.1.1 显示屏电路框图 第3章 主要元器件介绍3.1 AT89C51单片机介绍3.1.1 AT89C51芯片简介AT89C51是MCS51系列单片机中的一种低功耗、高性能的片内含有4KB快闪可编程/擦除只读存储器的8位CMOS微控制器,使用高密度、非易失存储技术制造,并且与80C51引脚和指令系统完全兼容。 主要性能:与MCS-51 微控制器产品系列兼容。 片内有4KB可在线重复编程的快闪擦写存储器存储数据保存时间为10年。宽工作电压范围:Vcc可为2.7V到6V全静态工作;可从0Hz至16MHz 程序存储器具有3级加密保护 128*8位内部RAM 32条可编程I/O线、两个16位定时器/计数器、中断结构具有5个中断源和2个优先级、可编程全双工串行通道、空闲状态维持低功耗和掉电状态保存存储内容。89C51单片机是把那些作为控制应用所必需的基本内容都集成在一个尺寸有限的集成电路芯片上。如果按功能划分,它由如下功能部件组成,即微处理器、数据存储器、程序存储器、并行I/O口、串行口、定时器/计数器、中断系统及特殊功能寄存器。它们都是通过片内单一总线连接而成,其基本结构依旧是CPU加上外围芯片的传统结构模式。但对各种功能部件的控制是采用特殊功能寄存器的集中控制方式。微处理器、数据存储器、程序存储器、并行I/O口、串行口、定时器/计数器、中断系统各部分功能及说明类似于8051单片机内部结构说明。 特殊功能寄存器共有21个,用于对片内的各功能的部件进行管理、控制、监视。实际上是一些控制寄存器和状态寄存器,是一个具有特殊功能的RAM区。由上可见, 89C51单片机的硬件结构具有功能部件种类全,功能强等特点。特别值得一提的是该单片机CPU中的位处理器,它实际上是一个完整的1位微计算机,这个1位微计算机有自己的CPU、位寄存器、I/O口和指令集。1位机在开关决策、逻辑电路仿真、过程控制方面非常有效;而8位机在数据采集,运算处理方面有明显的长处。MCS-51单片机中8位机和1位机的硬件资源复合在一起,二者相辅相承,它是单片机技术上的一个突破,这也是MCS-51单片机设计的精美之处。3.1.2 引脚说明 图3.1是标准的40引脚双列直插式集成电路芯片。图3.1.2.1 AT89C51引脚图P00P07 P0口8位双向口线(在引脚的3932号端子)。P10P17 P1口8位双向口线(在引脚的18号端子)。P20P27 P2口8位双向口线(在引脚的2128号端子)。P30P37 P3口8位双向口线(在引脚的1017号端子)。1、P0口有三个功能: (1)外部扩展存储器时,用作数据总线(如图中的D0D7为数据总线接口)(2)外部扩展存储器时,用作地址总线(如图中的A0A7为地址总线接口)(3)不扩展时,可做一般的I/O口使用,但内部无上拉电阻,作为输入或输出时应在外部接上拉电阻。2、P1口功能:P1口只做I/O口使用,其内部有上拉电阻。3、P2口有两个功能:(1)扩展外部存储器时,当作地址总线使用;(2)做一般I/O口使用,其内部有上拉电阻。4、P3口有两个功能:除了作为I/O口使用外(其内部有上拉电阻),还有一些特殊功能,由特殊寄存器来设置。当作为输入时,上拉电阻将其电位拉高,若输入为低电平则可提供电流源;所以如果P0口作为输入时,处在高阻抗状态,只有外接一个上拉电阻才能有效。5、ALE/PROG 地址锁存控制信号:在系统扩展时,ALE用于控制把P0口的输出低8位地址送锁存器锁存起来,以实现低位地址和数据的隔离。PROG为编程脉冲的输入端,在89C51单片机内部有一个4KB的程序存储器(ROM),ROM的作用就是用来存放用户需要执行的程序的,那么我们是怎样把编写好的程序存入进这个ROM中的呢?实际上是通过编程脉冲输入才能写进去的,这个脉冲的输入端口就是PROG。6、PSEN 外部程序存储器读选通信号:在读外部ROM时PSEN低电平有效,以实现外部ROM单元的读操作:(1)内部ROM读取时,PSEN不动作;(2)外部ROM读取时,在每个机器周期会动作两次;(3)外部RAM读取时,两个PSEN脉冲被跳过不会输出;(4)外接ROM时,与ROM的EA脚相接。7、EA/VPP 访问程序存储器控制信号:(1)接高电平时:CPU读取内部程序存储器(ROM)(2)接低电平时:CPU读取外部程序存储器(ROM)。8031单片机内部是没有ROM的,那么在应用8031单片机时,这个脚是一直接低电平的。8、RST 复位信号:当输入的信号连续2个机器周期以上高电平时即为有效,用以完成单片机的复位初始化操作,当复位后程序计数器PC=0000H,即复位后将从程序存储器的0000H单元读取第一条指令码。9、XTAL1和XTAL2 :外接晶振引脚。当使用芯片内部时钟时,此二引脚用于外接石英晶体和微调电容;当使用外部时钟时,用于接外部时钟脉冲信号。10、VCC:电源端接+5V电压输入。11、GND:接地端。第四章 硬件电路设计硬件电路的设计主要晶振时钟电路设计、复位电路设计、显示电路设计、驱动电路以设计。4.1、晶振时钟电路设计单片机XTAL1和XTAL2分别接30pF的电容,中间再并一个12MHZ的晶振,形成单片机的晶振电路。图4.1.1晶振时钟电路4.2、复位电路设计4.3、驱动电路设计4.3.1 8*8的点阵驱动电路电路图4.3.1.1 8*8的点阵驱动电路电路图4.3.2 16*16的点阵驱动电路电路图4.3.2.1. 16*16的点阵驱动电路电路图4.3.3 16*32的点阵驱动电路图4.3.3 16*32的点阵驱动电路电路图4.4 8x8的LED点阵内部结构图4.4.1 8x8的LED点阵内部结构图4.4.1是一种8x8的LED点阵单色行共阳模块的内部结构图,其单点工作电压Uf为18 V,正向电流IF为810 mA。当某一行线为高电平而某一列线为低时,其行列交叉的点就被点亮;而当其某一列线为高时,其行列交叉的点为暗;当某一行线为低电平时,无论列线如何,对应这一行的点全部为暗。用四个8x8点阵显示可构成16x16点阵显示器,其连接方法如图4.4.2所示。图中,将(A)和(B)的8列、(C)和(D)的8列分别对应相连,同时将(A)和(C)的8行、 (B)和(D)的8行分别对应相连。即可形成一个16行(每一行有16个LED)、16列(每一列也有16个LED)的16x16点阵显示器,可将这256个点称为一页,这样,显示字符时。只要对一页中对应的亮灭进行控制即可。 我设计的16*16显示如下图 图4.4.2 8x8的LED点阵内部结构 图4.4.3 16*16的点阵图: 图4.4.4 16*16的点阵图 图4.4.5 16*16的点阵图 图4.4.6 16*16的点阵图 图4.4.7 16*16的点阵图 第5章 软件设计及主要子程序5.1、软件设计思路5.1.1 8*8点阵LED的程序设计8*8的点阵的程序采用汇编语言设计,首先从“start”程序段清屏并初始化一些寄存器,后面的“SAZN_ROM”程序段选通发光二极管点阵的某一行,由“SCAN_COLUMN”程序段将该行的显示数据从“TABLE”中提取并从P0口输出显示。“CLERA”段进行清屏并判断是否已将8个显示数据显示完。如果需要显示的数据有许多字母或数据,可以把这些字母或数据的编码依次放到TABLE中。具体程序见附录15.1.2 16*16点阵LED的程序设计首先先确定显示屏要显示字的个数,然后每一个汉字整屏扫描40次,逐行扫描16行,然后再由P1口输出行码。再由P0口输出列码C0-C7,逐行扫描。再由P2口输出列码C8-C15,逐行扫描。显示并延时一段时间。具体程序见附录25.1.3 16*32点阵LED的程序设计程序的设计主要思路是“选通-列-送上部分显示数据-送下部分显示数据”。点阵的高度为16点,则一个汉字的显示由上半部分的8*16点阵器件和下半部分的8*16点阵器件组成,所以在显示或清零时需要对上半部分的点阵器件和下半部分的点阵器件完成了清屏。16*32点阵中上半部分点阵器件的行由单片机的P0口控制,下半部分点阵器件的行由P2 口控制,所以在“start”程序段中,指令“MOV P0,A”和“MOV P2,A”完成清屏。 第6章 系统仿真与调试6.1、Keil编译Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势, Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。如果使用C语言编程,那么Keil几乎就是不二之选,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。本次设计采用汇编语言编程,生成.hex文件以供装载到Protues中的单片机进行仿真。6.2、Protues仿真平台6.2.1、Protues仿真简介及部分模块仿真Protues软件是英国Labcenter electronics公司出版的EDA工具软件。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。迄今为止是世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等。在编译方面,它也支持IAR、Keil和MATLAB等多种编译。目标代码的加载方法为,在Protues编辑环境双击AT89C51,弹出下图所示的对话框,在PROGRAM FILM一栏中单击打开按钮,选中Keil中生成的lzy.hex文件,在CLOCK FREQUENCY栏中设置系统工作频率为12MHZ,单击OK完成目标代码的加载。图6.2.1 程序代码加载6.2.2、硬件电路总图与仿真 图 6.2.2.1 8*8点阵硬件电路总图 图6.2.2.2 16*16点阵硬件电路总图 6.2.2.3 16*32点阵硬件电路总图总结通过这次课程设计。我对keil软件和proteus有了比较熟悉的了解,在对16*16的点阵设计中成功的让其显示汉字,但是在16*32的点阵设计中失败了,失败的原因有很多,在编程方面应该问题不大,因为程序我是站在前人的基础上编写的,而硬件图的改动比较大,出错的概率比较大,再者是时间太紧,在没有多余的时间仔细研究,所以16*32的点阵设计没能成功显示图片。附录一:8*8点阵汇编程序8*8 ORG 0000H ;起始地址00 START: MOV A,#00H ;A=0MOV P0,A ;清屏幕MOV R0,#200 ;延时100秒CALL DELAY ;调延时子程序MOV R2,#01H ;R2为点阵行选地址寄存器,载入01HMOV R3,00H ;R3为表指针寄存器,清0MOV R4,#08H ;字母共有八个字节的数据 SCAN_ROM: MOV A,R2 ;A=R2=点行选地址MOV P2,A ;从P2口输出行选,以选通行RL A ;累加器A中的“1”向左轮换一位MOV R2,A ;将下一次行选地址存回R2 SCAN_COLUMN: MOV A,R3 ;A=R3=取表地址MOV DPTR,#TABLE ;DPTR指向TABLE表头MOVC A,A+DPTR ;TABLE中的数据载入A中MOV P0,A ;表中显示的数据从P0口输出INC R3 ;取表指针R3增加1MOV R0,#10 ;延时5msCALL DELAY ;调延时子程序 CLEAR: ANL P2,#00H ;清屏DJNZ R4,SCAN_ROM ;如果R4/=0,还没取完中的数据JMP START ;跳回SCAN_ROM继续取表显示DELAY:;延时子程序 MOV R1,#248D1: DJNZ R1,$ DJNZ R0,D1RET TABLE: DB 41H,42H,43H,7EH,42H,42H,42H,42HEND 附录二:16*16点阵C语言程序 #include #define uchar unsigned char #define uint unsigned int #define out0 P0 #define out1 P1 #define out2 P2 void delay(uint j) uchar i=250;for(;j0;j-) while(-i); i=100; uchar code string= /*- 文字: 李 -*/*- 楷体_GB231212; 此字体下对应的点阵为:宽x高=16x16 -*/0x7F,0xFF,0x7F,0xFF,0x01,0xC0,0x3F,0xFE,0x5F,0xFD,0x6F,0xFB,0x73,0xE7,0x7C,0x9F,0x0F,0xF8,0xFF,0xFD,0xFF,0xFE,0x00,0x80,0x7F,0xFF,0x7F,0xFF,0x5F,0xFF,0xBF,0xFF,/*- 文字: 明 -*/*- 楷体_GB231212; 此字体下对应的点阵为:宽x高=16x16 -*/0xFF,0xFF,0xFF,0xC0,0xC1,0xDE,0xDD,0xDE,0xDD,0xDE,0xDD,0xC0,0xC1,0xDE,0xDD,0xDE,0xDD,0xDE,0xDD,0xC0,0xC1,0xDE,0xDD,0xDE,0x7F,0xDF,0x7F,0xDF,0xBF,0xD7,0xDF,0xEF,/*- 文字: 生 -*/*- 楷体_GB231212; 此字体下对应的点阵为:宽x高=16x16 -*/0x7F,0xFF,0x77,0xFF,0x77,0xFF,0x77,0xFF,0x03,0xC0,0x7B,0xFF,0x7D,0xFF,0x7E,0xFF,0x7F,0xFF,0x03,0xE0,0x7F,0xFF,0x7F,0xFF,0x7F,0xFF,0x7F,0xFF,0x00,0x80,0xFF,0xFF,/*- 文字: 爱 -*/*- 楷体_GB231212; 此字体下对应的点阵为:宽x高=16x16 -*/0xFF,0xEF,0x7F,0xC0,0x81,0xF7,0xBB,0xF7,0x77,0xFB,0x01,0x80,0xBD,0xBF,0xBE,0xDF,0x01,0xE0,0xDF,0xFF,0x1F,0xF0,0xAF,0xF7,0x77,0xFB,0xFB,0xFC,0x3D,0xF3,0xC7,0x8F,/*- 文字: 单 -*/*- 楷体_GB231212; 此字体下对应的点阵为:宽x高=16x16 -*/0xF7,0xF7,0xEF,0xFB,0xDF,0xFD,0x03,0xE0,0x7B,0xEF,0x7B,0xEF,0x03,0xE0,0x7B,0xEF,0x7B,0xEF,0x03,0xE0,0x7F,0xFF,0x7F,0xFF,0x00,0x80,0x7F,0xFF,0x7F,0xFF,0x7F,0xFF,/*- 文字: 片 -*/*- 楷体_GB231212; 此字体下对应的点阵为:宽x高=16x16 -*/0xFF,0xFD,0xF7,0xFD,0xF7,0xFD,0xF7,0xFD,0xF7,0xFD,0x07,0xC0,0xF7,0xFF,0xF7,0xFF,0xF7,0xFF,0x07,0xF8,0xF7,0xFB,0xF7,0xFB,0xF7,0xFB,0xFB,0xFB,0xFB,0xFB,0xFD,0xFB,/*- 文字: 机 -*/*- 楷体_GB231212; 此字体下对应的点阵为:宽x高=16x16 -*/0xF7,0xFF,0x77,0xF0,0x77,0xF7,0x77,0xF7,0x40,0xF7,0x77,0xF7,0x73,0xF7,0x63,0xF7,0x55,0xF7,0x55,0xF7,0x76,0xF7,0x77,0xB7,0x77,0xB7,0xB7,0xB7,0xB7,0x8F,0xD7,0xFF, ; void main() uchar i,j,n; while(1) for(j=0;j7;j+) for(n=0;n40;n+) for(i=0;i16;i+) out1=i%16; out0=stringi*2+j*32; out2=stringi*2+1+j*32; delay(4); out0=0xff; out2=0xff; 附录三:16*32点阵汇编程序 ORG 0000H ;主程序段START : MOV A,#00H ;A=00H MOV P0,A ;上半个8*32清零 MOV P2,A ;下半个8*32清零 ;扫描程序DISPLAY: MOV R0,#2 ;需要两个屏才能显示完4个字,R0为屏计数器 MOV 30H,#00H ;30H中存储显示编码的指针SACN_SETS: MOV R1,#00H ;R1为74154的扫描计数器,初始值为00H MOV R2,#0FFH ;每屏停留一段时间,通过R2进行延时DIS_SETS: MOV R3,#32 ;每个字有32个字节的数据,R3为显示数据计数器 MOV R4,30H ;将取显示编码的指针载入R4中DIS_CHAR: CALL LOAD ;调用显示编码的子程序INC R1 ;扫描计数器加1DJNZ R3,DIS_CHAR ;如果没有取完一个字的32个字节的数据则继续取MOV R1,#00 ;如果取完了,扫描计数器清0DJNZ R2,DIS_SETS ;每屏显示之后延时一会 MOV 30H,R4 ;取显示编码的指针存回30H中DJNZ R0,SACN_SETSMOV R5,#200 ;如果显示完两屏,延时100秒CALL DELAY ;调用延时子程序JMP START ;循环;取显示编码的子程序段 LOAD: MOV A,R1 ;扫描计数器载入A MOV P1,A ;从P1口输出,以选中的某一列 MOV A,R4 ;取显示编码指针载入A MOV DPTR ,#TABLE ;DPTR寄存器指向TABLE表头 MOVC A,A+DPTR ;取显示编码载入A M
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年注册会计师考试通过的心理调适方法试题及答案
- 微生物检验题型分析试题及答案
- 2025年注册会计师考试压力管理试题及答案
- 微生物医学研究的热点话题试题及答案
- 国际金融考试学生自我调节能力的开发与应用试题及答案
- 2025年注册会计师考试中的突破性思维与试题及答案
- 项目管理中对外沟通的技巧试题及答案
- 项目管理项目相关性评估试题及答案
- 注册会计师考试复习成长心态的培养试题及答案
- 懂得注册会计师考试诚信与责任试题及答案
- 学校安全隐患报告和举报奖惩制度
- 传出神经药物对离体肠肌的作用
- 工程质量承诺保证书样本
- 商业项目建造标准
- 相反国课件-大班
- 2024年全国住房城乡建设行业职业技能大赛(砌筑工赛项)理论考试题库(含答案)
- 缩窄性心包炎的麻醉
- 干好工作18法课件
- 2024北京高考政治试卷(真题+答案)
- 2024年越南煤焦油杂酚油行业现状及前景分析2024-2030
- 反应釜50L验证方案
评论
0/150
提交评论