![]() |
|
||||||||||||||
| | 网站首页 | 关于我们 | 单片机培训 | 产品展示 | 产品开发 | 单片机解密 | 技术文章 | 下载中心 | 留言薄 | 技术论坛 | 联系我们 | | ||
|
||
|
|||||
| 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
|
|||||
| 文章录入:admin 责任编辑:admin | |||||
| 【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 | |||||
| 最新热点 | 最新推荐 | 相关文章 | ||
| 没有相关文章 |
| 网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!) |
| | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 网站公告 | | |||
|