Ⅰ 51单片机的汇编作业
1:
ORG 0000H
LJMP MAIN
ORG 0030H
MAIN:
MOV DPTR,#1000H
MOV R0,#30H
LP:
MOVX A,@DPTR
MOV @R0,A
CLR A
MOVX @DPTR,A
INC DPTR
INC R0
CJNE R0,#60H,LP
SJMP $
END
2:
ORG 0000H
LJMP MAIN
ORG 0030H
MAIN:
MOV DPTR,#2000H
MOV R2,#0 ;正
MOV R3,#0 ;负
MOV R4,#0 ;零
MOV R7,#100
LP:
MOVX A,@DPTR
JNZ LP1
INC R4
SJMP LPC
LP1:
JB ACC.7,LP2
INC R2
SJPM LPC
LP2:
INC R3
LPC:
DJNZ R7,LP
SJMP $
END
3:
ORG 0000H
LJMP MAIN
ORG 0030H
MAIN:
MOV TMOD,#20H
MOV TH1,#0F3H
MOV TL1,#0F3H
SETB TR1
MOV SCON,#0C0H
MOV R0,#30H
MOV R2,#10
LP:
MOV A,@R0
MOV C,P
MOV TB8,C
MOV SBUF,A
JNB TI,$
CLR TI
DJNZ R2,LP
SJMP $
END
Ⅱ 求一道51单片机编程题的程序,汇编语言,谢谢了
JISHI EQU 30H
DATA0 EQU P0
TEN EQU P1.0
UNIT0 EQU P1.1
ORG 0000H
ORG 0003H
LJMP INP0 //interruter 0
ORG 000BH
LJMP IT_T0
ORG 0013H
LJMP INP1 //interruter1
ORG 0030H
MAIN:
MOV SP,#69H
MOV JISHI,#0
MOV DATA0,#0FFH
SETB TEN
SETB UNIT0
MOV TMOD,#01H
MOV TH0,# 0
MOV TL0,#0
SETB IT0
SETB IT1
SETB PX0
SETB PX1
SETB ET0
SETB EX0
SETB EX1
SETB EA
CLR TR0
LOOP: LCALL DISPLAY
LJMP LOOP
INP0: CLR EA
CLR TR0
SETB EA
RETI
INP1: CLR EA
SETB TR0
SETB EA
RETI
IT_T0:
PUSH ACC
PUSH B
CLR EA
INC JISHI
MOV A,JISHI
CJNE A,#60,TIME0
MOV JISHI,#0
TIME0: POP B
POP ACC
SETB EA
RETI
DISPLAY: MOV A,JISHI
MOV B,#10
DIV AB
LCALL LOOKUP
MOV DATA0,A
CLR TEN
SETB UNIT0
LCALL DELAY
SETB TEN
MOV A,B
LCALL LOOKUP
MOV DATA0,A
CLR UNIT0
LCALL DELAY
SETB TEN
SETB UNIT0
RET
LOOKUP:
MOV DPTR,#TAB
MOVC A,@A+DPTR
RET
DELAY: MOV R6,#0
DEL0: MOV R7,#0
DJNZ R7,$
DJNZ R6,DEL0
RET
TAB:DB 0C0H,0F9H,0A4H,0B0H,99H,89H,0F8H,80H,90H
END
有部分问题的,自己查
Ⅲ 51单片机编程题,用汇编语言怎么做
在8051单片机的时钟频率为6MHz,那么定时器的计数脉冲周期就是 2uS;
sbit CP=P1^0;
void Timer0_init()
{
TMOD |=0x01; //T0定时器,方式1,采用16位定时器
TH0 = (65536-500)/256; //定时器装初值500, 即 1000uS 中断一次
TL0 = (65536-500)%256;
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单片机汇编题目
DATDEAL:
MOV30H,#34H
MOV31H,#58H
MOV32H,#23H
MOV33H,#45H
MOVDPTR,#1000H
MOVA,31H
ADDA,33H
MOVDPL,#02H
MOVX@DPTR,A
MOVA,30H
ADDCA,#32H
MOVDPL,#01H
MOVX@DPTR,A
CLRA
ADDCA,#0
MOVDPL,#00H
MOVX@DPTR,A
RET
Ⅳ 51单片机汇编语言的一道题
QC:
MOVDPL,#00H
MOVR2,#8
CLR00H
QC1:
MOVA,R2
DECA
ADDA,DPL
MOVDPL,A
MOVDPH,#21H
MOVXA,@DPTR
MOVB,A
MOVDPH,#20H
MOVXA,@DPTR
MOVC,00H
SUBBA,B
MOV00H,C
PUSHACC
MOVA,#30H
ADDA,R2
DECA
MOVR0,A
POPACC
MOV@R0,A
DJNZR2,QC1
RET
Ⅵ 51单片机 汇编题目
a=7f
40=7f
4b=20
r0=35
Ⅶ 51单片机 题目 汇编
2002H地址存的是5BH,5BH经CPL,A 之后取反得A4H,赋给30H。
Ⅷ mcs 51 单片机汇编语言编程题
TEMP EQU 50H ;临时变量
SGM_H EQU 51H ;求和的高8位,以及平均值
SGM_L EQU 52H ;求和的低8位,以及平均值的余数
ORG 0000H
LJMP MAIN
ORG 0030H
MAIN:
LCALL MM ;排序子程序
LCALL AVG ;平均值子程序
SJMP $
MM:
MOV R0,#40H
LP_1:
MOV A,R0
MOV R1,A
MOV TEMP,@R0
LP_2:
INC R1
MOV A,@R1
CJNE A,TEMP,NEXT1
NEXT1:
JNC NEXT2
MOV @R0,A
MOV @R1,TEMP
MOV TEMP,@R0
NEXT2:
CJNE R1,#4FH,LP_2
INC R0
CJNE R0,#4FH,LP_1
RET
AVG:
MOV R0,#41H
MOV A,@R0
MOV SGM_H,#00H
LP_3:
CLR C
INC R0
ADD A,@R0
JNC NEXT3
INC SGM_H
NEXT3:
CJNE R0,#4EH,LP_3
MOV SGM_L,A
;以上部分是求和
SWAP A
ANL A,#0FH
MOV R1,A
MOV A,SGM_H
SWAP A
ADD A,R1
MOV B,#14D
DIV AB
SWAP A
MOV SGM_H,A
MOV A,B
SWAP A
MOV R1,A
MOV A,SGM_L
ANL A,#0FH
ADD A,R1
MOV B,#14D
DIV AB
ADD A,SGM_H
MOV SGM_H,A
MOV SGM_L,B
;以上部分是16位除以8位的除法
RET
解题思路是先排序,得到最大值与最小值,然后求平均值。
以上供参考。