您现在的位置: 主页 > MCU > 单片机技术应用 > 按遥控器任意键数码管加1--- 0--9循环 -
本文所属标签:
为本文创立个标签吧:

按遥控器任意键数码管加1--- 0--9循环 -

来源: 网络用户发布,如有版权联系网管删除 2018-09-07 

[导读] 你家里是否有DVD或电视机遥控器呢,大多数遥控器都可以哦.....按遥控器任意键数码管加1---0--9循环显示平凡的实验板加一个接收头直接使用,如下图所示:程序如下

 

本文引用地址: http://www.21ic.com/app/mcu/201804/761783.htm

你家里是否有DVD或电视机遥控器呢,大多数遥控器都可以哦.....

按遥控器任意键数码管加1---0--9循环显示

平凡的实验板加一个接收头直接使用,如下图所示:

 


程序如下:
;********************************************************************
; *
;遥控器按任意键数码管加1,显示0--9依次循环 *
; *
; 作者:LK811011 QQ:104076687 *
; *
;请各位大虾多多指点 *
; *
;***************************************************************

temp equ22h ;计数器数值存放内存位置

;******************************************************************
start:movtemp,#0 ;初始化计数器,从0开始
MOVTMOD,#09H;设置定时0方式1,GATE=1
MOVP0,#28H ;数字0的代码送显示,开机显示0
clrp2.6 ;开数码管显示

MAIN: JBP3.2,$ ;等待遥控信号

;*******以下是9MS和4.5MS遥控信号电平的识别************************************

remote: MOVTL0,#0 ;//清零TL0
MOVTH0,#0 ;//清零TH0
SETBTR0 ;//开启定时器0
JNBP3.2,$ ;//等待高电平到来,避开遥控信号开始的9MS低电平
JBP3.2,$ ;//等待低电平,高电平到来,此时开始计数
CLRTR0;//高电平结束,停止计数
MOVA,TH0 ;//读取TH0值,TL0忽略不计
CJNEA,#11H,exit;//A中的值应该是11H即遥控信号4.5MS的高电平(4.5MS=1194H)=17(十进制)

inctemp ;对计数器加1
mova,temp
cjnea,#10,exit ;判断计数器是否满10
movtemp,#0 ;满10就清零重新开始
exit: setbp3.2

;显示子程序

display:
mova,temp ;把当前计数器值送A
movdptr,#numtab ;指定查表启始地址
MOVCA,@A+DPTR ;查个位数的7段代码
movp0,a ;送出个位的7段代码
ajmpmain

;上的7段数码管0~9各数字的显示代码

numtab:DB28H,7EH,0a4H,64H,72H,61H,21H,7CH,20H,60H

;****************************************************************

END

以上程序用平凡的新实验板加一个遥控接收头就可以直接看到结果了

 

 



              查看评论 回复



嵌入式交流网主页 > MCU > 单片机技术应用 > 按遥控器任意键数码管加1--- 0--9循环 -
 

"按遥控器任意键数码管加1--- 0--9循环 -"的相关文章

网站地图

围观()