开始行线输出全低Y列线输入全高N调用显示函数2次去抖列线输入全高YN确定按键列号扫描完各行YN输出键盘行扫描码Y列线输入全高N计算按键键值列线输入全高YN调用显示函数返回 键盘扫描子程序流程图
20
实验5 LED点阵显示
一、实验目的 二、实验仪器 PC机,HNIST型单片机实验系统。 三、实验原理 1、系统方案 以单片机为核心,扩展74138芯片驱动LED点阵的行线,74595芯片控制LED点阵的列线,实现在LED点阵上循环显示数字0~9。 2、LED点阵模块 LED点阵由行线驱动阴极,列线驱动阳极。其电路结构如下所示。 Dh1VCC7R7_11K45通过本次实验,掌握LED点阵显示的应用。 DgDfDeDdDcDbDa1Y2C7_347uFD7_1LEDC7_210434U7_212345678EG23H5FCSJN-138887B1D64A16151413121110987Db1Dd64Da5678 21 3、行线驱动模块 S7_174LS138芯片是3 线-8 线译码器。当一个选通端(G1)为高电平,另两个选POWER+5V通端(/G2A和/G2B)为低电平时,可将地址端(A、B、C)的二进制编码在一个对KEYPOWER+5VVCC7R7应的输出端以低电平译出,Y0-Y7为输出端。 J7_1123CON3SERRCKSCKGND1KC7_1104C7_2104C7_347uFVCC71161AVCC21512BY03142De3CY1 4133G2AY2CON35124Dg4、列线驱动模块 G2BY36115VCC7G1Y474LS595芯片是串入并出Qa~Qh为八位并行输出端,可以直接控制878位锁存器。1062Y7Y5897点阵LED的列线。SER为串行数据输入端。SCK上升沿时片内寄存器的数据移位。GNDY63Qa→Qb→Qc→?→Qh。RCK上升沿时,片内寄存器数据送到输出端。 74LS138U7_3VCC7DhDb116QbVCCDc215Da5QcQaDd314SERQdSERDe413DfQeGDf512RCKQfRCKDg611SCKDcQgSCKDh710QhSCLRVCC789GNDQ'h74LS595J7_2U7_1U7_212345678EG23H5FCSJN-138 5、软件算法 22 开始初始化定时器启动定时等待主程序流程图
定时器中断子程序流程图见下页。
四、实验数据记录
源程序
五、问题与讨论
若显示的数字出现左右倒相,上下倒位,请分析原因,给出解决方法。 23
开始恢复计数初值调用行驱动函数调用列驱动函数行指针增1N扫描完各行Y行指针清零到1秒NY字符指针增1N显示完各字符Y字符指针清零返回定时器中断子程序流程图
24