CHƯƠNG 3: LƯU ĐỒ GIẢI THUẬT
2.3. Trạng thái của một trung kế
Sự hoạt động của trung kế thông qua 4 trạng thái:
Tt6/tbA
Thuê bao A gác máy
-Giải phóng kết nối -Cấp busy tone cho thuê bao B
Tt1/tbA Tt3/tbB
Tt6/tbA
Tt7/tbA
Thuê bao A nhấc máy
-Giải phóng thuê bao A với trung kế
-Ngắt tải giả
Tt1/tbA Tt7/tbA
Thuê bao A gác máy
-Giải phóng kết nối -Cấp busy tone cho thuê bao A
Tt3/tbA Tt1/tbB
- Trạng thái chờ thuê bao B nhấc máy - Trạng thái kết nối thuê bao B với trung kế 2.3.1.Trạng thái 1 của trung kế.
Trạng thái cảm biến chuông
N
Y
N
Y
Tt1/tk
Có tín hiệu chuông
-Đóng tải giả
-Cấp dial tone cho trung kế - Kết nối DTMF
DTMF rỗi Tt1/tk
Tt1/tk
Tt2/tk
2.3.2.Trạng thái 2 của trung kế
Trạng thái giải mã DTMF
N Y
N Y
N
Y Tt2/tk
Có mã DTMF
-Đọc mã DTMF về - Ngắt Dial tone
Tt2/tk
1số8 Tt2/tk
Tb B có ở trạng thái1
-Giải phóng DTMF
- Cấp chuông cho thuê bao B -Cấp ring back tone cho TK
Tt3/tk Tt1/tbB
Tt1/tk -Ngắt tải giả
- Giải phóng DTMF
2.3.3.Trạng thái 3 của trung kế
Trạng thái chờ thuê bao B nhấc máy
N N
Y
Y
2.3.4.Trạng thái 4 của trung kế
Trạng thái kết nối thuê bao B với trung kế
N N
Y Tt3/tk
Thuê bao B nhấc máy
-Ngắt chuông cho thuê bao B - Ngắt ring back tone cho tk - Kết nối tk với thuê bao B
Tt3/tk
Tt4/tk
Tt4/tk
Thuê bao B gác máy
-Giải phóng kết nối trung kế và thuê bao B
- Ngắt tải giả
Tt1/tk Tt1/tbB
Tt4/tk
3.Chương trình điều khiển:
;**********************TONG DAI DIEN TU*********************************
;================== khai bao bien ==================
tb1 equ 20h ;bien trang thai cua thue bao 1 tb2 equ 21h ;bien trang thai cua thue bao 2 tb3 equ 22h ;bien trang thai cua thue bao 3 tk equ 26h ;bien trang thai cua trung ke dtmf equ 23h ;bien dtmf
chiso equ 24h ;bien chi dinh cac thue bao hay trung ke
tbctk equ 25h ;bien xac dinh cac thue bao ket noi voi trunng ke
;============= khai bao ngat timer 0======================
org 00h
ljmp main
org 1bh
ljmp isr
org 30h
;=====================chuong trinh chinh===================
main:
;---khai bao dau--- mov tb1, #01h
mov tb2, #01h mov tb3, #01h mov tk, #01h mov dtmf, #00h
mov chiso, #00h
mov p2,#00h
mov p1,#00h
setb p3.2
;==========================khai bao ngat============================
mov tmod,#10h ;ngat timer 0 mode 1 setb tf1 ;cho phep ngat
GVHD: NGUYỄN THY LINH 61
;============= thuc hien ngat======================
isr:
clr a
clr tr1
mov th1,#high(-10000) mov tl1,#low(-10000)
setb tr1
mov a, chiso ;xac dinh cac thue bao hay la trung ke
;============= thue bao 1======================
loop:
jnb p0.0, thuebao_1 jnb p0.1, thuebao2 jnb p0.2, thuebao3_1 thuebao3_1:
ljmp thuebao3 thuebao_1:
mov a, tb1 cjne a, #01h, tb1_tt2
lcall trangthai1_thuebao1 ljmp exit1
tb1_tt2:
cjne a, #02h, tb1_tt3
lcall trangthai2_thuebao1 ljmp exit1
tb1_tt3:
cjne a, #03h, tb1_tt4
lcall trangthai3_thuebao1 ljmp exit1
tb1_tt4:
cjne a, #04h, tb1_tt5
lcall trangthai4_thuebao1 ljmp exit1
tb1_tt5:
cjne a, #05h, tb1_tt6
lcall trangthai5_thuebao1 ljmp exit1
tb1_tt6:
cjne a, #06h, tb1_tt7
lcall trangthai6_thuebao1 ljmp exit1
tb1_tt7:
cjne a, #07h, exit1
lcall trangthai7_thuebao1 ljmp exit1
exit1:
mov chiso, #02h
reti
;=========== thue bao 2 ===========
thuebao2:
mov a, tb2 cjne a, #01h, tb2_tt2
lcall trangthai1_thuebao2 ljmp exit2
tb2_tt2:
cjne a, #02h, tb2_tt3
lcall trangthai2_thuebao2 ljmp exit2
tb2_tt3:
cjne a, #03h, tb2_tt4
lcall trangthai3_thuebao2 ljmp exit2
tb2_tt4:
cjne a, #04h, tb2_tt5
lcall trangthai4_thuebao2 ljmp exit2
tb2_tt5:
cjne a, #05h, tb2_tt6
lcall trangthai5_thuebao2 ljmp exit2
tb2_tt6:
cjne a, #06h, tb2_tt7
lcall trangthai6_thuebao2 ljmp exit2
tb2_tt7:
cjne a, #07h, exit2
lcall trangthai7_thuebao2 ljmp exit2
exit2:
mov chiso, #03h reti
;=========== thue bao 3 ===========
thuebao3:
mov a, tb3 cjne a, #01h, tb3_tt2
lcall trangthai1_thuebao3 ljmp exit3
tb3_tt2:
GVHD: NGUYỄN THY LINH 63 ljmp exit3
tb3_tt3:
cjne a, #03h,tb3_tt4 lcall trangthai3_thuebao3 ljmp exit3
tb3_tt4:
cjne a, #04h,tb3_tt5 lcall trangthai4_thuebao3 ljmp exit3
tb3_tt5:
cjne a, #05h,tb3_tt6 lcall trangthai5_thuebao3 ljmp exit3
tb3_tt6:
cjne a, #06h,tb3_tt7 lcall trangthai6_thuebao3 ljmp exit3
tb3_tt7:
cjne a, #07h,exit3
lcall trangthai7_thuebao3 ljmp exit3
exit3:
mov chiso,#04h reti
;=========== trung ke ===========
trungke:
mov a, tk cjne a, #01h, tk_tt2
lcall trangthai1_trungke ljmp exit4
tk_tt2:
cjne a, #02h, tk_tt3
lcall trangthai2_trungke ljmp exit4
tk_tt3:
cjne a, #03h, tk_tt4
lcall trangthai3_trungke ljmp exit4
tk_tt4:
cjne a, #04h, exit3
lcall trangthai4_trungke ljmp exit4
exit4:
mov chiso, #01h reti
;**********************************************************************
;================CAC TRANG THAI PHUC VU CHO THUE BAO 1=================
;==========trang thai 1 phuc vu cho thue bao 1=============
trangthai1_thuebao1:
clr p1.1
jb p0.0, tb1_thoat1 ; neu thue bao 1 nhac may
setb p1.1
mov a, dtmf
cjne a, #00h, tb1_dtmf_ban
mov dtmf, #01h ; dua dtmf ve trang thai ban mov a, #00h ; cap dial tone cho tb1
lcall switch_on
lcall DELAY
mov a, #0c0h ; ket noi dtmf voi tb1 lcall switch_on
lcall DELAY
mov tb1, #02h ; dua tb1 ve trang thai 2 lcall thuebao_1
ret
;---neu dtmf ban--- tb1_dtmf_ban:
mov a, #40h ; cap busy tone cho tb1 lcall switch_on
mov tb1, #03h ; dua tb1 ve trang thai 3 ret
;---neu thue bao 1 chua nhac may--- tb1_thoat1:
mov tb1, #01h ; dua tb1 ve trang thai 1 ret
;==========trang thai 2 phuc vu cho thue bao 1=============
trangthai2_thuebao1:
clr p1.1
jnb p0.0, tb1_dtmf_ma ; neu tb1 gac may
setb p1.1
mov a, #00h ; ngat dial tone cho tb1 lcall switch_off
mov dtmf, #00h ; dua dtmf ve trang thai roi
GVHD: NGUYỄN THY LINH 65 mov tb1, #01h ; dua tb1 ve trang thai 1
ret
;---neu thue bao 1 con nhac may--- tb1_dtmf_ma:
setb p1.1
jb p3.2, tb1_dtmf_giaima ; neu dtmf chua co ma mov tb1, #02h ; dua tb1 ve trang thai 2 ret
;---neu dtmf co ma--- tb1_dtmf_giaima:
mov a, #00h ; ngat dial tone lcall switch_off
mov a, p0
anl a, #0fh
cjne a, #09h, tb1_so2 ; neu so doc ve la so 9 mov dtmf, #00h ; dua dtmf ve trang thai roi mov a, #0c0h ; ngat dtmf
lcall switch_off
mov tb1, #04h ; dua tb1 sang trang thai 4 lcall thuebao_1
ret
;---neu so doc ve la so 2--- tb1_so2:
cjne a, #02h,tb1_so3 mov a, tb2
cjne a, #01h, tb2_ban_1 ; neu tb2 roi
mov dtmf, #00h ; dua dtmf ve trang thai roi mov a, #0c0h ; ngat dtmf
lcall switch_off
setb p1.0
setb p2.1 ; cap chuong cho tb2
clr p1.0
setb p1.6
mov a, #82h ; cap ring back tone cho tb1 lcall switch_on
mov tb2, #01h ; dua tb2 sang trang thai 1 mov tb1, #05h ; dua tb1 sang trang thai 5 lcall thuebao_1
lcall thuebao2 ret
;---neu so doc ve la so 3--- tb1_so3:
cjne a, #03h, tb1_sokhac mov a, tb3
cjne a, #01h, tb3_ban_1 ; neu tb3 roi
mov dtmf, #00h ; dua dtmf ve trang thai roi mov a, #0c0h ; ngat dtmf
lcall switch_off
setb p1.0 ; cap chuong cho tb3
setb p2.2
clr p1.0
setb p1.6
mov a, #84h ; cap ring back tone cho tb1 lcall switch_on
mov tb3, #01h ; dua tb3 sang trang thai 1 mov tb1, #05h ; dua tb1 sang trang thai 5 lcall thuebao_1
lcall thuebao3 ret
;---neu so doc ve la so khac---
tb1_sokhac:
mov a, #00h ; cap dial tone cho tb1 lcall switch_on
mov tb1, #02h ; dua tb1 ve trang thai 2 ret
;---neu thue bao 2 ban--- tb2_ban_1:
mov a, #40h ; cap busy tone cho tb1 lcall switch_on
mov dtmf, #00h ; dua dtmf ve trang thai roi mov a, #0c0h ; ngat dtmf
lcall switch_off
mov tb1, #03h ; dua tb1 sang trang thai 3 ret
;---neu thue bao 3 ban--- tb3_ban_1:
mov a, #40h ; cap busy tone cho tb1 lcall switch_on
mov dtmf, #00h ; dua dtmf ve trang thai roi mov a, #0c0h ; ngat dtmf
lcall switch_off
mov tb1, #03h ; dua tb1 sang trang thai 3
GVHD: NGUYỄN THY LINH 67
;==========trang thai 5 phuc vu cho thue bao 1=============
trangthai5_thuebao1:
clr p1.1
jnb p0.0, tb1_nhacmay1 ; neu tb1 gac may
setb p1.1
lcall tb1_ngatchuong1 ; ngat chuong tb2,tb3
lcall tb1_ngatchuong2 ; ngat ring back tone cho tb1 mov tb1, #05h ; dua tb1 ve trang thai 1
mov tb2, #01h ; dua tb2 ve trang thai 1 mov tb3, #01h ; dua tb3 ve trang thai 1 lcall thuebao_1
lcall thuebao2 lcall thuebao3 ret
;---neu thue bao 1 con nhac may--- tb1_nhacmay1:
clr p1.1
jnb p0.1, tb2_nhacmay_2 ; neu tb2 chua nhac may jnb p0.2, tb3_nhacmay_2 ; neu tb3 chua nhac may
setb p1.1
mov tb1, #05h ; dua tb1 ve trang thai 5 ret
;---neu thue bao 2 nhac may--- tb2_nhacmay_2:
clr p1.1
lcall tb1_ngatchuong1 ; ngat chuong tb2
setb p1.1 ; ngat ring back tone cho tb1 mov a, #40h ; ket noi tb1 voi link1
lcall switch_on_1
mov a, #50h ; ket noi tb2 voi link1 lcall switch_on_1
mov tb1, #06h ; dua tb1 sang trang thai 6 mov tb2, #06h ; dua tb2 sang trang thai 6
; ljmp main lcall thuebao_1 lcall thuebao2 ret
;---neu thue bao 3 nhac may--- tb3_nhacmay_2:
clr p1.1
lcall tb1_ngatchuong2 ; ngat chuong tb3
setb p1.1 ; ngat ring back tone cho tb1 mov a, #40h ; ket noi tb1 voi link1
lcall switch_on_1
mov a, #60h ; ket noi tb3 voi link1 lcall switch_on_1
mov tb1, #06h ; dua tb1 sang trang thai 6 mov tb3, #06h ; dua tb3 sang trang thai 6
; ljmp main lcall thuebao_1 lcall thuebao3 ret
;---chuong trinh ngat chuong 1--- tb1_ngatchuong1:
clr p1.6 ; ngat chuong cho tb2
clr p2.1
setb p1.0
nop
clr p1.0
mov a, #80h ; ngat ring back tone cho tb1 lcall switch_off
ret
;---chuong trinh ngat chuong 2--- tb1_ngatchuong2:
clr p1.6 ; ngat chuong cho tb3
clr p2.2
setb p1.0
nop
clr p1.0
mov a, #80h ; ngat ring back tone cho tb1 lcall switch_off
ret
;==========trang thai 3 phuc vu cho thue bao 1=============
trangthai3_thuebao1:
clr p1.1
jb p0.0, tb1_gacmay2 ; neu tb1 con nhac may
setb p1.1
mov tb1, #03h ; dua tb1 ve trang thai 3 lcall thuebao_1
ret
;---neu thue bao 1 gac may---
GVHD: NGUYỄN THY LINH 69 mov a, #40h ; ngat busy tone cho tb1
lcall switch_off
mov tb1, #01h ; dua tb1 ve trang thai 1 lcall thuebao_1
ret
;==========trang thai 6 phuc vu cho thue bao 1=============
trangthai6_thuebao1:
clr p1.1
jb p0.0, tb1_gacmay1 ; neu tb1 con nhac may jb p0.1, tb2_gacmay1 ; neu tb2 con nhac may jb p0.2, tb3_gacmay1 ; neu tb2 con nhac may
setb p1.1
mov tb1, #06h ; dua tb1 ve trang thai 6 lcall thuebao_1
ret
;---neu tb1 gac may--- tb1_gacmay1:
setb p1.1
lcall tb1_ngatkn ; ngat ket noi giua tb1 va tb2 mov a, #50h ; cap busy tone cho tb2 lcall switch_on
mov a, #60h ; cap busy tone cho tb3 lcall switch_on
; ljmp loop
mov tb1, #05h ; dua tb1 sang trang thai 1 mov tb2, #01h ; dua tb1 sang trang thai 5 mov tb3, #01h
lcall thuebao_1 lcall thuebao2 lcall thuebao3 ret
;---neu tb2 gac may--- tb2_gacmay1:
setb p1.1
lcall tb1_ngatkn ; ngat ket noi giua tb1 va tb2 mov a, #40h ; cap busy tone cho tb1 lcall switch_on
; ljmp loop
mov tb1, #01h ; dua tb1 sang trang thai 5 mov tb2, #05h ; dua tb2 sang trang thai 1 lcall thuebao_1
lcall thuebao2 ret
;---neu tb3 gac may--- tb3_gacmay1:
setb p1.1
lcall tb1_ngatkn ; ngat ket noi giua tb1 va tb2 mov a, #40h ; cap busy tone cho tb1 lcall switch_on
; ljmp loop
mov tb1, #01h ; dua tb1 ve trang thai 3 mov tb3, #05h ; dua tb3 ve trang thai 1 lcall thuebao_1
lcall thuebao3 ret
;---chuong trinh ngat ket noi--- tb1_ngatkn:
mov a, #40h ; giai phong tb1 voi link1 lcall switch_off_1
mov a, #50h ; giai phong tb2 voi link1 lcall switch_off_1
mov a, #60h ; giai phong tb3 voi link1 lcall switch_off_1
ret
;==========trang thai 4 phuc vu cho thue bao 1=============
trangthai4_thuebao1:
mov a, tk
cjne a, #01, tb1_tk_ban ; neu tk o trang thai 1 setb p1.7 ; dong tai gia
mov a, #00h ; ket noi tb1 voi trung ke lcall switch_on_1
mov tb1, #07h ; dua tb1 sang trang thai 7 lcall thuebao_1
ret
;---neu tk khong o trang thai 1--- tb1_tk_ban:
mov a, #40h ; cap busy tone cho tb1 lcall switch_on
mov tb1, #03h ; dua tb1 ve trang thai 3 lcall thuebao_1
ret
;==========trang thai 7 phuc vu cho thue bao 1=============
trangthai7_thuebao1:
clr p1.1
jb p0.0, tb1_gmay ; neu tb1 con nhac may
setb p1.1
mov tb1, #07h ; dua tb1 ve trang thai 7 lcall thuebao_1
GVHD: NGUYỄN THY LINH 71
;---neu tb1 gac may--- tb1_gmay:
setb p1.1
mov a, #00h ; giai phong tb1 voi trung ke lcall switch_off_1
mov tk, #01h ; dua tk ve trang thai 1 lcall trungke
clr p1.7 ; ngat tai gia
mov tb1, #01h ; dua tb1 ve trang thai 1 lcall thuebao_1
ljmp main
ret
;************************************************************************
;================CAC TRANG THAI PHUC VU CHO THUE BAO 2=================
;==========trang thai 1 phuc vu cho thue bao 2=============
trangthai1_thuebao2:
clr p1.1
jb p0.1, tb2_thoat1 ; neu thue bao 2 nhac may
setb p1.1
mov a, dtmf
cjne a, #00h, tb2_dtmf_ban ; neu dtmf roi
mov dtmf, #01h ; dua dtmf va trang thai ban mov a, #10h ; cap dial tone cho tb2 lcall switch_on
lcall DELAY
mov a, #0d0h ; ket noi dtmf voi tb2 lcall switch_on
lcall DELAY
mov tb2,#02h
lcall thuebao2 ; dua tb2 ve trang thai 2 ret
;---neu dtmf ban--- tb2_dtmf_ban:
mov a, #50h ; cap busy tone cho tb2 lcall switch_on
mov tb2, #03h ; dua tb2 ve trang thai 3 ret
;---neu thue bao 2 chua nhac may--- tb2_thoat1:
mov tb2, #01h ; dua tb2 ve trang thai 1
ret
;==========trang thai 2 phuc vu cho thue bao 2=============
trangthai2_thuebao2:
clr p1.1
jnb p0.1, tb2_dtmf_ma ; neu tb2 gac may
setb p1.1
mov a, #10h ; ngat dial tone cho tb2 lcall switch_off
mov dtmf, #00h ; dua dtmf ve trang thai roi mov a, #0d0h ; giai phong dtmf
lcall switch_off
mov tb2, #01h ; dua tb2 ve trang thai 1 ret
;---neu thue bao 2 con nhac may--- tb2_dtmf_ma:
setb p1.1
jb p3.2, tb2_dtmf_giaima ; neu dtmf chua co ma mov tb2, #02h ; dua tb2 ve trang thai 2 ret
;---neu dtmf co ma--- tb2_dtmf_giaima:
mov a, #10h ; ngat dial tone cho tb2
lcall switch_off
mov a, p0
anl a, #0fh ; doc ve
cjne a, #09h, tb2_so1 ; neu so doc ve la so 9 mov dtmf, #00h ; dua dtmf ve trang thai roi mov a, #0d0h ; ngat dtmf
lcall switch_off
mov tb2, #04h ; dua tb2 sang trang thai 4 lcall thuebao2
ret
;---neu so doc ve la so 1--- tb2_so1:
cjne a, #01h, tb2_so3 mov a, tb1
cjne a, #01h, tb1_ban_1 ; neu tb1 roi
mov dtmf, #00h ; dua dtmf ve trang thai roi
GVHD: NGUYỄN THY LINH 73 setb p1.0 ; cap chuong cho tb1
setb p2.0
clr p1.0
setb p1.6
mov a, #91h ; cap ring back tone cho tb2 lcall switch_on
mov tb1, #01h ; dua tb1 sang trang thai 1 mov tb2, #05h ; dua tb2 sang trang thai 5 lcall thuebao_1
lcall thuebao2 ret
;---neu so doc ve la so 3--- tb2_so3:
cjne a, #03h, tb2_sokhac mov a, tb3
cjne a, #01h, tb3_ban1 ; neu tb1 roi
mov dtmf, #00h ; dua dtmf ve trang thai roi mov a, #0d0h ; ngat dtmf
lcall switch_off
setb p1.0 ; cap chuong cho tb1
setb p2.2
clr p1.0
setb p1.6
mov a, #94h ; cap ring back tone cho tb2 lcall switch_on
mov tb3, #01h ; dua tb3 sang trang thai 1 mov tb2, #05h ; dua tb2 sang trang thai 5 lcall thuebao2
lcall thuebao3 ret
;---neu so doc ve la so khac---
tb2_sokhac:
mov a, #10h ; cap dial tone cho tb2 lcall switch_on
mov tb2, #02h ; dua tb1 ve trang thai 2 ret
;---neu thue bao 1 ban--- tb1_ban_1:
mov a, #50h ; cap busy tone cho tb2 lcall switch_on
mov dtmf, #00h ; dua dtmf ve trang thai roi mov a, #0d0h ; ngat dtmf
lcall switch_off
mov tb2, #03h ; dua tb2 sang trang thai 3 ret
;---neu thue bao 3 ban--- tb3_ban1:
mov a, #50h ; cap busy tone cho tb2 lcall switch_on
mov dtmf, #00h ; dua dtmf ve trang thai roi mov a, #0d0h ; ngat dtmf
lcall switch_off
mov tb2, #03h ; dua tb2 sang trang thai 3 ret
;==========trang thai 5 phuc vu cho thue bao 2=============
trangthai5_thuebao2:
clr p1.1
jnb p0.1, tb2_nhacmay1 ; neu tb2 gac may
setb p1.1
lcall tb2_ngatchuong1 ; ngat chuong tb1
lcall tb2_ngatchuong2 ; ngat ring back tone cho tb2 mov tb2, #05h ; dua tb2 ve trang thai 1
mov tb1, #01h ; dua tb1 ve trang thai 1
mov tb3, #01h ; dua tb3 ve trang thai 1 lcall thuebao2
lcall thuebao_1 lcall thuebao3 ret
;---neu thue bao 2 con nhac may--- tb2_nhacmay1:
clr p1.1
jnb p0.0, tb1_nhacmay_2 ; neu tb1 chua nhac may jnb p0.2, tb3_nhacmay_3 ; neu tb3 chua nhac may
setb p1.1
mov tb2, #05h ; dua tb2 ve trang thai 5 ret
;---neu thue bao 1 nhac may--- tb1_nhacmay_2:
clr p1.1
lcall tb2_ngatchuong1 ; ngat chuong tb1
setb p1.1 ; ngat ring back tone cho tb2 mov a, #40h ; ket noi tb1 voi link1
GVHD: NGUYỄN THY LINH 75 lcall switch_on_1
mov tb2, #06h ; dua tb2 sang trang thai 6 mov tb1, #06h ; dua tb1 sang trang thai 6 lcall thuebao2
lcall thuebao_1 ret
;---neu thue bao 3 nhac may--- tb3_nhacmay_3:
clr p1.1
lcall tb2_ngatchuong2 ; ngat chuong tb3
setb p1.1 ; ngat ring back tone cho tb2 mov a, #60h ; ket noi tb3 voi link1
lcall switch_on_1
mov a, #50h ; ket noi tb2 voi link1 lcall switch_on_1
mov tb2, #06h ; dua tb2 sang trang thai 6 mov tb3, #06h ; dua tb1 sang trang thai 6 lcall thuebao2
lcall thuebao3 ret
;---chuong trinh ngat chuong 1--- tb2_ngatchuong1:
clr p1.6 ; ngat chuong cho tb1
clr p2.0
setb p1.0
nop
clr p1.0
mov a, #90h ; ngat ring back tone cho tb2 lcall switch_off
ret
;---chuong trinh ngat chuong 2--- tb2_ngatchuong2:
clr p1.6 ; ngat chuong cho tb3
clr p2.2
setb p1.0
nop
clr p1.0
mov a, #90h ; ngat ring back tone cho tb2 lcall switch_off
ret
;==========trang thai 3 phuc vu cho thue bao 2=============
trangthai3_thuebao2:
clr p1.1
jb p0.1, tb2_gacmay4 ; neu tb2 con nhac may
setb p1.1
mov tb2, #03h ; dua tb2 ve trang thai 3 lcall thuebao2
ret
;---neu thue bao 2 gac may--- tb2_gacmay4:
setb p1.1
mov a, #50h ; ngat busy tone cho tb2 lcall switch_off
mov tb2, #01h ; dua tb2 ve trang thai 1 lcall thuebao2
ret
;==========trang thai 6 phuc vu cho thue bao 2=============
trangthai6_thuebao2:
clr p1.1
jb p0.1, tb2_gacmay3 ; neu tb2 con nhac may jb p0.0, tb1_gacmay3 ; neu tb1 con nhac may jb p0.2, tb3_gacmay3 ; neu tb3 con nhac may
setb p1.1
mov tb2, #06h ; dua tb2 ve trang thai 6 lcall thuebao2
ret
;---neu tb2 gac may--- tb2_gacmay3:
setb p1.1
lcall tb2_ngatkn ; ngat ket noi giua tb1 va tb2 mov a, #40h ; cap busy tone cho tb1 lcall switch_on
mov a, #60h ; cap busy tone cho tb3 lcall switch_on
mov tb2, #05h ; dua tb1 sang trang thai 1 mov tb1, #01h ; dua tb2 sang trang thai 5 mov tb3, #01h
lcall thuebao2 lcall thuebao_1 lcall thuebao3 ret
;---neu tb1 gac may--- tb1_gacmay3:
setb p1.1
lcall tb2_ngatkn ; ngat ket noi giua tb1 va tb2 mov a, #50h ; cap busy tone cho tb2 lcall switch_on
GVHD: NGUYỄN THY LINH 77 lcall thuebao2
lcall thuebao_1 ret
;---neu tb1 gac may--- tb3_gacmay3:
setb p1.1
lcall tb2_ngatkn ; ngat ket noi giua tb1 va tb2 mov a, #50h ; cap busy tone cho tb2 lcall switch_on
mov tb2, #01h ; dua tb2 ve trang thai 3 mov tb3, #05h ; dua tb3 ve trang thai 1 lcall thuebao2
lcall thuebao3 ret
;---chuong trinh ngat ket noi--- tb2_ngatkn:
mov a, #40h ; giai phong tb1 voi link1 lcall switch_off_1
mov a, #50h ; giai phong tb2 voi link1 lcall switch_off_1
mov a, #60h ; giai phong tb3 voi link1 lcall switch_off_1
ret
;==========trang thai 4 phuc vu cho thue bao 2=============
trangthai4_thuebao2:
mov a, tk
cjne a, #01, tb2_tk_ban ; neu tk o trang thai 1 setb p1.7 ; dong tai gia
mov a, #10h ; ket noi tb2 voi trung ke lcall switch_on_1
mov tb2, #07h ; dua tb2 sang trang thai 7 lcall thuebao2
ret
;---neu tk khong o trang thai 1--- tb2_tk_ban:
mov a, #50h ; cap busy tone cho tb2 lcall switch_on
mov tb2, #03h ; dua tb2 ve trang thai 3 lcall thuebao2
ret
;==========trang thai 7 phuc vu cho thue bao 2=============
trangthai7_thuebao2:
clr p1.1
jb p0.1, tb2_gmay ; neu tb2 con nhac may
setb p1.1
mov tb2, #07h ; dua tb2 ve trang thai 7
lcall thuebao2
ljmp main
ret
;---neu tb2 gac may--- tb2_gmay:
setb p1.1
mov a, #10h ;ngat ket noi tb2 voi trung ke lcall switch_off_1
mov tk, #01h ; dua tk ve trang thai 1 lcall trungke
clr p1.7 ; ngat tai gia
mov tb2, #01h ; dua tb2 ve trang thai 1 lcall thuebao2
ljmp main
ret
;================CAC TRANG THAI PHUC VU CHO THUE BAO 3=================
;==========trang thai 1 phuc vu cho thue bao 3=============
trangthai1_thuebao3:
clr p1.1
jb p0.2, tb3_thoat1 ; neu thue bao 1 nhac may
setb p1.1
mov a, dtmf
cjne a, #00h, tb3_dtmf_ban
mov dtmf, #01h ; dua dtmf ve trang thai ban mov a, #20h ; cap dial tone cho tb3
lcall switch_on
lcall DELAY
mov a, #0e0h ; ket noi dtmf voi tb3 lcall switch_on
lcall DELAY
mov tb3, #02h ; dua tb1 ve trang thai3 lcall thuebao3
ret
;---neu dtmf ban--- tb3_dtmf_ban:
mov a, #60h ; cap busy tone cho tb3 lcall switch_on
mov tb3, #03h ; dua tb3 ve trang thai 3 ret
;---neu thue bao 1 chua nhac may---