LED点阵显示论文_第1页
LED点阵显示论文_第2页
LED点阵显示论文_第3页
LED点阵显示论文_第4页
LED点阵显示论文_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、本科毕业论文(设计) 题 目: LED 点阵广告牌的设计与制作 院 系:物电系 08 级电信(1)班 专 业:电子信息科学与技术 姓 名: 学 号: 指导教师: 教师职称:教授 填写日期:2011 年 12 月 20 日 摘摘 要要 本设计使用简单单片机 AT89C52 作为主控制模块,利用简单的外围电路来 驱动 88 的点阵广告牌。在本设计中主要用四个 74HC595 来驱动四个 88 点 阵,可以最终实现“祝您旅途愉快!”七个汉字的自动左移。也就是说, 硬件电路大致上可以分成单片机系统及外围电路、驱动电路两个部分。从而可 以实现一个简易的八个 88 点阵广告牌,在目测条件下点阵广告牌各点亮

2、度均 匀、充足,可显示图形和文字,显示图形或文字应稳定、清晰无串扰,图形或 文字显示有移入移出显示方式。最后,利用烧录器可以很方便的实现单片机与 PC 机等外围存储设备的数据传输,并能利用软件方便的进行显示内容的多样变 化,另一方面,LED 点阵显示作为一种新兴的显示器件,是由多个独立的 LED 发 光二极管封装而成。LED 点阵广告牌可以显示数字或符号, 通常用来显示时间、 速度、系统状态等。文章给出的 88 点阵 LED 广告牌设计方案,包括系统具体 的硬件设计方案,软件流程图和相应的 C 语言程序等方面。在负载范围内, 只需 通过简单的级联就可以对广告牌进行扩展,是一种成本低廉的图文显示

3、方案。 关键词关键词:单片机;主控制模块;点阵广告牌;自动左移;外围存储设备;级联 Abstract This design is simple to use AT89C52 single chip microcomputer as the main control module, use the periphery of the simple circuit to drive the 8 x8 dot matrix billboards. In this design mainly with four 74 HC595 are needed to drive the four 8 x 8 d

4、ot matrix, can finally realize- I wish you a pleasant journey six Chinese characters to be automatic moves left. That is, the hardware circuit can generally be divided into SCM system and peripheral circuit, drive circuit two parts. And for a simple eight 8 x 8 dot matrix billboards, in the visual c

5、onditions dot matrix billboard brightness at every point, enough, can show graphics and text, graphics or text should be stable, clear no crosstalk, graphics or text indicate that the move has removed showing the way. Finally, using the burn can easily achieve SCM and PC periphery storage equipment

6、such as the data transmission, and can use software convenient for showing the contents of the diverse change, on the other hand, of LED dot matrix display as a new kind of display devices, is by the of multiple independent LED light emitting diode encapsulation and into. A billboard of LED dot matr

7、ix display Numbers can or symbol, usually used to show time, speed, the system state, etc. The paper gives 8 x8 LED dot matrix design scheme billboards, including the system of concrete hardware design, software flow chart and the corresponding C language program, etc. In the load range, just throug

8、h the simple cascade can expand on billboards, is a low-cost graphic display solutions. Keywords: SCM; Master control module; Dot matrix billboard; Automatic moves left; Periphery storage equipment; cascad 目目 录录 第一章 前 言.4 第二章 点阵的概述.5 第一节 功能要求 .5 第二节 关于 LED 的了解 .5 一、LED 点阵显示系统简介.5 二、LED 点阵显示系统的主要特点.5

9、 三、LED 点阵显示屏的分类.5 四、8*8 点阵内部电路图.6 第三节 方案论证 .6 (一)点阵探究 .6 (二)扫描规律 .7 第三章 方案比较.8 第一节 LED 点阵广告牌的设计一般有两种方案:.8 第二节 电源的选择与论证 .8 第三节 点阵信息提取方案 .8 第四节 显示驱动电路 .9 第四章 系统总体设计方案.10 第一节 广告牌总体设计方案 .10 第二节 LED 显示驱动电路.10 (一)LED 显示原理.10 (二)驱动所用芯片 .11 (三)所选方案论述 .11 (四)74HC595 的引脚接线.11 第三节 单片机系统及外围电路 .12 第五章 软件设计.13 第一

