课程设计要求
通过对硬件编程,将图形、文字、动画存储在E2PROM中,通过计数器控制图形、文字、动画的地址,在利用显示矩阵显示出来。系统所显示的内容可反复循环,直至手动或加压清零,便可回到初始地址。
1)设计脉冲产生电路、图形控制电路和存储电路;
2)用发光二极管点阵(8×8)作为显示电路,显示内容的动面感要强。
3)图形能连续循环,图形大于64幅,图形显示间隔在20ms~2s范围内连续可调;
4)能手动和加压清零功能,有自动选画功能;
5)完成电路全部设计后,通过实验箱验证设计课题的正确性。
各个部分原理分析
总设计流程图。
脉冲发生电路,由555定时器
555定时器-双稳态触发
高电平:t_p1≈0.7(R_1+R_2 )C
低电平:t_P2≈0.7R_1 C
周期:T=0.7(2R_1+R_2 )C
占空比:q=(R_1+R_2)/(2R_1+R_2 )
设计思想
在低脉冲,通过计数器,将脉冲转换进制输出,然后控制EEPROM地址输出,但由于地址对应输出的只有8位,而彩灯有64个,明显不行,与是,想到了人类的视觉暂留,我门在低脉冲产生的数据,高出3位,然后让高脉冲控制低3位,在视觉暂留情况下,迅速输出8个EEPROM的数据(如果脉冲不够高时,就看到是一串亮点),然后用74ls138译码器与对应输出。例:低脉冲数据为000110(对应A8A7A6A5A4A3)也就是高六位对应的地址,然后就是低三位快速扫描,在高脉冲的情况下,迅速产生0-7的二进制数,使地址在000110 000到—到000110 111不断显示,于是短时间输出64个信号,但是为了不让其他列的影响,于是想到74ls138译码器,在每次显示时,只有一列是导通的,于是64个led可以独立显示了。
计数原理
两个74ls161设计64进制是最基础的。(由于新手的原因,打字慢,博客文档还不太会,这里没有详细描述)
这里通过两个74ls161设计64进制,同步时钟,异步复位法,同时用同步置位法选画(这时当LD为低电平,要改脉冲,且要触发一次上升沿:如原理图的单刀双掷开关)
显示模块
(1)显示模块,是用目前模电最简单的74ls48,但只能显示小于10的,超过就会乱码,所以,设计成8进制。
(2)注意,按键为了保险起见,都要上拉电阻。
(3)彩灯管脚(彩灯管脚不是顺次排列的)
LED数码管对应的74LS48都可以在网上找,就不细数。
编程方法
如果学过单片机的用keil编写16进制(HEX)文件最好了。上面是用Proteus画的电路,可以现成仿真。当然这里也有专门16进制转换软件。(包括取模软件)