新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于51单片机的编码译码显示实验电路设计

基于51单片机的编码译码显示实验电路设计

作者:时间:2011-11-12来源:网络收藏

2. 1 编码信号发生器电路

编码信号由 内部编程控制, 键盘输入 0~ 8从P0. 0~ P0. 7 口送给编码器74LS147, 9 从P2. 0 口送给编码器, 具体编码见表1。

表1 编码信号表
基于51单片机的编码译码显示实验电路设计
编码信号表

2. 2 键盘设计

键盘采用4×3 阵列结构设计, P1. 0~ P1. 3 为键盘扫描高4 位, P1. 4~ P1. 6 为低4 位。设计有 0 ~ 9 、Rst( 复位) 、S er( 顺序) 。列线通过电阻接正电源, 并将行线所接的单片机的I/ O 口作为输出端, 而列线所接的I/ O 口则作为输入。当按键没有按下时, 所有的输出端都是高电平, 代表无键按下。行线输出是低电平,一旦有键按下, 则输入线就会被拉低, 这样, 通过读入输入线的状态就可得知是否有键按下。

2. 3 显示电路

显示电路主要由编码器( 74LS147) 、六反相器( 74AC04) 、译码器( 74LS247) 、七段LED 数码管组成。编码器74LS147 的1~ 5 脚, 10~ 13 脚为编码输入端, 低电平有效, 实验时可用接地作为低电平输入;14, 6, 7, 9 脚为编码输出( 反码) ; 16, 8 脚为电源正负极。

译码器74LS247 的6, 2, 1, 7 脚为译码输入( 高电平有效) ; 9~ 15 为译码输出; 8, 16 脚为电源正负极。六反相器( 74AC04) 主要是解决编码器74HC147 和译码器74LS247 信号匹配问题, 共有6 组输入与输出, 只取其中4 组。七段LED 数码管主要是显示译码器输出状态。

电路主要原理是在74LS147 的 输入011111111~ 111111110, 编码后得到4 位反码, 经74AC04 反相后送到74LS247, 由74LS247 驱动LED数码管, 正确时能显示0~ 9。

3 系统软件设计

软件设计由初始化、键盘扫描、编码程序三部分组成。开始进行初始化, P0、P2 口按复位状态附值输出,LED 无显示。然后4 ! 3 阵列式键盘开始进行扫描, 当判断有键按下时, 延时去键抖动, 判断是否务抖动, 当确定判断是有键按下时, 等待闭合键释放, 保存键值。根据键值调用编码程序, 将表1 对应的编码送到P0, P2口输出, 主程序流程图如图3 所示。

主程序流程图
201012301573194.jpg



关键词: 89C51 编码译码

评论


相关推荐

技术专区

关闭