基于51单片机的led点阵显示
基于51单片机的LED点阵屏的设计与实现_毕业论文(设计)

基于51单片机的LED点阵屏的设计与实现摘要本文主要阐述了用51单片机控制单色32*64的LED点阵屏显示的方法,对LED点阵屏如何进行行列信号控制及信号传输中的驱动问题进行了研究,并讨论了单片机控制系统中关键的数据处理以及发送问题。
结果表明采用并行数据输入、串行数据及同步时钟传输的专用电路可大大减少CPU的辅助时间,提高了数据的发送速度。
并给出了通过软件控制点阵屏显示的几种方式,如静态显示,分屏显示以及左移显示,对其软件的算法给出了具体分析。
基于各种算法我们就可以灵活的运用软件实现各种显示,并将其用于商业用途。
关键词LED点阵屏;单片机;驱动;扫描The Design and Realization of LED Lattice ScreenBased On MCU-51AbstractThis article mainly elaborates the method of using MCU-51 to control single color 32*64 LED lattice screen display, and researching how to carry on the ranks signal control and the question of signal actuation with the LED lattice screen, and discusses the essential data processing and the transmission question in the monolithic integrated circuit control system. The result indicates that CPU non-cutting time can be reduced greatly by using the allocated-use circuit with parallel data input, serial data and synchronism clock transmission, which has raised the data transmitting speed. This system has given several ways to control lattice screen display via software such as the static state display, divided screen display and left shift display, which has given the concrete analysis of software's algorithm. We can realize all kinds of display nimbly by using software based on each algorithm, and use it in the commercial trade .Key wordsLED lattice screen;One-chip computer;Drive;Scan前言随着社会文化的不断发展,人们的消费标准不断提高,户外灯箱广告更是扮演着越来越重要的宣传角色,不论是汽车站,火车站,股票交易市场,还是学校都离不开它,然而传统的霓虹灯广告牌不论是在显示效果、耗电量还是可修改性上都无法满足当前社会的需求,传统的霓虹灯广告亟待改进。
基于51单片机的LED点阵显示屏系统的设计

基于51单片机的LED点阵显示屏系统的设计摘要:本篇论文主要介绍基于51单片机的LED点阵显示屏系统的设计方案。
该系统通过51单片机进行数据处理,并将数据在LED点阵显示屏上进行展示,具有显示效果好、成本低等优点。
论文主要介绍了硬件电路设计、程序设计、PCB设计以及实验结果等内容,对基于51单片机的LED点阵显示屏系统的实用性进行了探讨。
关键词:51单片机、LED点阵显示屏、硬件电路设计、程序设计、PCB设计、实验结果一、引言LED点阵显示屏是一种广泛应用于各种场合,如宣传广告、商店展示、显示器等领域的显示设备。
与传统的显示屏相比,LED点阵显示屏具有显示效果好、成本低等优点。
近年来,随着51单片机技术的不断发展,基于51单片机的LED点阵显示屏系统在各个领域得到了广泛的应用。
本文主要介绍基于51单片机的LED点阵显示屏系统的设计方案。
该系统通过51单片机进行数据处理,并将数据在LED点阵显示屏上进行展示,具有良好的实用性和经济效益。
论文主要包括硬件电路设计、程序设计、PCB设计以及实验结果等部分。
二、硬件电路设计1. 系统框图基于51单片机的LED点阵显示屏系统的硬件。
2. 数码管显示电路基于51单片机的LED点阵显示屏系统的中,采用BCD数码管进行数据输入。
BCD数码管共四位,每一位数字独立控制。
数码管显示电路主要包括74HC595移位寄存器、串联$k$向$n$型译码器以及BCD数码管组成。
采用74HC595移位寄存器可以将多个BCD数码通过串联方式连接在一起,从而减少了输出引脚的数量。
通过寄存器的移位方式,可以实现控制数据的输入和输出。
3. LED点阵显示电路在本系统中,采用了8*8共阴极的LED点阵显示屏,并通过双向移位寄存器74HC595将数据的控制信号传输到LED点阵显示屏。
在具体的控制方案中,将LED点阵显示屏划分为8*8个小块,每个小块对应一个控制信号,通过移位寄存器将每一个小块的控制信号输出到LED 点阵上。
基于51单片机的LED点阵显示屏系统的设计与实现