10、节 显示驱动程序 .13 第二节 系统主程序 .13 第六章 PROTEUS 软件仿真 .15 第一节 PROTEUS软件简介 .15 第二节 PROTEUS仿真过程 .15 图 6-2-1 仿真过程.15 致 谢.16 参考文献.17 附 录.18 第一章 前 言 点阵广告牌显示画面色彩鲜艳,立体感强,静如油画,动如电影,广泛应 用于车站、码头、机场、商场、医院、宾馆、银行、证券市场、建筑市场、拍 卖行、工业企业管理和其它公共场所。在实际应用中的广告牌由于成本和可靠 性的因素常采用一种称为动态扫描的显示方法。 LED 就是 Light Emitting Diode(发光二极管)的缩写。在某些

11、半导体材 料的 PN 结中,注入的少数载流子与多数载流子复合时会把多余的能量以光的形 式释放出来,从而把电能直接转换为光能。PN 结加反向电压,少数载流子难以 注入,故不发光。这种利用注入式电致发光原理制作的二极管叫发光二极管, 通称 LED。LED 广告牌是一种通过控制半导体发光二极管的显示方式,用来显示 文字、图形、图像、动画、行情、视频、录像信号等各种信息的显示屏幕。 LED 显示屏分为图文显示屏和视频显示屏,均由 LED 矩阵块组成。图文显 示屏可与计算机同步显示汉字、英文文本和图形;视频显示屏采用微型计算机 进行控制,图文、图像并茂,以实时、同步、清晰的信息传播方式播放各种信 息,还

12、可显示二维、三维动画、录像、电视、VCD 节目以及现场实况。 它的优点:亮度高、工作电压低、功耗小、微型化、易与集成电路匹配、 驱动简单、寿命长、耐冲击、性能稳定。 第二章 点阵的概述 第一节 功能要求 设计一个用 88 点阵广告牌,要求在目测条件下点阵广告牌的各点亮度均 匀、充足,可显示图形和文字,显示图形或文字应稳定、清晰无串扰,图形或 文字显示有移入移出显示方式。 第二节 关于 LED 的了解 一、LED 点阵显示系统简介 本文所介绍的点阵 LED 显示屏,显示汉字和各种常见字符等信息,可广泛 应用于各种场所。具有结构简单、安装方便、字型美观、图案清晰。采用高性 能单片机控制,性能稳定,

13、可靠性高,具有掉电保护功能,可完全脱机运行, 可以显示约 2000 个文字。经过一条 RS-232 串口线与电脑连接更换信息,操 作简单,使用方便。 二、LED 点阵显示系统的主要特点 LED 显示屏主要有发光二极管以及其驱动芯片组成的显示单元而拼接而成, 主要特点如下: 1、屏幕的尺寸可大可小 2、视角大,室内屏视角大于 60 度,室外屏视角大于 25 度。 3、视距可通过选择不同直径与不同点距的产品来调整,小到几十厘米,达到几 百米,均可满足要求,目前最小直径可做到 1mm. 4、状态灵活,简单到数码显示,复杂到全彩色视屏。 5、易与计算机接口,支持软件丰富。 三、LED 点阵显示屏的分类

14、 1、根据应用场所的不同,可将 LED 点阵显示屏分为室内和室外两种 (1)室内屏 主要应用于室内,在制作工艺上首先是把发光晶粒做成点阵模块或数码管, 再由模块拼接为一定尺寸的显示单元板,根据用户需求,以显示单元板为基本 单元拼接成用户所需尺寸。 (2)户外屏 主要用于室外,在制作工艺上首先是把发光晶粒封装而成单个的发光二极 管,称之为单灯,用于制作户外屏的单灯一般采用具有聚光作用的反光杯来提 高亮度;再由多只 LED 单灯封装成单只像素管,而由像素管组成点阵式的显示 单元箱体,根据场所需求,以一个显示单元箱为基本单元组成所需要的尺寸。 2、根据所采用的 LED 的颜色,可将 LED 显示屏分

