单片机课程设计报告-点阵显示汉字.doc
目录
摘要………………3
一、设计任务及要求……………4
二、总体设计方案………………4
三、元器件………………………5
四、硬件电路设计………………6
1、单片机最小系统模块……………………6
2、行信号驱动模块…………7
3、列信号驱动模块…………7
4、16*16LED点阵模块………8
五、程序设计……………………9
1、程序流程图………………9
2、程序清单…………………9
六、调试与仿真…………………13
七、实物图………………………14
八、总结体会……………………14
参考文献…………15
摘要
本系统是基于AT89S52单片机设计的,由2片74HC138八位地址锁存驱动LED的行信号,由2片74HC595八位串入并出驱动LED的列信号。16*16LED的点阵由4块8*8的SZ41288K点阵拼接成。在本次的设计中主要是思路是通过定时器定时行扫描时间为1ms,这样人眼由于延时看到的显示就是连续的。在进行扫描的时候,是先送每行的列信号,然后选中当前需要扫描的行。每完成一次行的信号扫描,就跳出定时中断,定时一秒后又重复下一行的扫描。当一个字的16行都扫描完后,延时一段时间,然后对下一个字进行上述的重复扫描。
关键词:16*16LED点阵;AT89S52;74HC138驱动行;74HC595驱动列
设计任务及要求
1、题目9:16×16LED点阵显示汉字
2、设计要求:通过单片机利用16×16LED点阵循环显示汉字“我爱单片机”。
3、方案选择:
采用32个IO口分为两组16个IO口,分别驱动行和列。
使用锁存器驱动行信号,串入并出移位寄存器驱动列信号。
方案1)需要注意P0口外接上拉电阻,并且全部IO都占用,不能使LED电路模块化。方案2)能够使IO口的使用减少,只需要8个IO口,可以实现LED部分的模块化。经过分析,方案2)更加合理,所以本次课程设计采用方案2)。
总体设计方案
用2片74HC138控制行信号,在对进行片选控制的时候保证,每当第一片74HC138的Y0-Y7扫描完毕,进入下一片74HC138进行Y0-Y7的扫描。用2片74HC595采用级联的方式,保证一次输出16列的字码信号。整体通过定时器定时1ms产生中断,每1ms就扫描一行,当一个字16行扫描完毕后,重复扫描一段时间,用于延时。
元器件
1、所用元器件包括:16*16LED点阵屏、74HC595、74HC138、三极管、开关、电阻、导线等。
2、74HC595
74HC595是具有8位移位寄存器和一个存储器,三态输出功能。移位寄存器和存储器是分别的时钟。数据在SCHcp的上升沿输入,在STcp的上升沿进入存储寄存器。如果两个时钟连在一起,则移位寄存器总是比存储寄存器早一个脉冲,电路中,将两个时钟分开控制,目的是先移好位,再存储数据,这样在移位的过程中,可保持输出的数据。移位寄存器有一个串行移位输入(Ds),和一个串行输出(Q7‘),电路将其接入下一个IC的输入(Ds)组成16位移位存储。一个异步的低电平复位/MR,电路中不使用复位信号,将此脚直接接入电源VCC)。存储寄存器有一个并行8位的,具备三态的总线输出,当使能OE时(为低电平),存储寄存器的数据输出到总线,电路中直接将此脚接GND,做直接输出。
3、74HC138
四、硬件电路设计
1、单片机最小系统模块
2、行信号驱动模块
EN用于74138的行信号的总开关信号。D用于控制两片138的工作顺序,当P2口为XXXX0000至XXXX0111时保证选中的第1片74138,当P2口输出XXXX1000-XXXX1111时保证的是选择的第2片74138。第1片控制1-8行,第2片控制9-16行。
74138的输出全部接三极管的开关电路,当输出为低电平的时候才能使三极管导通,所选的行才能选中。
3、列信号驱动模块
每次采用串行输入,当74HC595有上跳时钟信号时,串入一位。当移入16位数据时,就开通数据输出驱动列