基于51单片机的LED点阵显示屏系统的设计与实现一、引言随着科技的发展,LED点阵显示屏已经成为了广告、公告栏、车载显示屏等各个领域的重要组成部分。
本文将基于51单片机,设计并实现一个LED点阵显示屏系统。
二、系统设计1.系统硬件设计系统硬件由以下组成部分构成:-51单片机:作为系统的控制中心,负责控制点阵的亮灭以及显示内容的刷新。
-LED点阵:采用常用的8×8点阵显示屏,共64个LED灯,用于显示文字、图形等内容。
-驱动电路:由8个NPN型晶体管构成的列激活电路和8个PNP型晶体管构成的行激活电路,用于控制点阵灯的亮灭。
-电源:为系统提供工作电压,需要稳定的直流电源。
2.系统软件设计系统软件主要包括以下功能:-初始化:对系统硬件进行初始化,包括设置I/O引脚的方向、初始化计时器等。
-显示内容控制:通过控制51单片机的I/O口,向LED点阵发送要显示的内容,包括文字、图形等。
-刷新显示:通过定时器中断,控制点阵的显示周期,使得点阵灯在适当的时间内亮灭,实现流畅的显示效果。
三、系统实现1.硬件实现根据系统硬件设计,搭建相应的电路板,包括51单片机、LED点阵、驱动电路等。
根据电路原理图进行布线,并进行必要的焊接工作。
2.软件编程使用汇编语言或C语言编写单片机程序,实现系统软件设计中的各个功能。
具体步骤包括:-配置51单片机的I/O口,设置为输出端口,并连接到LED点阵和驱动电路。
-初始化计时器,设置定时器中断的周期,用于刷新点阵显示。
-编写显示内容的控制函数,通过对I/O口的控制,向LED点阵发送相应的数据。
-编写中断服务函数,在每次中断发生时,刷新点阵显示。
-编译、烧录程序到51单片机,并将其与其它硬件模块连接。
3.系统测试与优化通过实际测试,检验系统硬件和软件是否正常工作。
根据系统的实际表现进行调整和优化,确保点阵显示的效果稳定而流畅。
四、结论本文基于51单片机,设计并实现了LED点阵显示屏系统。
基于51单片机的8乘8led点阵显示屏的设计