15、为单色、双基色、全彩色三 种。 (1)单色 每个像素点只有一种颜色,多数为红色,因为红色的发光效率较高。 (2)双基色 每个像素点有红色绿色两种基色,可以叠加出黄色,在有灰度控制的情况 下,可以通过红绿不同灰度的变化,组合出多种颜色。 (3)全彩色 全彩色也成为三基色,每个像素点有红绿蓝三种基色,在有灰度的控制的 情况下,通过不同灰度的变化,可以很好的还原自然色。 3、根据屏幕所具有的功能,可将 LED 显示屏分为条屏,图文屏,视屏以及数 码屏四种。结合我所研究题目,讲一下图文屏。这类屏幕主要用于显示图像和 文字,一般无灰度控制。其优点是显示的字体体型丰富,并可显示汉字和各种 常见字符等信息,

16、可广泛应用于各种场所。 四、8*8 点阵内部电路图 图 2-2-1 8*8 点阵模块内部电路图 第三节 方案论证 (一)点阵探究 88 的点阵广告牌共有 64 个发光二极管,况且还要用到四个 88 呢,显 然单片机没有这么多端口,如果我们采用锁存器来扩展端口,按 8 位的锁存器 来计算,一个 88 的点阵就需要 64/8=8 个锁存器。这个数字很庞大,因为我 们仅仅是 88 的点阵,在实际应用中的广告牌往往要大的多,这样在锁存器上 花的成本将是一个很庞大的数字。因此在实际应用中的广告牌几乎都不可能采 用这种设计,而采用另一种称为动态扫描的显示方法。 (二)扫描规律 动态扫描的意思简单地说就是逐

17、行轮流点亮,这样扫描驱动电路就可以实 现多行(比如 8 行)的同名列共用一套列驱动器。具体就 88 的点阵来说,我 们把所有同一行的发光管的阳极连在一起(共阳极的接法) ,把所有同一列的发 光管的阴极连在一起(共阴的接法) ,先送出对应第一行发光管亮灭的数据并锁 存,然后选通第一行使其燃亮一定的时间,然后熄灭;再送出第二行的数据并 锁存,然后选通第二行使其燃亮相同的时间,然后熄灭; 第十六行之后又 重新燃亮第一行,这样反复轮回。当这样轮回的速度足够快(每秒 24 次以上) , 由于人眼的视觉暂留现象,我们就能看到显示屏上稳定的图形了。 第三章 方案比较 第一节 LED 点阵广告牌的设计一般有两

18、种方案: 方案一:采用可编程逻辑器件作为核心控制器产生 LED 点阵的行、列驱动 信号。若用中大规模的 PLD,设计多个接口电路,开发周期长,不易进一步扩 展,同时系统的成本会急剧上升(相对于第二种方案) 。因此,本设计并未采用 这种方案。 方案二:采用单片机系统来实现,由于 51 单片机具有价格低廉,使用简单 等特点,而且数据处理速度也还可以。本系统设计采用的单片机的外部接口虽 然不够用,可用 74HC595 就解决了这一难题,同时安装和调试工作比较方便, 极大地缩减了设计和制作的难度。综合多方面考虑,选择方案二。 第二节 电源的选择与论证 方案一:采用普通的干电池,电压稳定,方便携带,但工

19、作时间短不利于 大屏幕显示,并且造成环境污染,不利于环保。 方案二:采用自制直流稳压电源,电压稳定能持续工作,并能用于大屏幕 显示,不会造成环境污染,节省成本。 综上所述,采用方案二,即自制直流稳压电源。 第三节 点阵信息提取方案 要用 LED 点阵来显示汉字,首先要能够提取出其字模数据,即一个 16*16 的点阵汉字的字模数据共有 32 个字节。首先要确定点阵信息提取方案。 方案一:固定汉字显示,就是将要显示的语句中全部汉字的字母数据依次 提取出来,按顺序存放在存储器中,当有显示任务时,直接取出字模数据送至 显示器即可。这种方法占用空间少,程序实现简单,显示速度快。本系统中对 2 组预存信息

