基于单片机的点阵汉字显示(附C语言程序).. 下载本文

湖南科技大学课程设计

第一章 设计要求

1.1 系统设计要求

1. 以STC89C51系列的单片机为核心器件;组成一个点阵式汉字显示屏。 2. 显示屏由一块16x16 LED点阵显示器组成;可以依次显示13个汉字。 3. 通过编程能够随时对汉字进行修改、调整。

第二章 方案论证

2.1 方案论证

以设计方案为指导思想选择合适的器件来实现这一思想,选择器件时要从功能和电气特性两方面来选择和论证。经过对比选择选定STC89C51单片机为核心控制器件,由74LS138作为字位电路器件,三极管2N5551和2N5401为驱动电路器件。论文列出了详细的器件参数和在系统中的连接使用方法。

第三章 系统硬件电路设计

3.1 AT89S51芯片的介绍

(1)系统单片机选型

单片机选择在整个系统中有着至关重要的作用,这里要选择一款低成本、高运算速度、内存大等特点的单片机,经过不断的查找资料,最后我们选择了STC89C51作为主控芯片。STC89C51是一个低功耗,高性能CMOS 8位单片机,片内含4k Bytes ISP(In-system programmable)的可反复擦写1000次以上的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的STC89C51可为许多嵌入式控制应用系统提供高性价比的解决方案。STC89C51芯片具有以下特性: ①指令与8051完全兼容; ②8KB片内Flash程序存储器; ③时钟频率为0~33MHz;

- 5 -

湖南科技大学课程设计

④128字节片内随机读写存储器(RAM); ⑤32个可编程输入/输出引脚; ⑥2个16位定时/计数器;

⑦2个外部中断,1个串口中断,3个定时器中断

AT89S51有32个可编程IO,1个VCC接口,1个GND接口,1个复位引脚接口,还有2个晶振接口。

(2)STC89C51引脚功能介绍 1) VCC:供电电压。 2) GND:接地。

3) P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口

的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。

4) P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出

4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。

5) P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4

个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

6) P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电

流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。 7) P3口也可作为AT89C51的一些特殊功能口,如下表所示: 8) 口管脚 备选功能

- 6 -

湖南科技大学课程设计

9) P3.0 RXD(串行输入口) 10) P3.1 TXD(串行输出口) 11) P3.2 /INT0(外部中断0) 12) P3.3 /INT1(外部中断1) 13) P3.4 T0(记时器0外部输入) 14) P3.5 T1(记时器1外部输入) 15) P3.6 /WR(外部数据存储器写选通) 16) P3.7 /RD(外部数据存储器读选通)

17) P3口同时为闪烁编程和编程校验接收一些控制信号。

18) RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。 19) ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位

字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。

20) /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周

期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。

21) /EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不

管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。

22) XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 23) XTAL2:来自反向振荡器的输出。

(3)74LS595的总体特点和工作原理

- 7 -

湖南科技大学课程设计

1)总体特点:74LS595是8位串行输入转并行输出移位寄存器,三态输出功能,具有数据存储寄存器,移位寄存器和存储器是分别的时钟。数据在SHcp的上升沿输入,在STcp的上升沿进入的存储寄存器中去。如果两个时钟连在一起,则移位寄存器总是比存储寄存器早一个脉冲。在移位的过程中,输出端的数据可以保持不变。这在串行速度慢的场合很有用处,数码管没有闪烁感。 2)工作原理

每当SHcp上升沿到来时, Ds引脚当前电平值在移位寄存器中左移一位,在下一个

上升沿到来时移位寄存器中的所有位都会向左移一位,同时Q7'也会串行输出移位寄存器中高位的值,这样连续进行8次,就可以把数组中每一个数(8位的数)送到移位寄存器;然后当STcp上升沿到来时,移位寄存器的值将会被锁存到锁存器里,并从Q1~7引脚输出。74LS595的主要优点是具有数据存储寄存器,在移位的过程中,输出端的数据可以保持不变。这在串行速度慢的场合很有用处,点阵没有闪烁感。

74HC595在5V供电的时候能够达到30MHz的时钟速度,每个并行输出端口均能承受20mA的灌电流和拉电流。这个特点保证了不用增加额外的扩流电路即可轻松的驱动LED。它输入端允许500nS的上升(下降)时间,对严重畸形的时钟脉冲仍能检测。这样就可以容纳较大的传输线对地电容,使本设计的抗干扰能力增强。

3.2 LED点阵介绍

(1)LED点阵

8×8单色点阵共需要64个发光二极管组成,且每个二极管是放置在行线与列线的叉点上。本设计是一种实用的汉字显示屏的制作,制作的是双色点阵。考虑到元器件的易购性,没有使用8×8的点阵发光二极管模块,而是直接使用了256个高亮度发光管,组成了16行16 列的发光点阵。实际使用时可以根据这个原理自行扩充显示的字数。对比下面的8×8单色点阵和8×8双色点阵可以看出,其实8×8双色点阵就是两块8×8单色点阵组合在一起的。要实现用两种颜色显示,只要在电路的设计中适当的连线就可以了。8×8单色点阵 LED 结构如下图3.1所示。

- 8 -