单片机实验全部程序,清零,转换,拆字,传送,并行口8255扩展,(模拟交通灯),串并转换实验程序

  • 格式:txt
  • 大小:5.62 KB
  • 文档页数:2

?一、清零程序(把7000H-70FFH的内容清零)
ORG 0000H
MOV DPTR,#7000H
MOV R2,#00H
MOV A,#00H
LOOP:MOVX @DPTR,A
INC DPTR
DJNZ R2,LOOP
END

内部:
ORG 0000H
MOV R0,#30H
MOV R2,#00H
MOV A,#00H
LOOP:MOV @R0,A
INC R0
DJNZ R2,LOOP
END

把7000H-70FFH中的内容变为00H,01H-FFH
ORG 0000H
MOV DPTR,#7000H
MOV A,#00H
MOV R0,#00H
LOOP:MOVX @DPTR,A
INC DPTR
INC A
DJNZ R0,LOOP
SJMP $
END

把7000H-70FFH中内容全为0FFH
ORG 0000H
MOV DPTR,#7000H
MOV R2,#0FFH
MOV A,#0FFH
LOOP:MOVX @DPTR,A
INC DPTR
DJNZ R2,LOOP
END

二、拆字程序(把7000H的内容拆开,高位送7001H低位,低位送7002H低位。7001H/7002H高位清零,一般本程序用于把数据送显示缓冲区时用。)
ORG 0000H
MOV A,#34H
MOV DPTR,#7000H
MOVX @DPTR,A
SWAP A
ANL A,#0FH
MOV DPTR,#7001H
MOVX @DPTR,A
MOV DPTR,#7000H
MOV A,#34H
MOVX @DPTR,A
ANL A,#0FH
MOV DPTR,#7002H
MOVX @DPTR,A
SJMP $
END

内部:
ORG 0000H
MOV A,#34H
MOV R0,#30H
MOV @R0,A
SWAP A
ANL A,#0FH
MOV R0,#31H
MOV @R0,A
MOV R0,#30H
MOV A,#34H
MOV @R0,A
ANL A,#0FH
MOV R0,#32H
MOV @R0,A
SJMP $
END

7000H,7001H的低位相拼后送入7002H:
ORG 0000H
MOV A,#12H
MOV DPTR,#7000H
MOVX @DPTR,A
ANL A,#0FH
MOV R0,A
MOV A,#34H
MOV DPTR,#7001H
MOVX @DPTR,A
ANL A,#0FH
SWAP A
ORL A,R0
MOV DPTR,#7002H
MOVX @DPTR,A
SJMP $
END

把7000H内容拆开,高位送7001H低位,低位送7002H低位,7001H、7002H高位清零
外部:
ORG 0000H
MOV DPTR,#7000H
MOVX A,@DPTR
MOV B,A
ANL A,#0F0H
SWAP A
INC DPTR
MOVX @DPTR,A
MOV A,B
ANL A,#0FH
INC DPTR
MOVX @DPTR,A
SJMP $
END

内部:
ORG 0000H
MOV R0,#30H
MOV A,@R0
MOV B,A
ANL A,#0F0H
SWAP A
INC R0
MOV @R0,A
MOV A,B
ANL A,#0FH
INC R0
MOV @R0,A
SJMP $
END
三、数据传送子程序(把(R2,R3)源RAM区首地址内的(R6,R7)个字节数据,传送到(R4,R5)目的RAM区。)
ORG 0000H
MOV R2,#60H
MOV R3,#00H
MOV R4,#70H
MOV R5,#00H
MOV R6,#0FH
INC R6
MOV R7,#0FFH
AA:MOV DPH,R2
MOV DPL,R3
MOVX A,@DPTR
MOV DPH,R4
MOV DPL,R5
MOVX @DPTR,A
INC R3
INC R5
DJNZ R7,AA
INC R2
INC R4
DJNZ R6,AA
SJMP $
END

四、查找相同数个数(在7000H-700FH中查出几个字节是零,统计“00”的个数再显示在数码管上。)
ORG 0000H
SS:MOV R0,#10H
MOV R1,#00H
MOV DPTR,#7000H
AA:MOVX A,@DPTR
CJNE A,#00H,BB
INC R1
BB:INC DPTR
DJNZ R0,AA
MOV 30H,R1
SJMP $
END

五、P3.3输入、P1口输出(1、3.3口做输入口,外接一脉冲,每输入一个脉冲,P1口按十六进制加一。P1口做输出口,编写程序,使P1口接的8个发光二极管L1-L8按16进制加一方式点亮发光二极管。)
ORG 0000H
CIA:MOV A,#00H
CIA1:JB P3.3,CIA1
LCALL DELAY
JB P3.3,CIA1
CIA2:JNB P3.3,CIA2
LCALL DELAY
JNB P3.3,CIA2
INC A
PUSH ACC
MOV P1,A
POP ACC
AJMP CIA1
DELAY:MOV R6,#20H
DELAY1:MOV R7,#50H
DJNZ R7,$
DJNZ R6,DELAY1

RET
END


六、并行I/O口8255扩展(模拟交通灯)
ORG 0000H
MOV DPTR,#0FF2BH
MOV A,#80H
MOVX @DPTR,A
MOV DPTR,#0FF29H
MOV A,#09H
MOVX @DPTR,A
INC DPTR
MOV A,#24H
MOVX @DPTR,A
ACALL DELAY1
LOOP1:MOV DPTR,#0FF29H
MOV A,#08H
MOVX @DPTR,A
INC DPTR
MOV A,#61H
MOVX @DPTR,A
ACALL DELAY1
MOV R3,#03H
LOOP:MOV DPTR,#0FF29H
MOV A,#04H
MOVX @DPTR,A
INC DPTR
MOV A,#51H
MOVX @DPTR,A
ACALL DELAY5
MOV DPTR,#0FF29H
MOV A,#00H
MOVX @DPTR,A
INC DPTR
MOV A,#41H
MOVX @DPTR,A
ACALL DELAY5
DJNZ R3,LOOP
MOV DPTR,#0FF29H
MOV A,#03H
MOVX @DPTR,A
INC DPTR
MOV A,#0CH
MOVX @DPTR,A
ACALL DELAY1
MOV R3,#03H
LOOP3:MOV DPTR,#0FF29H
MOV A,#02H
MOVX @DPTR,A
INC DPTR
MOV A,#80H
MOVX @DPTR,A
ACALL DELAY5
MOV DPTR,#0FF29H
MOV A,#02H
MOVX @DPTR,A
INC DPTR
MOV A,#08H
MOVX @DPTR,A
ACALL DELAY5
DJNZ R3,LOOP3
AJMP LOOP1
DELAY1:MOV R4,#04H
DELAY2:MOV R5,#0AH
DELAY3:MOV R6,#00H
DELAY4:MOV R7,#80H
DJNZ R7,$
DJNZ R6,DELAY4
DJNZ R5,DELAY3
DJNZ R4,DELAY2
RET
DELAY5:MOV R5,#04H
DELAY6:MOV R6,#00H
DELAY7:MOV R7,#80H
DJNZ R7,$
DJNZ R6,DELAY7
DJNZ R5,DELAY6
RET
END



七、串并转换实验
ORG 0000H
LJMP MAIN
ORG 000BH
AJMP PT0F
ORG 0033H
MAIN:MOV SP,#60H
MOV TMOD,#01H
MOV TL0,#00H
MOV TH0,#4BH
MOV R0,#0H
MOV R4,#20
MOV SCON,#00H
CLR TI
CLR RI
SETB TR0
SETB ET0
SETB EA
SJMP $
PT0F:PUSH ACC
PUSH PSW
CLR EA
CLR TR0
MOV TL0,#00H
MOV TH0,#4BH
SETB TR0
DJNZ R4,EXIT
MOV R4,#20
MOV DPTR,#TAB
MOV A,R0
MOVC A,@A+DPTR
CLR TI
MOV SBUF,A
INC R0
CJNE R0,#0AH,EXIT
MOV R0,#00H
EXIT:SETB EA
SETB ET0
SETB TR0
POP PSW
POP ACC
RETI
TAB:DB 0FCH,60H,0DAH,0F2H,66H,0B6H,0BEH,0E0H,0FEH,0F6H
END

1.R0(30H)内部RAM区域首地址内的R1(20H)个字节数据传送到(R2,R3)目的RAM区
ORG 0000H
MOV R0,#30H
MOV R1,#20H
MOV R2,#60H
MOV R3,#00H
MAIN:MOV A,@R0
MOV DPH,#60H
MOV DPL,#00H
MOVX @DPTR,A
INC R0
INC R3
DJNZ R2,MAIN
END

2.在7000H和700FH中查出几个字节是零,统计00的个数,显示在30H上
ORG 0000H
MOV R0,#00H
MOV R1,#00H
MOV DPTR,#7000H
MAIN:MOVX A,@DPTR
CJNE A,#00H,LOOP
INC R0
LOOP:INC DPTR
INC R1
CJNE R1,#10H,MAIN
MOV 30H,R0
SJMP $
END

3.外部3000H-300FH内容传送到内部30H-3FH中
ORG 0000H
MOV R2,#30H
MOV R3,#00H
MOV R4,#10H
MOV R0,#30H
MAIN:MOV DPTR,#3000H
MOVX A,@DPTR
MOVX @R0,A
INC R3
INC R0
DJNZ R4,MAIN
END




下载文档原格式

  / 2
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。