历史上的今天
返回首页

历史上的今天

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

2018年01月26日 | HT48R50A的4X4按键显示程序

2018-01-26 来源:eefocus

; ********************************************
; Function :       4X4按键,数码管显示程序    *

; MICroProcessor : HT48R50A-1/28SKDIP-A      *

; Author:         www.picavr.com              *
; Crystal :       4MHz                       *
; ********************************************
#INCLUDE                HT48R50A-1.INC
;---------------------------------------------
DATA    .SECTION        AT 60H  'DATA'
DISPLAY_DATA            DB      ?       ;[60H]
DISPLAY_COUNTER         DB      ?       ;[61H]
SCAN_COUNTER            DB      ?       ;[62H]
SCAN_DATA               DB      ?       ;[63H]
SCAN_CODE               DB      ?       ;[64H]
;---------------------------------------------
CODE    .SECTION        AT 00H  'CODE'
        ORG     00H
        JMP     START
START:
        MOV      A,0FH
        MOV      PAC,A
        SET     PA
        CLR     PBC
        CLR     PB
SCAN_BEGIN:
        MOV      A,04H
        MOV      SCAN_COUNTER,A
        MOV      A,70H
        MOV      SCAN_DATA,A
SCAN_NEXT:
        MOV      PA,A
        CALL    KEY_IN
        SET     C
        RRC     SCAN_DATA
        MOV      A,SCAN_DATA
        AND     A,0F0H
        SDZ     SCAN_COUNTER
        JMP     SCAN_NEXT
        JMP     SCAN_BEGIN
        RET
;---------------------------------------------
; 4x4 Keyboard code
        ORG     0E00H
        DC      077H,07BH,07DH,07EH     ;0123
        DC      0B7H,0BBH,0BDH,0BEH     ;4567
        DC      0D7H,0DBH,0DDH,0DEH     ;89AB
        DC      0E7H,0EBH,0EDH,0EEH     ;CDEF

KEY_IN  PROC
        CLR     TBLP
        MOV      A,10H
        MOV      DISPLAY_COUNTER,A
SCAN_KEY:
        TABRDL  DISPLAY_DATA
        TABRDC  SCAN_CODE
        INC     TBLP
        MOV      A,PA
        SUB     A,SCAN_CODE
        SZ      ACC
        JMP     NEXT_CODE
        MOV      A,DISPLAY_DATA
        MOV      PB,A
KEY_STATUS:
        MOV      A,PA
        AND     A,0FH
        XOR     A,0FH
        SZ      ACC
        JMP     KEY_STATUS
        JMP     OVER
NEXT_CODE:
        SDZ     DISPLAY_COUNTER
        JMP     SCAN_KEY
OVER:
        RET
KEY_IN  ENDP
;---------------------------------------------
; 7-Segment(Common andoe) display code
        ORG     0F00H
        DC      081H,0CFH,092H,086H     ;0123
        DC      0CCH,0A4H,0A0H,08FH     ;4567
        DC      080H,084H,088H,0E0H     ;89AB
        DC      0B1H,0C2H,0B0H,0B8H     ;CDEF
;---------------------------------------------
        END

 

基于HT48R50A的4X4按键显示


推荐阅读

史海拾趣

CLANDELL公司的发展小趣事

随着公司规模的扩大,CLANDELL公司开始积极履行社会责任。公司不仅关注自身的经济效益,还积极参与公益事业和环保活动。同时,公司还注重员工的福利待遇和职业发展,为员工提供良好的工作环境和培训机会。这些举措不仅提升了CLANDELL公司的社会形象,也为公司的可持续发展注入了新的动力。

这五个故事只是CLANDELL公司发展过程中的一部分,它们展示了公司在电子行业中的崛起之路,也反映了公司不断追求卓越、勇于创新的精神风貌。

Array Microsystems Inc公司的发展小趣事

在取得初步成功的基础上,Array Microsystems Inc深知技术创新是企业持续发展的核心动力。因此,公司加大了对研发的投入力度,不断推出新的阵列传感器产品和技术。这些新产品不仅具有更高的性能和更低的成本,还满足了市场不断变化的需求。通过持续的创新和研发,Array Microsystems Inc在电子行业中保持了领先地位。

Electrolube公司的发展小趣事

在电子行业中,电池管理系统(BMS)的可靠性和耐用性一直是制造商关注的焦点。Electrolube公司凭借其在材料科学领域的深厚积累,成功推出了一款名为UVCL的新型UV固化涂层。这款涂层以其独特的特性迅速在市场中脱颖而出。

UVCL涂层采用先进的UV固化技术,能够在几秒钟内完成固化过程,大大提高了生产效率。同时,它还具有高效的湿气引发的二次固化机制,确保即使在阴影区域也能实现完全固化。这一特性对于BMS等复杂电子电路的保护至关重要。

