按键控制led灯亮灭编写程序汇编语言(矩阵键盘控制led灯亮灭程序)
用汇编语言程序 编写一个关于51单片机的程序:一个开关控制一盏LED的亮灭
KEY EQU P1.0
LED EQU P1.4
ORG 0000H
LJMP MAIN
ORG 0030H
MAIN:
JB KEY,MAIN1
CLR LED
SJMP MAIN
MAIN1:
SETB LED
SJMP MAIN
END
用汇编语言编写开关控制LED灯
延时做 nop 的多次嵌套循环,用ajump 指令和 djnz Rn 指令
关于屏蔽接收,可以用相关寄存器做 逻辑处理,或者是比较跳转处理
摁钮来说,因为是输入,在输入之前,先对接脚做输出高电平处理,然后做接收,否则可能会烧掉单片机接脚内部的fet 管
延时六秒不好控制,如果晶振频率你知道的话,多用nop指令,来缓冲循环段的长短不一问题
汇编语言 单片机 一个开关控制一盏LED的亮灭
ORG 0000H ;复位启动
AJMP START ;
;主控程序========================
START: SETB P1.7 ;P17 = 1
LOOP: JB P3.2,LOOP ;没有按键
LCALL DELAY ;延时消抖
JB P3.2,LOOP ;确认按键
CPL P1.7 ;取反
JB P3.2,LOOP ;检测按键
LCALL DELAY ;延时
LJMP LOOP ;死循环
;
DELAY: MOV R7,#0 ;延时子程序
MOV R6,#0
MOV R5,#128
;
LOOP1: DJNZ R7,KJYS ;延时约20毫秒
DJNZ R6,KJYS
DJNZ R5,KJYS
RET ;延时间到返回
END ;结束
延时子程序数据可能因不同系统时钟需要调整。
单片机 三个按键独立控制三个led灯 汇编语言
keyp3.0: clr p2.2 ;灭掉 p2.2
keyp3.00: jb p3.0,keyp3.1 ;如果p3.0 为高,则灭掉p2.0
setb p2.0 ;点亮 p2.0
ajmp keyp3.11
keyp3.1: clr p2.0 ;灭掉 p2.0
keyp3.11: jb p3.1,keyp3.2 ;如果p3.0 为高,则灭掉p2.1
setb p2.1 ;点亮 p2.1
ajmp keyp3.22
keyp3.2: clr p2.1 ;灭掉 p2.1
keyp3.22: jb p3.0,keyp3.0 ;如果p3.0 为高,则灭掉p2.2
setb p2.2 ;点亮 p2.2
ajmp keyp3.00
简单的谢了一下,你就当学习用吧; 你的电路设计不合理,按键和led都需要上拉,才可正常;
满意的话赞一个,呵呵
急求:使用四个独立按键控制四个LED灯亮灭的单片机汇编程序
单片机的P1.0-P1.3接四个发光二极管L1-L4的阴极,P1.4-P1.7接四个开关K1-K4
程序:
ORG 00H
START: MOV A,P1
ANL A,#0F0H
RR A
RR A
RR A
RR A
ORl A,#0F0H
MOV P1,A
SJMP START
可以检测单个按键,也可以同时检测多个按键
过程:开始——读P1口数据到A——A中的数据右移4次——A中的内容和F0H相或——A中的数据送到P1口——回到开始
按键控制led灯亮灭编写程序汇编语言的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于矩阵键盘控制led灯亮灭程序、按键控制led灯亮灭编写程序汇编语言的信息别忘了在本站进行查找喔。微信号:ymsc_2016
相关文章
发表评论
评论列表
- 这篇文章还没有收到评论,赶紧来抢沙发吧~