网站公告列表     本站全新改版正在建设中!  [admin  2007年10月22日]        
加入收藏
设为首页
联系站长
您现在的位置: 东方电子科技有限公司 >> 技术文章 >> HT单片机更多 >> 文章正文
  [组图]HT48 & HT46 键盘扫描程序           ★★★ 【字体:
HT48 & HT46 键盘扫描程序
HT48 & HT46 键盘扫描程序
作者:佚名    文章来源:本站原创    点击数:    更新时间:2007-10-16    

HT48 & HT46 键盘扫描程序

HT48 & HT46 键盘扫描程序

文件编码:HA0011s

简介:

这是一个4×4 的键盘阵列,总共有16 个键,如图所示每个键都有一个16 进制的代码。键盘扫

描程序扫描键盘阵列确认是哪一个键被按下了,确定键后用LED 显示它的2 进制代码。如图,这有

4 LED,表示的值是从0000H 1111H。 在扫描过程中,如果同时有两个键被按下的话,那么

只有第一个被扫描到的键会被检测到并显示。使用这种方法的编码键盘可以把每一个值指定给键

电路设计:

  

PA0~PA3 设置为输出口,PA4~PA7 设置为输入口,这样组成了一个4×4 的阵列,程序扫描哪一

个键被按下,查表确定它的值。PB0~PB3 定义为输出口,它输出4 位二进制码,16 个值每个值对应

一个键。

扫描过程:

以第一行第一列为例。先向PA 口输出0FEH,既扫描第一行。如果第一行有键按下,则读入的

PA 口键值的高位不会为F;如果PA 口高位不为F,则第一行有键按下,转入列扫描。如果第一列

有键按下,则PA.4 0,否则为1。这样可以确定按下键的行和列,确定其编码。

程序清单:

#include ht48r10a-1.inc

----------------------------------------------------------data

data .section ‘datat’ ;数据段

temp db ? ;暂时数据寄存器

temp2 db ? ;用于保存键盘扫描码以检测列值

disp db ? ;键值显示寄存器

count1 db ? ;延时计数指针

mask db ? ;屏蔽寄存器

matrix db ? ;键盘阵列寄存器r

----------------------------------------------------------code

HT48 & HT46 键盘扫描程序

code .section at 0 ‘code’ ;程序段

org 00h

[1] [2] [3] [4] 下一页  

文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
    没有相关文章
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    Copyright © 2005-2008 东方电子科技. All Rights Reserved. 本网站由东方电子科技制作与维护 地址:东莞市塘厦镇林村环村路190号二三楼整层(林村小学对面) 电话:076987282024 手机:13712641904 Email: sanplug@126.com 粤ICP备06051393号 站长:admin