20、的点阵信息的提取和存储就是采用这种方案。但是,要想显示大 量的汉字信息或直接对显示信息进行更新,则几乎是不可能的事。因此,要实 现这样的功能就要采用第二种方案。 方案二:将标准的点阵信息字模数据的字库文件装入外扩 ROM 存储器, 采用与 PC 机相同的编码(机内码) ,先进行基于 PC 机的预处理,提取需显示 内容的机内码,通过串口发给单片机,单片机首先进行判断,若是 ASCII 码, 则直接计算出起始地址,在码库文件中指定位置取出连续的 16 个字节即为其字 模信息;若为汉字,单片机将机内码转换为区码和位码,再计算出起始地址, 在码文件中指定位置取出连续的 32 个字节即为其字模信息,然后

21、送到显示器去 显示。另外,PC 机与单片机之间串口通信只是传输机内码,而不是传输字模信 息,传输信息量小,不需要复杂的通信协议。这样既可以减轻单片机的负担, 而且可以根据要求随时改变显示内容,非常简单灵活。 第四节 显示驱动电路 常用的显示驱动方式有三种: 方案一:串行控制驱动,这种方式的好处是单元内的线路连接简单,给印 刷电路板的设计带来方便,减少了布线的密度,方便以后的制作与调试,而且 相对提高了每个单元的可靠性; 方案二:并行控制驱动,将显示数据通过并行(一般为8位)方式送入驱动电 路,这样的好处是:相对于串行控制而言,数据的刷新速度快,在处理同等数 量的数据时,对处理速度要求可以大大降

22、低,从而提高了系统的稳定性,但也 正因为“并行”使单元内的数据线路的连接更加复杂,布线后的排错难度大大 增加。 方案三:采用专用集成电路(ASIC)直接驱动,由于这种专用集成电路是 集行控制、列控制和外围驱动于一体,使系统的稳定性更为可靠,特别适合户 外的大型或者超大型显示屏。因为这种类型的显示屏对图像显示要求高,不仅 要保证图像的一致性,而且要保证图像的稳定、高亮。 本次设计的广告牌仅为16行*16列,更适合采用串行控制这种方式,这样做 既省去了并行控制驱动在制版过程中十分复杂的布线,又因为没有采用专用集 成电路在一定程度上降低了整个系统的成本。 第四章 系统总体设计方案 第一节 广告牌总体

23、设计方案 图 4-1-1 总体设计方案图 第二节 LED 显示驱动电路 (一)LED 显示原理 本次设计中 16 行*16 列 LED 点阵广告牌的制作以及其显示驱动电路的设 计制作都是非常关键的部分。下面主要介绍一下显示驱动电路的设计。 本 LED 点阵广告牌采用动态扫描的方式显示,即逐行扫描,工作时先将一 行点阵字模通过列驱动输出,然后运用译码器选中对应行,使该行得以显示, 接着再送下一行数据,再选中下一行有效,直到 16 行全被扫描一遍。至此,一 幅完整的文字信息就显现出来。然后在反复扫描这 16 行直至显示新的信息。采 用这种方式的优点是耗电少,成本低,寿命长,但是也存在显示亮度及内容

24、显 示稳定的问题。根据视觉滞留原理,根据视觉滞留原理,每屏的完整的显示时 间应控制在 20ms 之内,即 50Hz,人眼看上去才不会觉得闪烁。由于要扫描 16 行的点阵,所以每行的时间绝不能超过 20ms16=1.25ms,同时也不是每行的 扫描时间越短越好,因为 LED 的亮度同电流的大小和维持时间的长短有关。 LED 点阵块的单点静态电流一般在 10mA 左右,由于占空比是 1/16,所以单点 的动态电流最大可以达到 160mA。在维持时间恒定的情况下,电流越大(不超 过额定电流),点阵亮度也越亮,而在电流恒定的情况下,需要一段维持时间 来保持亮度。试验表明当输入 LED 的电流为 15m

