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

📄 10hz.asm

📁 本资源包含了单片机键盘、a/d、频率测试等源代码
💻 ASM
📖 第 1 页 / 共 4 页
字号:
          LIST      P=16F72;F=INHX8M
#INCLUDE P16F72.inc
            ORG     0x0000
            GOTO    MAIN
            ORG    0X04
            BTFSS PIR1,TMR1IF
            RETURN
            MOVWF W_TEMP
            SWAPF STATUS,0
            CLRF STATUS
            MOVWF ST_TEMP
            CALL HZ10HZ
            BCF   PIR1,TMR1IF
            SWAPF ST_TEMP,0
            MOVWF STATUS
            SWAPF W_TEMP,1
            SWAPF W_TEMP,0
            RETFIE
            CBLOCK   0X20
            ADDR       ;EQU   0X21      ;温度地址2401中00H为温度值,01H为小时;02H为分钟
            TEMP       ;EQU   0X22
            DAT        ;EQU   0X23
            BZD  
            BZD1      
            SHU1O      ;EQU   0X24         ;第一次开机寄存器         
            SHU1F      ;EQU   0X25         ;第一次关机寄存器
            SHU2O      ;EQU   0X26        ;第二次开机寄存器
            SHU2F      ;EQU   0X27        ;第二次关机寄存器
            SHU3O      ;EQU   0X28        ;第三次开机寄存器
            SHU3F      ;EQU   0X29         ;第三次关机寄存器
            SHUTIME    ;EQU   0X2A         ;时钟寄存器
            SHUMIN     ;EQU   0X2B        ;分钟寄存器
            SHUWD      ;EQU   0X2C        ;温度寄存器
            WENDU      ;EQU   0X2D        ;温度暂存器
            WENDU1
            WENDU2
            TSP
            TI         ;EQU   0X2E        ;小时暂存器
            MI         ;EQU   0X2F        ;分钟暂存器
            SHU1OT     ;EQU   0X30
            SHU2OT     ;EQU   0X31
            SHU3OT     ;EQU   0X32
            SHU1OM     ;EQU   0X33
            SHU2OM     ;EQU   0X34
            SHU3OM     ;EQU   0X35
            SHU1FT     ;EQU   0X36
            SHU2FT     ;EQU   0X37
            SHU3FT     ;EQU   0X38
            SHU1FM     ;EQU   0X39
            SHU2FM     ;EQU   0X3A
            SHU3FM     ;EQU   0X3B
            R1         ;EQU   0X3C
            R2         ;EQU   0X3D
            R3         ;EQU   0X3E
            R4         ;EQU   0X3F
            R5         ;EQU   0X40
            R6         ;EQU   0X41
            R7         ;EQU   0X42
            BJ15S      ;EQU   0X43
            WENDU2401
            BJWENDU
            COUNT
            
            FIRON
            SECON
            THIRON
            FIROFF
            SECOFF
            THIROFF
            TIMESET
            BJ15SH
            SS50
            R10
            R11
            R9
            R100
			W_TEMP
            ST_TEMP
            CONT
            HZFLAG
            F1
           
           
            ENDC
;#DEFINE    BZ
            CONSTANT   LOWF=0
            CONSTANT   ST=1
            CONSTANT   BZSET=0
            CONSTANT   BZSET1=1
            CONSTANT   BZOK=2
            CONSTANT   BZD1F=0
            CONSTANT   BZD1S=1
            CONSTANT   BZD1T=2
            CONSTANT   BZD1ALL=3
            CONSTANT   WDBJ=4
            CONSTANT   BZD3ALL=5
            CONSTANT   WDXIAO=6
            CONSTANT   YYD=7
#define    SDA  PORTA,3
#define    SCLK PORTA,1

;50H.1         SHIJIANPANDUAN
;50H.2         WENDUBIJIAOBIAOZHI
            ORG 0X12
TABLE       ADDWF   PCL,1
            RETLW   0xBF        ;0
            RETLW   0x86        ;1
            RETLW   0xDB        ;2
            RETLW   0xCF        ;3
            RETLW   0xE6        ;4
            RETLW   0xED        ;5
            RETLW   0xFD        ;6
            RETLW   0x87        ;7
            RETLW   0xFF        ;8
            RETLW   0xEF        ;9
            ;RETLW   0XB7       ;A
            ;RETLW   0XFF       ;B
            ;RETLW   0XB9       ;C
            ;RETLW   0XBF       ;D
            ;RETLW   0XF9       ;E
            RETLW   0XDC        ;O
            RETLW   0XF1        ;F
            RETLW   0XF6        ;H
            RETLW   0XC0        ;-
            RETURN
            ORG 0X27
