西华大学课程设计说明书 LED字幕显示系统的设计
摘要:在大型商场、车站、码头、地铁站以及各类办事窗口等越来越多的场所需要用
LED点阵显示图形和汉字。LED显示行业已成为一个快速发展的新兴产业,市场空间巨大,前景广阔。随着信息产业的高速发展,LED显示作为信息传播的一种重要手段,已广泛应用于室内外需要进行服务内容和服务宗旨宣传的公众场所。例如,户内外公共场所广告宣传、机场车站旅客引导信息、公交车辆报站系统、证券与银行信息显示、餐馆报价表、高速公路可变情报板、体育场馆比赛转播、楼宇灯饰、交通信号灯、景观照明等。显然,LED显示已成为城市化、现代化和信息化社会的一个重要标志。点阵显示器的特点是可以按照需要的大小、形状和颜色进行组合,用单片机控制实行各种文字或图型的变化,达到广告宣传和提示的目的。本文基于单片机(AT89C51)讲述了16*16LED汉字点阵显示的基本原理、硬件组成与设计, 利用嵌入式系统软硬件设计仿真平台Proteus对点阵式LED滚动汉字显示屏进行仿真设计,完成了系统的硬件电路设计和软件编程,并进行了仿真调试,实现了汉字在点阵式LED显示屏上的滚动显示,达到了仿真设计的目的。
关键词:AT89C51;动态显示;16*16点阵;LED显示屏
Abstract: In shopping malls, railway stations, wharves, subway station and all kinds of
business such as window more and more places need to use LED dot matrix display graphics and Chinese characters. LED display industry has become a rapid development of new industries, the market space is enormous and broad prospects. With the rapid development of the information industry, LED display as the information transmission is a kind of important means, has been widely used in indoor and outdoor needs the service content and service tenet publicity of public places. For example, indoor and outdoor public advertising, airport station passenger guidance information, bus stops vehicle system, securities and banking information display, restaurants offer sheets, highway variable information board, sports competition broadcast, building lighting, traffic lights, landscape lighting, etc. Obviously, LED display has become urbanization, modernization and the information society an important sign. Dot matrix display characteristics can be according to the need of the size, shape and color combination, with single-chip microcomputer control implement all kinds of words or pattern changes, to achieve the purpose of advertising and prompt.Based on the single chip microcomputer (AT89C51) tells the story of 16 * 16 LED dot matrix display Chinese characters of the basic principle, hardware composition and design, the use of embedded
西华大学课程设计说明书 system software and hardware design Proteus simulation platform for matrix LED scrolling display Chinese characters simulation design, completed the system hardware circuit design and software programming, and makes the simulation debugging, realize the Chinese characters in the matrix LED display the scrolling display, in order to achieve the purpose of the simulation design.
Keywords: AT89C51, dynamic display, 16 * 16 lattice, LED display screen
西华大学课程设计说明书
目 录
1 绪论 ........................................................................................................................................ 1 2 LED字幕显示系统的整体设计 ............................................................................................ 2 3 LED字幕显示系统硬件设计 ................................................................................................ 4
3.1 单片机AT89C51 ............................................................................................................................. 4
3.1.1 AT89C51引脚图 ................................................................................................................... 4 3.1.2 AT89C51引脚功能 ............................................................................................................... 5 3.2 电源控制单元设计 .......................................................................................................................... 6 3.3 时钟电路设计.................................................................................................................................. 7 3.4 复位电路设计.................................................................................................................................. 7
3.4.1 手动按钮复位 ....................................................................................................................... 7
3.4.2 上电复位............................................................................................................................... 8 3.5 驱动电路设计.................................................................................................................................. 9 3.6 驱动电路及其接口 .......................................................................................................................... 9
3.6.1 74LS273驱动LED阳极 ...................................................................................................... 9
3.6.2 74HC138驱动LED阴极 ..................................................................................................... 9 3.7 LED显示电路设计 .........................................................................................................................11
3.7.1 8*8 LED点阵显示原理 .......................................................................................................11 3.7.2 16*16 LED点阵结构原理 .................................................................................................. 12 3.7.3 16*16 LED点阵显示原理 .................................................................................................. 12
4 LED字幕显示系统软件设计 .............................................................................................. 13
4.1 主程序 ........................................................................................................................................... 13 4.2 中断子程序 ................................................................................................................................... 16 4.3 显示汉字字幕................................................................................................................................ 18
5 仿真与调试 .......................................................................................................................... 22
5.1 用PROTUES绘制原理图 ............................................................................................................ 22 5.2 PROTUES对单片机内核的仿真 .................................................................................................. 23
6 结论 ...................................................................................................................................... 26 致谢 .......................................................................................................................................... 27 参考文献 .................................................................................................................................. 28 附录1 整机原理图 ................................................................................................................. 29 附录2 源程序 ......................................................................................................................... 30
- I -
西华大学课程设计说明书 1 绪论
随着LED电子显示屏具有所显示信息量大,外形美观大方,操作方便灵活。适用于火车站、汽车站、码头等。那么可以毫不夸张的说,单片机技术的出现则是给现代工业测控领域带来了一次新的技术革命。LED电子显示以其色彩鲜亮夺目、大的显示信息量。目前,单片机以其高可靠性、高性能价格比,在工业控制系统、数据采集系统、智能化仪器仪表、办公自动化等诸多领域得到极为广泛的应用,并已走入家庭,单片机技术开发和应用水平已逐步成为一个国家工业发展水平的标志之一。
本系统选用的单片机为ATMEL公司的AT89C51,显示屏采用16*16 LED点阵。电源电路通过变压整流元件为单片机和其他电路提供稳定的+5V工作电压。时钟电路是单片机的驱动电路,复位电路可在需要时,手动使单片机程序计数器复位清零。通过阳极驱动电路向16*16点阵送字型码,本设计采用74LS273。通过阴极驱动电路对16*16点阵进行列扫描,本设计采用74HC138。以达到其点阵式LED滚动汉字显示屏系统设计。
我国经济发展迅速,世界上许多集成电路生产厂家相继推出了各种类型的单片机,在单片机家族的众多成员中,MCS-51系列单片机以其优越的性能、成熟的技术及高可靠性和高性能价格比,迅速占领了工业测控和自动化工程应用的主要市场,成为国内单片机应用领域中的主流。随着LED显示屏的广泛应用,其控制系统也层出不穷,由于他的控制系统是基于嵌入式微处理器开发,所以单片机在其中占有一席之地。近年来,单片机已成为科技领域的有力工具,人类社会生活的得力助手。
第 1 页
西华大学课程设计说明书
2 LED字幕显示系统的整体设计
本系统采用单片机AT89C51为核心芯片的电路来实现,硬件电路由单片机AT89C51、电源电路、时钟电路、复位电路、驱动电路和LED点阵电路等组成。其中显示电路的显示屏采用16*16点阵式LED显示屏,晶振采用12MHZ的晶振。再通过一个按键开关来实现复位显示功能。 其点阵式LED滚动汉字显示屏系统设计框图如图2.1所示:
时钟电路 单 片 机 点击显示器 阳极驱动电路 16x16 点阵 电源电路 复位电路 点击显示器 阴极驱动电路 图2.1 LED滚动汉字显示屏系统设计框图
本系统选用的单片机为ATMEL公司的AT89C51,显示屏采用16*16 LED点阵。电源电路通过变压整流元件为单片机和其他电路提供稳定的+5V工作电压。时钟电路是单片机的驱动电路,复位电路可在需要时,手动使单片机程序计数器复位清零。通过阳极驱动电路向16*16点阵送字型码,本设计采用74LS273。通过阴极驱动电路对16*16点阵进行列扫描,本设计采用74HC138。以达到其点阵式LED滚动汉字显示屏系统设计。
在本系统中,所用的应用技术有动态扫描显示技术、8*8LED点阵结构原理以及汉字点阵显示原理及字库代码获取。
动态显示方式是指一位一位地轮流点亮每位显示器(称为扫描),即每个数码管的位选被轮流选中,多个数码管公用一组段选,段选数据仅对位选选中的数码管有效。对于每一位显示器来说,每隔一段时间点亮一次。显示器的亮度既与导通电流有关,也与点亮时间和间隔时间的比例有关。通过调整电流和时间参数,可以既保证亮度,又保证显示。若显示器的位数不大于8位,则显示器的公共端只需一个8位I/O口进行动态扫描(称为扫描口),控制每位显示器所显示的字形也需一个8位口(称为段码输出)。
动态显示的硬件接法是将所有的LED显示器的段选线连并在一起,接到一个8位I/O口,而位选线线则分开连接到各自的I/O口,从而进行动态扫描。
第 2 页
西华大学课程设计说明书 动态扫描实质就是利用人眼的视觉残留来实现的,让人感觉所有数码管是同时亮的,这就是通过延时程序来让每个数码管逐个显示,只不过延时到很短的时候人眼就会感觉不出来,这就是LED 数码管的动态扫描。
本设计所采用的是汉字的滚动扫描。通过阳极驱动电路向16*16点阵送字型码(此设计采用74LS273)。通过阴极驱动电路对16*16点阵进行列扫描(此设计采用74HC138)。利用人眼的视觉残留现象,让人感觉所有数码管是同时亮的,通过延时程序来让每个LED数码管逐个显示,延时到很短的时候人眼就会感觉不出来,于是就实现了LED 数码管的动态扫描。
第 3 页
西华大学课程设计说明书
3 LED字幕显示系统硬件设计
点阵式LED滚动汉字显示屏硬件电路包括单片机、电源电路、时钟电路、复位电路、驱动电路和LED点阵电路等。本设计的核心是利用单片机读取显示字型码,通过驱动电路对16*16 LED点阵进行动态列扫描,以实现汉字的滚动显示。本设计选用的单片机为ATMEL公司的AT89C51,显示屏采用16*16 LED点阵。电源电路通过变压整流元件为单片机和其他电路提供稳定的+5V工作电压。时钟电路是单片机的驱动电路,复位电路可在需要时,手动使单片机程序计数器复位清零。通过阳极驱动电路向16*16点阵送字型码(此设计采用74LS273)。通过阴极驱动电路对16*16点阵进行列扫描(此设计采用74HC138)。考虑到P0口必需设置上拉电阻,我们采用4.7kΩ排电阻作为上拉电阻。
3.1 单片机AT89C51
AT89C51是一种带4KB闪烁可编程可擦除只读存储器(FPEROM)的低电压、高性能CMOS型8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,能够进行1000次写/擦循环,数据保留时间为10年。它是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。因此,在智能化电子设计与制作过程中经常用到AT89C51。
AT89C51是Intel公司生产的一种单片机,在一小块芯片上集成了一个微型计算机的各个组成部分。每一个单片机包括:一个8位的微型处理器CPU;一个256K的片内数据存储器RAM;片内程序存储器ROM;四个8位并行的I/O接口P0~P3,每个接口既可以输入,也可以输出;两个定时器/记数器;五个中断源的中断控制系统;一个全双工UART的串行I/O口;片内振荡器和时钟产生电路,但石英晶体和微调电容需要外接,最高允许振荡频率是12MHZ。以上各个部分通过内部总线相连接。下面简单介绍一下其各个部分的功能。 3.1.1 AT89C51引脚图
AT89C51是标准的40引脚双列直插式集成芯片,如图3.1所示:
第 4 页
西华大学课程设计说明书
图3.1 AT89C51引脚图
3.1.2 AT89C51引脚功能
按其功能可分为电源、时钟、控制和I/O接口四大部分: 1、电源引脚
VCC:芯片主电源,外接+5V;GND:电源地线。 2、时钟引脚
XTAL1和XTAL2为内部器的两条引出线。
AT89C51芯片的时钟频率一般在6~12MHz之间。单片机内部有一个可以构成振荡器的放大电路。在这个放大电路的对外引脚XTAL2和XTAL1引脚接上晶体和电容就可以构成单片机的时钟电路。
3、控制引脚
(1)RST/VPD:复位/掉电保护信号输入端。RST即为RESET,VPD为备用电源,所以该引脚为单片机的上电复位或掉电保护端。当单片机振荡器工作时,该引脚上出现持续两个机器周期的高电平,就可实现复位操作,使单片机复位到初始状态。
当VCC发生故障,降低到低电平规定值或掉电时,该引脚可接上备用电源VPD(+5V)为内部RAM供电,以保证RAM中的数据不丢失。
(2)EA/VPP:访问程序存储器控制信号/编程电源输入端。EA为访问外部程序储器控制信号,低电平有效。当EA端保持高电平时,单片机AT89C51访问片内程序存储
第 5 页
西华大学课程设计说明书 器为4KB,若超出该范围时,它会自动转去执行外部程序存储器的程序。当EA端保持低电平时,无论片内有无程序存储器,均只访问外部程序存储器。对于片内含有EPROM的单片机,在EPROM编程期间,该引脚用于接21V的编程电源VPP。
(3)PSEN:片外程序存储器读选通有效信号。 (4)ALE/PROG:地址锁存控制信号/编程脉冲输入端。 4、I/O引脚
单片机AT89C51总共有四个I/O端口:P0、P1、P2和P3。
(1)P0口(39脚~32脚):P0.0~P0.7统称为P0口。8位双向并行I/O接口。扩展片外存储器或I/O时,作为低8位地址产品线和8位数据产品线的分时利用接口,它为双向三态。P0口可带8个TTL负载电流。
(2)P1口(1脚~8脚):P1.0~P1.7统称为P1口,为8位准双向并行I/O接口。P1口每一位都可以独立设置成输入端出位,它可以驱动4个TTL电路。
(3)P2口(21脚~28脚):P2.0~P2.7统称为P2口,为 8位准双向并行I/O接口。扩展外部数据、程序存储器时,作为高8位地址输出端口。
(4)P3口(10脚~17脚):P3.0~P3.7统称为P3口为8位准双向并行I/O接口。除了与P1口有一样的I/O功能外,每一个引脚还兼有第二功能。它可以驱动4个TTL电路。P3口的第2功能见表3.1:
表3.1 P3口的第2功能
P3.0 RXD P3.1 TXD P3.2 INTO P3.3 P3.4 T0 P3.5 T1 P3.6 WR P3.7 RD INT1 3.2 电源控制单元设计
电源电路通过变压整流元件为单片机和其他电路提供稳定的+5V工作电压。本设计,我采用稳定的+5V工作电源,为电路提供电源。
第 6 页
西华大学课程设计说明书 3.3 时钟电路设计
图3.2 时钟电路
时钟电路可以简单定义如下:
1、就是产生象时钟一样准确的振荡电路。
2、任何工作都按时间顺序。用于产生这个时间的电路就是时钟电路。
现在流行的串行时钟电路很多,如DS1302、DS1307、PCF8485等。这些电路的接口简单、价格低廉、使用方便,被广泛地采用。
本设计中时钟电路由AT89C51的18,19脚的时钟端(XTAL1及XTAL2)以及12 MHz晶振X、电容C2、C3组成,采用片内振荡方式。
3.4 复位电路设计
无论用户使用哪种类型的单片机,总要涉及到单片机复位电路的设计。单片机的复位操作使单片机进入初始化状态。而单片机复位电路设计的好坏,直接影响到整个系统工作的可靠性。许多用户在设计完单片机系统,并在实验室调试成功后,在现场却出现了“死机”、“程序走飞”等现象,这主要是单片机的复位电路设计不可靠引起的。
单片机系统的复位方式有:手动按钮复位和上电复位。 3.4.1 手动按钮复位
手动按钮复位需要人为在复位输入端RST上加入高电平(图3.3手动按钮复位)。一般采用的办法是在RST端和正电源Vcc之间接一个按钮。当人为按下按钮时,则Vcc的+5V电平就会直接加到RST端。手动按钮复位的电路如所示。由于人的动作再快也会使按钮保持接通达数十毫秒,所以,完全能够满足复位的时间要求。
第 7 页
西华大学课程设计说明书
图3.3 手动按钮复位
3.4.2 上电复位
AT89C51的上电复位电路如图3.4所示,只要在RST复位输入引脚上接一电容至Vcc端,下接一个电阻到地即可。
图3.4 上电复位
复位电路采用简易的手动按钮复位电路,主要由电阻R ,电容C ,开关K 组成,分别接至AT89C51的RST复位输人端。
当按下复位电路的复位开关Reset按钮时,瞬间短接复位开关,由于此reset复位开关一端接地为低电平,另一端有电源5V供电端和PG信号端,间接供给为高电平,通常为3.3V,而此复位开关的某一段也会直接或者间接的作用于南桥内的复位系统控制模块,所以瞬间短接复位开关会在开关的高电平端会产生一个低电平信号,此信号会直接或间接作用于南桥内的复位系统控制器,使南桥强行复位之后,南桥也会强行去复位其他的设备和模块,南桥给主板其他硬件设备复位后,整个主板复位完成,这就是主板复位电路的原理。
本设计采用手动按钮复位,以满足复位的时间要求及设计质量。
第 8 页
西华大学课程设计说明书 3.5 驱动电路设计
现代IC 技术的发展,出现了很多的专用点阵驱动电路芯片,本系统还是采用比较经典的74LS系列移位寄存器作为点阵输出驱动。通过阳极驱动电路向16*16点阵送字型码,本设计采用74LS273。通过阴极驱动电路对16*16点阵进行列扫描,本设计采用74HC138。
3.6 驱动电路及其接口
3.6.1 74LS273驱动LED阳极
本设计采用74LS273驱动LED阳极向16*16点阵送字型码。74LS273是一种带清除功能的8D触发器,1D~8D为数据输入端,1Q~8Q为数据输出端,正脉冲触发,低电平清除,常用作8位地址锁存器。同时74LS273 也是带公共时钟复位八D触发器。
图3.5 74LS273驱动LED阳极
3.6.2 74HC138驱动LED阴极
本设计采用74HC138驱动LED阴极对16*16点阵进行列扫描。74HC138是一款高速CMOS器件,74HC138引脚兼容低功耗肖特基TTL(LSTTL)系列。
图3.6 74HC138驱动LED阴极
74HC138译码器可接受3位二进制加权地址输入(A0, A1和A3),并当使能时,提供8个互斥的低有效输出(Y0至Y7)。74HC138特有3个使能输入端:两个低有效(E1和E2)和一个高有效(E3)。除非E1和E2置低且E3置高,否则74HC138将保持所有
第 9 页
西华大学课程设计说明书 输出为高。利用这种复合使能特性,仅需4片74HC138芯片和1个反相器,即可轻松实现并行扩展,组合成为一个1-32(5线到32线)译码器。任选一个低有效使能输入端作为数据输入,而把其余的使能输入端作为选通端,则74HC138亦可充当一个8输出多路分配器,未使用的使能输入端必须保持绑定在各自合适的高有效或低有效状态。
74HC138常用在单片机和数字电路的译码电路中,它的引脚、真值表如图所示:
图3.7 74LS138引脚图 表3.2 74HC138真值表
上表中X表示为任意输入状态,在片选使用状态下输入中8线始终只有1线为0, 此74HC138芯片在单片机系统中极大限度的起到了扩展IO资源的作用,只要用单片机的2个IO引脚资源就能控制8个输出,而且程序的编制也容易实现。
74HCLS138 引脚功能: 第8脚GND,电源地; 第15脚VCC,电源正极;
第1~3脚A、B、C,二进制输入脚;
第4~6脚片选信号控制,只有在4、5脚为“0”6脚为“1”时,才会被选通,输出受A、B、C信号控制。其它任何组合方式将不被选通,且Y0~Y7输出全为“1”。
通过控制选通脚来级联,使之扩展到十六位。
第 10 页
西华大学课程设计说明书 3.7 LED显示电路设计
LED显示屏(LED panel):LED就是light emitting diode ,发光二极管的英文缩写,简称LED。它是一种通过控制半导体发光二极管的显示方式,其大概的样子就是由很多个发光二极管组成,靠灯的亮灭来显示字符。LED主要是用来显示文字、图形、图像、动画、行情、视频、录像信号等各种信息的显示屏幕。
LED显示屏按显示器件分类可分以下几种:
LED数码显示屏:显示器件为7段码数码管,适于制作时钟屏、利率屏等,显示数字的电子显示屏。
LED点阵图文显示屏:显示器件是由许多均匀排列的发光二极管组成的点阵显示模块,适于播放文字、图像信息。
LED视频显示屏:显示器件是由许多发光二极管组成,可以显示视频、动画等各种视频文件。
LED显示屏的显示方式有静态、横向滚动、垂直滚动和翻页显示等。
LED 点阵图文显示屏单块模块控制驱动12块(最多可控制24块)8*8点阵,它可采用“级连”的方式组成任意点阵大显示屏。显示效果好,功耗小,成本更低。 在本设计中只采用16*16点阵式LED显示屏。 3.7.1 8*8 LED点阵显示原理
8*8点阵LED结构如下图3.8所示:
图3.8 8*8点阵LED结构
从图3.8中可以看出,8*8点阵共需要64个发光二极管组成,且每个发光二极管是
第 11 页
西华大学课程设计说明书 放置在行线和列线的交叉点上,当对应的某一列置1电平,某一行置0电平,则相应的二极管就亮;因此要实现一根柱形的亮法,如图所示,对应的一列为一根竖柱,或者对应的一行为一根横柱,因此实现柱的亮的方法如下所述:
一根竖柱:对应的列置1,而行则采用扫描的方法来实现。 一根横柱:对应的行置0,而列则采用扫描的方法来实现。 3.7.2 16*16 LED点阵结构原理
本设计所采用的汉字的16*16 LED点阵滚动显示。是采用4快8*8的LED点阵显示所组成。
所谓 LED 点阵显示,就是将很多LED按行列顺序排列组合起来,每个 LED 构成点阵中的一个像素。把每个 LED 的阴极和阳极都引出来,就可以对点阵中的任何一个LED加以控制,达到要显示的效果。目前市面上的LED点阵是列输入线接至内部LED的阴极端,行输入线接至内部LED的阳极端(若阳极端输入为高电平,阴极端输入低电平,则该 LED 点亮)。 3.7.3 16*16 LED点阵显示原理
16*16 LED点阵显示原理如图3.9所示:
图3.9 16*16的LED点阵显示组成图
16*16 LED点阵显示是采用4块8*8的LED点阵显示所组成。将4块8*8的LED点阵屏的阳极、阳极按行列顺序排列组合起来,引出输入和输出极,这样每个 LED点阵中的一个像素就构成一副完整的16*16 LED点阵显示屏。
16*16点阵的阳极驱动由P0口经输出缓冲器74LS273构成,在本设计中需要用两片,分别送出上8行和下8行的字型码。16*16点阵的阴极驱动由P2口经74HC138译码后动态扫描16*16点阵的各列,本设计中需要四片74HC138译码器,循环扫描各列,显示一个完整的汉字需要扫描32次。通过编程控制各显示点对应LED阳极和阴极端的电平,就可以控制各显示点的亮灭。实现16*16 LED点阵汉字滚动显示。
第 12 页
西华大学课程设计说明书
4 LED字幕显示系统软件设计
本设计的系统软件包括单片机控制程序、中断子程序、显示子程序等几个模块。单片机控制程序的作用是作为系统的主控制程序模块;中断子程序是用来切换显示方式的功能,其作用是使单片机完成相应的控制功能;显示子程序的作用是指当系统产生中断时所调用的显示程序,从而实现系统的显示功能。
4.1 主程序
软件程序主要由开始、初始化、主程序、字库组成。其中软件程序开发的流程示意图如图4.1所示。
开始 初始化 调用显示程序 调整数据指针 是否显示完? 图4.1 程序开发流程图
AT89C51单片机是8位机,每次只能送出8位数据,因此要向16*16点阵送出16行阳极驱动,需要送两次,或先送上8行,或先送下8行,为了能够实现每一列字型码的完整显示,采用74LS273进行锁存,否则会出现字型残缺现象。根据设计要求并结合图4.2的硬件连接进行程序设计,主程序设计流程图如图4.2所示。
第 13 页
西华大学课程设计说明书 开始 设定时器初值,启动定时器 开启中断 取字形码动态扫描显示 图4.2 主程序流程图
系统运行后,将对全部变量进行初始化。接下来,程序就会进入一个无限循环的状态以等待中断的发生。主程序中主要是逐字显示程序,具体说明如下所示:
void main(void) //主函数 {
int8 i; //赋初值 int8 *p; flag=0x10; n=0;
TMOD=0x01; //设置定时器T0初值 TH0=0xb1; //赋初值 TL0=0xe0;…………. while (1) {
for (i=0;i<8;i++) //显示左半边屏幕 {
clk=0; clk=1;
P2=i|0x08; //P2.4=0,P2.3=1 选中U2, 输出扫描码给U6 P0=*(p+offset+2*i); clk=0;
P0=*(p+offset+2*i);
delay();
第 14 页
西华大学课程设计说明书 P0=*(p+offset+2*i+1);
clk=1;
P2=i|0x10; //P2.4=1,P2.3=0 选中U3, 输出扫描码给U7 delay(); }
for (i=8;i<16;i++) //显示右半边屏幕 {
clk=0; clk=1;
P0=*(p+offset+2*i);
P2=(i-8)|0x20; //P2.5=1 P2.4=0, P2.3=0 选中U4,输出扫描码U8 delay();
clk=0;
P0=*(p+offset+2*i+1); clk=1;
P2=(i-8)|0x40; //P2.6=1 P2.5=0, P2.4=0 选中U5,输出扫描码U9
delay(); } } }
系统运行后,对全部变量进行初始化。接下来,程序就会进入一个无限循环的状态以等待中断的发生。以下将对中断子程序进行详细的介绍。
第 15 页
西华大学课程设计说明书 4.2 中断子程序
中断子程序入口 重设定时器初值 判显示时间? Y N 字形移动 显示内容结束? 中断返回 偏移量置零 中断子程序入口 重设定时器初值 判显示时间? Y N 字形移动 显示内容结束? 中断返回 偏移量置零 第 16 页
西华大学课程设计说明书 中断子程序入口 重设定时器初值 判显示时间? Y N 字形移动 显示内容结束? 中断返回 偏移量置零 图4.3 中断服务程序流程图
系统初始化后,将会等待中断的产生。当中断产生后,在主程序中就会产生一个断点,程序进入中断子程序,然后对相应的变量初始化,接下来就重新设定定时器初值,判断显示时间,当扫描到为定时时间时,程序就调动显示子程序执行相应的显示方式。显示完成后,程序就会跳到主程序的断点处,继续执行主程序下面的程序。
中断程序及其相关说明如下所示: ET0=1; //开启定时器0中断 EA=1; //开启总中断 TR0=1; //开始计数 ……… void delay(void) {
int16 i;
for (i=0;i<50;i++) ; }
void timer0() interrupt 1 using 3 {
TF0=0; //重新设定定时器初值 TH0=0xb1;
第 17 页
西华大学课程设计说明书 TL0=0xe0; if (n<10) { n++; } else { offset+=2; if (offset>1690) offset=0; n=0; } }
4.3 显示汉字字幕
显示汉字 “桃李满天下,恩情似海深!祝各位老师身体健康、工作顺利、天天开心!”27余字的滚动显示,16×16显示字模如下:
{0x11,0x80,0x16,0x00,0xFF,0xFE,0x14,0x00,0x12,0x02,0x00,0x42, 0x08,0x44,0x04,0x98,0xFF,0xE0,0x00,0x00,0xFF,0xFC,0x01,0x02, 0x04,0xC2,0x18,0x62,0x10,0x0E,0x00,0x00},/*\"桃\
{0x01,0x00,0x21,0x20,0x22,0x20,0x23,0x20,0x25,0x20,0x29,0x22, 0x31,0x21,0xFF,0x7E,0x31,0xA0,0x29,0x20,0x25,0x20,0x24,0x20, 0x22,0x20,0x23,0x20,0x02,0x20,0x00,0x00},/*\"李\
{0x08,0x10,0x86,0x1F,0x60,0xE0,0x07,0x00,0x20,0x00,0x25,0xFF, 0x25,0x10,0xF7,0xE0,0x25,0x28,0x25,0x10,0x27,0xE0,0xF5,0x22, 0x25,0x11,0x25,0xFE,0x24,0x00,0x00,0x00},/*\"满\
{0x00,0x00,0x02,0x01,0x42,0x02,0x42,0x04,0x42,0x08,0x42,0x10, 0x42,0x60,0x7F,0x80,0x42,0x40,0x42,0x20,0x42,0x10,0x42,0x08, 0x42,0x0C,0x42,0x06,0x02,0x04,0x00,0x00},/*\"天\
{0x00,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,
第 18 页
西华大学课程设计说明书 0x40,0x00,0x7F,0xFE,0x44,0x00,0x46,0x00,0x43,0x80,0x41,0x00, 0x40,0x00,0xC0,0x00,0x40,0x00,0x00,0x00},/*\"下\
{0x00,0x00,0x00,0x00,0x00,0x1A,0x00,0x1C,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*\",\
{0x00,0x00,0x00,0x0C,0x00,0x30,0xFF,0x00,0x81,0x3C,0x91,0x02, 0x93,0x02,0x95,0x42,0xF9,0x32,0x95,0x02,0x93,0x02,0x91,0x0E, 0xFF,0x20,0x00,0x1C,0x00,0x08,0x00,0x00},/*\"恩\
{0x0E,0x00,0x00,0x00,0xFF,0xFF,0x10,0x00,0x0A,0x00,0x22,0x00, 0x2A,0xFF,0x2A,0xA8,0x2A,0xA8,0xFE,0xA8,0x2A,0xAA,0x2A,0xA9, 0x2A,0xFE,0x22,0x00,0x02,0x00,0x00,0x00},/*\"情\
{0x01,0x00,0x02,0x00,0x1F,0xFE,0xE8,0x00,0x40,0x00,0x1F,0xF8, 0x00,0x12,0x80,0x22,0x70,0x44,0x20,0x84,0x00,0x08,0x00,0x30, 0xFF,0xC0,0x00,0x30,0x00,0x0E,0x00,0x00},/*\"似\
{0x08,0x20,0x06,0x20,0x80,0xFF,0x6F,0x00,0x00,0x80,0x08,0x80, 0x1F,0xF8,0xE8,0x88,0x2C,0xC8,0x2A,0xA8,0x28,0x8A,0x28,0x89, 0x2F,0xFE,0x20,0x88,0x20,0x88,0x00,0x00},/*\"海\
{0x08,0x20,0x86,0x3F,0x60,0xC0,0x07,0x04,0x00,0x04,0x64,0x88, 0x44,0x88,0x58,0x90,0x40,0xA0,0x43,0xFF,0x50,0xA0,0x48,0x90, 0x4C,0x98,0x60,0x8C,0x40,0x08,0x00,0x00},/*\"深\
{0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFA,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*\"!\
{0x10,0x40,0x10,0x80,0x91,0x00,0x73,0xFF,0x15,0x00,0x18,0xC1, 0x00,0x02,0x7F,0x0C,0x41,0xF0,0x41,0x00,0x41,0x00,0x41,0xFE, 0x7F,0x01,0x00,0x01,0x00,0x0F,0x00,0x00},/*\"祝\
第 19 页
西华大学课程设计说明书 {0x00,0x40,0x04,0x40,0x04,0x40,0x08,0x80,0x10,0xFE,0xF1,0x42, 0x2D,0x42,0x22,0x42,0x22,0x42,0x25,0x42,0x39,0x42,0x20,0xFE, 0x00,0x80,0x00,0xC0,0x00,0x80,0x00,0x00},/*\"各\
{0x00,0x80,0x03,0x00,0x0C,0x00,0x37,0xFE,0xC0,0x04,0x54,0x04, 0x13,0x04,0x90,0xE4,0x50,0x04,0x70,0x0C,0x10,0x74,0x17,0x84, 0x12,0x04,0x10,0x04,0x00,0x04,0x00,0x00},/*\"位\
{0x02,0x10,0x22,0x10,0x22,0x20,0x22,0x20,0x22,0x40,0x22,0x7C, 0xFE,0x92,0x23,0x12,0x23,0x22,0x22,0x22,0x26,0x42,0x2A,0x42, 0x72,0x02,0x22,0x0E,0x02,0x00,0x00,0x00},/*\"老\
{0x00,0x02,0x3F,0xE4,0x00,0x08,0x00,0x70,0xFF,0x80,0x00,0x00, 0x4F,0xF0,0x48,0x00,0x48,0x00,0x48,0x00,0x7F,0xFF,0x48,0x00, 0x48,0x20,0x48,0x10,0x4F,0xE0,0x00,0x00},/*\"师\
{0x00,0x00,0x00,0x42,0x00,0x42,0x00,0x44,0x3F,0xC4,0x6A,0x48, 0xAA,0x48,0x2A,0x50,0x2A,0x50,0x2A,0x62,0x2A,0x61,0x3F,0xFE, 0x00,0xC0,0x07,0x40,0x02,0x40,0x00,0x00},/*\"身\
{0x02,0x00,0x04,0x00,0x1F,0xFE,0xE8,0x00,0x40,0x10,0x08,0x20, 0x08,0x50,0x09,0x90,0x0E,0x10,0xFF,0xFE,0x0B,0x10,0x08,0x90, 0x08,0x60,0x08,0x30,0x00,0x20,0x00,0x00},/*\"体\
{0x04,0x00,0x08,0x00,0x3F,0xFE,0xC0,0x44,0x26,0x28,0x3A,0x30, 0x03,0xC8,0x2A,0x24,0x2A,0xA6,0x2A,0xA2,0xFF,0xFE,0x2A,0xA2, 0x3E,0xA2,0x08,0x22,0x08,0x00,0x00,0x00},/*\"健\
{0x00,0x01,0x00,0x06,0x3F,0xF8,0x22,0x04,0x2A,0xC6,0x2A,0xA8, 0x2A,0x92,0xAA,0x81,0x7F,0xFE,0x2A,0xB0,0x2A,0x88,0x2A,0x94, 0x2F,0xB6,0x22,0x03,0x22,0x02,0x00,0x00},/*\"康\
{0x00,0x00,0x00,0x10,0x00,0x18,0x00,0x0C,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
第 20 页
西华大学课程设计说明书 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*\"、\
{0x00,0x04,0x00,0x04,0x40,0x04,0x40,0x04,0x40,0x04,0x40,0x04, 0x40,0x04,0x7F,0xFC,0x40,0x04,0x40,0x04,0x40,0x04,0x40,0x04, 0x40,0x04,0x40,0x04,0x00,0x04,0x00,0x00},/*\"工\
{0x01,0x00,0x02,0x00,0x04,0x00,0x1F,0xFF,0xE0,0x00,0x44,0x00, 0x18,0x00,0x30,0x00,0xDF,0xFF,0x12,0x20,0x12,0x20,0x12,0x20, 0x16,0x20,0x12,0x60,0x10,0x20,0x00,0x00},/*\"作\"23*/
{0x00,0x04,0x7F,0xF8,0x00,0x00,0x3F,0xF0,0x00,0x00,0x7F,0xFE, 0x00,0x00,0x4F,0xE2,0x48,0x04,0x58,0x08,0x69,0xF0,0x48,0x08, 0x48,0x04,0x4F,0xE6,0x40,0x00,0x00,0x00},/*\"顺\
{0x00,0x08,0x04,0x10,0x24,0x20,0x24,0xC0,0x27,0x00,0x3F,0xFF, 0x44,0x80,0x44,0x70,0x44,0x20,0x00,0x00,0x1F,0xF0,0x00,0x04, 0x00,0x02,0x00,0x01,0xFF,0xFE,0x00,0x00},/*\"利\
{0x00,0x00,0x02,0x01,0x42,0x02,0x42,0x04,0x42,0x08,0x42,0x10, 0x42,0x60,0x7F,0x80,0x42,0x40,0x42,0x20,0x42,0x10,0x42,0x08, 0x42,0x0C,0x42,0x06,0x02,0x04,0x00,0x00},/*\"天\
{0x02,0x00,0x42,0x02,0x42,0x04,0x42,0x08,0x42,0x30,0x7F,0xC0, 0x42,0x00,0x42,0x00,0x42,0x00,0x42,0x00,0x7F,0xFE,0x42,0x00, 0x42,0x00,0x42,0x00,0x42,0x00,0x00,0x00},/*\"开\
{0x00,0x20,0x01,0xC0,0x00,0x00,0x00,0x00,0x0F,0xFC,0x00,0x02, 0x80,0x02,0x40,0x02,0x38,0x02,0x10,0x02,0x00,0x02,0x02,0x1E, 0x01,0x00,0x00,0xE0,0x00,0x40,0x00,0x00},/*\"心\
{0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFA,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*\"!\
第 21 页
西华大学课程设计说明书
5 仿真与调试
本设计利用Keil μVision2, 在新建Keil项目时选择AT89C51单片机作为CPU,将C语言源程序导入,在keil软件中完成程序编写、调试和编译之后,加载程序为.HEX文件,生成能让单片机运行的Hex文件,如图5.1所示。
图5.1 在keil软件中编程和调试
5.1 用PROTUES绘制原理图
运行Proteus的ISIS程序后,进入该仿真软件的主界面。主界面由菜单栏、工具栏、预览窗口、元件选择按钮、元件列表窗口、原理图绘制窗口和仿真进程控制按钮组成(如图5.2所示)。通过元件选择按钮P(从库中选择元件命令) 命令,在弹出的Pick Devices窗口中选择电路所需的元件,放置元件并调整其相对位置,对元件参数设置及元器件间连线,完成单片机系统的硬件原理图绘制。图5.3所示是绘制完成的电路图。
第 22 页
西华大学课程设计说明书
图5.2 运行Proteus ISIS的主界面
图5.3 16*16 LED 完整电路图
5.2 PROTUES对单片机内核的仿真
在source 菜单的Define code generation tools 菜单命令下,选择程序编译的工具、路径、扩展名等项目;在source菜单的Add/remove source files 命令下,加入单片机硬件电路的对应程序(主要采用 Keil 进行程序编译)。
第 23 页
西华大学课程设计说明书 打开如图5.4所示的对话框。在 Program File 栏添加编译好的十六进制格式的程序文件16*16点阵.hex,给AT89C51输入晶振频率,此处默认为12MHZ, 单击OK 按钮完成程序添加工作, 下面就可以进行系统仿真了。
Proteus 与其它单片机仿真软件不同的是,它不仅能仿真单片机外围电路或没有单片机参与的其它电路的工作情况,也能仿真单片机CPU的工作情况。因此在仿真和程序调试时,是从工程的角度直接看程序运行和电路工作的过程和结果。从某种意义上讲Proteus仿真,基本接近与工程应用。
图5.4 添加程序文件16x16点阵.hex
仿真过程中如有硬件问题可在Proteus ISIS中直接修改,如有软件问题可在Keil μVision2中直接修改,通过Keil与Proteus的联合调试就可以得到满意的结果。本设计的仿真结果如图5.5所示。
第 24 页
西华大学课程设计说明书
图5.5 仿真结果图
第 25 页
西华大学课程设计说明书
6 结论
本设计是以C语言为编写工具,利用仿真平台Proteus对点阵式LED滚动汉字显示屏进行仿真设计,完成系统的硬件电路设计和软件编程,并进行了仿真调试,实现汉字在点阵式LED显示屏上的滚动显示,完成了27余字的滚动显示,达到了良好的设计效果。
该仿真电路接近实际电路,可以直接由该电路利用相关软件设计印制电路板,加上电源电路和时钟电路,就可以制作出实际的点阵式LED滚动汉字显示屏。通过前期仿真缩短了开发周期,降低了开发成本,达到事半功倍之成效。
虽然本设计使用了四块8*8LED点阵,电路简单,但是已经包涵了LED显示屏的电路基本原理和基本程序,只要扩展单片机的I/O接口,并增加一些LED点阵和相关芯片,就能设计出更大面积、更多花样的LED显示屏。因此本文对同类设计具有一定的理论和实践参考价值。
在完成此设计的过程之中,我遇到了很多棘手的问题,比如仿真软件的操作、程序的编写与调试、方案的编排和设计等诸多设计问题。 但通过自己的不断探索和指导老师的大力辅助,这些问题都得到了妥当的解决。在这次设计中,我从中学到了不少的知识,以前对单片机了解甚少,在这次设计中,对单片机有了一个较全面的认识、学习、掌握,也能对一些简单程序进行编写。
第 26 页
西华大学课程设计说明书 致谢
我首先向我的课程设计指导老师郑海春老师致以深深的谢意,也感谢同学们给我的帮助和鼓励,更感谢所有在课程设计中帮助过我的老师和同学们。
我的课程设计是在郑老师的亲切关怀和耐心指导下完成的。他严肃的科学态度,严谨的治学精神,精益求精的工作作风,深深地感染和激励着我。从课题的选择到项目的最终完成,郑老师都始终给予我细心的指导和不懈的支持,使我克服一个个的困难和疑惑。在整个课程设计过程中,他们都给予了我极大的关心和帮助,并对我的课程设计进行了悉心的指导。郑老师定期检查我的设计进度,对于设计中出现的问题都给我及时纠正,正是由于他的耐心指导,我才能顺利的完成整个设计。从他的身上我不仅学到了设计的思想,还学到了严谨的学风和敬业的精神。
第 27 页
西华大学课程设计说明书
参考文献
[1]苏平.单片机原理与接口技术[M].北京:电子工业出版社,2003 [2]林伸茂.8051单片机彻底研究实习篇[M].北京:人民邮电出版社,2005 [3]韩志军.单片机应用系统设计[M].北京:机械工业出版社,2005 [4]陈坤、张义中等.电子设计技术[M].成都:电子科技大学出版社,1997 [5]郑应光.模拟电子线路(一)[M].武汉:东南大学出版社,2005 [6]李秀忠.单片机应用技术[M].北京:人民邮电出版社,2007 [7]肖洪兵.跟我学单片机[M].北京:北京航空航天大学出版社,2002
第 28 页
西华大学课程设计说明书
附录1 整机原理图
第 29 页
西华大学课程设计说明书
附录2 源程序
#include\"reg51.h\" //包含头文件reg51.h #define int8 unsigned char //宏定义 #define int16 unsigned int #define int32 unsigned long
sbit clk=P2^7; //位定义 in8 flag; int16 offset; int8 n; //变量声明
/***********************************************************/ /*******************字幕编码*******************************/ /**********************************************************/ int8 code table[][32]={
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/* \" \" */
{0x11,0x80,0x16,0x00,0xFF,0xFE,0x14,0x00,0x12,0x02,0x00,0x42, 0x08,0x44,0x04,0x98,0xFF,0xE0,0x00,0x00,0xFF,0xFC,0x01,0x02, 0x04,0xC2,0x18,0x62,0x10,0x0E,0x00,0x00},/*\"桃\
{0x01,0x00,0x21,0x20,0x22,0x20,0x23,0x20,0x25,0x20,0x29,0x22, 0x31,0x21,0xFF,0x7E,0x31,0xA0,0x29,0x20,0x25,0x20,0x24,0x20, 0x22,0x20,0x23,0x20,0x02,0x20,0x00,0x00},/*\"李\
{0x08,0x10,0x86,0x1F,0x60,0xE0,0x07,0x00,0x20,0x00,0x25,0xFF, 0x25,0x10,0xF7,0xE0,0x25,0x28,0x25,0x10,0x27,0xE0,0xF5,0x22, 0x25,0x11,0x25,0xFE,0x24,0x00,0x00,0x00},/*\"满\
{0x00,0x00,0x02,0x01,0x42,0x02,0x42,0x04,0x42,0x08,0x42,0x10, 0x42,0x60,0x7F,0x80,0x42,0x40,0x42,0x20,0x42,0x10,0x42,0x08, 0x42,0x0C,0x42,0x06,0x02,0x04,0x00,0x00},/*\"天\
{0x00,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00, 0x40,0x00,0x7F,0xFE,0x44,0x00,0x46,0x00,0x43,0x80,0x41,0x00, 0x40,0x00,0xC0,0x00,0x40,0x00,0x00,0x00},/*\"下\
{0x00,0x00,0x00,0x00,0x00,0x1A,0x00,0x1C,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*\",\
第 30 页
西华大学课程设计说明书 {0x00,0x00,0x00,0x0C,0x00,0x30,0xFF,0x00,0x81,0x3C,0x91,0x02, 0x93,0x02,0x95,0x42,0xF9,0x32,0x95,0x02,0x93,0x02,0x91,0x0E, 0xFF,0x20,0x00,0x1C,0x00,0x08,0x00,0x00},/*\"恩\
{0x0E,0x00,0x00,0x00,0xFF,0xFF,0x10,0x00,0x0A,0x00,0x22,0x00, 0x2A,0xFF,0x2A,0xA8,0x2A,0xA8,0xFE,0xA8,0x2A,0xAA,0x2A,0xA9, 0x2A,0xFE,0x22,0x00,0x02,0x00,0x00,0x00},/*\"情\
{0x01,0x00,0x02,0x00,0x1F,0xFE,0xE8,0x00,0x40,0x00,0x1F,0xF8, 0x00,0x12,0x80,0x22,0x70,0x44,0x20,0x84,0x00,0x08,0x00,0x30, 0xFF,0xC0,0x00,0x30,0x00,0x0E,0x00,0x00},/*\"似\
{0x08,0x20,0x06,0x20,0x80,0xFF,0x6F,0x00,0x00,0x80,0x08,0x80, 0x1F,0xF8,0xE8,0x88,0x2C,0xC8,0x2A,0xA8,0x28,0x8A,0x28,0x89, 0x2F,0xFE,0x20,0x88,0x20,0x88,0x00,0x00},/*\"海\
{0x08,0x20,0x86,0x3F,0x60,0xC0,0x07,0x04,0x00,0x04,0x64,0x88, 0x44,0x88,0x58,0x90,0x40,0xA0,0x43,0xFF,0x50,0xA0,0x48,0x90, 0x4C,0x98,0x60,0x8C,0x40,0x08,0x00,0x00},/*\"深\
{0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFA,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*\"!\
{0x10,0x40,0x10,0x80,0x91,0x00,0x73,0xFF,0x15,0x00,0x18,0xC1, 0x00,0x02,0x7F,0x0C,0x41,0xF0,0x41,0x00,0x41,0x00,0x41,0xFE, 0x7F,0x01,0x00,0x01,0x00,0x0F,0x00,0x00},/*\"祝\
{0x00,0x40,0x04,0x40,0x04,0x40,0x08,0x80,0x10,0xFE,0xF1,0x42, 0x2D,0x42,0x22,0x42,0x22,0x42,0x25,0x42,0x39,0x42,0x20,0xFE, 0x00,0x80,0x00,0xC0,0x00,0x80,0x00,0x00},/*\"各\
{0x00,0x80,0x03,0x00,0x0C,0x00,0x37,0xFE,0xC0,0x04,0x54,0x04, 0x13,0x04,0x90,0xE4,0x50,0x04,0x70,0x0C,0x10,0x74,0x17,0x84, 0x12,0x04,0x10,0x04,0x00,0x04,0x00,0x00},/*\"位\
{0x02,0x10,0x22,0x10,0x22,0x20,0x22,0x20,0x22,0x40,0x22,0x7C, 0xFE,0x92,0x23,0x12,0x23,0x22,0x22,0x22,0x26,0x42,0x2A,0x42, 0x72,0x02,0x22,0x0E,0x02,0x00,0x00,0x00},/*\"老\
{0x00,0x02,0x3F,0xE4,0x00,0x08,0x00,0x70,0xFF,0x80,0x00,0x00, 0x4F,0xF0,0x48,0x00,0x48,0x00,0x48,0x00,0x7F,0xFF,0x48,0x00, 0x48,0x20,0x48,0x10,0x4F,0xE0,0x00,0x00},/*\"师\
{0x00,0x00,0x00,0x42,0x00,0x42,0x00,0x44,0x3F,0xC4,0x6A,0x48,
第 31 页
西华大学课程设计说明书 0xAA,0x48,0x2A,0x50,0x2A,0x50,0x2A,0x62,0x2A,0x61,0x3F,0xFE, 0x00,0xC0,0x07,0x40,0x02,0x40,0x00,0x00},/*\"身\
{0x02,0x00,0x04,0x00,0x1F,0xFE,0xE8,0x00,0x40,0x10,0x08,0x20, 0x08,0x50,0x09,0x90,0x0E,0x10,0xFF,0xFE,0x0B,0x10,0x08,0x90, 0x08,0x60,0x08,0x30,0x00,0x20,0x00,0x00},/*\"体\
{0x04,0x00,0x08,0x00,0x3F,0xFE,0xC0,0x44,0x26,0x28,0x3A,0x30, 0x03,0xC8,0x2A,0x24,0x2A,0xA6,0x2A,0xA2,0xFF,0xFE,0x2A,0xA2, 0x3E,0xA2,0x08,0x22,0x08,0x00,0x00,0x00},/*\"健\
{0x00,0x01,0x00,0x06,0x3F,0xF8,0x22,0x04,0x2A,0xC6,0x2A,0xA8, 0x2A,0x92,0xAA,0x81,0x7F,0xFE,0x2A,0xB0,0x2A,0x88,0x2A,0x94, 0x2F,0xB6,0x22,0x03,0x22,0x02,0x00,0x00},/*\"康\
{0x00,0x00,0x00,0x10,0x00,0x18,0x00,0x0C,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*\"、\
{0x00,0x04,0x00,0x04,0x40,0x04,0x40,0x04,0x40,0x04,0x40,0x04, 0x40,0x04,0x7F,0xFC,0x40,0x04,0x40,0x04,0x40,0x04,0x40,0x04, 0x40,0x04,0x40,0x04,0x00,0x04,0x00,0x00},/*\"工\
{0x01,0x00,0x02,0x00,0x04,0x00,0x1F,0xFF,0xE0,0x00,0x44,0x00, 0x18,0x00,0x30,0x00,0xDF,0xFF,0x12,0x20,0x12,0x20,0x12,0x20, 0x16,0x20,0x12,0x60,0x10,0x20,0x00,0x00},/*\"作\"23*/
{0x00,0x04,0x7F,0xF8,0x00,0x00,0x3F,0xF0,0x00,0x00,0x7F,0xFE, 0x00,0x00,0x4F,0xE2,0x48,0x04,0x58,0x08,0x69,0xF0,0x48,0x08, 0x48,0x04,0x4F,0xE6,0x40,0x00,0x00,0x00},/*\"顺\
{0x00,0x08,0x04,0x10,0x24,0x20,0x24,0xC0,0x27,0x00,0x3F,0xFF, 0x44,0x80,0x44,0x70,0x44,0x20,0x00,0x00,0x1F,0xF0,0x00,0x04, 0x00,0x02,0x00,0x01,0xFF,0xFE,0x00,0x00},/*\"利\
{0x00,0x00,0x02,0x01,0x42,0x02,0x42,0x04,0x42,0x08,0x42,0x10, 0x42,0x60,0x7F,0x80,0x42,0x40,0x42,0x20,0x42,0x10,0x42,0x08, 0x42,0x0C,0x42,0x06,0x02,0x04,0x00,0x00},/*\"天\
{0x02,0x00,0x42,0x02,0x42,0x04,0x42,0x08,0x42,0x30,0x7F,0xC0, 0x42,0x00,0x42,0x00,0x42,0x00,0x42,0x00,0x7F,0xFE,0x42,0x00, 0x42,0x00,0x42,0x00,0x42,0x00,0x00,0x00},/*\"开\
{0x00,0x20,0x01,0xC0,0x00,0x00,0x00,0x00,0x0F,0xFC,0x00,0x02, 0x80,0x02,0x40,0x02,0x38,0x02,0x10,0x02,0x00,0x02,0x02,0x1E,
第 32 页
西华大学课程设计说明书 0x01,0x00,0x00,0xE0,0x00,0x40,0x00,0x00},/*\"心\
{0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFA,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*\"!\
/***********************************************************/ /*******************延时函数********************************/ /**********************************************************/ void delay(void) { int16 i;
for (i=0;i<50;i++) ; }
/***********************************************************/ /*******************主函数*********************************/ /**********************************************************/ void main(void) {
int8 i; //赋初值 int8 *p; flag=0x10; n=0;
TMOD=0x01; //定时器T0工作方式1 TH0=0xb1; //赋初值 TL0=0xe0;
ET0=1; //定时器0中断 EA=1; //开总中断 TR0=1; //启动定时器0 p=&table[0][0]; while (1) {
for (i=0;i<8;i++) //显示左半边屏幕 {
clk=0;
P0=*(p+offset+2*i);
第 33 页
西华大学课程设计说明书
clk=1;
P2=i|0x08; //P2.4=0,P2.3=1 选中U2, 输出扫描码给U6 P0=*(p+offset+2*i); clk=0;
delay();
P0=*(p+offset+2*i+1);
clk=1;
P2=i|0x10; //P2.4=1,P2.3=0 选中U3, 输出扫描码给U7 delay(); }
for (i=8;i<16;i++) //显示右半边屏幕 {
clk=0; clk=1;
P0=*(p+offset+2*i);
P2=(i-8)|0x20; //P2.5=1 P2.4=0, P2.3=0 选中U4,输出扫描码U8 delay();
clk=0;
P0=*(p+offset+2*i+1); clk=1;
P2=(i-8)|0x40; //P2.6=1 P2.5=0, P2.4=0 选中U5,输出扫描码U9
delay(); } } }
/***********************************************************/ /*******************定时器0********************************/ /**********************************************************/ void timer0() interrupt 1 using 3 {
TF0=0; TH0=0xb1; TL0=0xe0; if (n<10)
第 34 页
西华大学课程设计说明书 { n++; } else { offset+=2; if (offset>1690) offset=0; n=0; } }
第 35 页
因篇幅问题不能全部显示,请点此查看更多更全内容