74922应用于键盘控制及六位数显示程序

发布者:jingwen最新更新时间:2018-01-11 来源: eefocus关键字:键盘控制  六位数显示 手机看文章 扫描二维码
随时随地手机看文章

74922应用于键盘控制及六位数显示程序

     org    00h               ;清除显示器存储器30H~35H
start:  MOV   r4,#06h

        MOV   r0,#30h
clear:  MOV   @r0,#00h
        inc  r0
        djnz r4,clear
l1:     jb   p1.4,keyin        ;检测74138的DA脚=1? DA=1表示有键按下
        call disp              ;调用显示子程序
        jmp  l1
keyin:  jb   p1.4,$            ;按键放开否?
        MOV   a,p1              ;是则读入74922的按键值
        anl  a,#0fh            ;取低4位(74922 A~D)
        MOV   dptr,#table       ;到table取码
        MOV c a,@a+dptr
        MOV   20h,a             ;暂存入(20H)
        xrl  a,#0ah            ;是否按"*"?是则清除屏幕
        jz   start
        MOV   a,20h
        xrl  a,#0bh            ;是否按"#"?是则清除屏幕
        jz   start
        MOV   a,20h             ;除"*"和"#"其余都为数字键
        xch  a,30h             ;现按键值存入(30H)
        xch  a,31h             ;旧(30H)值存入(31H)
        xch  a,32h             ;旧(31H)值存入(32H)
        xch  a,33h             ;旧(32H)值存入(33H)
        xch  a,34h             ;旧(33H)值存入(34H)
        xch  a,35h             ;旧(34H)值存入(35H)
        call disp              ;调用扫描子程序
        jmp  l1
disp:   MOV   a,35h             ;(35H)显示器D6地址
        add  a,#50h            ;D6数据值加上74138扫描值
        MOV   p0,A              ;显示D6
        call delay             ;扫描延时
        MOV   a,33h             ;(33h)显示器D4地址
        add  a,#30h            ;显示数据值加上74138扫描值
        MOV   p0,a              ;显示D4
        call delay             ;扫描延时
        MOV   a,32h             ;(32H)显示器D3地址
        add  a,#20h            ;D2数据值加上74138扫描值
        MOV   p0,a              ;显示D2
        call  delay             ;扫描延时
        MOV   a,30h             ;(30H)显示器D1扫描值
        add  a,#00h            ;D1数据值加上74138扫描值
        MOV   p0,a              ;显示D1
        call delay             ;扫描延时
        ret
delay:  MOV   r7,#06            ;显示器扫描时间3毫秒
d1:     MOV   r6,#248
        djnz r6,$
        djnz r7,D1
        ret
        org  300h
table:  db   01h,01h,03h,0ffh  ;键盘码
        db   04h,05h,06h,0ffh
        db   07h,08h,09h,0ffh
        db   0ah,00h,0bh,0ffh
        end


关键字:键盘控制  六位数显示 引用地址:74922应用于键盘控制及六位数显示程序

上一篇:单片机六首歌曲的音乐门铃程序
下一篇:TIMER0在MODE2的计数工作方式程序

推荐阅读最新更新时间:2024-03-16 15:52

基于Avalon总线的键盘和VGA控制接口设计
引言   SOPC(System On Programmable Chip,可编程的片上系统)是Altera公司提出的一种灵活、高效的SOC解决方案。它将处理器、存储器、I/O口等系统设计 需要的功能模块集成到一个可编程器件上,构成一个可编程的片上系统。SOPC是PLD和ASIC技术融合的结果,代表了半导体产业未来的发展方向。   Altera公司的Nios II核是目前最具代表性的软核嵌入式系统处理器,本文描述的SOPC系统以Altera NiosII为基础,利用SOPC Builder对Nios II及其外围系统进行构建,使该嵌入式系统在硬件结构、功能特点、资源占用等方面全面满足系统设计的需求。 设计课题的确立
[嵌入式]
基于STC单片机用键盘控制二极管亮灭的问题分析
#include reg52.h sbit key1=P3^4; sbit p10=P1^0; void main() { while(1) { p10=1; while(key1!=0); p10=0; } } 我的目的是用键盘控制一个 二极管 的发光,按下键盘上的键后二极管发光,放开后二极管熄灭。用 while(key1!=0); 进行判断的话,程序工作正常:开始二极管熄灭,按下键盘上的对应按键后二极管被点亮。可是如果用 if(key1!=0); 进行判断的话,程序就会异常:二极管开始时候就亮了,按键盘上的键也没有任何反应。请问这是怎么回事呢?以前写一些小程序时候也是这
[单片机]
工业控制计算机红外线遥控键盘的设计
  0. 引言   对于工业控制微机系统来说输入设备键盘几乎是必不可少的。在按键数目较少时,一般直接利用按键控制接口线的高低电平来表示,因此需要相应的接口支持,由于单片工业控制微机系统接口线数目有限,为了减少占用接口线常常采用一键定义多功能,但这又增加了软件的复杂性;在按键数目较多时,则大多采用动态扫描的方式构成键盘矩阵,这种键盘虽然结构原理简单,驱动程序易于设计,但是在具体实现时往往需要花很多的时间去设计印刷电路板、考虑面板布局,而且在硬件资源比较紧张时,还要考虑扩充I/ O 口,从而使得电路变得越来越复杂。    2. 系统简介   本文介绍一种利用红外线发射装置作为工业控制计算机输入键盘的接口原理和实现方法,该接口可以
[工业控制]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved