LED 点阵显示字符一. 题目 LED 点阵显示字符二. 硬件要求利用实验系统提供的实验模块 14 点阵显示。点阵显示模块 MD1216C-R G 的(红色)行输入线接至内部 LED 的阴极端,列输入线接至内部 LED 的阳极端( 若阳极端输入为高电平, 阴极端输入低电平, 则该 LED 点亮)。发光点的分布如图 2-1 所示。图 2-1 利用系统提供的 8279 键盘接收输入控制字改变显示方式。 CS8279 固定接 238H 孔, 16键 0~F 小键盘。三. 技术要求 1. 了解 LED 点阵显示的基本原理和实现方法。 2. 掌握点阵汉字库的编码。知道汉字以何种方式存储在计算机上, 并且学会使用工具提取字模。 3. 了解 8279 的工作方式和基本原理。 4. 掌握 8279 键盘扫描及 8279 的编程技术。四. 设计方案开始设置偏移量及延时变量清除显示设置字符起始地址+ 偏移量行扫描列顺序输出码表 Dec fade==0 改变偏移量值 NY 子程序图 5-2 LED 模块的 CSLED 接 8088 地址的 200H 。 2. 编译原文件,连接并全速运行。由 8279 处小键盘按下 Key 1 欢迎使用 AEDKT598 实验台 Key 2 圣诞快乐 Key 3 新年愉快 Key 4 自左?右逐列显示“各位同学好”五. 程序流程图开始初始化设置扫描频率置空 FIFO RAM 有按键? N 读入键值 Y 查表并将键值显示判断键值 proc1 proc2 proc3 proc4 显示完成后返回并清空 FIFO 无对应键键返回系统流程图 5-1 六. 电路原理图 1. 使用 74LS374 来控制行输入线的电平值。将 74LS374 的某输出置 0, 则对应的 LED 阴极端被置低。如图 6-1 所示,本实验模块使用 74LS27 3 来控制列输入线,并通过 9013 提供电流驱动。将 74LS273 的某输出置 1, 则对应的 LED 阳极端被置高。每次系统重新开启或总清后, 74LS273 输出为全 0, LED 显示被关闭。图 6-1 LED 模块及列扫描电路 2. 本模块使用 1块 MD1216C-RG ( 共阳极) 组成 16× 16 点阵, 以满足汉字显示的要求。为了方便的控制四个单元,使用了一片 74LS139 译码,产生四个地址片选信号: CLKR1= CSLED , CLKR2= CSLED+1 ,用于列控制的两片 74LS273 ; CLKC1= CSLED+2 , CLKC2= CSLED+3 ,用于行控制的两片 74LS374 。在连接的时候只需将外接口 CSLED 接于一个设定好的数值口上, 如 200H , 238H 等,其它依次加一即可,电路框图如图 6-2 。地址译码电路图 6-2 地址译码电路 2. 本次设计除了用到了以上电路外,还使用了 CS8279 键盘, CS8279 已固定接至 H孔, 29 模块中的十个短路套都套 CS8279 侧面。 8279 的逻辑电路框图如 6-3 图 6-3 8279 的工作电路图七. 程序代码 CSLED EQU 200H ;LED 输出端口 CSC1 EQU CSLED ;列 1~8 273 左半屏 CSC2 EQU CSLED+1H ;列 9~16 273 右半屏 CSR1 EQU CSLED+2H ;行 1~8 374 上半屏 CSR2 EQU CSLED+3H ;行 9~16 374 下半屏 Z8279 EQU 239H ; 控口 D8279 EQU 238H ; 数口 smpl EQU 99H ; 扫描频率;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; data segment ; 定义数据段 stay dw ?; 一个字显示停留多长时间 py dw ?; 每个字地址相对基地址的偏移量 py1 dw ? py2 dw ? shift dw ?; 每个字地址相对基地址的偏移量 shift2 dw ? shift3 dw ? shift4 dw ? base dw ?; 每个汉字的地址 key db? data ends stack segment sta dw 50 dup(?) top equ length sta stack ends CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK START: push cs pop ds ;;;;;;;;;;;8279( 按键检测) 主程序 MOV DX,Z8279 MOV AL,0D1H OUT DX,AL ;清 FIF O寄存器 MOV AL,smpl OUT DX,AL WAIIT: MOV DX,Z8279
LED点阵显示字符.doc 来自淘豆网m.daumloan.com转载请标明出处.