LED点阵显示屏设计.doc

上传人:文库蛋蛋多 文档编号:4146618 上传时间:2023-04-07 格式:DOC 页数:23 大小:1.12MB
返回 下载 相关 举报
LED点阵显示屏设计.doc_第1页
第1页 / 共23页
LED点阵显示屏设计.doc_第2页
第2页 / 共23页
LED点阵显示屏设计.doc_第3页
第3页 / 共23页
LED点阵显示屏设计.doc_第4页
第4页 / 共23页
LED点阵显示屏设计.doc_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《LED点阵显示屏设计.doc》由会员分享,可在线阅读,更多相关《LED点阵显示屏设计.doc(23页珍藏版)》请在三一办公上搜索。

1、单片机C程序设计报告题 目 LED点阵显示屏设计系 别 电气工程系 专 业 应用电子技术班级学号 08221班39号姓 名 刘 俊 福 指导教师 陈 家 敏 课程成绩 2010年07月05号LED点阵显示屏设计 摘 要:LED点阵显示屏是利用发光二极管点阵模块或像素单元组成的平面式显示屏幕。它具有发光效率高、使用寿命长、组态灵活、色彩丰富以及对室内外环境适应能力强等优点。LED点阵显示屏可以显示汉字、数字或特殊符号,通常用来显示时间、速度、系统状态等。本设计给出了一基于MCS-51单片机的16*16 点阵LED显示屏的设计方案。包括系统具体的硬件设计方案,软件流程图和部分C语言程序等方面。在负

2、载范围内, 只需通过简单的级联就可以对显示屏进行扩展,是一种成本低廉的图文显示方案。本设计主要以AT89C51单片机为核心,采用串行传输、动态扫描技术,来制作的一款拥有多功能的模块化16*16LED点阵的多功能显示屏。关键词:MCS-51、多功能、16*16点阵目录绪论1第一章设计任务及要求21.1 课题及目标21.2 原理及原理图2第二章 系统硬件选择42.1 AT89C51单片机的结构42.2 振荡器特性62.3 74LS154芯片9第三章 硬件电路实现93.1 1616LED点阵的内部结构及工作原理113.2 用88LED点阵构成1616LED点阵113.3 交通灯应用部分 1 23.4

3、 电路原理图13第四章 软件的程序实现134.1 流程图134.2 程序代码13总结19参考文献20绪论LED(Light Emitting Diode),即发光二极管,是一种半导体固体发光器件,它是利用固体半导体芯片作为发光材料,当两端加上正向电压,半导体中的载流子发生复合引起光子发射而产生光。LED可以直接发出红、黄、蓝、绿、青、橙、紫、白色的光。本设计做的是一块16*16的LED点阵,通过这个点阵可以显示汉字及特定字符。主要利用单片机原理,通过写入程序来控制单片机显示单片机C语言程序设计-题0822139-刘俊福的字样和正常运行的交通灯(音乐程序)。LED显示屏显示画面色彩鲜艳,立体感强

4、,静如油画,动如电影,广泛应用于车站、码头、机场、商场、医院、宾馆、银行、证券市场、建筑市场、拍卖行、工业企业管理和其它公共场所。在实际应用中的显示屏由于成本和可靠性的因素常采用一种称为动态扫描的显示方法。LED点阵显示屏的构成型式有多种,其中典型的有两种。一种把所需展示的广告信息烧写固化到EPROM芯片内,能进行固定内容的多幅汉字显示,称为单显示型;另一种在机内设置了字库、程序库,具有程序编制能力,能进行内容可变的多幅汉字显示,称可编程序型。目前,国内的LED点阵显示屏大部分是单显示型,其显示的内容相对较少,显示花样较单一。一般在产品出厂时,显示内容就已写入显示屏控制系统中的EPROM芯片内