25、A 时,维持时间至少需要 1ms,否则 LED 呈微亮状态。由于设计时设置 89C52 单片机的时钟频率为 12MHz,而每次传送移行的字模数据有 64 位,经计算传输所需的时间小于 1ms,这样就能充分利用列驱动 74HC595 的锁存功能,即在它接收下一行待显 示的数据,还没有锁存新数据的这段时间来显示本行的内容,这样就不需要额 外加延时来增加显示屏的亮度。采用这个方法就不要再增加 LED 的列驱动器件, 单 片 机 片 机 LED 显示点阵 驱 动 器 从而使整个硬件结构更简化,成本降低。 (二)驱动所用芯片 由于显示屏行的组成是多个模块并联而成的,因而行驱动的功率要求比较 大,而且我们

26、进行行扫描时需要所选行为低,故加反相驱动器 ULN2803 来满足 要求。 列信号的处理列信号的处理主要由 2 片 8 位带锁存的串入并出移位寄存器 74HC595 来完成。从单片机 IO 口串行输出的 64 位点阵数据随着移位时钟的作 用逐位移动到对应位置,在接收到锁存信号后,将数据并行输出至 LED 的列线, 最后在行驱动信号作用下点亮一行 LED 象素。 (三)所选方案论述 采用串行传输的方法,控制电路可以只用一根信号线,将列数据一位一位 传往驱动器,在硬件方面无疑是十分经济的。但是,串行传输过程较长,数据 按顺序一位一位地输出给驱动器,只有当一行的各列数据都已传输到位之后, 这一行的各

27、列才能并行地进行显示。这样,对于一行的显示过程就可以分解成 列数据准备(传输)和列数据显示两个部分。对于串行传输方式来说,列数据 准备时间可能相当长,在行扫描周期确定的情况下,留给行显示的时间就太少 了,以至影响到 LED 的亮度。 解决串行传输中列数据准备和列数据显示的时间矛盾问题,可以采用重叠处 理的方法。即在显示本行各列数据的同时,传送下一行的列数据。为了达到重 叠处理的目的,列数据的显示就需要具有锁存功能。经过上述分析,可以归纳 出驱动器电路应具备的主要功能。对于列数据准备来说,它应能实现串入并出 的移位功能;对于列数据显示来说,应具有并行锁存的功能。这样,本行已准 备好的数据打入并行

28、锁存器进行显示时,串并移位寄存器就可以准备下一行的 列数据,而不会影响本行的显示。故而我选用 74HC595 作为驱动芯片。 驱动电路由集成电路 74HC595 构成。它具有一个 8 位串入并出的移位寄存 器和一个 8 位输出锁存器的结构,而且移位寄存器和输出锁存器的控制是各自 独立的,可以实现在显示本行列数据的同时,传送下一行的列数据,即达到重 叠处理的目的。 (四)74HC595 的引脚接线 74HC595 的外形内部结构如图 4-2-1 所示,电路连线如图 4-2-2 所示。它 的输入侧有 8 个串行移位寄存器,每个移位寄存器的输出都连接一个输出锁存 器。引脚 SI 是串行数据的输入端。

29、引脚 SCK 是移位寄存器的移位时钟脉冲,在 其上升沿发生移位,并将 SI 的下一个数据打入最低位。移位后的各位信号出现 在各移位寄存器的输出端,也就是输出锁存器的输入端。RCK 是输出锁存器的 打入信号,其上升沿将移位寄存器的输出打入输出锁存器。引脚 G 是输出三态 门的开放信号,只有当其为低时锁存器的输出才开放,否则为高组态。SCLR 信 号是移位寄存器清零输入端,当其为低时移位寄存器的输出全部为零。由于 SCK 和 RCK 两个信号是互相独立的,所以能够做到输入串行移位与输出锁存互 不干扰。芯片的输出端为 QAQH,最高位 QH 可作为多片 74HC595 级联应用时, 向上一级的级联输