TABLE_T     ADDWF PCL,1
             

       RETLW  0X00
       RETLW  0X00
       RETLW  0X00
       RETLW  0X00
       RETLW  0X00
       RETLW  0X00
       RETLW  0X00
       RETLW  0X00
       RETLW  0X00
       RETLW  0X00
       RETLW  0X00
       RETLW  0X00
       RETLW  0X00
       RETLW  0X00
       RETLW  0X00
       RETLW  0X00

       RETLW  0X00
       RETLW  0X00
       RETLW  0X00
       RETLW  0X00
       RETLW  0X00
       RETLW  0X01
       RETLW  0X01
       RETLW  0X02
       RETLW  0X03
       RETLW  0X04
       RETLW  0X04
       RETLW  0X05
       RETLW  0X05
       RETLW  0X06
       RETLW  0X06
       RETLW  0X07

       RETLW  0X08
       RETLW  0X08
       RETLW  0X09
       RETLW  0X09
       RETLW  0X10
       RETLW  0X10
       RETLW  0X10
       RETLW  0X11
       RETLW  0X11
       RETLW  0X11
       RETLW  0X12
       RETLW  0X12
       RETLW  0X13
       RETLW  0X13
       RETLW  0X14
       RETLW  0X14

       RETLW  0X15
       RETLW  0X15
       RETLW  0X16
       RETLW  0X16
       RETLW  0X17
       RETLW  0X18
       RETLW  0X18
       RETLW  0X19
       RETLW  0X20
       RETLW  0X21
       RETLW  0X22
       RETLW  0X23
       RETLW  0X24
       RETLW  0X25
       RETLW  0X25
       RETLW  0X26

       RETLW  0X26
       RETLW  0X27
       RETLW  0X27
       RETLW  0X28
       RETLW  0X29
       RETLW  0X29
       RETLW  0X30
       RETLW  0X30
       RETLW  0X30
       RETLW  0X31
       RETLW  0X31
       RETLW  0X31
       RETLW  0X32
       RETLW  0X32
       RETLW  0X32
       RETLW  0X33

       RETLW  0X33
       RETLW  0X33
       RETLW  0X34
       RETLW  0X34
       RETLW  0X34
       RETLW  0X35
       RETLW  0X35
       RETLW  0X35
       RETLW  0X36
       RETLW  0X36
       RETLW  0X36
       RETLW  0X36
       RETLW  0X37
       RETLW  0X37
       RETLW  0X37
       RETLW  0X38

       RETLW  0X38
       RETLW  0X38
       RETLW  0X39
       RETLW  0X39
       RETLW  0X39
       RETLW  0X40
       RETLW  0X40
       RETLW  0X41
       RETLW  0X42
       RETLW  0X42
       RETLW  0X43
       RETLW  0X43
       RETLW  0X44
       RETLW  0X44
       RETLW  0X44
       RETLW  0X45

       RETLW  0X45
       RETLW  0X45
       RETLW  0X46
       RETLW  0X46
       RETLW  0X47
       RETLW  0X47
       RETLW  0X47
       RETLW  0X48
       RETLW  0X48
       RETLW  0X48
       RETLW  0X48
       RETLW  0X48
       RETLW  0X49
       RETLW  0X49
       RETLW  0X50
       RETLW  0X50

       RETLW  0X51
       RETLW  0X51
       RETLW  0X52
       RETLW  0X52
       RETLW  0X53
       RETLW  0X53
       RETLW  0X54
       RETLW  0X54
       RETLW  0X55
       RETLW  0X55
       RETLW  0X56
       RETLW  0X56
       RETLW  0X57
       RETLW  0X57
       RETLW  0X58
       RETLW  0X58

       RETLW  0X59
       RETLW  0X59
       RETLW  0X60
       RETLW  0X60
       RETLW  0X61
       RETLW  0X61
       RETLW  0X62
       RETLW  0X63
       RETLW  0X63
       RETLW  0X64
       RETLW  0X64
       RETLW  0X64
       RETLW  0X65
       RETLW  0X65
       RETLW  0X66
       RETLW  0X66

       RETLW  0X67
       RETLW  0X67
       RETLW  0X68
       RETLW  0X68
       RETLW  0X69
       RETLW  0X70
       RETLW  0X70
       RETLW  0X70
       RETLW  0X71
       RETLW  0X71
       RETLW  0X72
       RETLW  0X72
       RETLW  0X73
       RETLW  0X73
       RETLW  0X74
       RETLW  0X74


       RETLW  0X75
       RETLW  0X75
       RETLW  0X76
       RETLW  0X77
       RETLW  0X77
       RETLW  0X78
       RETLW  0X78
       RETLW  0X79
       RETLW  0X79
       RETLW  0X80
       RETLW  0X80
       RETLW  0X81
       RETLW  0X81
       RETLW  0X82
       RETLW  0X83
       RETLW  0X83

       RETLW  0X84
       RETLW  0X84
       RETLW  0X85
       RETLW  0X85
       RETLW  0X86
       RETLW  0X87
       RETLW  0X87
       RETLW  0X88
       RETLW  0X88
       RETLW  0X89
       RETLW  0X89
       RETLW  0X90
       RETLW  0X90
       RETLW  0X91
       RETLW  0X91
       RETLW  0X92
   
       RETLW  0X93
       RETLW  0X94
       RETLW  0X95
       RETLW  0X96
       RETLW  0X96
       RETLW  0X97
       RETLW  0X97
       RETLW  0X98
       RETLW  0X98
       RETLW  0X99
       RETLW  0X99
       RETLW  0X99
       RETLW  0X99
       RETLW  0X99
       RETLW  0X99
       RETLW  0X99

       RETLW  0X99
       RETLW  0X99
       RETLW  0X99
       RETLW  0X99
       RETLW  0X99
       RETLW  0X99
       RETLW  0X99
       RETLW  0X99
       RETLW  0X99
       RETLW  0X99
       RETLW  0X99
       RETLW  0X99
       RETLW  0X99
       RETLW  0X99
       RETLW  0X99
       RETLW  0X99


       RETLW  0X99
       RETLW  0X99
       RETLW  0X99
       RETLW  0X99
       RETLW  0X99
       RETLW  0X99
       RETLW  0X99
       RETLW  0X99
       RETLW  0X99
       RETLW  0X99
       RETLW  0X99
       RETLW  0X99
       RETLW  0X99
       RETLW  0X99
       RETLW  0X99
       RETLW  0X99
       RETURN

            ORG 0X012D