5、,当需要更换显示内容时就非常困难,这样使该类型的显示屏使用范围受到了限制。国内的另一种LED显示屏可编程序型LED显示屏,虽然增加了显示屏系统的编程能力,显示内容和显示花样都有所增加,但也存在着更换显示内容不便的缺点。随着社会经济的迅速发展,如今的广告牌都存在着显示内容丰富、信息量大、信息更换速度快等特点。因此传统的LED显示屏控制系统已经越来越不能满足现代广告宣传业的需要。而利用PC机通信技术控制LED显示屏,则具有显示内容丰富,信息更换灵活等优点。本设计是基于单片机(AT89C51)讲述了16*16 LED汉字点阵显示的基本原理、硬件组成与设计、程序编译与下载等基本环节和相关技术。第一章

6、设计设计任务及要求1.1设计目标我做的是一块16*16的LED点阵,通过这个点阵可以显示特定字符。利用的是单片机原理,通过写入程序控制单片机来显示1) 单片机C语言程序设计-题0822139-刘俊福!的字样2) 正常运行的交通灯。3) 音乐应用程序1.2原理及原理图如图1-1所示,本产品拟采用以AT89C51单片机为核心芯片的电路来实现,主要由AT89C51芯片、电源、行驱动器、列驱动器、16*16 LED点阵5部分组成。图(1-1) 显示屏电路框图从理论上说,不论显示图形还是文字,只要控制与组成这些图形或文字的各个点所在的位置相对应的LED器件发光,就可以得到我们想要的显示结果,这种同时控制

7、各个发光点亮灭的方法称为静态驱动显示方式。16*16的点阵共有256个发光二极管,显然单片机没有这么多的端口,如果我采用锁存器来扩展端口,按8位的锁存器来计算,16*16的点阵需要256/8=32个锁存器。这个数字很庞大,因为我们仅仅是16*16的点阵,在实际应用中的显示屏往往要大得多,这样在锁存器上花的成本将是一个很庞大的数字。因此在实际应用中的显示屏几乎都不采用这种设计,而采用另外一种称为动态扫描的显示方法。动态扫描的意思简单地说就是逐行轮流点亮,这样扫描驱动电路就可以实现多行(比如16行)的同名列共用一套驱动器。具体就16*16的点阵来说,把所有同1行的发光管的阳极连在一起,把所有同1列

8、的发光管的阴极连在一起(共阳极的接法),先送出对应第一行发光管亮灭的数据并锁存,然后选通第1行使其燃亮一定时间,然后熄灭;再送出第二行的数据并锁存,然后选通第2行使其燃亮相同的时间,然后熄灭;以此类推,第16行之后,又重新燃亮第1行,反复轮回。当这样轮回的速度足够快(每秒24次以上),由于人眼的视觉暂留现象,就能够看到显示屏上稳定的图形了。采用扫描方式进行显示时,每一行有一个行驱动器,各行的同名列共用一个驱动器。显示数据通常存储在单片机的存储器中,按8位一个字节的形式顺序排放。显示时要把一行中各列的数据都传送到相应的列驱动器上去,这就存在一个显示数据传输的问题。从控制电路到列驱动器的数据传输可

9、以采用并列方式或串行方式。显然,采用并行方式时,从控制电路到列驱动器的线路数量大,相应的硬件数目多。当列数很多时,并列传输的方案是不可取的。第二章 系统硬件选择由图1-1可知此次设计的硬件选择如下:AT89C51芯片、LED、74LS138、LED的驱动三极管、电阻等一些单片机外围应用电路组成。下面将介绍各种外围电路。2.1 AT89C51单片机的结构AT89C51是一种带4KB闪烁可编程可擦除只读存储器(Falsh Programmable and Erasable Read Only Memory,FPEROM)的低电压、高性能CMOS型8位微处理器,俗称单片机。该器件采用ATMEL高密度

10、非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,能够进行1000次写擦循环,数据保留时间为10年。他是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。因此,在智能化电子设计与制作过程中经常用到AT89C51芯片。 图2-1 AT89C51引脚图2.1.1 AT89C51管脚说明 P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码

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

12、址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。 P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。 P3口也可作为AT89C51的一些特殊功能口,P口管脚备选功能 P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 /INT0(外部

13、中断0) P3.3 /INT1(外部中断1) P3.4 T0(记时器0外部输入) P3.5 T1(记时器1外部输入) P3.6 /WR外部数据存储器写选通 P3.7 /RD外部数据存储器读选通 RST:复位输入 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行M

14、OVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。 /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。 /EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。2.2 振荡器特性 石

15、英晶体振荡器是高精度和高稳定度的振荡器,被广泛应用于彩电、计算机、遥控器等各类振荡电路中,以及通信系统中用于频率发生器、为数据处理设备产生时钟信号和为特定系统提供基准信号。2.2.1、石英晶体振荡器的基本原理a、石英晶体振荡器的结构石英晶体振荡器是利用石英晶体(二氧化硅的结晶体)的压电效应制成的一种谐振器件,它的基本构成大致是:从一块石英晶体上按一定方位角切下薄片(简称为晶片,它可以是正方形、矩形或圆形等),在它的两个对应面上涂敷银层作为电极,在每个电极上各焊一根引线接到管脚 上,再加上封装外壳就构成了石英晶体谐振器,简称为石英晶体或晶体、晶振。其产品一般用金属外壳封装,也有用玻璃壳、陶瓷或塑

16、料封装的。b、压电效应若在石英晶体的两个电极上加一电场,晶片就会产生机械变形。反之,若在晶片的两侧施加机械压力,则在晶片相应的方向上将产生电场,这种物理现象称为压电效应。如果在晶片的两极上加交变电压,晶片就会产生机械振动,同时晶片的机械振动又会产生交变电场。在一般情况下,晶片机械振动的振幅和交变电场的振幅非常微小,但当外加交变电压的频率为某一特定值时,振幅明显加大,比其他频率下的振幅大得多,这种现象称为压电谐振,它与LC回路的谐振现象十分相似。它的谐振频率与晶片的切割方式、几何形状、尺寸等有关。c、符号和等效电路石英晶体谐振器的符号和等效电路如图2所示。当晶体不振动时,可把它看成一个平板电容器

17、称为静电电容C,它的大小与晶片的几何尺寸、电极面积有关,一般约几个PF到几十PF。当晶体振荡时,机械振动的惯性可用电感L来等效。一般L的值为几十mH 到几百mH。晶片的弹性可用电容C来等效,C的值很小,一般只有0.00020.1pF。晶片振动时因摩擦而造成的损耗用R来等效,它的数值约为100。由于晶片的等效电感很大,而C很小,R也小,因此回路的品质因数Q很大,可达100010000。加上晶片本身的谐振频率基本上只与晶片的切割方式、几何形状、尺寸有关,而且可以做得精确,因此利用石英谐振器组成的振荡电路可获得很高的频率稳定度。 d、谐振频率从石英晶体谐振器的等效电路可知,它有两个谐振频率,即(1)

18、当L、C、R支路发生串联谐振时,它的等效阻抗最小(等于R)。串联揩振频率用fs表示,石英晶体对于串联揩振频率fs呈纯阻性,(2)当频率高于fs时L、C、R支路呈感性,可与电容C。发生并联谐振,其并联频率用fd表示。根据石英晶体的等效电路,可定性画出它的电抗频率特性曲线如图2e所示。可见当频率低于串联谐振频率fs或者频率高于并联揩振频率fd时,石英晶体呈容性。仅在fsffd极窄的范围内,石英晶体呈感性。2.2.2、石英晶体振荡器类型特点石英晶体振荡器是由品质因素极高的石英晶体振子(即谐振器和振荡电路组成。晶体的品质、切割取向、晶体振子的结构及电路形式等,共同决定振荡器的性能。国际电工委员会(IE

19、C)将石英晶体振荡器分为4类:普通晶体振荡(TCXO),电压控制式晶体振荡器(VCXO),温度补偿式晶体振荡(TCXO),恒温控制式晶体振荡(OCXO)。目前发展中的还有数字补偿式晶体损振荡(DCXO)等。普通晶体振荡器(SPXO)可产生10(-5)10(-4)量级的频率精度,标准频率1100MHZ,频率稳定度是100ppm。SPXO没有采用任何温度频率补偿措施,价格低廉,通常用作微处理器的时钟器件。封装尺寸范围从21146mm及53.21.5mm。电压控制式晶体振荡器(VCXO)的精度是10(-6)10(-5)量级,频率范围130MHz。低容差振荡器的频率稳定度是50ppm。通常用于锁相环路

20、。封装尺寸14103mm。温度补偿式晶体振荡器(TCXO)采用温度敏感器件进行温度频率补偿,频率精度达到10(-7)10(-6)量级,频率范围160MHz,频率稳定度为12.5ppm,封装尺寸从303015mm至11.49.63.9mm。通常用于手持电话、蜂窝电话、双向无线通信设备等。恒温控制式晶体振荡器(OCXO)将晶体和振荡电路置于恒温箱中,以消除环境温度变化对频率的影响。OCXO频率精度是10(-10)至10(-8)量级,对某些特殊应用甚至达到更高。频率稳定度在四种类型振荡器中最高。 2.2.3、石英晶体振荡器的主要参数晶振的主要参数有标称频率,负载电容、频率精度、频率稳定度等。不同的晶

21、振标称频率不同,标称频率大都标明在晶振外壳上。如常用普通晶振标称频率有:48kHz、500 kHz、503.5 kHz、1MHz40.50 MHz等,对于特殊要求的晶振频率可达到1000 MHz以上,也有的没有标称频率,如CRB、ZTB、Ja等系列。负载电容是指晶振的两条引线连接IC块内部及外部所有有效电容之和,可看作晶振片在电路中串接电容。负载频率不同决定振荡器的振荡频率不同。标称频率相同的晶振,负载电容不一定相同。因为石英晶体振荡器有两个谐振频率,一个是串联揩振晶振的低负载电容晶振:另一个为并联揩振晶振的高负载电容晶振。所以,标称频率相同的晶振互换时还必须要求负载电容一至,不能冒然互换,否

22、则会造成电器工作不正常。频率精度和频率稳定度:由于普通晶振的性能基本都能达到一般电器的要求,对于高档设备还需要有一定的频率精度和频率稳定度。频率精度从10(-4)量级到10(-10)量级不等。稳定度从1到100ppm不等。这要根据具体的设备需要而选择合适的晶振,如通信网络,无线数据传输等系统就需要更高要求的石英晶体振荡器。因此,晶振的参数决定了晶振的品质和性能。在实际应用中要根据具体要求选择适当的晶振,因不同性能的晶振其价格不同,要求越高价格也越贵,一般选择只要满足要求即可。XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用

23、外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。本次课题使用12MHZ的石英晶体振荡器。2.3 74HLS154/595芯片图2-3 74HC154/595管脚图1) 74LHC154功能简介:a.74HC154为 4 线16 线译码器,当选通端E1、E2为低电平时,可将地址端(ABCD)的二进制编码在一个对应的输出端,以低电平译出。 如果将G1和G2中的一个作为数据输入端,由ABCD对输出寻址,74LS154还可作1线-16线数据分配器。b.引脚功能介绍A、B、C、D 译码地址输入端(

24、低电平有效)G1、G2 选通端(低电平有效) 015 输出端(低电平有效)2) 74LHC595功能简介:引脚功能介绍Q0Q7/Q7:芯片的输出端DS;串行数据输入端SH_CP:移位寄存器的移位时钟秒冲,上升沿触发ST_CP:输出锁存器的打入信号,上升沿有效MR:移位寄存器的清零输入端OE:三态门的开发信号第三章 硬件电路实现3.1 1616LED点阵的内部结构及工作原理每一个字由16行16列的点阵组成显示。即国家标准汉字库中的每一个字均由256点阵来表示。我们可以把每一个点理解为一个像素,而把每一个字的字形理解为一幅图像。事实上这个汉字屏不仅可以显示汉字,也可以显示在256像素范围内的任何图

25、形。这里我们以“高”字说明,如图3-1所示。图3-1 16*16LED汉字显示用8位的AT89C51单片机控制,由于单片机的总线为8位,一个字需要拆分为2个部分。一般把它拆分为上部和下部,上部由816点阵组成,下部也由816点阵组成。在本例中单片机首先显示的是左上角的第一列的上半部分,即第0列的p00p07口。方向为p00到p07 ,显示汉字“高”时,p02点亮,由上往下排列,为p0.0 灭,p0.1 灭, p0.2 灭, p0.3 灭, p0.4 灭, p0.5 亮,p0.6灭,p0.7 灭。即二进制00000100,转换为16进制为 04h。上半部第一列完成后,继续扫描下半部的第一列,为了

26、接线的方便,我们仍设计成由上往下扫描,即从p27向p20方向扫描,从上图可以看到,这一列全部为不亮,即为00000000,16进制则为00h。 然后单片机转向上半部第二列,仍为p01点亮,为00000100,即16进制04h.这一列完成后继续进行下半部分的扫描,p20点亮,为二进制00000010,即16进制02h.依照这个方法,继续进行下面的扫描,一共扫描32个8位,可以得出汉字“高”的扫描代码为:0xA0,0x00, 0x60,0xFF, 0x20,0x82, 0x30,0x84, 0x2E,0xBC, 0x2E,0xB4, 0xAA,0xA4, 0x6B,0xE4, 0x2A,0xA4,

27、 0x2B,0xE4, 0x2E,0xBC, 0x24,0x92, 0x28,0x89, 0x30,0xFE, 0x20,0x02, 0x40,0x01,由这个原理可以看出,无论显示何种字体或图像,都可以用这个方法来分析出它的扫描代码从而显示在屏幕上。不过现在有很多现成的汉字字模生成软件,就不必自己去画表格算代码了。3.2 用88LED点阵构成1616LED点阵Proteus中只有57和88等LED点阵,并没有1616LED点阵,而在实际应用中,要良好地显示一个汉字,则至少需要1616点阵。下面我们就首先介绍使用88点阵构建1616点阵的方法,并构建一块1616LED点阵,用于本例的显示任务。

28、首先,从Proteus7.1的元件库中找到“MATRIX-8X8-RED”元器件,并将四块该元器件放入Proteus文档区编辑窗口中。此时需要注意,如果该元器件保持初始的位置(没有转动方向),我们要首先将其左转90,使其水平放置,那么此时它的左面8个引脚是其行线,右边8个引脚是其列线(当然,如果你是将右转,则右边8个引脚是行线)。然后我们将四个元器件对应的行线和列线分别进行连接,使每一条行线引脚接一行16个LED,列线也相同。并注意要将行线和列线引出一定长度的引脚,以便下面我们使用。连接好的1616点阵如图3图3-2 点阵模块组合-2成如上图的1616点阵只是第一步,这样分开的数块并不能达到好

29、的显示效果,下面我们要将其进一步组合。组合实际上很简单,首先选中如上图中右侧的两块88点阵,然后拖动并使其与左侧的两块相并拢,如图3-3所示。图3-3可以看到原来的连线已经自动隐藏了,至于线上的交点,我们不要去动。然后,我们再来最后一步,选中下侧的两块点阵,并拖动使其与上侧的两块并拢,最后的效果如图3.6所示。看到,原来杂乱的连线现在已经几乎全部隐藏了,一块1616的LED点阵做成了。需要注意,做成的LED点阵的行线为左侧的16个引脚,下侧的16个引脚为其列线,而且其行线为高电平有效,列线为低电平有效。然后,我们将其保存,以便以后使用。 图 3-43.3 交通灯应用部分交通灯部分由简单的电阻和

30、放光二极管组成如图3-5图 3-53.4经分析本设计的电路原理图如下图3-6所示:图3-5 1616点阵显示原理图Proteus仿真时,单片机需要加载程序,加载程序为xx.HEX文件。本设计利用Keil Vision 4, 在新建Keil项目时选择AT89C51单片机作为CPU,将源程序导入,在“Options For Target”对话窗口中,选中“Output”选项中的“Create HEX File”,编译链接后就可以生成.HEX文件。在Proteus ISIS中,选中AT89C51并单击鼠标左键,对AT89C51进行设置,设置单片机时钟频率为12MHz,按照正确的文件路径加载.HEX文

31、件。对单片机设置完毕后就可以开始仿真了。仿真过程中如有硬件问题可在Proteus ISIS中直接修改,如有软件问题可在Keil Vision 4中直接修改,通过Keil与Proteus的联合调试就可以得到满意的结果。利用Proteus实现了对点阵式LED滚动汉字显示屏的仿真,说明程序和电路图都没有问题第四章 软件的程序实现4.1 流程图编译、装载、连续运行程序,点阵显示模块应循环显示1)“单片机C语言程序设计-题0822139-刘俊福!”的字样。2) 正常运行的交通灯。下面是单片机流程图:开 始系统初始化“左跑马”点阵显示交通灯(音乐)图5所示是其流程图该系统的软件编程采用MCS51系列单片机

32、C语言完成,并把显示程序作为一个子程序,从而使主程序对其进行方便的调用。图5所示是其流程图。4.2 程序代码16*16点阵设计程序清单如下:#include #define uint unsigned int#define uchar unsigned char#define blkn 2 / 一列数据由2*8x8点阵显示sbit RED_A=P00; /东西向指示灯 sbit YELLOW_A=P01; sbit GREEN_A=P02;sbit RED_B=P03; /南北向指示灯 sbit YELLOW_B=P04; sbit GREEN_B=P05; sbit CLEAR74595=P

33、15; / 74HC595移位寄存器清零sbit ST_CP74595=P16; / 74HC595内部输出控制(从寄存器到锁存器)sbit EN74154=P17; / 74HC154片选线sbit SPEAKER=P37; / 定义蜂鸣器uchar Time_Count=0; /延时倍数 uchar Flash_Count=0; /闪烁次数uchar Operation_Type=1;/操作类型变量void PlayMusic(); /播放函数void Dianzhen (); /点阵显示void delay(uint z) / 延时函数uint x,y;for(x=z;x0;x-)for

34、(y=110;y0;y-);uchar code SONG_TONE=212,212,190,212,159,169,212,212,190,212,142,159, 212,212,106,126,159,169,190,119,119,126,159,142,159,0; /生日快乐歌的音符频率表,不同频率由不同的延时来决定 uchar code SONG_LONG=9,3,12,12,12,24,9,3,12,12,12,24, 9,3,12,12,12,12,12,9,3,12,12,12,24,0; /生日快乐歌节拍表,节拍决定每个音符的演奏长短 uchar data DDRAM 3

35、2;/显示数据缓冲数组uchar code SJM 32=0x07,0xE0,0x1F,0xF8,0x28,0x0C,0x6C,0x04,0xEC,0x22,0xEC,0x12,0xC8,0x0B,0xC1,0x89,0xC1,0x89,0xC8,0x0B,0xEC,0x12,0xEC,0x22,0x6C,0x04,0x28,0x0C,0x1F,0xF8,0x07,0xE0,/笑脸 0x00,0x10,0x00,0x10,0x1F,0xD0,0x14,0x90,0x94,0x90,0x74,0x90,0x54,0x90,0x1F,0xFF,0x14,0x90,0x34,0x90,0xD4,0x

36、90,0x54,0x90,0x1F,0xD0,0x00,0x10,0x00,0x10,0x00,0x00,/单 0x00,0x01,0x00,0x02,0x00,0x0C,0x7F,0xF0,0x08,0x80,0x08,0x80,0x08,0x80,0x08,0x80,0x08,0x80,0xF8,0x80,0x08,0x80,0x08,0xFF,0x08,0x00,0x18,0x00,0x08,0x00,0x00,0x00,/片 0x10,0x20,0x10,0xC0,0x13,0x00,0xFF,0xFF,0x12,0x00,0x11,0x82,0x10,0x0C,0x00,0x30,0

37、x7F,0xC0,0x40,0x00,0x40,0x00,0x40,0x00,0x7F,0xFC,0x00,0x02,0x00,0x1E,0x00,0x00, /机0x00,0x00,0x00,0x00,0x03,0xE0,0x0C,0x18,0x10,0x04,0x10,0x04,0x10,0x04,0x10,0x08,0x1C,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /C0x04,0x00,0x84,0x00,0x77,0xFE,0x20,0x04,0x00,0x08,0x01,

38、0x00,0x49,0x00,0x49,0x7E,0x4F,0x44,0x79,0x44,0x49,0x44,0x49,0x44,0x4F,0x7E,0x41,0x00,0x01,0x00,0x00,0x00, /语0x00,0x00,0x20,0x00,0x20,0x00,0x25,0x3F,0x25,0x22,0x25,0x22,0xA5,0x22,0x65,0x22,0x25,0x22,0x25,0x22,0x25,0x22,0x25,0x3F,0x20,0x00,0x20,0x00,0x20,0x00,0x00,0x00, /言0x08,0x20,0x48,0xC0,0x4B,0x00

