asembly mã cho 89c51 sử dụng RS232

V

vanbayhoang

Guest
xin vui lòng bất cứ ai có thể cung cấp cho tôi mã asembly with89c51 sử dụng RS232!

 
;================================================= ===================================
; = =
; = TRONG TÊN ----- =
;================================================= ===================================
; để gửi sms
;------------------------------------------------- -----------------------------------
;-------------------------- BYTE phân --------------------- ----------------------
;------------------------------------------------- -----------------------------------

;------------------------------------------------- -----------------------------------
;-------------------------- Port phân --------------------- ----------------------
;------------------------------------------------- -----------------------------------
LED1 EQU P2
LED2 EQU P0

;------------------------------------------------- -----------------------------------
ORG 00H
;------------------------------------------------- -----------------------------------
JMP INIT
;------------------------------------------------- -----------------------------------

;------------------------------------------------- -----------------------------------
ORG 23giờ

JMP S0ISR

;------------------------------------------------- -----------------------------------

;------------------------------------------------- -----------------------------------
ORG 30H;================================================= =====================================

INIT:
MOV LED1, # 00
MOV LED2, # 00
MOV B, # 00

MOV TMOD, # 20H; LỰA CHỌN MODE 2 (8 Bit AUTO RELOAD) của TIMER1.
MOV TH1, # -3; 9.600 Baud rate for SERIAL COMM.
MOV SCON, # 50H; LỰA CHỌN MODE 1 (8 Bit DATA, 1 STOP và 1 START BIT), CHO SERIAL COMM
SETB TR1

GỌI PAUSE
GỌI PAUSE

;================================================= =========================================

CHÍNH:
GỌI SEND_SMS

JMP CHÍNH

;================================================= ==================================

SEND_SMS:GỌI ATC
GỌI CARRET
GỌI PAUSE
GỌI CMGF
GỌI CARRET
GỌI PAUSE
GỌI CMGS
GỌI CARRET
GỌI PAUSE
GỌI SMS_MESSAGE
GỌI PAUSE
GỌI CTRZ

MOV A, B
CPL A
MOV B, A
MOV LED1, B

RET

;================================================= ==================================
SMS_MESSAGE:
MOV DPTR, # SMSMSG
GỌI conf

RET;================================================= ==================================
S0ISR:CLR RI
MOV A, SBUF

MOV @ R0, A
INC R0

RETI;================================================= =====================================
NOWDEL:

ACALL ATC
ACALL CARRET

ACALL CMGD
ACALL CARRET
RET
;================================================= ===================================
ATC: MOV R2, # 00
MOV A, # 00
MOV DPTR, # MES9
CLR TI

STRING9:
MOVC A, @ A DPTR
MOV SBUF, A
JNB TI, $
CLR TI
ACALL DELAY
INC R2
MOV A, R2
CJNE R2, # 2, STRING9
RET

;================================================= ====================================
CARRET:
MOV R2, # 00
MOV A, # 00
MOV DPTR, # Car
CLR TI

STRING3:
MOVC A, @ A DPTR
MOV SBUF, A
JNB TI, $
CLR TI
ACALL DELAY
INC R2
MOV A, R2
CJNE R2, # 2, STRING3
RET
;================================================= ==========================================

CMGF:
MOV R2, # 00
MOV A, # 00
MOV DPTR, # MES6
CLR TI

STRING6:
MOVC A, @ A DPTR
MOV SBUF, A
JNB TI, $
CLR TI
ACALL DELAY
INC R2
MOV A, R2
CJNE R2, # 9, STRING6
RET

;================================================= =============================================

CMGS:
MOV R2, # 00
MOV A, # 00
MOV DPTR, # MES15
CLR TI

STRING15:
MOVC A, @ A DPTR
MOV SBUF, A
JNB TI, $
CLR TI
ACALL DELAY
INC R2
MOV A, R2
CJNE R2, # 21, STRING15
RET
;================================================= =============================================

CPM:
MOV R2, # 00
MOV A, # 00
MOV DPTR, # MES17
CLR TI

STRING17:
MOVC A, @ A DPTR
MOV SBUF, A
JNB TI, $
CLR TI
ACALL DELAY
INC R2
MOV A, R2
CJNE R2, # 12, STRING17
RET

;================================================= ==============================================

CMGR:
MOV R2, # 00
MOV A, # 00
MOV DPTR, # MES7
CLR TI

STRING7:
MOVC A, @ A DPTR
MOV SBUF, A
JNB TI, $
CLR TI
ACALL DELAY
INC R2
MOV A, R2
CJNE R2, # 9, STRING7
RET
;================================================= ==============================================
CMGD:
MOV R2, # 00
MOV A, # 00
MOV DPTR, # MES8
CLR TI

STRING8:
MOVC A, @ A DPTR
MOV SBUF, A
JNB TI, $
CLR TI
ACALL DELAY
INC R2
MOV A, R2
CJNE R2, # 9, STRING8
RET
;================================================= ==============================================

CTRZ:
MOV R2, # 00
MOV A, # 00
MOV DPTR, # MSG16
CLR TI

STRING16:
MOVC A, @ A DPTR
MOV SBUF, A
JNB TI, $
CLR TI
ACALL DELAY
INC R2
MOV A, R2
CJNE R2, # 1, STRING16
RET

;================================================= ===============================================
Conf:
MOV R2, # 00
MOV A, # 00
CLR TI

STRING10:

MOVC A, @ A DPTR
CJNE A, # 2AH, TRANS
RET

TRANS: MOV SBUF, A
JNB TI, $
CLR TI
CALL DELAY
INC R2
MOV A, R2
JMP STRING10;
;================================================= ==============================
DELAY:
MOV R4, # 100
HERE2:
MOV R3, # 255
HERE:
DJNZ R3, HERE
DJNZ R4, HERE2
RET

;================================================= ===============

CLRMEM:
MOV R0, # 84H
DOAGAIN:
MOV @ R0, # 0giờ
INC R0
CJNE R0, # 0FCH, DOAGAIN
RET;================================================= ===============

PAUSE:
MOV R7, # 64
COOLIT: ACALL DELAY
DJNZ R7, COOLIT
RET
;================================================= ==================;================================================= ===============
; = =
; = =
; = XEM BÀN =
; = =
; = =
;================================================= ===============

MES6: DB "AT CMGF = 1 ","*"

MES7: DB "AT CMGR = 1 ","*"

MES8: DB "AT CMGD = 1 ","*"

MES9: DB "AT ","*"

MES15: DB "AT CMGS =", 022H, "03333184821", 022H, 0

MSG16: DB 01AH, "*"

MES17: DB "AT CPM =", 022H, "ME", 022H, 0

Car: DB 0DH, 0AH, "*"

SMSMSG: DB "KIỂM TRA CỦA SMS TRUYỀN ","*"ENDKính trọng
Naveed Khowaja

 
Bạn đang chào đón ...

Cảm ơn

Kính trọng
Naveed Khowaja

 

Welcome to EDABoard.com

Sponsor

Back
Top