30、出。但因为 QH 受输出锁存器的打入控制,所以还从输出锁存 器前引出 QH,作为与移位寄存器完全同步的级联输出。 图 4-2-1 74HC595 的引脚 图 4-2-2 74HC595 在电路中的连线 第三节 单片机系统及外围电路 单片机采用 AT89C52,采用频率晶振 12MHZ。单片机的端口与驱动器相连, 用来显示数据。P0 口和 P2 口与行驱动器相连,送出行选信号;P3.0 口则用来 发送控制信号。P3.1 口接时钟,P1.6 接存储器锁存时钟,P1.7 口为输出使能 (74HC595 在使用时移位寄存器清零端始终接高电平)。 第五章 软件设计 第一节 显示驱动程序 显示驱动程序在进

31、入中断后首先要对定时器 T0 重新赋初值,以保证显示屏 刷新率的稳定,1/8 扫描显示屏的刷新率(帧频)计算公式如下: 刷频率(帧频)=1/8T0 溢出率=1/8f/12(65536-t) 其中 f 位晶振频率,t 为定时器 T0 初值(工作在 8 位定时器模式) 。 然后显示驱动程序查询当前燃亮的行号,从显示缓存区内读取下一行的显 示数据,并通过端口发送给移位寄存器。为消除在切换行显示数据的时候产生 拖尾现象,驱动程序先要关闭显示屏,即消隐,等显示数据打入输出锁存器并 锁存,然后再输出新的行号,重新打开显示。图 5-1-1 为显示驱动程序(显示 屏扫描函数)流程图。 图 5-1-1 驱动程序

32、流程图 定时器赋初值 读取行号并增加 1 送新行显示数据 消 隐 切换显示数据 发送新行号,打开显示 退出中断 进入中断 第二节 系统主程序 本文设计的系统软件能使系统在目测条件下 LED 显示屏各点亮度均匀、充 足,可显示图形和文字,显示图形和文字应稳定、清晰无串扰。图形或文字显 示有静止、移入移出等显示方式。 系统主程序开始以后,首先是对系统环境初始化,包括设置串口、定时器、 中断和端口;然后以“卷帘出”效果显示图形,停留约 3s;接着向左滚动显示 “祝您旅途愉快!”这 7 个汉字及一个标点,然后以“卷帘入”效果隐去图形。 由于单片机没有停机指令,所以可以设置系统程序不断的循环执行上述显示

33、效 果。 单元显示屏可以接收来自控制器(主控制电路板)或上一级显示单元模块 传输下来的数据信息和命令信息,并可将这些数据信息和命令信息不经任何变 化地再传送到下一级显示模块单元中,因此显示板可扩展至更多的显示单元, 用于显示更多的显示内容。图 3-2 是系统主程序流程图。 第六章 Proteus 软件仿真 第一节 Proteus 软件简介 Proteus 软件是英国 Labcenter electronics 公司出版的 EDA 工具软件。 它不仅具有其它 EDA 工具软件的仿真功能,还能仿真单片机及外围器件。它 是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但 已受到单片机

34、爱好者、从事单片机教学的教师、致力于单片机开发应用的科 技工作者的青睐。 Proteus 是世界上著名的 EDA 工具(仿真软件),从原理 图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB 设计, 真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、 PCB 设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持 8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086 和 MSP430 等,在编译方面,它也支持 IAR、Keil 和 MPLAB 等多种编译器。 使用 Proteus 软件进行单片机 系统仿真设计,

35、是虚拟仿真技术 和计算 机多媒体技术相结合的综合运用,有利于培养学生的电路设计能力及仿真软 件的操作能力;在 单片机课程设计 和全国大学生电子设计竞赛中,我们使用 Proteus 开发环境对学生进行培训,在不需要硬件投入的条件下,学生普遍 反映,对单片机的学习比单纯学习书本知识更容易接受,更容易提高。实践 证明,在使用 Proteus 进行系统仿真开发成功之后再进行实际制作,能极 大提高单片机系统设计效率。因此, Proteus 有较高的推广利用价值。 第二节 proteus 仿真过程 图 6-2-1 仿真过程 原理图的绘制 程序编写和编译 装载 HEX 代码调试 得到仿真效果 致 谢 随着这