为了将UVCL涂层推向市场,Electrolube公司的研发团队与客户紧密合作,克服了客户内部没有UV固化设施的难题。他们与信誉良好的供应商合作,提供了完整的解决方案,并成功为客户提供了原型样品单元进行现场测试。测试结果显示,UVCL涂层能够为电子电路提供最高水平的保护,且操作过程简单、应用速度快。

UVCL涂层的成功推出不仅提升了Electrolube公司在电子材料领域的地位,也为公司赢得了众多客户的信赖和好评。

Circuit Technology Inc公司的发展小趣事

Circuit Technology Inc(以下简称CTI)自创立之初,便致力于电路技术的研发与创新。在成立初期,公司凭借其独特的电路设计技术,成功开发出一款高效能、低成本的电路板,迅速在行业内崭露头角。随着技术的不断完善和市场的逐步认可,CTI的产品逐渐占据了市场份额,公司规模也逐渐扩大。为了进一步拓展市场,CTI积极与国内外知名企业合作,共同开发新产品,不断提升自身的技术水平和市场竞争力。

Akustica(Bosch)公司的发展小趣事

Circuit Technology Inc(以下简称CTI)自创立之初,便致力于电路技术的研发与创新。在成立初期,公司凭借其独特的电路设计技术,成功开发出一款高效能、低成本的电路板,迅速在行业内崭露头角。随着技术的不断完善和市场的逐步认可,CTI的产品逐渐占据了市场份额,公司规模也逐渐扩大。为了进一步拓展市场,CTI积极与国内外知名企业合作,共同开发新产品,不断提升自身的技术水平和市场竞争力。

DIOTECH公司的发展小趣事

在数字化转型和智能化升级的大背景下,DIOTECH公司积极拥抱新技术和新趋势。公司投入巨资建设了数字化生产线和智能化工厂,实现了生产过程的自动化和信息化。同时,公司还加强了与云计算、大数据等技术的融合应用,推出了一系列智能化产品和服务。这些举措使得DIOTECH在数字化转型和智能化升级方面取得了显著成效,为公司未来的发展奠定了坚实基础。

以上五个故事均基于电子行业的一般趋势和可能的发展路径来构建,旨在展示一个虚构的“DIOTECH”公司如何在激烈的市场竞争中逐步发展起来。这些故事仅供参考,并不代表任何真实公司的实际发展情况。

问答坊 | AI 解惑

利用ADC0804做一个真正的电压表

本帖转载自www.mcusy.com,作者月夜。…

查看全部问答>

学习学习GPS

GSV GSA GGA分别是什么 a.GPS固定数据输出语句($GPGGA)这是一帧GPS定位的主要数据,也是使用最广的数据。$GPGGA 语句 包括17个字段:语句标识头,世界时间,纬度,纬度半球,经度,经度半球,定位质量指示,使用卫星数量, 水平精确度,海拔高 ...…

查看全部问答>

LED户外大屏幕基础知识

replyreload += \',\' + 374037;Timson,如果您要查看本帖隐藏内容请回复…

查看全部问答>

周公M0新原理图

周公的M0开发板的原理图终于更新了…

查看全部问答>

关于控制USB外设的问题

我是第一次作这方面的东西: 我感觉:首先要判断次外设的存在(包括他的插入于拔除)         向外设发送控制命令(包括向他提供数据)。 不知道思路是不是有问题,请各位给个思路。 …

查看全部问答>

MSP430F149的定时器A的连续计数模式的CCR0

MSP430F149的定时器A的连续计数模式的CCR0的作用?增计数模式是从0增加到CCR0就复位,增减计数模式是从0增加到CCR0,在减到0。可是连续计数模式呢?CCR0的作用?…

查看全部问答>

Linux 常用C函数(中文版)

很详细的c函数介绍文档,我一直把他当做工具书来用,分享给大家! 如果哪位大侠把这个网页式的工具做成chm格式的电子书就完美了,哈哈 截图,先睹为快 [ 本帖最后由 HOHO 于 2012-8-8 16:42 编辑 ]…

查看全部问答>

有没有M0核的视频教程

最近学习STM32 ,都是103的视频,谁能提供点M0核的…

查看全部问答>

【R7F0C089】+虽有小缺憾,但认真努力过

本帖最后由 人民币的幻想 于 2015-11-24 10:36 编辑 视频里演示测量心率时,使用手腕部分更能快速得到准确值。因此,后期考虑将心率做成手表形式。 …

查看全部问答>

负半周失真

我是按照晶体管设计书上绘制的,为什么会出错? …

查看全部问答>