⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 light control.asm

📁 基于16F877A的路灯控制系统的设计
💻 ASM
📖 第 1 页 / 共 5 页
字号:
        MOVLW  'S'
        CALL   PUTCLCD
        MOVLW  'E'
        CALL   PUTCLCD
        MOVLW  ' '
        CALL   PUTCLCD
        MOVLW  ' '
        CALL   PUTCLCD
        MOVLW  ' '
        CALL   PUTCLCD
        MOVLW  ' '
        CALL   PUTCLCD          
        MOVLW  30H               ;第一行最后一个字符显示当前模式           
        ADDWF  MODE,W
        CALL   PUTCLCD
        MOVLW  0X0C0
        CALL   SENDCMD
        MOVLW  '1'
        CALL   PUTCLCD
        MOVLW  '-'
        CALL   PUTCLCD
        MOVLW  'L'
        CALL   PUTCLCD
        MOVLW  'C'
        CALL   PUTCLCD
        MOVLW  ' '
        CALL   PUTCLCD
        MOVLW  '2'
        CALL   PUTCLCD
        MOVLW  '-'
        CALL   PUTCLCD
        MOVLW  'T'
        CALL   PUTCLCD
        MOVLW  'C'
        CALL   PUTCLCD
        MOVLW  ' '
        CALL   PUTCLCD
        MOVLW  '3'
        CALL   PUTCLCD
        MOVLW  '-'
        CALL   PUTCLCD
        MOVLW  'H'
        CALL   PUTCLCD
        MOVLW  'C'
        CALL   PUTCLCD
        MOVLW  ' '
        CALL   PUTCLCD
        MOVLW  30H
        ADDWF  STATE,W
        CALL   PUTCLCD
        RETURN

;**********************************
;2-TD,时间显示子程序
;显示如下:TIME:
;          **:**:**       ?
TIMEDISPLAYLCD
        CALL   CLRLCD
        MOVLW  080H
        CALL   SENDCMD
        MOVLW  'T'
        CALL   PUTCLCD
        MOVLW  'I'
        CALL   PUTCLCD
        MOVLW  'M'
        CALL   PUTCLCD
        MOVLW  'E'
        CALL   PUTCLCD
        MOVLW  ' '
        CALL   PUTCLCD
        MOVLW  'W'
        CALL   PUTCLCD
        MOVLW  ' '
        CALL   PUTCLCD
        CALL   PUTCLCD
        CALL   PUTCLCD
        CALL   PUTCLCD
        CALL   PUTCLCD
        CALL   PUTCLCD
        CALL   PUTCLCD
        CALL   PUTCLCD
        CALL   PUTCLCD          
        MOVLW  30H               ;第一行最后一个字符显示当前模式           
        ADDWF  MODE,W
        CALL   PUTCLCD
        MOVLW  0X0C0
        CALL   SENDCMD
        MOVF   HOUR,W
        MOVWF  M_INPUT
        CALL   BIN2BCDT
        MOVF   OUTPUT1,W       
        CALL   PUTCLCD  
        MOVF   OUTPUT2,W
        CALL   PUTCLCD
        MOVLW  ':'
        CALL   PUTCLCD
        MOVF   MINUTE,W
        MOVWF  M_INPUT
        CALL   BIN2BCDT
        MOVF   OUTPUT1,W       
        CALL   PUTCLCD  
        MOVF   OUTPUT2,W
        CALL   PUTCLCD
        MOVLW  ':'
        CALL   PUTCLCD
        MOVF   SECOND,W
        MOVWF  M_INPUT
        CALL   BIN2BCDT
        MOVF   OUTPUT1,W       
        CALL   PUTCLCD  
        MOVF   OUTPUT2,W
        CALL   PUTCLCD
        MOVLW  ' '
        CALL   PUTCLCD
        MOVF   STOREWH,W
        MOVWF  M_INPUT
        CALL   BIN2BCDT
        MOVF   OUTPUT1,W
        CALL   PUTCLCD
        MOVF   OUTPUT2,W
        CALL   PUTCLCD
        MOVLW  '.'
        CALL   PUTCLCD
        MOVLW  30H
        ADDWF  STOREWM,W
        CALL   PUTCLCD
        MOVLW  ' '
        CALL   PUTCLCD
        CALL   PUTCLCD
        MOVLW  30H
        ADDWF  STATE,W
        CALL   PUTCLCD
        RETURN 

;**********************************       
;3-TA,时间校对显示子程序
;显示如下:TIME ADJUST
;        :**:**:**       ? 
TIMEADJUSTLCD
        CALL   CLRLCD
        MOVLW  080H
        CALL   SENDCMD
        MOVLW  'T'
        CALL   PUTCLCD
        MOVLW  'I'
        CALL   PUTCLCD
        MOVLW  'M'
        CALL   PUTCLCD
        MOVLW  'E'
        CALL   PUTCLCD
        MOVLW  ' '
        CALL   PUTCLCD
        MOVLW  'A'
        CALL   PUTCLCD
        MOVLW  'D'
        CALL   PUTCLCD
        MOVLW  'J'
        CALL   PUTCLCD
        MOVLW  'U'
        CALL   PUTCLCD
        MOVLW  'S'
        CALL   PUTCLCD
        MOVLW  'T'
        CALL   PUTCLCD
        MOVLW  ' '
        CALL   PUTCLCD
        CALL   PUTCLCD
        CALL   PUTCLCD
        CALL   PUTCLCD
        MOVLW  30H               ;第一行最后一个字符显示当前模式           
        ADDWF  MODE,W
        CALL   PUTCLCD
        RETURN
