历史上的今天
返回首页

历史上的今天

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

2023年01月11日 | 汇编写51单片机之按键检测

2023-01-11 来源:zhihu

二话不说,先上代码:

ORG 00H

LOOP: JB P3.4,LOOP

LCALL DELAY

JB P3.4,LOOP


LOOP1:JB P3.4,LOOP

JB P1.0,TC1

SETB P1.0

JMP LOOP


TC1: CLR P1.0

JMP LOOP

DELAY: MOV R7,#50

D1: MOV R6,#50

D2: DJNZ R6,D2

DJNZ R7,D1

RET

END

我就不说什么数码管的静态显示,动态显示了,会点LED了,数码管就是比较复杂的点LED。所以现在来说检测io口的状态。我的按键是P3.4,平常位高电平,按下即为低电平。实现:按键按一下灯的状态就变为相反状态

ORG 00H

LOOP: JB P3.4,LOOP ; JB指令:如果P3.4这个口为高电平,就是1,则跳到loop去执行,这个loop段的作用就是不断地去检测io口的状态,如果一直为1,则一直在检测,当它为0,就是按下的时候,就继续执行下面的程序,这里有个延时,主要是为了避免按键抖动带来的影响。我就不去说这个按键抖动了。

LCALL DELAY

JB P3.4,LOOP


LOOP1:JB P3.4,LOOP ;延时消抖后再来判断一下,其实没有这句话也可以

JB P1.0,TC1 ;判断P1.0这个口是不是等于1,如果是,则跳到TC1这里,把P1.0清零

SETB P1.0 ;如果P1.0不是1,则继续执行这一步,把它设为1,

JMP LOOP ;回到按键检测当中


TC1: CLR P1.0 ;把P1.0清零

JMP LOOP ;回到按键检测

DELAY: MOV R7,#50 ;延时函数

D1: MOV R6,#50

D2: DJNZ R6,D2

DJNZ R7,D1

RET

END


推荐阅读

史海拾趣

EA Elektro-Automatik公司的发展小趣事

进入21世纪后,EA Elektro-Automatik加大了对研发的投入,致力于技术突破和产品创新。公司成功开发出一系列具有高精度、高可靠性和高性能的电力测试解决方案,如高速模拟稳压器、直流/交流源、并联操作设备等。这些产品不仅满足了市场对精密测试设备的需求,也进一步巩固了EA Elektro-Automatik在电子测量领域的领先地位。

绿宝石(BERYL)公司的发展小趣事

绿宝石公司注重品牌建设和形象提升。公司加大了广告宣传的投入力度,通过电视、网络、户外广告等多种渠道进行品牌推广。此外,绿宝石公司还积极参与社会公益活动,履行企业社会责任。这些举措不仅提升了公司的知名度和美誉度,也增强了消费者对绿宝石品牌的认同感和忠诚度。

DSMI Electronics SA公司的发展小趣事

面对激烈的市场竞争,DSMI Electronics SA公司始终坚持创新驱动的发展战略。公司投入大量资源进行技术研发和产品创新,不断推出具有更高性能、更低功耗、更小体积的新产品。这些创新产品不仅满足了市场的多样化需求,还引领了行业的技术发展方向。同时,DSMI还积极申请专利保护,保护自己的创新成果。

Electronic Concepts Inc公司的发展小趣事

作为一家有社会责任感的企业,ECI始终关注环境保护和社会公益。公司积极参与各种环保活动,如节能减排、废物回收等。此外,ECI还设立了公益基金,资助贫困地区的教育事业和医疗事业。这些举措不仅提升了ECI的社会形象,也为公司赢得了更多客户的信任和支持。

FILTRONIC公司的发展小趣事

随着全球对可持续发展的重视日益增强,FILTRONIC也开始关注自身的环保和社会责任问题。公司积极采取措施减少生产过程中的环境污染和资源浪费,推广绿色生产和循环经济理念。同时,FILTRONIC还积极参与社会公益事业和慈善活动,为社区的发展和进步贡献自己的力量。这些努力不仅展现了FILTRONIC作为一家负责任企业的形象,也为公司的长远发展奠定了坚实的基础。

Eby Electro Inc公司的发展小趣事

随着公司规模的扩大和产品质量的提升,Eby Electro Inc开始寻求拓展国际市场。公司积极参加国际电子产品展览,与国际知名企业建立合作关系,将产品销往全球各地。在国际市场的竞争中,Eby Electro Inc凭借卓越的产品质量和良好的售后服务,赢得了客户的信赖和好评。同时,公司也积极学习国际先进的管理经验和技术,不断提升自身的竞争力。

问答坊 | AI 解惑

数码管资料大全

数码管资料大全 [ 本帖最后由 文浩 于 2009-7-9 17:13 编辑 ]…

查看全部问答>

求助FPGA数字信号转模拟信号电路设计

选一个黑匣子,具备这样的功能:4v电平来时,迅速提高电压到0.6V,然后放电到0.5V,然后给4V电平,迅速提高电压到0.6V,然后放电到0.5V。让电压在0.5到0.6之间摆动。达到数字电平转模拟电平的目的。 黑匣子必须具备的优点:提电压迅速,降电压缓慢 ...…

查看全部问答>

开机启动&flash问题

原程序将flash0块和2块开始的地方写入了两个名为bios1.c和bios2.c的C数组文件,开机时有进度条和logo。我现在想改开机logo中的两个字母,请问怎么办? flash0块的bios1.c是不是启动程序bootrom.bin转换成C数组文件烧进flash的!…

查看全部问答>

想问问各位前辈.....

想朝嵌入式Linux方向发展,现在只看了c++ primer。各位前辈们 的发展轨迹是什么样的,能传授一下经验么?譬如说看书的先后顺序等 谢谢了…

查看全部问答>

2010年黑龙江省电子竞赛试题

本帖最后由 paulhyde 于 2014-9-15 09:46 编辑 这是2010年黑龙江省电子竞赛试题来源:nuedc  …

查看全部问答>

[求助]数组放到flash中的问题和疑惑

本帖最后由 dontium 于 2015-1-23 13:33 编辑 TI 的2407 看网上的帖子..说要把const的数组放到flash中..必须在cmd设定         .const   : load=  PROG      PAGE 0, run = SARAM ...…

查看全部问答>

求助verilog 编译的一个状态机无法运行 求助

module ff(rw,oer,ce,lclk,busyr,lint_r,led,lblast,lserr,lads,lholda,lhold,la,lreseto,lwait,lready,lwr,lint,cs);   input lads;     //address strobe form 9054   input lhold;    //bu ...…

查看全部问答>

“石头、剪子、布”的获胜秘诀

即使你不是一个机器人,我们依旧可以通过一些策略增大你赢得“石头剪子布”(RPS)的概率。 猜拳并非仅仅靠你的运气,根据下面的信息图“如何赢得每一场猜拳比赛”我们不难找到答案。 猜拳世界锦标赛的历届冠军 2009 TIM CONRAD 美国 2008 MONI ...…

查看全部问答>

求PIC二手开发板

新手学PIC,资金紧张现求二手PIC开发板支持16F877A的,最好支持USB接口的,没有已行,有的联系我QQ:791196354…

查看全部问答>

MB85RC256VPF-G-JNERE2的 资料怎么官网没有

MB85RC256VPF-G-JNERE2的 资料怎么官网没有, 请问谁有吗?…

查看全部问答>