历史上的今天
返回首页

历史上的今天

今天是:2025年03月08日(星期六)

2018年03月08日 | 读入独立键点亮相应的LED灯

2018-03-08 来源:eefocus

***************************************************************************
006.asm
读入独立键盘上的按键,并把相应的LED灯点亮,若一段时间无按键,刚循环点亮LED
接线:P0口接八位LED
P2口接八位独立按键
定时器T0计时,中断方式
***************************************************************************/
  ORG 0000H
      LJMP MAIN
  ORG 000BH
      LJMP INT_T0
  ORG 0100H
MAIN:    ;主程序入口
    MOV SP,#50H    ;设置堆栈
MOV TMOD,#01H    ;设置定时模式
MOV TH0,#15H  ;赋定时初值
MOV TL0,#9FH
CLR 20H.0    ;初始化按键标志
MOV R2,#0FFH  ;初始化键值
MOV R3,#01H    ;初始化循环闪铄初值
MOV R4,#00H    ;初始化定时初值
SETB TR0    ;启动定时器
MOV IE,#82H    ;开中断
LOOP:
    LCALL KEY_READ    ;扫描键盘
L1: JB 20H.0,LIGH  ;有键输入,则去点亮相应LED
    JBC 20H.0,LOOP  
MOV A,R4
CJNE A,#0C8H,LOOP  ;否则去判断定时是否到,定时到,循环点亮八位LED
LCALL LEED
LJMP L1

    /*点亮相应LED*/
LIGH:
    MOV A,R2    ;取键值
MOV P0,A    ;输出
RET

    /*循环点亮LED*/
LEED:
    MOV A,R3
LOOP1:
CPL A
MOV P0,A
LCALL KEY_READ
JB 20H.0,RETUN0
MOV R0,#0FFH
LCALL DELAY
MOV A,R3
RL A
MOV R3,A
CJNE A,#80H,LOOP1
LOOP2:
CPL A
MOV P0,A
LCALL KEY_READ
JB 20H.0,RETUN0
MOV R0,#0FFH
LCALL DELAY
MOV A,R3
RR A
MOV R3,A
CJNE A,#01H,LOOP2
SJMP LOOP1
RETUN0:
    RET

    /*键盘扫描程序*/

    KEY_READ:
    CLR EA    ;扫描键盘时关定时中断
    MOV A,P2
CJNE A,#0FFH,DE
LJMP RETUN
DE: MOV R0,#8AH
    LCALL DELAY
MOV A,P2
CJNE A,#0FFH,DE0
LJMP RETUN
DE0:MOV R2,A
    SETB 20H.0
MOV R4,#00H
DE1:MOV A,P2
CJNE A,#0FFH,DE1
RETUN:
    SETB EA
    RET

    /*中断子程序*/

    INT_T0:
      CLR EA
      PUSH ACC
  MOV TH0,#15H      ;重赋定时初值
      MOV TL0,#9FH
  INC R4
  POP ACC
  SETB EA
  RETI

    /*延时子程序 */

    DELAY:
D1:  MOV R1,#0FFH
D0:  DJNZ R1,D0
      DJNZ R0,D1
  RET 

    
  END


推荐阅读

史海拾趣

Hi-Light Electronic Co Ltd公司的发展小趣事

机顶盒,全称为数字视频变换盒,是连接电视机与外部信号源的关键设备,其专业性与科普性并存。从广义上讲,任何能与电视机连接并处理信号的网络终端设备均可视为机顶盒。随着技术的发展,机顶盒已从早期的模拟频道增补器演变为支持高清、甚至4K超高清内容的数字设备。

机顶盒的核心功能在于接收来自有线电缆、卫星、宽带网络及地面广播的数字电视信号,并通过解码处理,将这些信号转换成适合电视机播放的音视频格式。此外,机顶盒还集成了多种增值服务,如电子节目指南、因特网网页浏览、在线购物、视频点播等,极大地丰富了用户的观看体验。

根据功能和应用场景的不同,机顶盒可分为数字机顶盒和网络机顶盒两大类。数字机顶盒侧重于实现数模转换,让用户能在模拟电视上观看数字电视;而网络机顶盒则能接入互联网,提供更广泛的娱乐内容和互动服务。

在技术不断进步的今天,机顶盒正朝着高清化、智能化方向发展。未来,随着人工智能、云计算等技术的融合应用,机顶盒将能提供更个性化的节目推荐、语音控制等便捷功能,进一步提升用户的观看体验。同时,随着智能电视的普及,机顶盒作为智能电视的有效补充,其市场需求也将持续增长。

ABCO公司的发展小趣事

在技术创新的基础上,ABCO公司开始积极拓展市场。公司通过与大型电子设备制造商建立合作关系,将产品应用于汽车、医疗、工业等多个领域。同时,ABCO公司还加强了品牌建设,通过参加国际电子展会、举办技术研讨会等方式,提升了品牌知名度和影响力。

Cableform Inc公司的发展小趣事

2012年,对于Cableform Inc来说是一个重要的转折点。这一年,公司成功加入了HUBBELL系列,与Hubbell工业控制有限公司建立了战略合作关系。这一合作使得Cableform Inc能够借助Hubbell的品牌影响力和市场渠道,进一步拓展业务范围,提升市场地位。同时,通过与Hubbell的技术交流和资源共享,Cableform Inc在技术创新和产品升级方面也取得了显著进展。

DIOTEC公司的发展小趣事

随着中国经济的快速崛起,电子市场需求不断增长。为了抓住这一机遇,DIOTEC于2005年在中国上海设立了分公司,即德欧泰克半导体(上海)有限公司。这家分公司凭借DIOTEC在全球的技术和品质优势,迅速在中国市场打开了局面。如今,德欧泰克半导体(上海)有限公司已经成为中国电子行业的重要供应商之一。

BREL International Components公司的发展小趣事

BREL International Components公司深知合作共赢的重要性。公司积极与上下游企业建立紧密的合作关系,共同开发新产品、拓展新市场。通过与供应商的深度合作,BREL确保了原材料的稳定供应和成本控制;通过与客户的紧密沟通,BREL及时了解市场需求,调整产品策略。此外,BREL还积极参与行业交流和合作,与同行共同推动电子行业的发展。

Erocore Enterprise Co Ltd公司的发展小趣事

随着技术实力的提升,Erocore开始积极拓展市场。公司凭借优质的产品和服务,逐渐在电子行业中树立了良好的品牌形象。通过与国内外知名企业的合作,Erocore的产品逐渐进入更广泛的市场领域。同时,公司也加大了市场营销力度,通过参加展会、举办研讨会等方式,提升品牌知名度和影响力。

问答坊 | AI 解惑

sqlce数据库连接的问题

我原来是建立一个连接   一直开着...现在的问题是 数据库在SD卡存着...有人要是把卡拿出来了...这样程序就出错.退出来了.. 所以.我现在想改一下..每次用的时候再建立一个连接 但是不知道为什么 下在的代码 不管是有没有插卡...就是不出 ...…

查看全部问答>

请教CC2500中GDO0的使用

void RFSendPacket(char *txBuffer, char size) {     TI_CC_SPIWriteBurstReg(TI_CCxxx0_TXFIFO, txBuffer, size); // Write TX data     TI_CC_SPIStrobe(TI_CCxxx0_STX);         // Ch ...…

查看全部问答>

怎样在 WINCE 上运行Skype???

我在WINCE5.0系统的PDA上运行Skype出错,我操作的过程是:     把Skype1.2.exe 和AYGSHELL.DLL,COREDLL.DLL,HTMLVIEW.DLL,IPHLPAPI.DLL 一起拷贝到PDA上,然后运行Skype1.2.exe,就出错了。     我只要求运行Skype1.2.exe ...…

查看全部问答>

话说AVR的熔丝位是怎么个设置法呢?

我已经锁死了两块单片机了啊··…

查看全部问答>

【苏州】迈科网络诚聘英才

公司简介 苏州迈科网络安全技术股份有限公司(Maxnet)是一支年仅6岁的年轻团队,我们并不老道,但坚持创新;我们不是加班狂人,但一定锐意进取;我们不制定森严刻板的制度,但打造高效的管理团队。我们避开一整片的IT红海,独到地专注于提供网络 ...…

查看全部问答>

小白:matlab辅助dsp设计FIR滤波器

大家好  我看了一篇matlab辅助dsp设计FIR的文章  利用matlab的FDATool可以设计滤波器,并将参数导入CCS头文件                     但是附带的程序中 ...…

查看全部问答>

51单片机变量定义

51的单片机变量是怎么个定义法。全局变量,局部变量都放在什么存储器里的,还有如果我想定义个变量放在用户RAM里地址为0x32,定义变量放在位寻址区那(如0X22)有怎么定义呢?bdata unsigned char ss=0x22;这样定义了下 如果在程序里给它赋值,在me ...…

查看全部问答>

诚聘无线通讯模块研发工程师

上海中贸网络科技公司主要从事无线通信、视频处理类产品的研发、生产与销售,现欲在厦门成立研发中心,诚聘电子类、Firmware类、DSP类、PCB layout、QC类等相关工程师,工作形式目前主要以项目合作形式,无需到公司上班,自由灵活。有意者,请将简 ...…

查看全部问答>

很好的一个论坛

之前买了友善的4412开发板,真是后悔啊,在他们论坛发帖。每一个人回复,还是这个论坛好啊,讨论氛围很好,后悔买那个板子了,就给了源码,一点文字资料都没有,学起来太费劲了,或者说不是个初学者!…

查看全部问答>