基于单片机的8*8LED点阵显示屏的设计随着单片机在各个领域的广泛应用,许多用单片机作控制驱动LED显示屏也应运产生。
本系统设计使用单片机MCS-51控制扫描方法实现LED点阵显示器的字符的显示,介绍了用单片机进行显示系统开发的方法,单片机软件、硬件调试技术,还有点阵显示驱动扩展的一般方法。
1.引言1.1 研究的目的、意义LED因其体积小,耗电量低,亮度及环保等优点而被广泛应用于公共场所的大屏显示上,LED点阵大屏可应用于户外广告,交通导航,大厅公告,比赛的多媒体实时显示等领域。
本设计作品的用途正是在于实现大屏显示的核心功能,即汉字的显示,可实际应用于简单的显示系统中,如简单的排队叫号显示屏,电梯显示屏等。
通过此次设计将单片机软硬件结合起来对程序进行编辑,校验,锻炼实践能力和理论联系实际的能力。
1.2 本设计所要做的工作为了完成该设计实现,经过考虑论证,决定分为以下几个阶段进行:(1)对课题进行全面的分析,明确系统要实现的功能,大致了解要解决的问题,制定总的设计方案;(2)根据论证设计硬件系统并画出电路图,并根据电路图在面包板上连接电路图;(3)在硬件的基础上设计软件程序;(4)利用仿真器编译软件程序,进行调试仿真;(5)把调试成功的程序利用烧入器烧入到芯片中去;(6)把固化好程序的芯片插入到实际应用系统,投入到实际使用。
2.系统设计方案2.1系统构成框图3.硬件电路设计3.1 主要器件介绍3.1.1 LED点阵LED点阵显示屏采用1个8*8共64个象素的点阵,通过LED点阵资料判断出该点阵的引脚分布,如图3.1所示。
8*8的LED点阵为单色共阳模块,单点的工作电压为正向(Vf)=1.8v,正向电流(if)=8-10MA。
静态点亮器件时(64点全亮)总电流为640mA。
总电压为1.8v,总功率为1.15w.动态时取决于扫描频率(1/8或1/16秒),单点瞬间电流可达80-160mA。
图3.1点阵LED扫描法介绍点阵LED一般采用扫描式显示,实际运用分为三种方式:(1)点扫描(2)行扫描(3)列扫描若使用第一种方式,其扫描频率必须大于16*64=1024HZ,周期小于1MS即可。
基于51单片机的LED点阵显示屏系统的设计

基于51单片机的LED点阵显示屏系统的设计【摘要】本文讨论了一种新型LED点阵显示技术,它使用单片机AT89S51作为控制器,可以同时提供静止图像和动画图像。
此外,它还可以通过层间接口,将图像放宽,从而提高图像质量。
通过使用PC机作为上位机,将控制指令传递给AT89S51单元,开发出一套全新的51单片机控制程序,可以有效地支持多种应用,包括数据传输、可视化、静止图像以及可视化图像的展示。
PC机与单片机之间的通信采用RS—232C通信标准来实现。
【关键词】AT89S51 LED点阵显示串行通信1系统硬件设计1.1硬件整体设计该系统包含了上位机、MCU、通讯、翻转、显示驱动器和LED点阵。
上位机可以将控制命令传递给MCU,然后MCU根据接受的命令进行编程,最终使用I/O接口将编程的结果转换为可供用户查看的数据。
此刻,采用翻译技术将数字信号进行串联和并联,从而实现将其同步传送至显卡驱动器的功能[5]。
接着,显示驱动电路控制电压和电流以满足LED点阵屏的电流电压要求,并最终在屏幕上显示预期内容。
可以看出,整个系统是通过各种互相协调合作的部件和组件来完成LED点阵屏的控制和显示功能的。
为了确保系统的有效运行,我们需要根据硬件的功能结构和预期功能来选择合适的元件。
这些元件不仅需要满足我们的需求,还需要满足系统的兼容性。
1.2控制系统设计由于AT89S51使用了单片机技术,它具有一个简化版本,由复位器、外接时钟器以及大量IO接口组成,可以实现对多个外接设备及其相关信息的有效监测。
通过调整单片机的参数,以及配置相应的外部元件,可以实现更高效的系统运行。
P1的四个端子被广泛应用于LED的显示,以及ISP的下载。
它们的连接方式如下:P1.0,连接四块74LS164的A端,将串行信号传递到74LS164,然后进行处理,最终实现同步的输出;P1.2,连接四块74LS164的CLOCK端,实现同步的输出;通过P1.3、P1.7以及164芯片,可以实现将一组串行数据进行并行处理,从而实现ISP的下载功能。
基于51单片机的LED点阵屏显示设计毕业设计说明书摘要