39、,0x7F,0xFF,0x89,0x00,0x88,0x82,0x01,0x22,0xFD,0x22,0x85,0x22,0x85,0xFE,0x85,0x22,0x85,0x22,0xFD,0x22,0x01,0x22,0x00,0x02,0x00,0x00, /程0x00,0x01,0x00,0x06,0x3F,0xF8,0x20,0x00,0x20,0x80,0x28,0x80,0x28,0x80,0xAC,0x82,0x6A,0x81,0x29,0xFE,0x2A,0x80,0x2C,0x80,0x28,0x80,0x20,0xC0,0x20,0x80,0x00,0x00, /序0x0

40、2,0x00,0x82,0x00,0x73,0xFE,0x20,0x04,0x00,0x09,0x01,0x01,0x02,0x02,0x7D,0xC2,0x41,0x34,0x41,0x08,0x41,0x08,0x7D,0x34,0x03,0xC2,0x02,0x03,0x02,0x02,0x00,0x00, /设0x04,0x00,0x84,0x00,0x74,0x00,0x27,0xFE,0x00,0x04,0x00,0x08,0x04,0x10,0x04,0x00,0x04,0x00,0x04,0x00,0xFF,0xFF,0x04,0x00,0x04,0x00,0x04,0x00,

41、0x04,0x00,0x00,0x00, /计0x00,0x00,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x00, /-0x01,0x02,0x01,0x0C,0x7D,0x70,0x55,0x08,0x55,0xFC,0x7D,0x24,0x01,0x22,0x40,0x02,0x4F,0xCA,0x58,0x12,0x6B,0xE2,0x48

42、,0x22,0x48,0x12,0x4F,0xCA,0x40,0x02,0x00,0x00, /题0x00,0x00,0x07,0xF0,0x08,0x08,0x10,0x04,0x10,0x04,0x08,0x08,0x07,0xF0,0x00,0x00,0x00,0x00,0x0E,0x38,0x11,0x44,0x10,0x84,0x10,0x84,0x11,0x44,0x0E,0x38,0x00,0x00, /080x00,0x00,0x0E,0x0C,0x10,0x14,0x10,0x24,0x10,0x44,0x11,0x84,0x0E,0x0C,0x00,0x00,0x00,0x

43、00,0x0E,0x0C,0x10,0x14,0x10,0x24,0x10,0x44,0x11,0x84,0x0E,0x0C,0x00,0x00, /220x00,0x00,0x08,0x04,0x08,0x04,0x1F,0xFC,0x00,0x04,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0x18,0x10,0x04,0x11,0x04,0x11,0x04,0x12,0x88,0x0C,0x70,0x00,0x00, /130x00,0x00,0x07,0x00,0x08,0x8C,0x10,0x44,0x10,0x44,0x08,0x88

44、,0x07,0xF0,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,/9-0x00,0x02,0x10,0x04,0x14,0x08,0x92,0x10,0x51,0x20,0x30,0xC0,0x13,0x60,0x1C,0x1C,0x10,0x08,0x00,0x00,0x1F,0xE0,0x00,0x04,0x00,0x02,0xFF,0xFC,0x00,0x00,0x00,0x00, /刘0x01,0x00,0x02,0x00,0x04,0x00,0x1

45、F,0xFE,0xE0,0x80,0x49,0x12,0x1A,0x22,0x2D,0xC4,0xE8,0xB4,0x48,0x88,0x18,0x98,0x14,0xE4,0x32,0x84,0x1D,0x02,0x08,0x02,0x00,0x00, /俊0x10,0x40,0x10,0x80,0x91,0x00,0x73,0xFF,0x14,0x80,0x18,0x40,0x40,0xFF,0x5E,0x92,0x52,0x92,0x52,0x92,0x52,0xFE,0x52,0x92,0x52,0x92,0x5E,0x92,0x40,0xFF,0x00,0x00, /福 0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xCC,0x00,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, / !

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号