36、篇本科毕业论文的最后落笔,四年的读书生活在这个季节即将划 上一个句号,而对于我的人生却只是一个逗号,我将面对又一次征程的开始。 回忆这四年生活的点点滴滴,从入学时对大学生活的无限憧憬到课堂上对各位 老师学术学识的深沉沉湎,从奔波于教室图书馆的来去匆匆到业余生活的五彩 缤纷,一切中的一切都是历历在目,让人倍感留恋,倍感珍惜。 四年贵阳学院的学习生活注定将成为我人生中的一段重要旅程。四年来, 我的师长、我的领导、我的同学给予我的关心和帮助,使我终身受益,我真心 地感谢他们。 在本文的撰写过程中,张涛老师作为我的指导老师,他治学严谨,学识渊 博,视野广阔,为我营造了一种良好的学术氛围。置身其间,耳濡

37、目染,潜移 默化,使我不仅接受了全新的思想观念,树立了明确的学术目标,领会了基本 的思考方式,掌握了通用的学习方法,而且还明白了许多待人接物与为人处世 的道理。其严以律己、宽以待人的崇高风范,朴实无华、平易近人的人格魅力, 与无微不至、感人至深的人文关怀,令人如沐春风,倍感温馨。正是由于他在 百忙之中多次审阅全文,对细节进行修改,并为本文的撰写提供了许多中肯而 且宝贵的意见,本文才得以成型。 在此特向张涛老师致以衷心的谢意!向他无可挑剔的敬业精神、严谨认真 的治学态度、深厚的专业修养和平易近人的待人方式表示深深的敬意!同时, 我要感谢我的爸爸妈妈,养育之恩,无以回报,你们永远健康快乐是我最大的

38、 心愿。在论文即将完成之际,我的心情无法平静,从开始进入课题到论文的顺 利完成,有多少可敬的师长、同学、朋友给了我无言的帮助,在这里请接受我 诚挚的谢意!还有要感谢学院为我提供良好的做毕业设计的环境。最后再一次 感谢所有在毕业设计中曾经帮助过我的良师益友和同学。谢谢!谢谢你们! 参考文献 1 谭浩强.C 程序设计.第三版.北京:清华大学出版社,2005 2 童诗白.模拟电子技术基础.第三版.北京:高等教育出版社,2000 3 闫石.数字电子技术基础.第三版.北京:高等教育出版社,1989 4 何立民.单片机应用技术选编.北京:北京航空航天大学出版社,2000 5 余发山,王福忠.单片机原理及应

39、用技术.徐州:中国矿大出版社, 2004 6 胡汉才.单片机原理及其接口技术.第二版. 北京: 清华大学出版社, 2004 7 江泽佳.电路原理.第三版.北京:高等教育出版社,1992 8 张新成,杨志邦.c 语言程序设计.郑州:河南科学技术出版社,2009 附 录 附 1 源程序代码 #include #define uchar unsigned char #define uint unsigned int sbit outen = P17; sbit latch = P16; /zero uchar code zero122= 0 x00,0 x00,0 x00,0 x00,0 x00,0

40、 x00,0 x00,0 x00, 0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00, 0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00 ; /祝 uchar code zhu122= 0 x40,0 x40,0 x27,0 xE0,0 xF4,0 x40,0 x14,0 x40, 0 x24,0 x40,0 x67,0 xC0,0 xB2,0 x80,0 x22,0 x80, 0 x22,0 xA0,0 x24,0 xA0,0 x38,0 xE0,0 x00,0 x00 ; /您 uchar code

41、 nin122= 0 x24,0 x00,0 x27,0 xE0,0 x48,0 x40,0 xD5,0 x80, 0 x49,0 x40,0 x51,0 x20,0 x47,0 x00,0 x08,0 x00, 0 x54,0 xC0,0 x50,0 xA0,0 x9F,0 x80,0 x00,0 x00 ; /旅 uchar code lui122= 0 x42,0 x00,0 x22,0 x00,0 xFB,0 xE0,0 x44,0 x00, 0 x70,0 xC0,0 x57,0 x00,0 x55,0 x40,0 x55,0 x80, 0 x54,0 x80,0 x95,0 x40