基于51单片机的LED点阵屏显示设计摘要LED显示屏是一种通过控制半导体发光二极管的显示方式,它是由很多个红色的发光二极管组成,靠灯的亮灭来显示字符。
LED显示屏分为数码显示屏、图文显示屏和视频显示屏,均由LED矩阵块组成。
目前由于LED显示屏造价昂贵,主要应用于比较高档的场所,主要集中在城市的繁华场所,在正在举办的展览会、未来各项大型运动赛事等新增需求,都将促使LED显示屏的大规模发展。
此外,已架设的大型LED显示屏幕每10年将历经一次换机潮,随着人们生活水平的提高,户外LED显示屏将逐渐应用于各个行业。
本文介绍了一款以单片机AT89S51为控制器的LED点阵显示屏系统的设计。
该系统选用四块8×8点阵模块构建一个16×16的LED点阵屏,可实现中英文字符的显示及其动态特效显示。
选定AT89S51单片机为核心控制器件,由串并转换器和锁存器为译码电路器件,三极管和驱动继电器为驱动电路器件,通过级连的方式来扩大显示屏幕的尺寸以达到增加显示内容的目的。
AT89S51单片机处理控制命令以及显示代码,将显示内容通过I/O口串行输出并且控制译码电路完成串并转换并行输出,最后由显示驱动电路模块驱动LED点阵显示屏的扫描显示。
整个设计采用AT89S51做核心控制器,74LS164和74LS373组成译码电路,三极管8550和ULN2803做行和列驱动。
关键词:AT89S51,LED,显示屏,半导体LED Dot Matrix Display Design Based on SCMAbstractLED display is the display mode controlling by the semiconductor light emitting diode, it probably looks like that composition by a number of led is usually a red light-emitting diodes which show character by the LED on and off. LED display is divided into Digital display, Graphic display and Video display, which is compositioned by LED matrix block. As the cost of LED display expensive currently, mainly used in relatively high places, concentrated in the cities bustling place , being held in the Shanghai 2013, Future large-scale sporting events and other additional requirements will promote large-scale development of LED display. In addition, the original large-scale LED display screen will be updating once per 10 yea rs, with the improvement of people’s living standard, outdoor LED display will gradually be used in various industries.This paper introduces a design of the LED lattice display system base on MCU AT89S51. This system chooses four 8 x 8 bitmap module to construct a 16 x 16 of LED dot matrix screen.The system can display in both Chinese and Englishcharacters of the show and from top to bottom and move around the magic show. Selected for the core control device AT89S51, the string and converter and latches to decode circuits, transistor and drive relays for driving circuit devices, through the ways to expand level even display screen size in order to achieve the purpose of increasing display content.AT89S51 processing control commands and display code will display content through the I/O port serial output and control of decode logic complete and transfer parallel output, finally by display driver circuit module driver destem scanning display. The whole design USES AT89S51 do core controller, 74LS164 and 74LS373 composition decode circuit, triode 8550 and ULN2803 do rows and columns driverKeywords: AT89S51 ,LED ,Display ,Semiconductor。
基于51单片机的动态点阵LED汉字显示屏的设计

大荧幕显示系统一般是将由多个LED点阵组成的小模组以搭积木的方式组合而成的,每一个小模组都有自己的独立的控制系统,组合在一起后只要引入一个总控制器控制各模组的命令和资料即可,这种方法既简单而且具有易展、易维修的特点。
(2)竖直方向(Y方向)扫描,即逐行扫描方式(简称行扫描方式):此时用一个P口输出决定哪一行能亮(相当于位码),另一个P口输出列码(行数据,行数据为将列数据的点阵旋转90度的数据)决定该行上哪些LED灯亮(相当于段码)。能亮的行从上向下扫描完16行(相当于位码循环移位16次)即显示一帧完整的图像。
每一个字由16行16列的点阵形成显示,即每个字均由256个点阵来表示,我们可以把每一个点理解为一个像素。一般我们使用的16×16的点阵宋体字库,即所谓的16×16,是每一个汉字在纵横各16点的区域内显示的。汉字库从该位置起的32字节信息记录了该字的字模信息。事实上这个汉字屏不仅可以显示汉字,也可以显示在256像素范围内的任何图形。
2.2
8×8的LED点阵是由64个发光二极管按矩阵形式排列而成,每一行上的发光管有一个公共的阳极(或阴极),每一列上的发光管有一个公共的阴极(或阳极),一般按动态扫描方式显示汉字或图形。扫描分为点扫描、行扫描和列扫描三种方式。
当对应的某一列置1电平,某一行置0电平,则相应的二极管就亮;因此要实现一根柱形的亮法,如图2-1,2-2所示,对应的一列为一根竖柱,或者对应的一行为一根横柱,因此实现柱的亮的方法如下所述:一根竖柱:对应的列置1,而行则采用扫描的方法来实现。一根横柱:对应的行置0,而列则采用扫描的方法来实现。
基于MCS51单片机的LED显示屏控制器设计与实现

基于MCS51单片机的LED显示屏控制器设计与实现一、概述随着科技的飞速发展,LED显示屏已广泛应用于各种公共场合,如商场、车站、广场等,成为信息传播和展示的重要工具。
要使LED 显示屏正常工作并呈现出丰富多彩的视觉效果,就需要一个高效、稳定的控制器。
基于MCS51单片机的LED显示屏控制器,以其性价比高、编程灵活、稳定性强等特点,在LED显示屏控制领域得到了广泛的应用。
MCS51单片机,作为一种经典的8位单片机,自问世以来就在工业自动化、智能仪表、消费类电子等领域发挥着重要作用。
其强大的IO处理能力、灵活的编程方式以及稳定的性能,使得它成为LED显示屏控制器的理想选择。
本文将详细介绍基于MCS51单片机的LED显示屏控制器的设计与实现过程。
我们将对LED显示屏的基本原理和工作方式进行阐述,接着分析MCS51单片机的特点和在LED显示屏控制中的应用优势。
我们将从硬件设计和软件编程两个方面,详细介绍如何构建一个稳定、高效的LED显示屏控制器。
我们将通过实例展示,验证所设计的LED显示屏控制器的实际效果和应用价值。
通过本文的阅读,读者将能够深入了解基于MCS51单片机的LED 显示屏控制器的设计与实现过程,为实际工程项目中的LED显示屏控制器的设计与开发提供有益的参考和借鉴。
1. LED显示屏的发展背景和应用领域随着科技的飞速发展,信息显示技术也取得了巨大的进步。
LED 显示屏作为一种先进的显示技术,以其高亮度、高清晰度、色彩鲜艳、寿命长、功耗低等优点,逐渐在各个领域取代了传统的显示设备。
LED 显示屏的发展背景和应用领域广泛,为现代社会的信息传播和视觉呈现提供了强有力的支持。
在LED显示屏的发展背景方面,其技术进步是扩大市场需求及应用的最大推动力。
随着半导体材料和芯片制造技术的不断突破,LED 的性能得到了极大的提升,从而推动了LED显示屏的快速发展。
同时,随着大规模集成电路和计算机技术的不断进步,LED显示屏的控制技术也得到了显著提升,使得LED显示屏在显示效果、稳定性和可靠性等方面都有了很大的提高。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
项目名称:基于51单片机的LED点阵显示器目录一、项目介绍 (2)1.1 项目背景1.2 功能介绍二、电路结构 (3)三、实现模块 (5)四、运行程序 (7)一、项目介绍1.1项目背景当今世界,电子技术迅猛发展,点阵式显示器件作为现代信息显示的重要媒体,在金融证券、体育、机场、交通、商业、广告宣传、邮电电信、指挥调度、国防军事等许多领域中得到了广泛应用。
因此点阵式显示器件的研制、生产也的到了迅速的发展,并逐步形成产业,成为光电子行业的新兴产业领域。
目前,点阵式显示器件具体包括LED显示模块和LCD显示模块等。
现在发展的LCD比较先进,LCD的优点较为明显,他体积小,容易控制,功能强,价格适宜,能够适应显示器的发展方向,因而在通信、家电、大屏幕投影等领域得到了越来越广泛的应用;随着社会经济的迅猛发展,工业生产逐渐实现了自动化,其中,设备的工作状态和生产过程状态的显示与监控起到了非常重要的作用,对于那些需要显示的信息量不是很大,分辨率不是很高,又需要制造成本相对比较低的场合,使用大、小屏幕LED点阵显示器是比较经济适用的,他可以显示字符、数字、汉字和简单图形,可以根据需要使用不同字号、字型,显示亮度较高,并且对环境条件要求比较低。
LED显示又可以分为单色显示和双色显示,可以按照需要的大小、形状和颜色进行组合,并用单片机控制实现各种文字或图形的变化,达到宣传和提示的目的。
1.2功能介绍2本次设计的用单片机控制的显示电路使用比较简单,操作方便。
它主要是通过一个8×8点阵来显示图案,通过不同的按键来选择控制图案的种类及显示方式。
在通电以后,显示屏全亮,随后进入逐字显示状态。
按下复位键K1,系统自动复位,显示diligent,随后进入待命状态。
按键1、2、3、4分别控制不同的图案。
另外,我们可以通k5键来控制字符移动速度的快慢。
二、电路结构单片机最小系统设计2.2.1 各部分具体电路1 单片机的时钟电路AT89C52单片机内部的振荡电路是一个高增益反向放大器,引线XTAL1和XTAL2分别是放大器的输入端和输出端。
单片机内部虽然有振荡电路,但要形成时钟,外部还需附加电路。
AT89C52的时钟产生方式有两种:内部时钟电方式和外部时钟方式。
由于外部时钟方式用于多片单片机组成的系统中,所以此处选用内部时钟方式。
内部时钟方式:利用其内部的振荡电路在XTAL1和XTAL2引线上外接定时元件,内部振荡电路产生自激振荡。
最常用的是在 XTAL1和XTAL2之间接晶体振荡器与电路构成稳定的自激振荡器,如图2-1电路所示为单片机最常用的时钟振荡电路的接法,其中晶振可选用振荡频率为6MHz的石英晶体,电容器一般选择30PF左右。
图2-1使用片内振荡电路的时钟电路2 单片机的复位电路本设计中AT89C52是采用上电自动复位和按键复位两种方式。
最简单的复位电路如图2-2所示。
上电瞬间,RC电路充电,RST引线端出现正脉冲,只要RST 端保持10ms以上的高电平,就能使单片机有效地复位。
其中R1和R2分别选择200Ω和1KΩ的电阻,电容器一般选择22μF。
图2-2 AT89C52的复位电路3 AT89C52的最小应用系统AT89C52是片内有程序存储器的单片机,要构成最小应用系统时只要将单片机接上外部的晶体或时钟电路和复位电路即可,如图2-3所示。
这样构成的最小系统简单可靠,其特点是没有外部扩展,有可供用户使用的大量的I∕O线。
图2-3 AT89C52单片机构成的最小系统2.3 按键及接口设计2.3.1 独立式按键接口设计本设计按键较少,采用独立式按键简单而方便。
独立式按键就是各键相互独立,每个按键各接一根输入线,一根输入线上的按键工作状态不会影响其它输入线上的工作状态。
因此,通过检测输入线的电平状态很容易判断哪个按键被按下了。
设计采用的是中断方式的独立式按键工作电路,按键直接与AT89C52的I/O 口线相接,通过读I/O口,判定各I/O口线的电平状态,即可识别出按下的键。
独立式按键电路中,一般采用上拉电阻,这是为了保证在按键断开时,各I/O口线有确定的高电平。
而AT89C52芯片内已有上拉电阻,则外部的上拉电阻可以省去。
三、实现模块1.单片机最小系统2.按键及接口3.显示及接口4.驱动电路5.电源电路8×8点阵LED显示器的组成原理及控制方式本次设计中采用8×8点阵LED显示器,简称LED点阵板或LED矩阵板。
它是以发光二极管为像素,按照行与列的顺序排列起来,用集成工艺制成的显示器件。
有单色和双色之分,这种显示器有共阳极接法和共阴极接法两种,设计中用到的是共阳极的显示器。
共阳极接法的原理图如图2-4所示,图中画出了8×8点阵的二极管。
每一行发光二极管的阳极接在一起,有一个引出端r,每一列发光二极管的阴极接在一起,有一个引出端c。
当给发光二极管阳极引出端r1加高电平,阴极引出端c1加低电平时,左上角的二极管被点亮因此,对于行和列的电平进行扫描控制时,可以达到显示不同汉字的目的。
图2-4 8×8点阵LED显示器组成原理图电路图如下所示:四、程序/*必要操作:正确连接点阵到学习板*/#include <AT89X52.H> //包含头文件unsigned char mode0,mode1,mode2,mode3,mode4; //显示模式sbit k1=P2^7;sbit k2=P2^6;sbit k3=P2^5;sbit k4=P2^4;sbit k5=P2^0;unsigned char xin1[8]={0x0,0x0,0x0,0x6C,0x92,0x44,0x28,0x10};//心形1unsigned char bxin1[8]={0x0,0x0,0x0,0x6C,0x82,0x0,0x28,0x10};//半心形1unsigned char xin2[8]={0x0,0x36,0x49,0x22,0x14,0x8,0x0,0x0};//心形2unsigned char bxin2[8]={0x0,0x36,0x41,0x0,0x14,0x8,0x0,0x0};//半心形2unsigned char xin[8]={0x0,0x36,0x41,0x6E,0x96,0x4C,0x28,0x10};//双心形2unsigned char zimu0[8]={0x38,0x24,0x22,0x22,0x22,0x22,0x24,0x38 };//Dunsigned char zimu1[8]={0x3C,0x18,0x18,0x18,0x18,0x18,0x18,0x3C };//Iunsigned char zimu2[8]={0x1E,0x20,0x40,0x40,0x4E,0x42,0x22,0x1E };//Gunsigned char zimu3[8]={0x3C,0x18,0x18,0x18,0x18,0x18,0x18,0x3C };//Iunsigned char zimu4[8]={0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3E };//Lunsigned char zimu5[8]={0x7E,0x40,0x40,0x7E,0x7E,0x40,0x40,0x7E};//Eunsigned char zimu6[8]={0x0,0x42,0x62,0x52,0x4A,0x46,0x42,0x0 };//Nunsigned char zimu7[8]={0xFF,0x18,0x18,0x18,0x18,0x18,0x18,0x18 };//Tunsigned char name0[8]={0xE9,0x2A,0xEC,0x9F,0xE8,0x2C,0x6A,0x29 };//张unsigned char name1[8]={0x42,0x24,0x7E,0x0,0x3C,0x0,0xFF,0x0 };//兰unsigned char name2[8]={0x26,0x74,0x25,0xFE,0x56,0x55,0x56,0x94 };//郝unsigned char ai0[8]={0x3C,0x18,0x18,0x18,0x18,0x18,0x18,0x3C };//Iunsigned char ai1[8]={0x0,0x66,0xFF,0xFF,0x7E,0x3C,0x18,0x0 };//实心unsigned char ai2[8]={0x0,0x66,0x99,0x81,0x42,0x24,0x18,0x0 };//空心unsigned char ai3[8]={0x42,0x42,0x42,0x42,0x42,0x42,0x42,0x3C };//Uunsigned char xie0[8]={0x0,0x3E,0x8,0x8,0x8,0x8,0x8,0x0};//Tunsigned char xie1[8]={0x0,0x24,0x24,0x24,0x3C,0x24,0x24,0x24 };//Hunsigned char xie2[8]={0x0,0x8,0x14,0x3E,0x41,0x41,0x0,0x0 };//Aunsigned char xie3[8]={0x0,0x0,0x22,0x26,0x2A,0x32,0x22,0x0};//Nunsigned char xie4[8]={0x22,0x24,0x28,0x30,0x28,0x24,0x22,0x0 };//Kunsigned char xie5[8]={0x1C,0x22,0x20,0x10,0xC,0x2,0x22,0x1C };//Svoid delay() //延时函数{unsigned int c;c=300;while(c--){}}void main(void) //主函数{unsigned int i,j,k,m;k1=1;k2=1;k3=1;k4=1;k5=1;m=10;mode0=0;for(k=0;k<8;k++){for(j=0;j<30;j++) //调节字母变化速度for(i=0;i<8;i++) //点阵8列动态扫描法显示,每次扫描一列并发送数据码{if(mode0==0) //模式0-3分别对应4种表情,根据模式选择表情所对应的显示码P0=zimu0[i];if(mode0==1)P0=zimu1[i];if(mode0==2)P0=zimu2[i];if(mode0==3)P0=zimu3[i];if(mode0==4)P0=zimu4[i];if(mode0==5)P0=zimu5[i];if(mode0==6)P0=zimu6[i];if(mode0==7)P0=zimu7[i];P1=~(1<<i); //扫描该列delay(); //延时}mode0++;if(mode0>7)mode0=0;}P0=0; //P0口各脚输出高电平,点阵不显示while(1){mode1=0;mode2=0;mode3=0;mode4=0;if(k5==0){//delay(5);if(k4==0) //消抖{m=m+30;if(m>100)m=10;}}while(!k5);//松手检测while(k1==0) //图形1{for(j=0;j<m;j++) //调节表情变化速度for(i=0;i<8;i++) //点阵8列动态扫描法显示,每次扫描一列并发送数据码{if(mode1==0) //模式0-3分别对应4种表情,根据模式选择表情所对应的显示码P0=bxin1[i];if(mode1==1)P0=xin1[i];P0=bxin2[i];if(mode1==3)P0=xin2[i];if(mode1==4)P0=xin[i];P1=~(1<<i); //扫描该列delay(); //延时}mode1++;if(mode1>4)mode1=0;}while(k2==0) //图形2{for(j=0;j<m;j++) //调节表情变化速度for(i=0;i<8;i++) //点阵8列动态扫描法显示,每次扫描一列并发送数据码{if(mode2==0) //模式0-3分别对应4种表情,根据模式选择表情所对应的显示码P0=name0[i];P0=name1[i];if(mode2==2)P0=name2[i];P1=~(1<<i); //扫描该列delay(); //延时}mode2++;if(mode2>2)mode2=0;}while(k3==0) //图形3{for(j=0;j<m;j++) //调节表情变化速度for(i=0;i<8;i++) //点阵8列动态扫描法显示,每次扫描一列并发送数据码{if(mode3==0) //模式0-3分别对应4种表情,根据模式选择表情所对应的显示码P0=ai0[i];if(mode3==1)P0=ai1[i];P0=ai2[i];if(mode3==3)P0=ai3[i];P1=~(1<<i); //扫描该列delay(); //延时}mode3++;if(mode3>3)mode3=0;}while(k4==0) //图形4{for(j=0;j<20;j++) //调节表情变化速度for(i=0;i<8;i++) //点阵8列动态扫描法显示,每次扫描一列并发送数据码{if(mode4==0) //模式0-3分别对应4种表情,根据模式选择表情所对应的显示码P0=xie0[i];if(mode4==1)P0=xie1[i];P0=xie2[i];if(mode4==3)P0=xie3[i];if(mode4==4)P0=xie4[i];if(mode4==5)P0=xie5[i];P1=~(1<<i); //扫描该列delay(); //延时}mode4++;if(mode4>5)mode4=0;}P0=0X00;P1=0XFF;}}。