TIMERLCD
        MOVLW  0X0C0
        CALL   SENDCMD
        MOVF   HOUR,W
        MOVWF  M_INPUT
        CALL   BIN2BCDT
        MOVF   OUTPUT1,W       
        CALL   PUTCLCD  
        MOVF   OUTPUT2,W
        CALL   PUTCLCD
        MOVLW  ':'
        CALL   PUTCLCD
        MOVF   MINUTE,W
        MOVWF  M_INPUT
        CALL   BIN2BCDT
        MOVF   OUTPUT1,W       
        CALL   PUTCLCD  
        MOVF   OUTPUT2,W
        CALL   PUTCLCD
        MOVLW  ' '
        CALL   PUTCLCD
        CALL   PUTCLCD  
        CALL   PUTCLCD  
        CALL   PUTCLCD
        CALL   PUTCLCD
        CALL   PUTCLCD
        CALL   PUTCLCD
        CALL   PUTCLCD
        CALL   PUTCLCD
        CALL   PUTCLCD
        MOVLW  30H
        ADDWF  STATE,W
        CALL   PUTCLCD
        RETURN 


;**********************************
;4-TRA,定时校对显示子程序
;首先是定时开的校时
;然后是定时关的校时
;显示模式如下:TIMER ADJUST ON/OFF
;            :**:**            ?
TIMEONLCD
        CALL   CLRLCD
        MOVLW  080H
        CALL   SENDCMD
        MOVLW  'T'
        CALL   PUTCLCD
        MOVLW  'I'
        CALL   PUTCLCD
        MOVLW  'M'
        CALL   PUTCLCD
        MOVLW  'E'
        CALL   PUTCLCD
        MOVLW  'R'
        CALL   PUTCLCD
        MOVLW  ' '
        CALL   PUTCLCD
        MOVLW  'A'
        CALL   PUTCLCD
        MOVLW  'D'
        CALL   PUTCLCD
        MOVLW  'J'
        CALL   PUTCLCD
        MOVLW  'U'
        CALL   PUTCLCD
        MOVLW  'S'
        CALL   PUTCLCD
        MOVLW  'T'
        CALL   PUTCLCD
        MOVLW  ' '
        CALL   PUTCLCD
        CALL   PUTCLCD
        CALL   PUTCLCD
        MOVLW  30H               ;第一行最后一个字符显示当前模式           
        ADDWF  MODE,W
        CALL   PUTCLCD
        MOVLW  0X0C0
        CALL   SENDCMD
        MOVF   HOUR1,W
        MOVWF  M_INPUT
        CALL   BIN2BCDT
        MOVF   OUTPUT1,W       
        CALL   PUTCLCD  
        MOVF   OUTPUT2,W
        CALL   PUTCLCD
        MOVLW  ':'
        CALL   PUTCLCD
        MOVF   MINUTE1,W
        MOVWF  M_INPUT
        CALL   BIN2BCDT
        MOVF   OUTPUT1,W       
        CALL   PUTCLCD  
        MOVF   OUTPUT2,W
        CALL   PUTCLCD
        MOVLW  ' '
        CALL   PUTCLCD
        MOVLW  'O'
        CALL   PUTCLCD
        MOVLW  'N'
        CALL   PUTCLCD
        MOVLW  ' '
        CALL   PUTCLCD
        CALL   PUTCLCD
        CALL   PUTCLCD
        CALL   PUTCLCD
        CALL   PUTCLCD
        CALL   PUTCLCD
        CALL   PUTCLCD
        MOVLW  30H
        ADDWF  STATE,W
        CALL   PUTCLCD
        RETURN 
