基于51单片机的led点阵显示
基于51单片机的LED点阵显示屏

毕业设计题目基于51单片机的LED点阵显示屏学生姓名王燕学号 ********** 所在院系物理电信与工程学院专业班级电子信息科学与技术1203 指导教师杨创华完成地点 C-10092016年 5 月 23 日论毕业文﹙设计﹚任务书院(系) 陕西理工学院物电学院专业班级电信1203 学生姓名王燕一、毕业论文﹙设计﹚题目基于51单片机的LED点阵显示屏二、毕业论文﹙设计﹚工作自2016年 3 月 2 日起至 2016 年 6 月 15 日止三、毕业论文﹙设计﹚进行地点: 博远楼四、毕业论文﹙设计﹚的内容要求:1)核心控制器:AT89S51 ;2) LED显示屏:学习方法和工作原理,从而设计方案并选择方案;3)语言选择:制作硬件电路,用汇编语言或C语言编写程序并下载调试 4)结论:通过多门相关课程的学习,测试所需电路给出合理的结论。
五、毕业论文﹙设计﹚应收集资料及参考文献:[1] 詹新生,张江伟.基于单片机的16×64 LED点阵显示屏的设计[J].电子元器件应用. 2009(08)[2] 谢华燕,梁璐.LED点阵显示屏的矩阵模型特性研究[J].自动化与仪器仪表. 2013(05)[3] 李元生. LED光柱专用驱动器[J]. 家庭电子,2005,(04):1-7[4] 杨雪君.LED点阵显示屏控制与设计[J]. 山东工业技术. 2013(12)[5] 李元生. LED光柱专用驱动器[J]. 家庭电子,2005,(04):1-7[6] 戴禄君,刘战峰.基于单片机的LED点阵显示系统的设计[J]. 计算机与数字工程. 2014(04)[7] 陈新忠.基于RS232总线的单片机多机通信软件设计[J].现代电子技术,2002,(03):56-78六、毕业论文﹙设计﹚的进度安排:3月2日——3月29日:查阅资料,完成初步设计方案和开题报告。
4月1日——4月26日:需求分析、总体规划。
4月29日——5月24:完成具体模块设计、完成系统设计。
基于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点阵显示屏系统。
基于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显示屏在显示效果、稳定性和可靠性等方面都有了很大的提高。
基于51单片机的Led点阵显示器.doc

基于51单片机的Led点阵显示器。
项目名称:基于51单片机的发光二极管点阵显示器目录一、项目介绍2 1.1项目背景1.2功能介绍二.电路结构3实施模块5四.操作程序7一、项目简介1.1项目背景当今世界,电子技术发展迅速。
点阵显示设备作为现代信息显示的重要媒介,已经广泛应用于金融证券、体育、机场、交通、商业、广告、电信、指挥调度、国防和军事等领域。
因此,点阵显示器件的开发和生产也得到了迅速发展,并逐渐形成了一个产业,成为光电子产业中的一个新的产业领域。
目前,点阵显示设备具体包括发光二极管显示模块和液晶显示模块。
目前,所开发的液晶显示器相对先进,优势明显。
它体积小、易于控制、功能强、价格适宜,能够适应显示器的发展方向。
因此,它已经越来越广泛地应用于通信、家用电器、大屏幕投影等领域。
随着社会经济的快速发展,工业生产逐渐实现了自动化。
其中,设备工作状态和生产过程状态的显示和监控起着非常重要的作用。
对于需要显示的信息不是很大、分辨率不是很高、制造成本相对较低的场合,使用大、小屏幕的发光二极管点阵显示器更经济适用,可以显示字符、数字、汉字和简单图形,可以根据需要使用不同的字体大小和字体,显示亮度更高,对环境条件的要求更低。
发光二极管显示器可分为单色显示器和双色显示器,可根据需要的大小、形状和颜色进行组合,并可由单片机控制实现各种文字或图形的变化,从而达到宣传和提示的目的。
1.2功能介绍2本设计中由单片机控制的显示电路使用相对简单,易于操作。
它主要通过8×8点阵显示图案,并通过不同的按键选择控制图案的类型和显示方式。
打开电源后,显示屏完全点亮,然后进入逐字显示状态。
按下复位键K1,系统将自动复位,显示勤奋,然后进入待机状态。
键1、2、3和4分别控制不同的模式。
另外,我们可以用k5键来控制角色移动的速度。
二、电路结构微控制器最小系统设计2.2.1具体电路1微控制器时钟电路的每一部分单片机内部振荡电路是一个高增益反向放大器,分别引出XTAL1和XTAL2放大器的输入和输出。
基于MCS51单片机的LED点阵显示系统

基于MCS51单片机的LED点阵显示系统摘要 LED点阵显示系统以89C51单片机作为控制器。
系统使用RS-232通信标准,用89C51单片机设计主控电路,用89C2051单片机设计驱动电路,实现了LED显示屏的多种模式显示和状态显示。
本论文详细描述了电路的工作原理和编程思想。
关键词89C51;89C2051;RS-232;LED点阵;实时时钟1.引言随着LED点阵显示模块用于各行各业,人机界面也也越来越视觉形象化。
特别地,对于大多数国内用户来说,汉字和图形显示界面友好与否将直接影响产品的形象和市场竞争力。
2.显示系统介绍LED点阵显示屏被广泛应用于多种领域显示汉字和各种常见字符这类信息。
LED显示屏有结构简单、安装方便、字体美观、版式清晰这些特点。
LED显示屏应用高性能微控制器控制,其性能很稳定。
LED 显示系统带有电源故障保护功能,它完全可以离线工作且能显示2000汉字。
这个显示系统通过RS-232串行线连接到计算机可以更新信息,连接操作简单,使用方便。
3.LED点阵显示系统硬件LED点阵显示系统是由计算机、RS-232通信电路、控制电路和LED 点阵显示电路组成。
点阵显示电路组成结构图如图1图1. LED点阵显示电路组成结构图。
主机可以是工业控制计算机或通用个人计算机。
整体屏幕带由控制电路和驱动显示电路组成。
控制显示电路选用基于远程通信的RS-232或RS-485标准总线接口与主机通信。
电路使用带有3个引脚(TXD) 和5引脚(接地)的RS-232接口,计算机通过该接口发送汉字和字符内部代码,控制电路通过该接口存储字符内部代码和相应汉字或字符点阵,同时送行列选通信号驱动电路。
根据行列选通信号,显示驱动电路提供驱动电流给特定的LED发光设备。
A.控制电路控制部分以89C51单片机作为核心,辅以外围电路,完成串行通信、外部存储器读、行列选通信号输出等任务。
为了使计算机和控制电路可以随时响应,89C51和89C205单片机应实时地与其他设备通信。
基于51单片机的LED点阵音乐频谱显示器

1 3 7
基于 5 1 单片机的 L E D点阵音乐频谱显示器
L E D Do t Ma t r i x Di s pl a y Mu s i c Sp e c t r u m B a s e d o n 51 Si n gl e Ch i p Mi c r o c o mp u t e r
pr o c e s s i n g u n i t s . s o u n d p r o c e s s i n g u n i t S T Cl 2 C 5 A 6 0 S 2 mi c r o c o n t r o l l e r F F . r p r o c e s s i n g .
实 现 音 乐频 谱 。
关键词 : S T C l 2 C 5 A 6 0 S 2 , 数 字信 号 处理 , 傅里叶变换 , 源程 序 , 仿 真 与调 试
Abs t r a c t
T h i s d e s i g n b y u s i n g s i n g l e - c h i p mi c r o c o mp u t e r a n d d i g i t a l s i g n a l p r o c e s s i n g t e c h n i q u e s t o a c h i e v e mu s i c a l s p e c t r u m
李逸 家 ( 华南农业大学珠江学院, 广东 广州 5 1 0 9 0 0 )
摘 要
.
通 过 使 用 单 片机 原 理 , 利 用数 字信 号 理 论 , 使 音 乐频 谱 分 析 在 单 片机 上 的 实现 。 系 统 包括 : 声 音 接 收模 块 , 声 音 转 换 模 块和 L E D 组 成 的点 阵显 示单 元 。 其 中声 音采 集模 块 , 是利用 S T C1 2 C5 A 6 0 S 2单 片机 中 的声 音 采 集 和 A / D转 换 。 音 频 的模 拟信号 通过声音采 集模块接 收到 , 经过 A / D转 换 系统 , 转换为数 字信号 , 送给 下一级 处理单元 处理 。声音转换模 块利 用 S T Cl 2 C5 A 6 0 S 2单 片机 内部 的 资 源 , 进行 F F T处 理 。显 示模 块接 收 AD转 换 后 的信 号 , 控 制 5组 , 总共 有 5 5个 L E D灯泡 , 分别完成显示。 L E D 灯 的 明 暗条 件 , 是 随 着 音 乐的 频 率 变化 所 决 定 的 , 随 时更 新 做 出相 应 的 变化 , 通过 视 觉 上 的 灯光 显 示 以
基于51单片机的LED点阵显示屏系统的设计(精)

