导航:首页 > 编程语言 > 按键控制流水灯汇编程序

按键控制流水灯汇编程序

发布时间:2022-05-27 15:37:04

① 求助大神,用汇编语言写流水灯控制程序和开关控制程序

要努力啊学弟

就不给你源码了,这是个例题以前看的书 真好 翻到,

好好看看 ,修改一下或不修改就能使用,看看 程序的一步一步注释 。汇编还是很有意思的你进去了 就不愿意使用C 语言 。

你需要的是4个按键,这里用到了 12 个按键,去掉几个即可

注意LED 是置 1 亮 还是 置 0亮。

整体思路: 主函数里不断判断4个按键 用中断或不用也行就让51不断扫描

假如有一个按键 置 0 或置1 ,这个自己选择

汇编就是跳转到一个 标记处

添加流水灯 效果

灭几秒或亮几秒 这个应该可以搞定

运行完毕返回住函数

4个按键都是这样的 步骤

努力

② 一键多控流水灯汇编语言怎么写,软件是keil

一键多空流水灯汇编语言程序编写方法是:设置一个变量,来检测按键的次数,从而控制程序分支来达到控制不同流水灯的效果例如:
ORG 0000H
LJMP MAIN
ORG 0030H
MAIN:
MOV R6,#0FEH
MOV R7,#0

LOOP:

JB P1.0,LOOP1
JNB P1.0,$

INC R7

CJNE R7,#2,LOOP1

MOV R7,#0

LOOP1: ;奇数次按键左向流水灯

MOV A,R7
JNZ LOOP2

MOV A,R6

MOV P0,A

RL A

MOV R6,A

LCALL DELAY

SJMP LOOP

LOOP2: ;偶数次按键右向流水灯

MOV A,R6
MOV P0,A

RR A

MOV R6,A

LCALL DELAY

LJMP LOOP

DELAY:

MOV R2,#200
DL1:

MOV R3,#250
DJNZ R3,$

DJNZ R2,DL1

RET

END

③ 汇编语言控制流水灯

KEY BIT P1.0
LED EQU 30H
ORG 0000H
LJMP MAIN
ORG 0030H
MAIN:
MOV LED,#0FEH
MOV R2,#8
LOOP:
MOV P0,LED
MOV A,LED
RL A
MOV LED,A
JNB KEY,KEYC
DJNZ R2,LOOP
MOV R2,#8
LOOP1:
MOV P0,LED
MOV A,LED
RR A
MOV LED,A
JNB KEY,KEYC
DJNZ R2,LOOP1
SJMP LOOP
KEYC:
MOV P0,#00H
JNB KEY,KEYC
LJMP LOOP
END

④ 汇编语言编辑按键控制流水灯,p1.0,p1.1接按键,p0口接8个灯,一个按键按下流水灯由左向右,

KEYL EQU P1.0
KEYR EQU P1.1
DAT EQU P0
ORG 0000H
LJMP MAIN
ORG 0030H
MAIN:
MOV A,#0FEH

LOOP:
JB KEYL,LOOP1

MOV DAT,A

LCALL DELAY

RL A

SJMP LOOP

LOOP1:
JB KEYR,LOOP

MOV DAT,A

LCALL DELAY

RR A

SJMP LOOP

DELAY:
MOV R2,#100

DELAY1:
MOV R3,#250

DJNZ R3,$

DJNZ R2,DELAY1

RET

END

⑤ 用汇编语言编写一个按钮控制8个流水灯的亮灭

51汇编程序如下:
KEY EQU P3.2
LED EQU P1
ORG 0000H
LJMP MAIN
ORG 0030H
MAIN:
CLR 00H

MOV A,#0FEH

LOOP:
JB P3.2,LOOP1

JNB P3.2,$

CPL 00H

LOOP1:
JB 00H,LOOP2

MOV LED,#0FFH

SJMP LOOP

LOOP2:
MOV P1,A

RL A

LCALL DELAY

SJMP LOOP

DELAY:
MOV R2,#200

DLY1:
MOV R3,#250

DJNZ R3,$

DJNZ R2,DLY1

RET

END

单片机汇编语言按键控制流水灯,两个开关k1,k2。实现功能按下k1,流水灯左移动,按下k2,流水灯右移动。

K1EQUP1.0
K2EQUP1.1
ORG0000H
LJMPMAIN
ORG0030H
MAIN:
MOVA,#0FEH
CLR00H
CLR01H
LOOP:
JBK1,LOOP1
SETB00H
CLR01H
SJMPLOOP
LOOP1:
JBK2,LOOP2
SETB01H
CLR00H
LOOP2:
JB01H,LOOP3
JB00H,LOOP4
SJMPMAIN
LOOP3:
MOVP0,A
RRA
LCALLDELAY
SJMPLOOP
LOOP4:
MOVP0,A
RLA
LCALLDELAY
SJMPLOOP
DELAY:
MOVR2,#200
DLY:
MOVR3,#250
DJNZR3,$
DJNZR2,DLY
RET
END

⑦ 单片机C语言 两个按键控制8位花样流水灯,P1.0接按键k1,P1.1接按键k2,P0口的8位接8个发光二极管