MAIN         BSF STATUS,RP0
            MOVLW 0X00
            MOVWF TRISC   ;C口定义为输出RC0-RC6为数码管A-G段,RC7为分钟低位位选W6
            MOVLW 0XE0
            MOVWF TRISB   ;RB0为温度高位位选W1,RB1为温度低位位选W2,RB2为小时高位
                          ;RB3为小时低位,RB4为分钟高位,RB5=SET,RB6=UP,RB7=DOWN
            
            MOVLW   0x00
            MOVWF   OPTION_REG
            MOVLW 0XFF
            MOVWF ADCON1          
            MOVLW 0X10;;;;;;;0X00
            MOVWF TRISA 
            CLRF PIE1 
            BCF STATUS,RP0
            CLRF PIR1
            CLRF TMR1L
            CLRF TMR1H
            CLRF HZFLAG
            CLRF  F1
            CLRF  CONT
            MOVLW 0X00
            MOVWF T2CON
            MOVLW 0XFF
            MOVWF PORTC
            MOVLW 0XFF
            MOVWF PORTB
            MOVLW 0X00
            MOVWF INTCON
            MOVLW 0X40
            MOVWF ADCON0   ;FOSC/8
            CLRF PORTA
            BSF PORTA,5
            CLRF BZD
            CLRF BZD1
            CLRF BJ15S
            CLRF BJ15SH
            MOVLW 0X01
            MOVWF SHUTIME
            MOVWF SHUMIN
            MOVWF SHUWD
            CLRF WENDU
            CLRF TI
            CLRF MI
            CLRF SS50
            CLRF SHU1OT     ;EQU   0X30
            CLRF SHU2OT     ;EQU   0X31
            CLRF SHU3OT     ;EQU   0X32
            CLRF SHU1OM     ;EQU   0X33
            CLRF SHU2OM     ;EQU   0X34
            CLRF SHU3OM     ;EQU   0X35
            CLRF SHU1FT     ;EQU   0X36
            CLRF SHU2FT     ;EQU   0X37
            CLRF SHU3FT     ;EQU   0X38
            CLRF SHU1FM     ;EQU   0X39
            CLRF SHU2FM     ;EQU   0X3A
            CLRF SHU3FM

           MOVLW 0X1A
           MOVWF  FIRON                                   ;=0X1A     ;第1次设置常数1O:1O
           MOVLW 0X2A
           MOVWF   SECON                              ;=0X2A     ;第2次设置常数2O:2O
           MOVLW 0X3A
           MOVWF   THIRON                           ;=0X3A    ;第3次设置常数3O:3O
           MOVLW 0X1B
           MOVWF   FIROFF                             ;=0X1B    ;第1次设置常数1F:1F
           MOVLW 0X2B
           MOVWF   SECOFF                            ;=0X2B    ;第2次设置常数2F:2F
           MOVLW 0X3B
           MOVWF   THIROFF                          ;=0X3B   ;第3次设置常数3F:3F
          MOVLW 0XCD
           MOVWF  TIMESET                           ;=0XCD   ;时钟设置常数显示:H-
              CLRWDT
			 CALL DELAY1S
			CALL DELAY1S
			CALL DELAY1S			
			  CALL INT
              CLRF BJ15S
            
              MOVLW 0X00
              MOVWF DAT
              MOVLW 0X00
              CALL WT8563
			  ;CLRWDT	
			  CALL DISP_1
              CALL DISP_2
              CALL DISP_3
              CLRWDT
			  CALL DISP_1
              CALL DISP_2
              CALL DISP_3
              CLRWDT
			
              MOVLW 0X00
              MOVWF DAT
              MOVLW 0X01
              CALL WT8563
			  ;CLRWDT	
			  CALL DISP_1
              CALL DISP_2
              CALL DISP_3
              CLRWDT
			  CALL DISP_1
              CALL DISP_2
              CALL DISP_3
              MOVLW 0X03
              MOVWF DAT
              MOVLW 0X0E
 ;CLRWDT	
              CALL WT8563
              CALL DISP_1
              CALL DISP_2
              CALL DISP_3
              CLRWDT
			  CALL DISP_1
              CALL DISP_2
              CALL DISP_3
              
              MOVLW 0X03
              CALL RD8563
              MOVWF SHUMIN
              MOVLW 0X9A
              SUBWF SHUMIN,0
              BTFSC STATUS,0
              CLRF SHUMIN
	        
		      MOVLW 0X04
              CALL RD8563
              MOVWF SHUTIME
              MOVLW 0X9A
              SUBWF SHUTIME,0
              BTFSC STATUS,0
              CLRF SHUTIME
              MOVLW 0X7F
              ANDWF SHUMIN,1
              MOVLW 0X3F
              ANDWF SHUTIME,1
              