42、,0 xB6,0 x20,0 x00,0 x00, ; /途 uchar code tu122= 0 x82,0 x00,0 x45,0 x00,0 x48,0 x80,0 x17,0 x60, 0 xC2,0 x00,0 x4F,0 xC0,0 x42,0 x00,0 x4A,0 x80, 0 x56,0 x40,0 xA0,0 x00,0 x9F,0 xE0,0 x00,0 x00 ; /愉 uchar code yu122= 0 x42,0 x00,0 x45,0 x00,0 x68,0 x80,0 xD7,0 x60, 0 xC0,0 x00,0 x4E,0 xA0,0 x4A,0 x

43、A0,0 x4E,0 xA0, 0 x4A,0 xA0,0 x4E,0 xA0,0 x4A,0 x60,0 x00,0 x00 ; /快 uchar code kuai122= 0 x42,0 x00,0 x42,0 x00,0 x4F,0 xC0,0 xE2,0 x40, 0 xD2,0 x40,0 x42,0 x40,0 x5F,0 xE0,0 x42,0 x00, 0 x45,0 x00,0 x48,0 x80,0 x70,0 x60,0 x00,0 x00 ; /! uchar code well122= 0 x00,0 x00,0 x30,0 x00,0 x78,0 x00,0 x7

44、8,0 x00, 0 x78,0 x00,0 x30,0 x00,0 x30,0 x00,0 x00,0 x00, 0 x30,0 x00,0 x30,0 x00,0 x00,0 x00,0 x00,0 x00 ; uchar idata buffer168; uchar *pc16; void display(uint);/显示 void delay(uint); /延时 void move(void); void carry(); void t_state(void); void clean(void); /清空显存 void slogan(uchar m); void LeftMove(

45、uchar *p); void UpMove(void); void WordUpMove(void); void LoadNoSmoking(uchar *p); /*/ /*主程序开始*/ /*/ void main(void) uchar i; TMOD=0 x11; SCON=0 x00; EA=1; ES=0; while(1) clean(); display(20); for(i=0;i1;i+) /祝您旅途愉快! pc0=pc1=pc2=pc3= pc4=pc5= pc6=pc7= slogan(8); /slogan(8); pc0= for(i=0;i5;i+) sloga

46、n(1); void clean(void) uchar i,j; for(i=0;i16;i+) for(j=0;j8;j+) bufferij=0 x00; void slogan(uchar m) uchar i; for(i=0;im;i+) LeftMove(pci); void delay(uint t) int i,j; for(i=0;it;i+) for(j=0;j10;j+); void display(uint t) uint i; uchar j,k,a; uchar *disp; for(i=0;it;i+) a=0 x80; latch=0; outen=1; P0

47、=0; P2=0; for(j=0;j8;j+) disp=bufferj+6; for(k=0;k1; outen=1; P0=0; a=0 x80; for(j=0;j8;j+) disp=bufferj+8+6; for(k=0;k1; outen=1; void move(void) uchar *m,i,j; for(i=0;i16;i+) for(j=0;j7;j+) m= *m=*m7; bufferi7=bufferi71; /*= void carry() uchar i,j,*car=wc; for(i=0;i16;i+) /16 行 for(j=0;j4;j+) /4 b

48、yte bufferij+3=*car+; */ void LeftMove(uchar *p) uchar i; buffer07=buffer17=buffer147=buffer157=0 x00; for(i=0;i12;i+) bufferi+27=*(p+2*i); /装载高 8 位 for(i=0;i8;i+) /左移 8 次,并显示 move(); display(1); for(i=0;i12;i+) bufferi+27=*(p+1+2*i);/装载低 4 位 for(i=0;i4;i+) /左移 4 次,并显示 move(); display(1); void LoadNoSmoking(uchar *p) uchar i; for(i=0;i16;i+) bufferi7=*(p+2*i);/装载高 8 位 for(i=0;i8;i+) /左移 8 次,并显示 move(); display(1); for(i=0;i16;i+

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论