摘要本文介绍了一款以单片机 AT89S51为控制器的 LED 点阵显示屏系统的设计。
该系统可实现中英文字符的显示和动态特效显示,采用上 -下位机的结构构建,实现点阵 LED 屏以多样化的方式显示各种信息的功能。
该屏具有运行可靠、安全、节能、成本低、使用方便的特点。
并且可以通过级连的方式来扩大显示屏幕的尺寸以达到增加显示内容的目的。
系统采用 PC 机作为上位机,上位机向单片机发送控制命令和上位机所存储的显示代码, AT89S51单片机接收并处理 PC 机的控制命令以及显示代码, 由显示驱动模块驱动一个 16×16分辨率的 LED 点阵显示屏的扫描显示。
PC 机与单片机之间的通信采用 RS — 232C 通信标准来实现。
所选用的AT89S51单片机具有价格低廉程序写入方便的特点使得整个系统方便维护和检修。
除此之外,该系统只占用了单片机少量的 I /O口和内存, 为系统留下了功能扩展的空间。
关键词 :AT89S51 LED点阵显示串行通信AbstractThis paper introduces a design of the LED lattice display system base on MCUAT89S51. The system can display in both Chinese and English characters of the show and from top to bottom and move around the magic show. And can be cascaded to expand the screen size to achieve increased content purposes. The PC sends control commands and displays code to microcontroller, A T89S51 receives control commands from PC and shows the code, Driver module drives a 16×16-resolution LED lattice LED’s panel display scan showed. Communication between PC and the microcontroller using RS-232C communications standards. the characteristics that AT89S51 microcontroller is cheap and could be coded conveniently makes the whole system Convenient to Maintenance and Repair. In addition, the system will take up only a small amount of the MCU I/O and memory ,so that the system has functional space for expansion.KEY WORDS: A T89S51 lattice LED’s panel display, serial communication目录第一章绪论 . ...............................................................................................................................1 第一节课题背景 (1)一、选题背景 ........................................................................................................................................... (1)二、研究现状及发展趋势 .......................................................................................................................................... 1第二节论文主要内容 (2)一、初步方案的论证和选择 (2)二、搜集题目的有关资料 (2)三、方案实现 . ......................................................................................................................................... (2)四、软件编写 . ......................................................................................................................................... (3)五、验证与测试 ........................................................................................................................................... . (3)六、结论 . ......................................................................................................................................... ................................. 3第二章系统硬件设计 ....................................................................................................................4 第一节器的扩展 .......................................................................................................................4 第二节串行通信 .. (4)第三节点阵显示屏 ....................................................................................................................4 第三章应用软件设计 ....................................................................................................................6 第一节主程序设计 ....................................................................................................................6 第二节滚动显示模块 ................................................................................................................7 第三节取数据模块 .. (7)第四节数据移位传送模块 .........................................................................................................7 第五节行扫描模块 ....................................................................................................................7 第六节串行通信模块 ................................................................................................................8 结束语 ........................................................................................................................................12 谢辞 ..........................................................................................................................................13 参考文献 . (14)电子科技大学毕业论文(设计基于 51单片机的 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;}}。