CS          CALL DISP_1
            CALL DISP_2
            CALL DISP_3;CALL AD
	        ;-----------------
           ; BSF STATUS,RP0
           ; BSF PIE1,0
           ; BCF STATUS,RP0

            
            MOVLW 0X2F
            MOVWF TMR1L
            MOVLW 0XF8
            MOVWF TMR1H

            ;-------------------
KKC       ;  CLRWDT
          ;  BTFSS PORTA,4
          ;  GOTO KKC
            ;;BSF T1CON,TMR1ON
            ;--------------------

POOP        CLRWDT;BTFSC BZD ,BZSET     ;防止设置按键去抖功能,BZSET进入正常设置子程序,BZSET1是按键预设置
            BTFSS PORTB,5
            CALL SET1
         
POP1        CLRWDT
            INCF R9,1
            MOVLW 0X25
            SUBWF R9,0
            BTFSS STATUS,0
            GOTO PPK
            CLRF R9
            CALL AD
            MOVF WENDU2 ,0
            MOVWF WENDU
PPK         CLRWDT
			BTFSS PORTB,5
            CALL SET1   
           CALL DISP_1
                     ;温度显示子程序
            MOVLW 0X04
            CALL RD8563
            MOVWF SHUTIME
	                    ;读8653的小时和分钟,分别存在TI与MI中
            
           ;MOVWF TI
	       MOVLW 0X3F
	       ANDWF SHUTIME,0
           MOVWF SHUTIME
           MOVWF TI
          	
           CALL DISP_2
                  ;小时显示子程序
           CLRWDT
           MOVLW 0X03
		   CALL RD8563
           MOVWF SHUMIN 
	  

⌨️ 快捷键说明

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