问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

请教51单片机的一个汇编程序

发布网友 发布时间:2022-04-30 18:08

我来回答

4个回答

热心网友 时间:2022-06-28 21:05

ORG 0030H
MAIN: MOV P1,#0FH
MOV P2,#00H
JNB P1.3,F1
AJMP MAIN
F1: SETB P2.3
ACALL DEL
JNB P1.3,G3
JNB P1.0,F2
JNB P1.1,F3
JNB P1.2,F4
AJMP F1
F2: SETB P2.0
ACALL DEL
JNB P1.0,G0
JNB P1.1,G1
JNB P1.2,G2
JNB P1.3,G3
JNB P1.1,F3
JNB P1.2,F4
AJMP F2
F3: SETB P2.1
ACALL DEL
JNB P1.1,G1
JNB P1.0,G0
JNB P1.2,G2
JNB P1.3,G3
JNB P1.0,F2
JNB P1.2,F4
AJMP F3
F4: SETB P2.2
ACALL DEL
JNB P1.2,G2
JNB P1.0,G0
JNB P1.1,G1
JNB P1.3,G3
JNB P1.0,F2
JNB P1.1,F3
AJMP F4
G0: ACALL DEL
CLR P2.0
G1: ACALL DEL
CLR P2.1
G2: ACALL DEL
CLR P2.2
G3: ACALL DEL
CLR P2.3
AJMP MAIN
DEL:
MOV R7,#62H
DL1:
MOV R6,#7FH
DL0:
MOV R5,#11H
DJNZ R5,$
DJNZ R6,DL0
DJNZ R7,DL1
NOP
RET

RET
END

热心网友 时间:2022-06-28 21:06

可以这样:
1,先设一个标志power,只有P1.3(按键)按下时power=1;(此时P2.3的灯亮)表示总开关打开。
2,按P1.0(按键),P1.1(按键),P1.2(按键)相关按键,都要看标志power,只有他为一,才可打开相应的灯。否则无效。
3,只要再按一下P1.3(按键),power=0,同时将P1.0,P1.1,P1.2全置零,即关掉所有的灯,包括P2.3的灯在内。

热心网友 时间:2022-06-28 21:06

上楼提供了方案,程序:

;主振频率6MHZ
;按键P2.0口输入,P1.0-P1.3循环显示,显示500ms熄灭
;每按一次键23H单元累加1,根据这个值决定指示灯的显示和熄灭
;我这样编可能你容易看得懂些
ORG 0000H
AJMP MAIN
ORG 000BH
AJMP TCT0 ;定时器0
ORG 0030H
;**************************************************
;程序初始化
MAIN: MOV SP,#60H ;栈指针60H
MOV 22H,#00H ;100ms计数器清0
SETB EA ;打开总中断
SETB ET0 ;T0中断允许
SETB IT0 ;T0优先中断
SETB TR0 ;T0不运行
;***************************************************
;主循环程序
LOOP: JB P2.0,LOOP ;按键判断P2.0口
KEY0: NOP ;这里最好加延时,我就不编了
JNB P2.0,KEY0 ;等待键放
INC 23H
MOV A,23H

CJNE A,#1,KEY1
MOV TH0,#3CH ;100ms预置初值
MOV TL0,#0B0H
CLR TR0 ;T0开始运行
MOV P1,#00H ;P1口无输出
SETB P1.0 ;P1.0输出高电平
KEY1: CJNE A,#2,KEY2
MOV TH0,#3CH ;100ms预置初值
MOV TL0,#0B0H
CLR TR0 ;T0开始运行
MOV P1,#00H ;P1口无输出
SETB P1.1 ;P1.1输出高电平
KEY2: CJNE A,#3,KEY3
MOV TH0,#3CH ;100ms预置初值
MOV TL0,#0B0H
CLR TR0 ;T0开始运行
MOV P1,#00H ;P1口无输出
SETB P1.2 ;P1.2输出高电平
KEY3: CJNE A,#4,KEY4
MOV TH0,#3CH ;100ms预置初值
MOV TL0,#0B0H
MOV P1,#00H ;P1口无输出
CLR TR0 ;T0开始运行
SETB P1.3 ;P1.3输出高电平
KEY4: CJNE A,#5,LOOP
CLR 23H
MOV P1,#00H ;P1口无输出
AJMP LOOP
;***************************************************
;定时器T0中断服务程序:
TCT0: PUSH ACC
PUSH PSW
INC 22H ;100ms单元加1
MOV A,22H
CJNE A,#10,EXIT
MOV 22H,#00H ;1s时间到

CJNE A,#1,TCT01
CLR P1.0
AJMP EXIT
TCT01: CJNE A,#2,TCT02
CLR P1.1
AJMP EXIT
TCT02: CJNE A,#3,TCT03
CLR P1.2
AJMP EXIT
TCT03: CJNE A,#4,TCT04
CLR P1.3
AJMP EXIT
TCT04: SETB TR0 ;T0停止运行