汇编程序如下:
; 花样流水灯(8个发光二极管以各种形式循环点亮)
; 功能:流水灯(8个发光二极管循环以1S间隔以各种形式循环点亮)
ORG H ;伪指令,指定程序从H开始存放
LJMP MAIN ;跳转指令,程序跳转至MAIN处执行
ORG H ;伪指令,指定程序从H开始存放
MAIN: MO SP, #60H ;给堆栈指针赋初值
MO P1,#0FFH ;给P1口赋值
MO DPTR,#TABLE;查表
LIGHT: MO R4,#42 ;设置循环次数
LOOP: MO A,#42 ;给A赋初值
SUBB A,R4 ;将A的值与R4的值相减,结果存在A中
MOC A,@A+DPTR ;将A+DPTR的值所对应的TABLE中的值赋给A
MO P1,A ;将A的值赋给P1口
LCALL DEL1S ;调用1S延时子程序
DJNZ R4,LOOP ;判断R4是否为0,不为0跳转,为0顺序执行
LJMP LIGHT ;跳转指令,跳转至LIGHT处继续执行
;1S延时子程序(11.MHz晶振,误差0微秒)
DEL1S: MO R5, #H
DL1S0: MO R6, #0A4H
DL1S1: MO R7, #H
DJNZ R7, $
DJNZ R6, DL1S1
DJNZ R5, DL1S0
RET
TABLE: ;定义表格数据
DB 0FFH ;全灭
DB 0FEH 0FDH 0FBH 0F7H 0EFH 0DFH 0BFH 07FH ;依次逐个点亮
DB 0FEH 0FCH 0F8H 0F0H 0E0H 0C0H H H ;依次逐个叠加
DB H 0C0H 0E0H 0F0H 0F8H 0FCH 0FEH 0FFH ;依次逐个递减
DB 07EH 0BDH 0DBH 0E7H 0E7H 0DBH 0BDH 07EH ;两边靠拢后分开
DB 07EH 03CH H H H H 03CH 07EH ;两边叠加后递减
DB H ;全亮
END ;程序结束指令
C语言程序如下:
/* 该实验是花样流水灯(8个发光二极管以各种方式循环点亮),功能是花样流水灯(8个发光二极管以1S间隔以各种方式循环点亮) */
#include//包含reg.52文件
#define uint unsigned int//宏定义
#define uchar unsigned char//宏定义
void delay(uint z);//声明延时函数
uint a;//定义循环用变量
uchar code table[]={
0xff,//全灭
0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,//依次逐个点亮
0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00,//依次逐个叠加
0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff,//依次逐个递减
0x7e,0xbd,0xdb,0xe7,0xe7,0xdb,0xbd,0x7e,//两边靠拢后分开
0x7e,0x3c,0x18,0x00,0x00,0x18,0x3c,0x7e,//两边叠加后递减
0x00,//全亮
;//¶¨ҥѭ»·Ӄʽ¾ݱ�
/*Aµď֏󣺏ȊLj«ð£¬Ȼº󒀴Ζ𸶵ぁ£¬Ȼº󒀴Ζ𸶵�
Ȼº󒀴Ζ𸶵ݼ�»º󁽱߿¿£º󷖿ª£¬Ȼº󁽱ߵ�ݼ𖎱
׮º󈫁a£ѭ»·£¡*/
void in()//inº¯ʽ
{
a=0;//¸񸳳𕛕
while(1)//whileѭ»·
{
P1=table[a];//½«a˹Ԛµ”able֐µĖµ¸³¸􁿚
delay();//1Sѓʱד³̐ɠ a ;//aµĖµ¼Ӓ»
if(a==42)//²⊔aʇ·񵈓Ƥ2
a=0;//¸񸳖µ
}
}
void delay(uint z)//1msѓʱד³̐򣬍¨¹�±䑓ʱʱ¼F{
uint x,y;
for(x=z;x

⑧ 按键控制流水灯汇编程序

怎么没输出口啊 其实很简单的 把P0口做输出口
ORG 0000H
AJMP MIAN
ORG 0030H
MIAN:MOV SP,60H
JB P1.2,L0 ;判断
LJMP LK0
L0:JB P1.3,L1 ;判断
LJMP LK1
L1:JB P1.4,L2 ;判断
LJMP LK2
L2:JB P1.5,L3 ;判断
LJMP LK3
L3:AJMP MIAN ;没有按下 程序循环
LK0:MOV P0,#FFH ;亮
LCALL DAY ;延时闪烁时间自己写
MOV P0,#00H
LCALL DAY
CLR CY
MOV P0,01H
RRL
RLR ;运用左或右移动指令
;然后运用判断指令

LK1:
LK2:
LK3:

⑨ 求助:用汇编实现按钮控制流水灯

楼主写三个子程序,用三个按键控制,分别调用,即可。

⑩ 用一个按键控制流水灯的汇编程序,跪求高手

START: MOV P1,#0FFH ;全灭
S: SETB P3.0 ;每次读I/O时,要先置1
JB P3.0,NEXT1 ;若没有按下为1,灯亮
MOV P1,#0FFH ;否则全灭
AJMP S
NEXT1: MOV A,#0FEH
……
LJMP S

阅读全文

与按键控制流水灯汇编程序相关的资料

热点内容
ada编译成dll 浏览:470
单片机代码跳掉 浏览:447
程序员谈薪水压价 浏览:861
荣耀10青春版支持方舟编译啊 浏览:158
最优估计pdf 浏览:826
androiddrawtext字体 浏览:669
c语言源编辑源程序编译 浏览:821
手里捏东西真的可以解压吗 浏览:265
编译原理画状态表 浏览:28
用echo命令产生下列输出 浏览:360
在内网如何访问服务器 浏览:961
java导入oracle数据库 浏览:135
坚朗内开内倒铝条算法 浏览:259
华为阅读新建文件夹 浏览:770
幻塔如何选择服务器 浏览:221
解压先把文件压到系统盘 浏览:823
access压缩和修复数据库 浏览:791
光纤交换机命令 浏览:513
白色桌放什么文件夹 浏览:296
分治算法思想 浏览:151