?? testpw.asm
字號:
ORG 0000H
LJMP main
org 000bh
ljmp time0
org 001bh
ljmp time1
ORG 0013H
lJMP INTPT1
ORG 0020H
switch bit p1.0
mute bit p1.1
p_warning bit p1.2
p_relax bit p1.3
p_guard bit p1.4
provision_1 bit p1.5
provision_2 bit p1.6
provision_3 bit p1.7
ON_LINE BIT p2.0
dtmf_ce bit p2.1
seg_dat bit p2.2
seg_clk bit p2.3
dtmf_clk bit p2.4
dtmf_dat bit p2.5
p_record bit p2.6
p_play bit p2.7
p_int0 bit p3.2
p_int1 bit p3.3
p_localwarning bit p3.4
p_beep bit p3.5
SDA bit P3.6
SCL bit P3.7
leavehand bit 12h
right bit 11h
relax_flag bit 10H
LED7 bit 0EH
LED6 bit 0DH
LED5 bit 0CH
LED4 bit 0BH ;play
LED3 bit 0AH ;warning
LED2 bit 09H ;preset
LED1 bit 08H ;guard
ACK BIT 07H ;應答標志位變量
a_flag bit 00h
time_out1 bit 01h
firstflag1 bit 02h
time_out bit 03h
valid1 bit 04h
keyflag bit 05h
valid bit 06h
BITBUF EQU 21H
addresspoint equ 31h ;已存電話個數
position equ 53h ;IIC中電話的位置
max equ 05h ;能最多存的個數 ;?????????????????????????
length_pw equ 04h ;密碼長度 4
times_pw equ 03h ;最多輸入次數 3
count2 equ 60h ;5a~5d 為密碼緩存
count1 equ 61h
main:
cpl p3.6 ;清 看門狗
CLR EA
MOV TMOD,#11H
mov ip,#08h
mov scon,#10h ;方式0
setb ex1 ;設防
mov th0,#3ch ;100ms
mov tl0,#0b0h
mov th1,#3ch ;100ms
mov tl1,#0b0h
clr IT1
SETB ET0
setb et1
mov p0,#0ffh
mov p1,#0ffh
mov p2,#7eh
mov p3,#0efh
MOV A,#00H
MOV B,A
MOV R0,#20H
CLR_RAM:
MOV @R0,A
INC R0
CJNE R0,#80H,CLR_RAM
setb firstflag1
mov sp,#65h
mov position,#40h
mov addresspoint,#01h ;電話個數
MOV 3AH,#00H ;電話表指針
MOV 37H,#01H
mov 54h,#0ffh
mov 55h,#10h
mov 56h,#10h
mov 57h,#10h
mov 58h,#10h
mov 59h,#00h
JB switch,RD_VALID000 ;跳線
MOV 30H,#16
LCALL delay5ms
JB switch,RD_VALID000
MOV 30H,#16
LCALL delay5ms
JB switch,RD_VALID000
lcall clrEEPR0M
RD_VALID000:
lcall rd_valid ;////// 讀取valid \\
;============================ 關顯示 ==============================
MAIN1: jb p_relax,relax1
mov a,#10h
lcall disp_seg
MOV 21H,#0FFH
CLR LED1
MOV A,21H
mov sbuf,a
jnb ti,$
clr ti
mov 30h,#4
lcall delay5ms
relax1:
cpl p3.6 ;清看門狗
SETB EA
MOV 37H,#01h
nop
nop
nop
nop
lcall save_valid
jNB p_relax,NEXT111 ;撤防
MOV 30H,#10
LCALL delay5ms
JNB p_relax,NEXT111
MOV 30H,#10
LCALL delay5ms
JNB p_relax,NEXT111
lcall handfree
clr ex1
setb relax_flag
MOV 21H,#0FFH
mov a,21H
mov sbuf,a
jnb ti,$
clr ti
NEXT111:
jNB p_guard,NEXT110 ;設防
MOV 30H,#10
LCALL delay5ms
JNB p_guard,NEXT110
MOV 30H,#10
LCALL delay5ms
JNB p_guard,NEXT110
cpl p3.6 ;清看門狗
lcall beep
MOV 21H,#0FFH
CLR LED1
MOV A,21H
mov sbuf,a
jnb ti,$
clr ti
setb ex1
clr relax_flag
NEXT110:
jNB p_warning,NEXT1 ;響鈴
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -