单片机复习材料(12)
发布时间:2021-06-05
发布时间:2021-06-05
接收程序:
ORG 0000H MOV SCON, #50H MOV @R0, SBUF MOV TMOD, #20H MOV R0, #20H INC R0 MOV TH1, #0E6H MOV R7, #32 DJNZ R7, LOOP MOV TL1, #0E6H LOOP:JNB RI, $ SJMP $ SETB TR1 CLR RI (2)中断方式编程
中断方式的初始化部分同查询方式,以下仅写不同部分。 中断发送程序:
CLR EA MOV DPTR, #AGA 。。。
SETB EA SJMP $ PUSH DPL SETB ES ORG 0023H PUSH DPH MOV SBUF, @R0 IOIP: CLR T1 INC R0 LOOP SJMP $ POP DPH MOV SBUF @R0 AGA DJNZ R7, LOOP POP DPL RETI 中断接收程序: ….. CLR EA POP DPL SJMP $ MOV DPTR, #AGA SETB EA ORG 0023H SETB ES IOIP: CLR RI PUSH DPH LOOP SJMP $ MOV SBUF, @R0 INC R0 AGA DJNZ R7, LOOP POP DPH RETI
例8-2将89C51/89S51的RXD(p3.0 )和TXD(P3.1)接,将p1.0接一个发光二极管,如图8-11所示,编一个自己发送自己接收程序,检查本单片机的串行口是否完好。 解:
f=12MHz
=0。依据公式
求得汇编语言编程 ORG 0000H ACALL DAY ACALL DAY MOV TMOD,#20H MOV A, #OFFH SJMP ABC MOV TH1, #0CCH MOV SBUF, A DAY: MOV R0, #0 MOV TL1, #0CCH JNB RI, $ DAL: MOV R1, #0 SETB TR1 CLR RI DJNZ R1, $ MOV SCON, #50H MOV A, SBUF DJNZ R0, DAL ABC: CLR TI MOV P1, A RET MOV P1, #0FEH JNB TI, $ END
如果发送接收正确,可观察到p1.0接的发光二极管一闪一闪地亮,如果断开TXD和RXD的连线,发光二极管将不会闪烁。