MAX_TIME_M10_1 EQU 60H
MAX_TIME_H01_1 EQU 61H
MAX_TIME_H10_1 EQU 62H

MAX_TIME_M01_2 EQU 63H
MAX_TIME_M10_2 EQU 64H
MAX_TIME_H01_2 EQU 65H
MAX_TIME_H10_2 EQU 66H

MAX_TIME_M01_3 EQU 67H
MAX_TIME_M10_3 EQU 68H
MAX_TIME_H01_3 EQU 69H
MAX_TIME_H10_3 EQU 6AH
PASS_1 EQU 6BH
PASS_2 EQU 6CH
PASS_3 EQU 6DH
PASS_4 EQU 6EH
;#######################################
;//////////////////////////////////////
;////////////COMMAND BYTE//////////////
;//////////////////////////////////////
;#######################################
RECIVE_CLOCK EQU 248
ENABLE_DATA EQU 251
DISABLE_DATA EQU 252
RESTART EQU 250
;#######################################
;//////////////////////////////////////
;////////////CONTROL BIT///////////////
;//////////////////////////////////////
;#######################################
OUT_MENU BIT 01H
;#######################################
;//////////////////////////////////////
;//////////CONTROL BIT PORT////////////
;//////////////////////////////////////
;#######################################
ADC_ADRESS_1 BIT P3.4
ADC_ADRESS_2 BIT P2.5
ADC_ADRESS_3 BIT P2.4
MENU_ENTER BIT P2.7
MENU_WAIT BIT P2.6
LTCH_ADRESS_ADC BIT P3.6
CONVERTING_ADC BIT P2.7
LCD_COMMAND_DATA BIT P3.6
LCD_ENABLE BIT P2.1
;#######################################
;//////////////////////////////////////
;////////////STARTING PROGRAM//////////
;//////////////////////////////////////
;#######################################
ORG 00H
JMP MAIN
;#######################################
;//////////////////////////////////////
;////////////INTERUPT TIMER////////////
;//////////////////////////////////////
;#######################################
ORG 000BH
JMP WATCH

;#######################################
;//////////////////////////////////////
;////////////INTERUPT SERIAL///////////
;//////////////////////////////////////
;#######################################
ORG 0023H
JMP SERIAL
;#######################################
;//////////////////////////////////////
;////////////MAIN PROGRAM//////////////
;//////////////////////////////////////
;#######################################
* Çíä ÞÓãÊ ÒíÑ ÈÑäÇãå ÇÕáí ãí ÈÇÔÏ ßå ÊãÇã ÈÑäÇãå åÇí ÝÑÚí ÇÒ Çíä ÞÓãÊ ÝÑÇÎæÇäí ãí ÔæÏ .
ORG 30H
;**********************************
MAIN:
CALL INIT_VALUE
START:
INC HOLD_DISPLAY
CALL READ_CURRENT_1
CALL READ_CURRENT_2
CALL READ_CURRENT_3
CALL READ_VOLT_1
CALL READ_VOLT_2
CALL READ_VOLT_3

MOV A,UPDATE_LCD
CJNE A,#1,JP1
CALL SHOW_TEXT_VAL
MOV UPDATE_LCD,#0
JP1:
CALL INIT_DATE
MOV A,HOLD_DISPLAY
CJNE A,#3,JP2

CALL SHOW_V_VAL
CALL SHOW_I_VAL
MOV HOLD_DISPLAY,#0
JP2:
MOV A,DELAY_FOR_TARNS
CJNE A,#1,JP3
MOV A,SEND_DATA
CJNE A,#1,JP3
CALL TRANS
MOV DELAY_FOR_TARNS,#0
JP3:
JMP START
;**********************************
* Çíä ÒíÑ ÈÑäÇãå æÞÝå ÓÑíÇá ãí ÈÇÔÏ ßå åÑ æäå ÇÑÊÈÇØ ÓÑíÇá ÇÑ ÈÇ Çíä Âí Óí ÈÑÞÑÇÑ ÔæÏ ÈÑäÇãå ÈÕæÑÊ ÇÊæãÇÊ æ æÞÝå Çí Èå Çíä ÞÓãÊ ÑÔ íÏÇ ãí ßäÏ ßå ÈÇ ÊæÌå Èå ÇÚÏÇÏ ÑÓíÏå ÇÒ ÓÑíÇá íß ÓÑí ßÇÑåÇí ÎÇÕ ÇäÌÇã ãí ÔæÏ .
SERIAL:
MOV ACOM,A
MOV REG3,R3
MOV A,SBUF
CALL DELAY0
CLR RI
CJNE A,#DISABLE_DATA,JP4
MOV SEND_DATA,#0
MOV A,ACOM
MOV R3,REG3
RETI
JP4:
CJNE A,#ENABLE_DATA,JP5
MOV SEND_DATA,#1
MOV A,ACOM
MOV R3,REG3
RETI
JP5:
CJNE A,#RECIVE_CLOCK,JP_NEXT
MOV R2,#0
MOV A,ACOM
MOV R3,REG3
RETI
JP_NEXT:
CJNE R2,#0,JP_NEXT1
INC R2
MOV M01,A
MOV A,ACOM
MOV R3,REG3
RETI
JP_NEXT1:
CJNE R2,#1,JP_NEXT2
INC R2
MOV M10,A
MOV A,ACOM
MOV R3,REG3
RETI
JP_NEXT2:
CJNE R2,#2,JP_NEXT3
INC R2
MOV H01,A
MOV A,ACOM
MOV R3,REG3
RETI
JP_NEXT3:
CJNE R2,#3,JP_NEXT4
INC R2
MOV H10,A
CALL SHOW_CLOCK
MOV A,ACOM
MOV R3,REG3
RETI
JP_NEXT4:
RETI
;/////////////////WATCH///////////////
* Çíä ÞÓãÊ ÒíÑ ÈÑäÇãå æÞÝå ÊÇíãÑ ÕÝÑ ãí ÈÇÔÏ ßå ÓÇÚÊ ÓíÓÊã ÏÑ Çíä ÞÓãÊ ãÍÇÓÈå æ ÈÑ Ñæí LCD äãÇíÔ ÏÇÏå ãí ÔæÏ . Çíä ÒíÑ ÈÑäÇãå åÑ 0.05 ËÇäíå ÝÑÇÎæÇäí ãí ÔæÏ .
WATCH:
MOV TH0,#4CH
MOV PUSH_POP_A,A
MOV PUSH_POP_R0,R0
INC M_S
MOV A,M_S
CJNE A,#20,BYE
MOV DELAY_FOR_TARNS,#1
MOV M_S,#0
INC S01
INC CHECK_MENU
MOV A,CHECK_MENU
CJNE A,#20,JP_1
MOV CHECK_MENU,#0
SETB OUT_MENU
JP_1:
MOV A,S01
CJNE A,#10,BYE
MOV S01,#0
INC S10
MOV A,S10
CJNE A,#06,BYE
MOV S10,#0
MOV UPDATE_LCD,#1
INC M01
MOV A,M01
CJNE A,#10,BYE
MOV M01,#0
INC M10
MOV A,M10
CJNE A,#6,BYE
MOV M10,#0
INC H01
MOV A,H01
MOV R0,H10
CJNE R0,#2,JP8
MOV A,H01
CJNE A,#4H,BYE
MOV H01,#0
MOV H10,#0
CALL INIT_MAXIMOM
MOV DATE,#1
JMP BYE
JP8:
CJNE A,#10,BYE
MOV H01,#0
INC H10
MOV A,H10
CJNE A,#2,BYE
MOV A,H01
CJNE A,#4,BYE
MOV H01,#0
MOV H10,#0
MOV R0,H01
BYE:
MOV A,PUSH_POP_A
MOV R0,PUSH_POP_R0
RETI
;///////////////////////////////////
* Çíä ÒíÑ ÈÑäÇãå ÈÑÇí äãÇíÔ ÓÇÚÊ ÈÑ Ñæí ÕÝÍå LCD ÇÓÊÝÇÏå ãí ÔæÏ ßå ÓÇÚÊ æ ÏÞíÞå ÑÇ Ñæí ÕÝÍå äãÇíÔ äÔÇä ãí ÏåÏ .
SHOW_CLOCK:
MOV POS,#0FH
CALL SET_CURS
MOV A,H10
ORL A,#30H
MOV DATA_P,A
CALL SHOW
MOV A,H01
ORL A,#30H
MOV DATA_P,A
CALL SHOW

MOV DATA_P,#3AH
CALL SHOW
MOV A,M10
ORL A,#30H
MOV DATA_P,A
CALL SHOW
MOV A,M01
ORL A,#30H
MOV DATA_P,A
CALL SHOW
RET
;///////////////////////////////////
* Çíä ÒíÑ ÈÑäÇãå äãÇíÔ ÊÇÑíÎ ÈÑ Ñæí ÕÝÍå äãÇíÔ ãæÑÏ ÇÓÊÝÇÏå ÞÑÇÑ ãí íÑÏ .

