历史上的今天
返回首页

历史上的今天

今天是:2025年01月11日(星期六)

2018年01月11日 | 74922应用于键盘控制及六位数显示程序

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


推荐阅读

史海拾趣

Adam Tech公司的发展小趣事

Adam Tech公司成立于1987年,总部位于美国新泽西州。创业初期,公司面临着资金短缺、市场竞争激烈等诸多困难。然而,创始人凭借对电子连接器行业的深刻理解和执着追求,带领团队克服重重困难,逐渐在市场上站稳脚跟。公司最初的产品线相对单一,但凭借着高品质和可靠的性能,逐渐赢得了客户的信任。

南晶电子(DGNJDZ)公司的发展小趣事

随着人工智能、物联网等技术的快速发展,南晶电子意识到传统半导体器件已无法满足市场需求。公司决定进行转型升级,向智能穿戴设备、智能家居、汽车电子等领域拓展。通过引进先进技术和设备,加强研发团队建设,南晶电子成功推出了一系列智能化产品,实现了从传统制造业向智能制造的转型。

粤翔(FlyWin)公司的发展小趣事
如DC-DC升压/降压电路,用于在电压异常时调整电压输出,确保关键部件仍能正常工作。
东通电子公司的发展小趣事

东通电子自成立以来,始终将品质和技术创新作为公司发展的核心。在有机薄膜电容器的生产过程中,公司严格把控原材料质量,采用进口优质材料,确保产品的稳定性和可靠性。同时,公司不断投入研发资金,引进先进技术和设备,提升产品的技术含量和附加值。这些举措使得东通电子的有机薄膜电容器在市场上赢得了良好的口碑。

昆泰(CHRONTEL)公司的发展小趣事

进入21世纪后,昆泰的创始人Dr. Gillings不满足于CRO企业的平稳收益和稳定现金流,他开始寻求与药企建立更加紧密的战略合作伙伴关系。为此,昆泰在2000年成立了PharmaBio部门,通过资金、技术和销售团队为客户提供全方位的支持。这一战略转型不仅使昆泰与药企建立了深厚的合作关系,还为其带来了丰厚的回报。

Helium_Systems__Inc.公司的发展小趣事

随着市场竞争的加剧,海曼电子意识到仅凭自身力量难以快速实现跨越式发展。因此,公司开始积极寻求与行业内外的合作伙伴建立战略合作关系。通过技术共享、市场互补等方式,海曼电子不仅提升了自身的竞争力,还成功进入了多个新的市场领域。此外,公司还通过并购具有核心技术和市场资源的中小企业,进一步巩固了其在电子行业的地位。

问答坊 | AI 解惑

C51教程完整版

这是在其他地方下到的东西,感觉很不错,拿过来和大家分享分享…

查看全部问答>

自动增益放大器

本帖最后由 paulhyde 于 2014-9-15 03:00 编辑 自动增益放大器  …

查看全部问答>

flash 驱动的SECTOR, block的size,BlockNum配置问题

最近这个把我搞得头痛死了,一直没搞定。 用的是nor flash ,J3 32M 换成S29  128M 看到网上高手的以前回的一些贴子大致明白应该怎么改: 1 在OEMAddressTable中将32MB改成128MB,这样才能在虚拟内存地址中保留足够的地址空间 2 正确 ...…

查看全部问答>

求购开发板

需要嵌入式Linux与VxWorks开发板各一块,最好CPU频率400MHz以上, 必须带BSP支持。最好带完整的嵌入式Linux系统。VxWorks开发板支持WindML. 有意者请联系:010-51615759 邮箱:ancring.hk@163.com …

查看全部问答>

evc下打开文件夹对话框

evc有没有打开文件夹对话框的api啊,SHBrowseForFolder()这个函数在evc里编译不过啊,还有没有其他的方法啊。 wince不会只能打开文件吧。 各位大虾帮帮忙啊!…

查看全部问答>

EVC(wince)如何开发不规则窗体(请成功过的朋友指教)?

问:EVC(wince)如何开发不规则窗体? 请成功过的朋友指教,我现在的问题是使用SetWindowRgn这类区域方法后可以不规则窗体。 但窗体上的按钮等控件都不都使用。效果就好象是将窗体不规则后直接截了个图然后复制到桌面一样。 请指教! 注:请不要 ...…

查看全部问答>

菜鸟求助定时器

上面是官方代码操作定时器中断 那定时的时间是怎么算的, 还有那个TIMPeriod_level是干什么的 为什么要设置??…

查看全部问答>

磁珠在PCB中的应用

 1。磁珠的单位是欧姆,而不是亨特,这一点要特别注意。因为磁珠的单位是按照它在某一频率产生的阻抗来标称的,阻抗的单位也是欧姆。磁珠的 DATASHEET上一般会提供频率和阻抗的特性曲线图,一般以100MHz为标准,比如1000R@100MHz,意思就是在100MH ...…

查看全部问答>

关于PWM死区的科普贴

死区时间是PWM输出时,为了使H桥或半H桥的上下管不会因为开关速度问题发生同时导通而设置的一个保护时段。通常也指pwm响应时间。   由于IGBT(绝缘栅极型功率管)等功率器件都存在一定的结电容,所以会造成器件导通关断的延迟现象。一般在设计 ...…

查看全部问答>