T2作為波特率控制UART_RXD 是硬中斷0或1口,如果能進入中斷,說明該線有一個起始位產生,進入中斷后調用下面的接收程序。退出硬中斷之前還需要將硬中斷標志重新復位。UART_TXD 是任何其它IO即可。UART_SEND: PUSH IE PUSH DPH PUSH DPL PUSH PSW PUSH 00H PUSH ACC CLR EA SETB UART_TXD ;START BIT MOV R0,A CLR TR2 ;TR2置1,計數(shù)器2啟動,時間計數(shù)啟動。 MOV A,RCAP2L;計數(shù)器2重新裝載值 MOV TL2,A ;置計數(shù)器2初值 ;T2需要重新裝載 MOV A,DPH MOV A,RCAP2H MOV TH2,A MOV A,R0 SETB TR2 ;TR2置1,計數(shù)器 JNB TF2,$ CLR TF2 JNB TF2,$ CLR TF2
標簽:
模擬串口
通訊程序
匯編代碼
編寫
上傳時間:
2014-01-12
上傳用戶:二十八號
;片內RAM初始化子程序
IBCLR :MOV A,R0 MOV R1,A CLR AIBC1 :MOV @R1,A INC R1 DJNZ R7,IBC1 RET
;片外RAM初始化子程序
EBCLR1 :MOV A,ADDPL MOV DPL,A MOV A,ADDPH MOV DPH,A CLR CEBC11 :MOVX @DPTR,A INC DPTR DJNZ R7,EBC11 RET
;片外RAM初始化子程序(雙字節(jié)個單元)
EBCLR2 :MOV A,ADDPL MOV DPL,A MOV A,ADDPH MOV DPH,A MOV A,R7 JZ EBC21 INC R6EBC21 :CLR A MOVX @DPTR,A INC DPTR DJNZ R7,EBC21 DJNZ R6,EBC21 RET
;內部RAM數(shù)據(jù)復制程序;入口 :R0,R7;占用資源:A;堆棧需求:2字節(jié);出口 :R1
IBMOV :MOV A,R0 ADD A,R7 MOV R0,A MOV A,R1 ADD A,R7 MOV R1,AIBM1 :DEC R0 DEC R1 MOV A,@R0 MOV @R1,A DJNZ R7,IBM1 RET
;外部RAM數(shù)據(jù)復制程序;入口 :ADDPH,ADDPL,R7;占用資源:ACC;堆棧需求:2字節(jié);出口 :R0,R1
EBMOV1 :MOV A,ADDPL ADD A,R7 MOV DPL,A CLR A ADDC A,ADDPH MOV DPH,A MOV A,R7 ADD A,R1 XCH A,R0 ADDC A,#00H MOV P2,AEBM11 :DEC R0 CJNE R0,#0FFH,EBM12 DEC P2EBM12 :DEC DPL MOV A,DPL CJNE A,#0FFH,EBM13 DEC DPHEBM13 :MOVX A,@R0 MOVX @DPTR,A DJNZ R7,EBM11 RET
;外部RAM數(shù)據(jù)復制程序
標簽:
程序庫
常用程序
上傳時間:
2013-10-30
上傳用戶:bs2005
MCS-51單片機實用子程序庫
;片內RAM初始化子程序IBCLR: MOV A,R0MOV R1,ACLR AIBC1 : MOV @R1,AINC R1DJNZ R7,IBC1RET;片外RAM初始化子程序EBCLR1: MOV A,ADDPLMOV DPL,AMOV A,ADDPHMOV DPH,ACLR CEBC11: MOVX @DPTR,AINC DPTRDJNZ R7,EBC11RET;片外RAM初始化子程序(雙字節(jié)個單元)EBCLR2: MOV A,ADDPLMOV DPL,AMOV A,ADDPHMOV DPH,AMOV A,R7JZ EBC21INC R6EBC21: CLR AMOVX @DPTR,AINC DPTRDJNZ R7,EBC21DJNZ R6,EBC21RET;內部RAM數(shù)據(jù)復制程序;入口: R0,R7;占用資源: A;堆棧需求: 2字節(jié)
標簽:
MCS
51
單片機實用
程序
上傳時間:
2013-10-10
上傳用戶:18602424091