در این سایت فقط تکه هایی از این مطلب با شماره بندی انتهای صفحه درج می شود که ممکن است هنگام انتقال از فایل ورد به داخل سایت کلمات به هم بریزد یا شکل ها درج نشود

شما می توانید تکه های دیگری از این مطلب را با جستجو در همین سایت بخوانید

ولی برای دانلود فایل اصلی با فرمت ورد حاوی تمامی قسمت ها با منابع کامل

اینجا کلیک کنید

SHOW_DATE:
MOV POS,#00H
CALL SET_CURS
MOV A,YEAR10
ORL A,#30H
MOV DATA_P,A
CALL SHOW
MOV A,YEAR01
ORL A,#30H
MOV DATA_P,A
CALL SHOW

MOV DATA_P,#2FH
CALL SHOW
MOV A,MON10
ORL A,#30H
MOV DATA_P,A
CALL SHOW
MOV A,MON01
ORL A,#30H
MOV DATA_P,A
CALL SHOW
MOV DATA_P,#2FH
CALL SHOW
MOV A,DAY10
ORL A,#30H
MOV DATA_P,A
CALL SHOW
MOV A,DAY01
ORL A,#30H
MOV DATA_P,A
CALL SHOW
RET
;***********************************************
* Çíä ÒíÑ ÈÑäÇãå ÈÑÇí ÇÑÓÇá ÇØáÇÚÇÊ æáÊÇŽ æ ÌÑíÇä Óå ÝÇÒ Èå Âí Óí ãíßÑæ ÑæÓÓæÑ ÈÚÏí ãæÑÏ ÇÓÊÝÇÏå ÞÑÇÑ ãí íÑÏ ÊÇ Çíä ÇØáÇÚÇÊ ÏÑ ÍÇÝÙå ÐÎíÑå ÔæÏ æ åãäíä ÈÑÇí äãÇíÔ ÏÑ äÑã ÇÝÒÇÑ Èå ßÇãíæÊÑ ÇÑÓÇá ãí ÔæÏ .
TRANS:
CLRES
MOV A,#0FDH
MOV SBUF,A
JNB TI,$
CALL DELAY0
CLR TI

MOV A,CURRENT_1
MOV SBUF,A
JNB TI,$
CALL DELAY0
CLR TI
MOV A,CURRENT_2
MOV SBUF,A
JNB TI,$
CALL DELAY0
CLR TI
MOV A,CURRENT_3
MOV SBUF,A
JNB TI,$
CALL DELAY0
CLR TI
MOV A,VOLT_1
MOV SBUF,A
JNB TI,$
CALL DELAY0
CLR TI
MOV A,VOLT_2
MOV SBUF,A
JNB TI,$
CALL DELAY0
CLR TI
MOV A,VOLT_3
MOV SBUF,A
JNB TI,$
CALL DELAY0
CLR TI
SETBES
RET
;************************* KEY BOARD *************************
* Çíä ÒíÑ ÈÑäÇãå ÈÑÇí ß ßÑÏä ßí ÈæÑÏ ãæÑÏ ÇÓÊÝÇÏå ÞÑÇÑ ãí íÑÏ .
KEY:
JNB OUT_MENU,JP_2
MOV KEY_OUT,#3
RET
JP_2:
MOV R3,#70
BACK:
CALL GET_KEY
JNC KEY
DJNZ R3,BACK
PUSH ACC
BACK2:
MOV R3,#70
BACK3:
CALL GET_KEY
JC BACK2
DJNZ R3,BACK3
POP ACC
MOV CHECK_MENU,#0
MOV KEY_OUT,ACC
MOV P2,#0FFH
RET
;;;;;;;;;;;;;;;;;;;;;;;;;;CHEK & READ KEY_PAD;;;;;;;;;;;;;;;;;;;;;;;;
GET_KEY:
MOV A,#0FEH
MOV R6,#4
TEST:
MOV P2,A
MOV R7,A
MOV A,P2
ANL A,#0F0H
CJNE A,#0F0H,KEY_HIT
MOV A,R7
RL A
DJNZ R6,TEST
CLR C
SJMP EXIT
KEY_HIT:
MOV R7,A
MOV A,#4
CLR C
SUBB A,R6
MOV R6,A
MOV A,R7
SWAP A
MOV R5,#4
AGAIN:
RRC A
JNC DONE
INC R6
INC R6
INC R6
INC R6
DJNZ R5,AGAIN
DONE:
SETB C
MOV A,R6
EXIT:
MOV KEY_OUT,ACC
MOV P2,#0FFH
RET

  • 1
دسته بندی : پایان نامه ها

پاسخ دهید