EXIT: POP PSW
POP ACC
RETI ;中断返回
;***************************************************
END

热心网友 时间:2022-06-28 21:07

流程图:
while(1)
{
if(P1.3==真){
P2.3亮;
if(P1.0==真)
P2.0亮;
if(P1.1==真)
P2.1亮;
if(P1.2==真)
P2.3亮;
}
else
灯全灭;
}
求51单片机译码程序汇编的。

B BIT P3.1 C BIT P3.2 Y0 BIT P1.0 Y1 BIT P1.1 Y2 BIT P1.2 Y3 BIT P1.3 Y4 BIT P1.4 Y5

求一个51单片机汇编语言 串口输出一行中文的程序

MAIN:MOVSCON,#40H;设置串行口工作方式1 MOVPCON,#0;设置波特率4800 MOVTMOD,#20H;波特率可根据需要自己修改 MOVTL1,#0FAH MOVTH1,#0FAH SETBTR1 MOVDPTR,#MSG;DPTR指向待输出字符串首地址 NEXT:MOVA,#0 MOVCA,@A+DPTR CJNEA,'$',NEXT1;字符串结尾?AJMPNEXT2 NEXT1:CLRTI MOVSBUF,A;...

MCS-51单片机,简单的一个汇编语言程序,计算分段函数的函数值。

add A, #1 mov Y, A ;Y = 2X+1 _END: sjmp

51单片机,怎么用汇编语言编程一个程序。实现4个按键控制4种报警声音(1...

没有四种声音的频率库,其他的给你做个示范吧:ORG 0000H LJMP MAIN ORG 0030H MAIN:MOV SP,#5FH MOV TMOD,#11H SETB EA SETB ET0 SETB ET1 LOOP:LCALL KEYSCAN MOV A,R2 JNZ LP1 MOV DPTR,#TAB110 SJMP LPRUN LP1:DEC A JNZ LP2 MOV DPTR,#TAB119 SJMP LPRUN LP2:DEC A JNZ ...

51单片机编程题,用汇编语言怎么做?

EA=1; ET0=1; TR0=1;} void timer0() interrupt 1 { TH0 = (65536-500)/256; //定时器装初值500, 1mS 中断一次 TL0 = (65536-500)%256;CP=~CP; //改变脉冲信号的输出状态 } void main(){ Timer0_init();CP=0;while(1) { } } 汇编语言,才看到,算了,你别人的回答...

51单片机的汇编指令是什么?

在51单片机汇编语言中DPTR只有加1指令即:INC DPTR,减1指令是没有的,所以需要用户自己来编制,以下是具体代码:DPTRDEC:CLR C MOV A,DPL SUBB A,#1 MOV DPL,A MOV A,DPH SUBB A,#0 MOV DPH,A RET 编程是编写程序的中文简称,就是让计算机代为解决某个问题,对某个计算体系规定一定的运算...

求一个51单片机延时1秒的程序,用汇编!!

MOV R7,#10 D1: MOV R6,#200 D2: MOV R5,#250 DJNZ R5,DJNZ R6,D2 DJNZ R7,D1 RET 说明:1、如果不使用R5、R6、R7可以用别的单元替换,比如换成30H、31H、32H等等 2、这个程序是12M时钟,如果时钟不同,要修改数值。如6M时钟,要把MOV R7,#10 修改成:MOV R7,#5 ...

谁能给我一些简单的51单片机的汇编程序,然后用c语言翻译一下啊

这个是P2口 8个灯的循环亮程序;顺便帮你写个c语言的程序,高手勿喷啊 include<reg51.h> include<intrins.h> define uint unsigned int define uchar unsigned char void delay();void main(){ uchar a;P2=0x01;while(1){ for(a=0;a<7;a++){ P2=_crol_(P1,1);delay();} for(a=0...

51单片机汇编程序问题

MOV TMOD, #01H ;工作方式1 MOV TH0, #3CH ;装入初值 定时50毫秒 MOV TL0, #0B0H SETB ET0 SETB EA SETB TR0 ;定时器0控制位 ; ---此处,缺少循环,自动往下执行到中断程序去了 SJMP $ ;---加上这行,再试试看。INT_T0:MOV TH0, #3...

51单片机 汇编~ JNB F0,LOOP2;

单片机里面,有个CPU,它执行我们编写的程序。单片机里面,还有个定时器,它和CPU是并行工作的。在:TTCO_1S: MOV TMOD, #01H;设置定时器为工作方式1 ……已经设置、启动了定时器T0,还开放了T0的中断。那么,这条指令:LOOP2: JNB F0, LOOP2;执行时,T0也在计时,并且会偷偷...

51单片机汇编程序实例一 8051单片机简单汇编程序 51单片机8个流水灯编程汇编语言 51单片机汇编程序 51单片机汇编程序示例二 51单片机汇编程序设计 51单片机流水灯汇编程序 51单片机汇编程序试题 51单片机汇编程序与HMI接口
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
大连大学中外办学值得上吗 大连大学国际本科是公办还是民办 介绍一些有古老气息的,有传说的地方,越多越好。最好在中国中部。 现在的日本鬼子难道一定是你们想的这样坏吗?坏的是日本政府! 我近几年在吃玉米的时候总是不消化,一吃就拉出来了,而且大便中... 同时掷3个均匀的骰子,当得知"其中两个骰子面朝上点数之和为8时"获得多... 重庆市工伤申请表的鉴定程序是什么的 ...做了包皮手术,有早泄有前列腺,在晚上睡觉梦游射精,有什么影响到病快... 电脑没声,音箱正常,也没发现有感叹号和问号.声音控制部分被禁用.是换了... 属狗女什么属相最配对,属狗女和什么属相最配 我用单片机和LCD1602做了个时钟,当我增加了秒表功能时,启动秒表没问题,但秒表停不下了。。。 卵泡22x21内膜9mm同房可以怀孕吗? 求一单片机C语言程序:两个按键控制两个LED KEY1按一下LED1亮 再按一下LED1灭 KEY2按下LED2亮 LED1灭 酸性玻璃胶粘在衣服上怎么洗掉 51单片机控制DS1302,时间显示在数码管上。 以多种波形发生器为对象,选择单片机、独立按键及D/A转换器,设计相应的电路构成多种波形发生器。详见补充 内存空间地址段为1000H至5FFFH.则可以表示()个字节的储存空间? 计算机中的地址即为存储单元的编号。要表示一个首地址为1000H,容量为16KB的存储区域, 使用汇编语言编写一个程序:把内存偏移地址为1000H,起始的10个数据,拷贝到内存? 有一个34 kb的存储器采用十六进制对地址进行编码起始编码为1000h末地址为什么? 如果有一存储空间,其地址为1000H~1FFFH,则它的容量为多少字节 计算机中的地址即为存储单元的编号,要表示一个首地址为1000H容量32KM的存储区域,则其末地址应为多少H 地址范围为1000H-4FFFH的存储空间为多少KB 有一个64KB的存储器,用十六进制对它的地址进行编码,起始编码为1000H,则它的末地址的末地址是多少?方法 一个首地址为1000H,容量为128kb的存储区域,其末地址为多少? 要表示一个首地址为1000H,容量为16KB的存储区域,其末地址为 计算机中的地址即为存储单元的编码,一个首地址为1000H,容量为16KB的存储区域,末地址为 H? 若MCS-51外扩8KB 程序存储器的首地址若为1000H,则末地址为( )H 若某内存的首地址为1000H,末地址为8FFFH,则该内存的存储容量为多少KB? 简答题:计算机中的地址即为存储单元的编号,一个首地址为1000H,容量为32KB的存储区域,末地址为多少? 你好!我昨天B超监测卵泡26*22 用51单片机制作电视机红外线遥控器需要哪些元器件,求电路图和流程图以及编程,最好是汇编编程 子宫内膜9,卵泡13*11怎么办 宝宝知道 左侧卵泡第十五天长到21乘16,子宫内膜厚度是9,正常吗? 华为畅享10使用说明书?怎样开启语音寻找本机 连续两天检测了两次卵泡都是19*16,内膜9,怎么今天就变成33*24了,还有用吗?昨天已经打了 单片机数字时钟按键处理流程图,我QQ:137552948,发给我可以吗? 我昨天去检测的卵泡是19*16内膜是10,今天又去检测的卵泡是25*20内膜也是10,请问医生卵泡 帮忙看下性激素六项检查,急急急 卵泡监测26号下午四点左侧两个20*19和17*13,内膜10,今天27号上午十点半再监测只剩一个 单片机:K1~K4控制数码管加减演示 流程图!!! 卵泡20*26是优质卵泡吗 谁能给我给制作交谊舞的软件?能简单的给音乐加鼓点就可以了 夏天车内开空调正确使用方法是怎么样的?, 我想自己尝试制作交谊舞曲,谁有这样的软件啊?谢谢了! 我想制作交谊舞曲!慢四,快四等!谁会?用什么软件怎么操作?也可以把一首歌里的鼓点移到另一首歌里! 交谊舞曲如何加长或截短? 如何制作交谊舞曲 怎么样把一般节奏的歌曲合成交谊舞曲 如何制作交谊舞曲 要MP3格式的 用哪款软件好呢?