TIMEOFFLCD
        CALL   CLRLCD
        MOVLW  080H
        CALL   SENDCMD
        MOVLW  'T'
        CALL   PUTCLCD
        MOVLW  'I'
        CALL   PUTCLCD
        MOVLW  'M'
        CALL   PUTCLCD
        MOVLW  'E'
        CALL   PUTCLCD
        MOVLW  'R'
        CALL   PUTCLCD
        MOVLW  ' '
        CALL   PUTCLCD
        MOVLW  'A'
        CALL   PUTCLCD
        MOVLW  'D'
        CALL   PUTCLCD
        MOVLW  'J'
        CALL   PUTCLCD
        MOVLW  'U'
        CALL   PUTCLCD
        MOVLW  'S'
        CALL   PUTCLCD
        MOVLW  'T'
        CALL   PUTCLCD
        MOVLW  ' '
        CALL   PUTCLCD
        CALL   PUTCLCD
        CALL   PUTCLCD
        MOVLW  30H
        ADDWF  STATE,W
        CALL   PUTCLCD
        MOVLW  0X0C0
        CALL   SENDCMD
        MOVF   HOUR2,W
        MOVWF  M_INPUT
        CALL   BIN2BCDT
        MOVF   OUTPUT1,W       
        CALL   PUTCLCD  
        MOVF   OUTPUT2,W
        CALL   PUTCLCD
        MOVLW  ':'
        CALL   PUTCLCD
        MOVF   MINUTE2,W
        MOVWF  M_INPUT
        CALL   BIN2BCDT
        MOVF   OUTPUT1,W       
        CALL   PUTCLCD  
        MOVF   OUTPUT2,W
        CALL   PUTCLCD
        MOVLW  ' '
        CALL   PUTCLCD
        MOVLW  'O'
        CALL   PUTCLCD
        MOVLW  'F'
        CALL   PUTCLCD
        MOVLW  'F'
        CALL   PUTCLCD
        MOVLW  ' '
        CALL   PUTCLCD
        CALL   PUTCLCD
        CALL   PUTCLCD
        CALL   PUTCLCD
        CALL   PUTCLCD
        CALL   PUTCLCD
        MOVLW  30H
        ADDWF  STATE,W
        CALL   PUTCLCD
        RETURN

;**********************************
;5-H,手动开关显示模块
; 显示如下:HAND CONTROL   
;           1-ON 2-OFF     ?
HANDONOFFLCD
        CALL   CLRLCD
        MOVLW  080H
        CALL   SENDCMD
        MOVLW  'H'
        CALL   PUTCLCD
        MOVLW  'A'
        CALL   PUTCLCD
        MOVLW  'N'
        CALL   PUTCLCD
        MOVLW  'D'
        CALL   PUTCLCD
        MOVLW  ' '
        CALL   PUTCLCD
        MOVLW  'C'
        CALL   PUTCLCD
        MOVLW  'O'
        CALL   PUTCLCD
        MOVLW  'N'
        CALL   PUTCLCD
        MOVLW  'T'
        CALL   PUTCLCD
        MOVLW  'R'
        CALL   PUTCLCD
        MOVLW  'O'
        CALL   PUTCLCD
        MOVLW  'L'
        CALL   PUTCLCD
        MOVLW  ' '
        CALL   PUTCLCD
        CALL   PUTCLCD
        CALL   PUTCLCD
        MOVLW  30H
        ADDWF  MODE,W
        CALL   PUTCLCD
        MOVLW  0X0C0
        CALL   SENDCMD
        MOVLW  '1'
        CALL   PUTCLCD
        MOVLW  '-'
        CALL   PUTCLCD
        MOVLW  'O'
        CALL   PUTCLCD
        MOVLW  'N'
        CALL   PUTCLCD
        MOVLW  ' '
        CALL   PUTCLCD
        MOVLW  '2'
        CALL   PUTCLCD
        MOVLW  '-'
        CALL   PUTCLCD
        MOVLW  'O'
        CALL   PUTCLCD
        MOVLW  'F'
        CALL   PUTCLCD
        MOVLW  'F'
        CALL   PUTCLCD
        MOVLW  ' '
        CALL   PUTCLCD
        MOVLW  ' '
        CALL   PUTCLCD
        MOVLW  ' '
        CALL   PUTCLCD
        MOVLW  ' '
        CALL   PUTCLCD
        MOVLW  ' '
        CALL   PUTCLCD
        MOVLW  30H
        ADDWF  STATE,W
        CALL   PUTCLCD
        RETURN
;**********************************

;*************************************
;模式错误显示子程序
;显示如下:MODE ERROR!    ?
;        : CHOOSE MODE 3  ? 
;*************************************
MODEERRORLCD     
        CALL   CLRLCD
        MOVLW  080H
        CALL   SENDCMD
        MOVLW  'M'
        CALL   PUTCLCD
        MOVLW  'O'
        CALL   PUTCLCD
        MOVLW  'D'
        CALL   PUTCLCD
        MOVLW  'E'
        CALL   PUTCLCD
        MOVLW  ' '
        CALL   PUTCLCD
        MOVLW  'E'
        CALL   PUTCLCD
        MOVLW  'R'
        CALL   PUTCLCD
        MOVLW  'R'
        CALL   PUTCLCD
        MOVLW  'O'
        CALL   PUTCLCD
        MOVLW  'R'
        CALL   PUTCLCD
        MOVLW  ' '
        CALL   PUTCLCD
        CALL   PUTCLCD
        CALL   PUTCLCD
        CALL   PUTCLCD
        CALL   PUTCLCD
        MOVLW  30H
        ADDWF  MODE,W
        CALL   PUTCLCD
        MOVLW  0X0C0
        CALL   SENDCMD
        MOVLW  'C'
        CALL   PUTCLCD

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -