历史上的今天
今天是:2025年05月09日(星期五)
2018年05月09日 | 51单片机,汇编语言,按键操作控制
2018-05-09 来源:eefocus
硬件电路:
P1.0 ~ P1.5 外接 6 个 LED,分别称为 D1 ~ D6,低电平发光。
P0.0 ~ P0.3 外接 4 个 按键,分别称为 K1 ~ K4。
P3.2 ~ P3.3 外接 2 个 按键,分别称为 K5 ~ K6。
用汇编语言编程进行控制,要求:
当按下 K1 时,D1 发光;
按下 K2 时,D2、D3 发光;
按下 K3 时,D4、D5、D6 发光;
按下 K4 时,D1、D3、D6 发光;
按下 K5 时,全部熄灭;
按下 K6 时,全亮。
用查询方式完成上述动作。
做而论道编写的程序如下:
2013-04-19 23:06
ORG 0000H
START:
JNB P0.0, K1
JNB P0.1, K2
JNB P0.2, K3
JNB P0.3, K4
JNB P3.2, K5
JNB P3.3, K6
SJMP START
;-----------------------
K1:
CALL DL10MS
JB P0.0, START
JNB P0.0, $
CLR P1.0 ;按下K1键时,D1二极管发光;
SJMP START
;-----------------------
K2:
CALL DL10MS
JB P0.1, START
JNB P0.1, $
CLR P1.1 ;按下K2键时,D2、D3发光;
CLR P1.2
SJMP START
;-----------------------
K3:
CALL DL10MS
JB P0.2, START
JNB P0.2, $
CLR P1.3 ;按下K3键时,D4、D5、D6发光;
CLR P1.4
CLR P1.5
SJMP START
;-----------------------
K4:
CALL DL10MS
JB P0.3, START
JNB P0.3, $
CLR P1.0 ;按下K4键时,D1、D3、D6发光。
CLR P1.4
CLR P1.5
SJMP START
;-----------------------
K5:
CALL DL10MS
JB P3.2, START
JNB P3.2, $
MOV P1, #255 ;按下K5是全部熄灭;
SJMP START
;-----------------------
K6:
CALL DL10MS
JB P3.3, START
JNB P3.3, $
MOV P1, #0 ;按下K6是全亮;
SJMP START
;-----------------------
DL10MS:
MOV R6, #10
DJNZ R7, $
DJNZ R7, $
DJNZ R6, $ - 4
RET
;-----------------------
END
上一篇:51 汇编编程:多路延时开关
下一篇:51单片机,汇编语言,定时与计数
史海拾趣
|
最近,在工程设计人员的词典中,数字功率和数字控制已上升成为最重要的术语。这是一件很奇怪的事,因为电源工程师接受的一般都是模拟技术方面的训练,而客户也是模拟支持者。因此功率控制方案提供商需要一种为模拟工程师架设通向数字领域桥梁的方法 ...… 查看全部问答> |
|
我現在有一個windows下的dll是針對攝像頭做控制 例如OPEN INTERFACE、IIC的讀寫控制,那我現在可以在WINCE的攝像頭驅動裡用嗎???可以的話,我就可以減少寫攝像頭驅動的時間了。… 查看全部问答> |
|
,用的是mini2440,在配置codewarrior时出现如下问题,解决不了,麻烦高手看下:我用JLINK连接成功后,执行MOV R0,#0x12后R0寄存器的值为什么不变化呢?而且会出现disassembly这个框,请教各位大神,不知道有没有碰到过这种情况?… 查看全部问答> |
|
BeagleBone Black——AM335X——启动流程 AM335x的启动——————RAM Code (这里只简述ram code 的流程及系统更新,如有什么错误,望批评指正) RAM Code: RAM Code是固化在芯片中的一段代码,当芯片正常上 电时,芯片会首先执行此段代码。 RAM Code startup: ROM Cod ...… 查看全部问答> |
|
keil5真心坑多啊,升级需谨慎啊 自从keil 5改成了device都是安装包的形式,用不到的器件可以不必安装,这个安装使用的器件也带来了不少的麻烦,关键是keil的帮助手册里居然没写该怎么处理 安装完器件要下载烧录程序的时候,发现 error:Flash Dow ...… 查看全部问答> |




