📄 atmega32_project.asm
字号:
DEC COUNT_IT
CPI COUNT_IT, 0X00
BREQ QUIT_DISPLAY_IT_FROM_EEPROM
LDI TEMP, ' '
RCALL TRANSMIT
RJMP FILL_UP_SPACE
QUIT_DISPLAY_IT_FROM_EEPROM:
LDI TEMP, ' '
RCALL TRANSMIT
RET
;---------------------------------------------------------
; RESET HARDWARE ROUTINE
;---------------------------------------------------------
RESET_HARDWARE:
RCALL BREAK_UP_LINE
LDI ZH, HIGH(USER_PC_RESET_STR*2)
LDI ZL, LOW(USER_PC_RESET_STR*2)
RCALL TRANSMIT_LOOP
RCALL GET_KEY_ENTERED
CPI TEMP, 'y'
BREQ YES_RESET_IT
CPI TEMP, 'Y'
BREQ YES_RESET_IT
CPI TEMP, 'n'
BREQ QUIT_RESET_HARDWARE
CPI TEMP, 'N'
BREQ QUIT_RESET_HARDWARE
RCALL USER_INPUT_ERROR
RJMP RESET_HARDWARE
YES_RESET_IT:
LDI ZH, HIGH(USER_PC_RESET_STR2*2)
LDI ZL, LOW(USER_PC_RESET_STR2*2)
RCALL TRANSMIT_LOOP
RCALL BREAK_UP_LINE
CLR EADD_HIGH
LDI EADD_LOW, 0
LDI EEPROM_DATA, 0X00
RCALL EEPROM_WRITE
LDI EADD_LOW, USER_STATUS_BYTE
RCALL EEPROM_WRITE
RCALL DELAY
RCALL DELAY
JMP 0
QUIT_RESET_HARDWARE:
RCALL BREAK_UP_LINE
RET
;---------------------------------------------------------
; SWITCH OPTIONS ROUTINE
SWITCH_OPTIONS:
RCALL BREAK_UP_LINE
LDI ZH, HIGH(USER_PC_SWITCH_OPTIONS_STR*2)
LDI ZL, LOW(USER_PC_SWITCH_OPTIONS_STR*2)
RCALL TRANSMIT_LOOP
CLR EADD_HIGH
LDI EADD_LOW, USER_DEVICE_BYTE
RCALL EEPROM_READ
RJMP ASK_TO_SET_SWITCH
ASK_TO_SET_SWITCH:
RCALL CURRENTLY_ACTIVATED
LDI ZH, HIGH(USER_PC_SWITCH_OPTIONS_STR4*2) ;Do you want to set ON/OFF any switch? Y/N
LDI ZL, LOW(USER_PC_SWITCH_OPTIONS_STR4*2) ;Do you want to set ON/OFF any switch? Y/N
RCALL TRANSMIT_LOOP
RCALL GET_KEY_ENTERED
CPI TEMP, 'y'
BREQ ASK_FOR_SWITCH_GO
CPI TEMP, 'Y'
BREQ ASK_FOR_SWITCH_GO
CPI TEMP, 'n'
BREQ QUIT_SWITCH_OPTIONS
CPI TEMP, 'N'
BREQ QUIT_SWITCH_OPTIONS
RCALL USER_INPUT_ERROR
RJMP ASK_TO_SET_SWITCH
ASK_FOR_SWITCH_GO:
RCALL SET_SWITCH_STATUS
RJMP ASK_TO_SET_SWITCH
QUIT_SWITCH_OPTIONS:
RCALL BREAK_UP_LINE
RET
CURRENTLY_ACTIVATED:
CLR EADD_HIGH
LDI EADD_LOW, USER_DEVICE_BYTE
RCALL EEPROM_READ
MOV TEMP, EEPROM_DATA
CPI TEMP, 0X00
BREQ NO_SWITCH_SET
LDI ZH, HIGH(USER_PC_SWITCH_OPTIONS_STR2*2) ;Currently activated switch/es:
LDI ZL, LOW(USER_PC_SWITCH_OPTIONS_STR2*2) ;Currently activated switch/es:
RCALL TRANSMIT_LOOP
LDI COUNT_IT, 1
LDI EADD_LOW, USER_DEVICE_BYTE
RCALL EEPROM_READ
RCALL CHECK_SWITCHES_STATUS ; BORROWED SUB ROUTINE FOR LOCK SWITCH
RJMP QUIT_CURRENTLY_ACTIVATED
NO_SWITCH_SET:
LDI ZH, HIGH(USER_PC_SWITCH_OPTIONS_STR3*2) ;--No switch currently set--
LDI ZL, LOW(USER_PC_SWITCH_OPTIONS_STR3*2) ;--No switch currently set--
RCALL TRANSMIT_LOOP
RJMP QUIT_CURRENTLY_ACTIVATED
QUIT_CURRENTLY_ACTIVATED:
RET
SET_SWITCH_STATUS:
LDI ZH, HIGH(USER_PC_SWITCH_OPTIONS_STR5*2)
LDI ZL, LOW(USER_PC_SWITCH_OPTIONS_STR5*2)
RCALL TRANSMIT_LOOP
RCALL GET_KEY_ENTERED
CPI TEMP, '1'
BREQ SET_SWITCH_1
CPI TEMP, '2'
BREQ SET_SWITCH_2
CPI TEMP, '3'
BREQ SET_SWITCH_3
CPI TEMP, '4'
BREQ SET_SWITCH_4
CPI TEMP, '5'
BREQ SET_SWITCH_5
CPI TEMP, '6'
BREQ SET_SWITCH_6
CPI TEMP, '7'
BREQ SET_SWITCH_7
CPI TEMP, '8'
BREQ SET_SWITCH_8
RCALL USER_INPUT_ERROR
RJMP SET_SWITCH_STATUS
SET_SWITCH_1:
LDI R25, 0B00000001
LDI R24, 0B11111110
RJMP SET_SWITCH_NOW
SET_SWITCH_2:
LDI R25, 0B00000010
LDI R24, 0B11111101
RJMP SET_SWITCH_NOW
SET_SWITCH_3:
LDI R25, 0B00000100
LDI R24, 0B11111011
RJMP SET_SWITCH_NOW
SET_SWITCH_4:
LDI R25, 0B00001000
LDI R24, 0B11110111
RJMP SET_SWITCH_NOW
SET_SWITCH_5:
LDI R25, 0B00010000
LDI R24, 0B11101111
RJMP SET_SWITCH_NOW
SET_SWITCH_6:
LDI R25, 0B00100000
LDI R24, 0B11011111
RJMP SET_SWITCH_NOW
SET_SWITCH_7:
LDI R25, 0B01000000
LDI R24, 0B10111111
RJMP SET_SWITCH_NOW
SET_SWITCH_8:
LDI R25, 0B10000000
LDI R24, 0B01111111
RJMP SET_SWITCH_NOW
SET_SWITCH_NOW:
RCALL GET_SWITCH_STATUS_SET
RJMP BACK_SWITCH_STATUS
BACK_SWITCH_STATUS:
RET
GET_SWITCH_STATUS_SET:
CLR EADD_HIGH
LDI EADD_LOW, USER_DEVICE_BYTE
RCALL EEPROM_READ
BACK_TO_SET:
LDI ZH, HIGH(USER_PC_SWITCH_OPTIONS_STR6*2)
LDI ZL, LOW(USER_PC_SWITCH_OPTIONS_STR6*2)
RCALL TRANSMIT_LOOP
RCALL GET_KEY_ENTERED
CPI TEMP, '0'
BREQ SET_SWITCH_UNLOCKED
CPI TEMP, '1'
BREQ SET_SWITCH_LOCKED
RCALL USER_INPUT_ERROR
RJMP BACK_TO_SET
SET_SWITCH_UNLOCKED:
MOV TEMP, EEPROM_DATA
AND TEMP, R24
MOV EEPROM_DATA, TEMP
RJMP QUIT_GET_SWITCH_STATUS_SET
SET_SWITCH_LOCKED:
MOV TEMP, EEPROM_DATA
OR TEMP, R25
MOV EEPROM_DATA, TEMP
RJMP QUIT_GET_SWITCH_STATUS_SET
QUIT_GET_SWITCH_STATUS_SET:
RCALL EEPROM_WRITE
RCALL OUTPUT_TO_PORTA
RCALL BUZZER
LDI ZH, HIGH(USER_PC_SWITCH_OPTIONS_STR7*2)
LDI ZL, LOW(USER_PC_SWITCH_OPTIONS_STR7*2)
RCALL TRANSMIT_LOOP
WAIT
RET
;---------------------------------------------------------
; VIEW COMPLETE INFORMATION
VIEW_INFORMATION:
RCALL BREAK_UP_LINE
LDI ZH, HIGH(USER_PC_VIEW_INFO_STR*2)
LDI ZL, LOW(USER_PC_VIEW_INFO_STR*2)
RCALL TRANSMIT_LOOP
RCALL USERS_INFORMATION
RCALL BREAK_UP_LINE
RCALL CURRENTLY_ACTIVATED
RCALL BREAK_UP_LINE
RCALL CURRENT_LOCKED_SWITCHES
RCALL BREAK_UP_LINE
QUIT_VIEW_INFORMATION:
RET
;---------------------------------------------------------
; USER PASSWORD IDENTIFICATION ROUTINE
PASSWORD_ENTER:
LDI XH, HIGH(201)
LDI XL, LOW(201)
GET_PASSWORD:
SBIS UCSRA, RXC
RJMP GET_PASSWORD
IN USART_DATA, UDR
CPI USART_DATA, 0X0D
BREQ PASSWORD_LOAD
CPI USART_DATA, '#'
BREQ DISCONNECT_IT
CPI USART_DATA, 0X08
BREQ PASSWORD_BACKSPACE
ST X+, USART_DATA
LDI TEMP, '*'
RCALL TRANSMIT
RJMP GET_PASSWORD
PASSWORD_BACKSPACE:
DEC XL
MOV TEMP, USART_DATA
RCALL TRANSMIT
RJMP GET_PASSWORD
PASSWORD_LOAD:
LDI TEMP, 0X00
ST X, TEMP
CLR EADD_HIGH
LDI EADD_LOW, USER_PASSWORD_AREA
LDI XH, HIGH(201)
LDI XL, LOW(201)
RJMP PASSWORD_CHECK
PASSWORD_CHECK:
INC EADD_LOW
RCALL EEPROM_READ
LD TEMP, X+
CPI EEPROM_DATA, 0X00
BREQ BREAK_HERE
CP TEMP, EEPROM_DATA
BREQ PASSWORD_CHECK
BRNE PASSWORD_UNMATCHED
BREAK_HERE:
CPI TEMP, 0X00
BREQ PASSWORD_MATCHED
BRNE PASSWORD_UNMATCHED
PASSWORD_UNMATCHED:
CLT
RJMP QUIT_PASSWORD_ENTER
PASSWORD_MATCHED:
SET
RJMP QUIT_PASSWORD_ENTER
QUIT_PASSWORD_ENTER:
RET
DISCONNECT_IT:
JMP 0
;---------------------------------------------------------
; KEYBOARD KEY LETTER INPUT ROUTINE
GET_KEY_ENTERED:
SBIS UCSRA, RXC
RJMP GET_KEY_ENTERED
IN USART_DATA, UDR
CPI USART_DATA, 0X0D
BREQ QUIT_GET_KEY_ENTERED
CPI TEMP, '#'
BREQ JUST_DISCONNECT_IT
MOV TEMP, USART_DATA
RCALL TRANSMIT
RJMP GET_KEY_ENTERED
QUIT_GET_KEY_ENTERED:
RET
JUST_DISCONNECT_IT:
JMP 0
BREAK_UP_LINE:
LDI ZH, HIGH(BREAK_UP_LINE_STR*2)
LDI ZL, LOW(BREAK_UP_LINE_STR*2)
RCALL TRANSMIT_LOOP
RET
;---------------------------------------------------------
; DELAY ROUTINES
DELAY:
PUSH R18
LDI R18, 20
OUTER_LOOP:
LDI R24, LOW(3037)
LDI R25, HIGH(3037)
DELAY_LOOP:
ADIW R24, 1
BRNE DELAY_LOOP
DEC R18
BRNE OUTER_LOOP
POP R18
RET
DELAY_SHORT:
PUSH R18
LDI R18, 5
OUTER_LOOP1:
LDI R24, LOW(3037)
LDI R25, HIGH(3037)
DELAY_LOOP1:
ADIW R24, 1
BRNE DELAY_LOOP1
DEC R18
BRNE OUTER_LOOP1
POP R18
RET
DELAY_LCD:
PUSH R18
LDI R18, 1
OUTER_LOOP2:
LDI R24, 100
DELAY_LOOP2:
DEC R24
BRNE DELAY_LOOP2
DEC R18
BRNE OUTER_LOOP2
POP R18
RET
DEFAULT_USER_NAME:
.DB "005CS Final Project", 0X00
DEFAULT_USER_CONTACT:
.DB "0+923453541095", 0X00, 0X00
DEFAULT_USER_PASSWORD:
.DB "00000", 0X00
AT_ECHO_OFF: ; ECHO OFF FOR AT COMMANDS
.DB "ATE= 0",0X0D, 0X00
AT_MEM_SEL: ; PHONE MEMORY SELECTION
.DB "AT+CPMS=",0X22,"ME",0X22,",",0X22,"ME",0X22,",",0X22,"ME",0X22,0X0D,0X00
AT_SMS_FORMAT: ; TEXT MODE FORMAT OF SMS
.DB "AT+CMGF= 1",0X0D,0X00
AT_SMS_HOOK: ; TO HOOK WITH THE INCOMMING SMS
.DB "AT+CNMI= 2,1,0,0,0", 0X0D, 0X00
AT_SMS_TEXT_DETAILED: ; TO DISPLAY LONG DETAILED TEXT SMS
.DB "AT+CSDH= 1", 0X0D, 0X00
AT_SMS_TYPE: ; MESSAGE TYPE AS 'UNREAD'
.DB "AT+CMGL=",0X22,"REC UNREAD",0X22,0X0D,0X00
AT_MSG_READ: ; TO READ THE FIRST LOCATION OF CELL PHONE
.DB "AT+CMGR= 1",0X0D,0X00
AT_SMS_DEL: ; TO DELETE THE SMS FROM FIRST LOCATION
.DB "AT+CMGD =1",0X0D, 0X00
AT_CALL: ; TO DIAL THE GIVEN NUMBER
.DB "ATD=03453541095;",0X0D,0X00
BREAK_UP_LINE_STR:
.DB 0X0D, 0X0A, "-----------------------------------------------------------------------", 0X00
USER_PC_COMMAND_STR:
.DB 0X0D, 0X0A, "CLI MODE ACTIVATION REQUEST "
.DB 0X0D, 0X0A, "--> Enter Password:_ ", 0X00
LCD_PC_COMMAND_STR:
.DB "Connected to PC ..",0X0D , "-> VERIFYING USER!", 0X00
USER_INVALID_STR:
.DB 0X0D, 0X0A, "Sorry, provided password is WRONG! ", 0X0D, 0X0A, 0X00
USER_INVALID_STR2:
.DB 0X0D, 0X0A, "Retry ? Y/N:_ ", 0X00, 0X00
USER_VALID_STR:
.DB 0X0D, 0X0A, "Password Accepted! ", 0X0D, 0X0A, 0X00
LCD_VALID_STR:
.DB "User Varified",0x0D,"Password Accepted! ", 0X00
LCD_MOBILE_USER_VALID:
.DB "SMS SENT BY:", 0X00, 0X00
LCD_MOBILE_USER_INVALID:
.DB "INVALID SMS SENDER!", 0X00
LCD_SWITCHES_STATUS_STR:
.DB " SWITCHES 12345678", 0X0D
.DB " STATUS ", 0X7E," ", 0X00
USER_PC_CONNECT_STR:
.DB 0X0D, 0X0A, "------------------------------------------- "
.DB 0X0D, 0X0A, "CLI MODE ACTIVATED... ", 0X0D, 0X0A
.DB "You are connected to Home Automation Module", 0X0D
.DB 0X0A, " Designed by: 05CS -- Yasir & Group", 0X0D, 0X0A
.DB "-------------------------------------------", 0X00
LCD_PC_CONNECT_STR:
.DB "CLI MODE ACTIVATED.", 0X0D, " PC ", 0X7F,"--", 0X7E, " H.A-MODULE", 0X00
USER_PC_CURSOR_STR:
.DB 0X0D, 0X0D, 0X0A, "(Enter 'H' for supported Key Letters)", 0x0D, 0X0A, " >_", 0X00
USER_PC_OPTIONS_STR:
.DB 0X0D, 0X0A, "Use any one of the following key letters and press enter to proceed."
.DB 0X0D, 0X0A, "A = ADD/REMOVE mobile users", 0X09, 0X09, "B = BUZZER options "
.DB 0x0D, 0X0A, "C = Configure mobile users", 0X09, 0X09, "D = DE-ACTIVATION options (X) "
.DB 0X0D, 0X0A, "E = EXIT Administrator Mode", 0X09, 0X09, "L = LOCK switch options"
.DB 0X0D, 0X0A, "P = PASSWORD options ", 0X09, 0X09, "R = RESET Hardware Module"
.DB 0x0D, 0X0A, "S = SWITCHES options ", 0X09, 0X09, "T = TERMINAL link mode (X) "
.DB 0x0D, 0X0A, "U = USERS information ", 0X09, 0X09, "V = VIEW complete status "
.DB 0x0D, 0X0A, " (X) = Not included in this version", 0x00
USER_PC_ADD_OPTIONS_STR:
.DB 0X0D, 0X0A, "ADD/REMOVE Users:", 0X0D, 0X0A, 0x00
USER_PC_ADD_OPTIONS_STR1:
.DB 0x0D, 0X0A, " Enter User Number to ADD/REMOVE (N = QUIT):_", 0x00
USER_PC_ADD_OPTIONS_STR2:
.DB 0X0D, 0X0D, 0X0A, "--This user is already SET!"
.DB 0X0D, 0X0A, "--Use Configure option to alter this User", 0x0D, 0x0A, 0x00
USER_PC_ADD_OPTIONS_STRD:
.DB 0X0D, 0X0D, 0X0A, "--This User can not be removed!"
.DB 0X0D, 0X0A, "--Use Configure option to alter this User", 0x0D, 0x0A, 0x00
USER_PC_ADD_OPTIONS_STRR:
.DB 0X0D, 0X0A, 0X0D, 0X0A, "OR do you want to REMOVE this user? Y/N: >_ ", 0x00, 0x00
USER_PC_ADD_OPTIONS_STR3:
.DB 0X0D, 0X0A, "ADD other user? Y/N: >_ ", 0x00, 0x00
USER_PC_ADD_OPTIONS_STR4:
.DB 0X0D, 0X0A, "New user successfully added in the list !", 0x00
USER_PC_ADD_OPTIONS_STR5:
.DB 0X0D, 0X0A, "ENTER new user name: ", 0x00
USER_PC_ADD_OPTIONS_STR6:
.DB 0X0D, 0X0A, " ENTER new user contact: ", 0x00
USER_PC_ADD_OPTIONS_STR7:
.DB 0X0D, 0X0A, " --Unsupported input!--", 0x0D, 0X0A, 0x00
USER_PC_BUZZER_OPTIONS_STR:
.DB 0X0D, 0X0A, "BUZZER options: "
.DB 0X0D, 0X0A, " Currently, buzzer is set to ", 0x00
USER_PC_BUZZER_OPTIONS_STR2:
.DB 0X0D, 0X0A, "Enter new status for buzzer (0 = OFF, 1 = ON):_", 0x00
USER_PC_BUZZER_OPTIONS_STR3:
.DB 0X0D, 0X0A, "BUZZER settings successful!", 0x00
USER_PC_CHANGE_OPTIONS_STR:
.DB 0X0D, 0X0A, "Configure mobile user options: ", 0x00
USER_PC_CHANGE_OPTIONS_STR2:
.DB 0X0D, 0X0A, "Enter user number to proceed (N = QUIT):_",0x00
USER_PC_CHANGE_OPTIONS_STR3:
.DB 0X0D, 0X0A, "Enter new user name (equal or less than 20 letters):",0X0D, 0X0A
.DB " _", 0X00
USER_PC_CHANGE_OPTIONS_STR4:
.DB 0X0D, 0X0A, "Enter new user contact (must start with '+' sign):",0X0D, 0X0A
.DB " _", 0X00
USER_PC_CHANGE_OPTIONS_STR5:
.DB 0X0D, 0X0A, 0X0D, 0X0A, "--Successfully configured and stored!--", 0x0D, 0x0A, 0x00
USER_PC_CHANGE_OPTIONS_STR6:
.DB 0X0D, 0X0A, "Enter what to configure?(1 = Name, 2 = Contact):_", 0x00
USER_PC_CHANGE_OPTIONS_STR7:
.DB 0X0D, 0X0D, 0X0A, "--Sorry, user not in the list--"
.DB 0X0D, 0X0A, "--Use ADD option to add new user first!--", 0X0D, 0X0A, 0x00
USER_PC_EXIT_STR:
.DB 0X0D,0X0D, 0X0A, "Have a nice day :-) BYE ", 0X0D, 0X0A, 0x00
USER_PC_LOCK_SWITCHES_STR:
.DB 0X0D, 0X0A, "LOCK/UNLOCK switch options:", 0X0D, 0X0A, 0x00
USER_PC_LOCK_SWITCHES_STRN:
.DB 0X0D, 0X0A, " -- No switch locked yet --", 0x00
USER_PC_LOCK_SWITCHES_STR2:
.DB 0X0D, 0X0A, "-> Currently Locked switch/es: ", 0x00
USER_PC_LOCK_SWITCHES_STR3:
.DB 0X0D, 0X0D, 0X0A, "Do you want to Lock/Unlock any switch? Y/N:_", 0x00
USER_PC_LOCK_SWITCHES_STR4:
.DB 0X0D, 0X0D, 0X0A, " Enter switch number to Lock/Unlock:_ ", 0x00
USER_PC_LOCK_SWITCHES_STR5:
.DB 0X0D, 0X0A, " Enter switch status to set (0 = UNLOCKD, 1 = LOCKED):_", 0x00
USER_PC_LOCK_SWITCHES_STR6:
.DB 0X0D, 0X0D, 0X0A, "LOCK/UNLOCK successfully SET! ", 0x00
USER_PC_SWITCH_OPTIONS_STR:
.DB 0X0D, 0X0A, "SWITCH options:", 0X0D, 0X0A, 0x00
USER_PC_SWITCH_OPTIONS_STR2:
.DB 0X0D, 0X0A, "-> Currently activated switch/es: ", 0x00
USER_PC_SWITCH_OPTIONS_STR3:
.DB 0X0D, 0X0A, "-- No switch currently activated --", 0x00
USER_PC_SWITCH_OPTIONS_STR4:
.DB 0X0D, 0X0D, 0X0A, "Do you want to set ON/OFF any switch? Y/N:_ ", 0x00
USER_PC_SWITCH_OPTIONS_STR5:
.DB 0X0D, 0X0A, 0X0D, 0X0A, " Enter switch number to be set ON/OFF:_", 0x00
USER_PC_SWITCH_OPTIONS_STR6:
.DB 0X0D, 0X0A, " Enter status of switch to be set (0 = OFF, 1 = ON):_", 0x00
USER_PC_SWITCH_OPTIONS_STR7:
.DB 0X0D, 0X0D, 0X0A, "-- Switch successfully configured! --", 0X0D, 0x00
USER_PC_RESET_STR:
.DB 0X0D, 0X0A, "RESET Hardware Module:"
.DB 0X0D, 0X0A, "This will remove all user's information except defaults!"
.DB 0X0D, 0X0A, " Are you sure Y/N:_", 0x00
USER_PC_RESET_STR2:
.DB 0X0D, 0X0A, "Reseting... You will need to Re-Login after reset !", 0x00
USER_PC_PASSWORD_OPTIONS_STR:
.DB 0X0D, 0X0A, "PASSWORD configuration options: "
.DB 0X0D, 0X0A, " Please enter current password:_ ", 0x00
USER_PC_PASSWORD_OPTIONS_STR2:
.DB 0X0D, 0X0A, " Enter new password:_", 0x00
USER_PC_PASSWORD_OPTIONS_STR3:
.DB 0X0D, 0X0A, "Re-Enter new password:_", 0x00
USER_PC_PASSWORD_OPTIONS_STR4:
.DB 0X0D, 0X0D, 0X0A, "Password SIZE error!", 0x00
USER_PC_PASSWORD_OPTIONS_STR5:
.DB 0X0D, 0X0D, 0X0A, "--Password successfully stored!-- ", 0x00
USER_PC_PASSWORD_OPTIONS_STR6:
.DB 0X0D, 0X0D, 0X0A, "--Password not configured!", 0x00
USER_PC_USERS_INFO_STR:
.DB 0X0D, 0X0A, "USERS information: ", 0x00
USER_PC_USERS_INFO_STRD:
.DB " -- DEFAULT USER --", 0X00
USER_PC_USERS_INFO_STR1:
.DB 0X0D, 0X0A, "USER 1: ", 0X00
USER_PC_USERS_INFO_STR2:
.DB 0X0D, 0X0A, "USER 2: ", 0X00
USER_PC_USERS_INFO_STR3:
.DB 0X0D, 0X0A, "USER 3: ", 0X00
USER_PC_VIEW_INFO_STR:
.DB 0X0D, 0X0A, "VIEW complete information: ", 0x00
USER_PC_SWITCHES_STATUS_STR:
.DB 0X0D, 0X0A, "SWITCHES status: ", 0x00
USER_PC_TERMINAL_STR:
.DB 0X0D, 0X0A, "TERMINAL LINK MODE ACTIVATED (PC <---> MOBILE) ", 0X0D, 0X0A, "Use '!' sign to quit from Terminal Link Mode", 0x0D, 0X0A, 0X00
LCD_PC_TERMINAL_STR:
.DB "T.L - MODE ACTIVATED", 0X0D," PC <---> MOBILE", 0X00
USER_PC_INFO_STR:
.DB 0X0D, 0X0A, "SONY ERICSSON T610i", 0X0D, 0X0A, 0X00
USER_PASSWORD_W_STR:
.DB "Password provided is WRONG! Try again? Y/N :"
LCD_INTRO_STR:
.DB " HOME AUTOMATION",0x0D," THROUGH SMS", 0X00
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -