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

📄 mainn.asm

📁 本资源包含了单片机键盘、a/d、频率测试等源代码
💻 ASM
📖 第 1 页 / 共 3 页
字号:
         CALL TABLE
         MOVWF PORTC
         BCF PORTB,3
         
         CALL DELAY5MS
         BSF PORTB,3
         MOVF R2,0
         CALL TABLE
         MOVWF PORTC
         BCF PORTB,2
         CALL DELAY5MS
         BSF PORTB,2
         RETURN
===================================FENZHONG显示程序====================
DISP_3   MOVF MI,0
         MOVLW 0X0F
         ANDWF MI,0
         MOVWF R1
         MOVLW 0XF0
         ANDWF MI,0
         MOVWF R2
         MOVF R1,0
         CALL TABLE
         MOVWF PORTC
         BCF PORTC,7
         CALL DELAY5MS
         BSF PORTB,7
         MOVF R2,0
         CALL TABLE
         MOVWF PORTC
         BCF PORTB,4
         CALL DELAY5MS
         BSF PORTB,4
         RETURN

;--------------------------------------
r8563            acall iicstart
                movlw,0xa2h

                acall iicwbyte
                movlw,0x03h
                acall iicwbyte
                nop
                nop
                acall iicstart

                movlw,0xa3h
                acall iicwbyte
                acall iicrbyte
                acall iicstop
                nop
	        nop
                nop
                movwf dm
              ;--------------hour----- 
                 acall iicstart
                movlw,0xa2h

                acall iicwbyte
                movlw,0x04h
                acall iicwbyte
                nop
                nop
                acall iicstart

                movlw,0xa3h
                acall iicwbyte
                acall iicrbyte
                acall iicstop
                nop
	        nop
                nop
                movwf dh

                return                



;--------------------读温度和时间段设置值-----------
r2401           acall iicstart
                movlw,0xa0h

                acall iicwbyte
                movlw,0x01h
                acall iicwbyte
                nop
                nop
                acall iicstart

                movlw,0xa1h
                acall iicwbyte
                acall iicrbyte
                acall iicstop
                nop
	        nop
                nop
                movwf tpre

	     ;-----1o------------   
	         acall iicstart
                movlw,0xa0h

                acall iicwbyte
                movlw,0x02h
                acall iicwbyte
                nop
                nop
                acall iicstart

                movlw,0xa1h
                acall iicwbyte
                acall iicrbyte
                acall iicstop
                nop
	        nop
                nop
                movwf tipre1oh

	         acall iicstart
                movlw,0xa0h

                acall iicwbyte
                movlw,0x03h
                acall iicwbyte
                nop
                nop
                acall iicstart

                movlw,0xa1h
                acall iicwbyte
                acall iicrbyte
                acall iicstop
                nop
	        nop
                nop
                movwf tipre1om
             ;----1f--------------   
                 acall iicstart
                movlw,0xa0h

                acall iicwbyte
                movlw,0x04h
                acall iicwbyte
                nop
                nop
                acall iicstart

                movlw,0xa1h
                acall iicwbyte
                acall iicrbyte
                acall iicstop
                nop
	        nop
                nop
                movwf tipre1fh
             
		acall iicstart
                movlw,0xa0h

                acall iicwbyte
                movlw,0x05h
                acall iicwbyte
                nop
                nop
                acall iicstart

                movlw,0xa1h
                acall iicwbyte
                acall iicrbyte
                acall iicstop
                nop
	        nop
                nop
                movwf tipre1fm	
	     
	     ;-----------2o---------   
	         acall iicstart
                movlw,0xa0h

                acall iicwbyte
                movlw,0x06h
                acall iicwbyte
                nop
                nop
                acall iicstart

                movlw,0xa1h
                acall iicwbyte
                acall iicrbyte
                acall iicstop
                nop
	        nop
                nop
                movwf tipre2oh

                acall iicstart
                movlw,0xa0h

                acall iicwbyte
                movlw,0x07h
                acall iicwbyte
                nop
                nop
                acall iicstart

                movlw,0xa1h
                acall iicwbyte
                acall iicrbyte
                acall iicstop
                nop
	        nop
                nop
                movwf tipre2om
        ;----------2f--------------
                acall iicstart
                movlw,0xa0h

                acall iicwbyte
                movlw,0x08h
                acall iicwbyte
                nop
                nop
                acall iicstart

                movlw,0xa1h
                acall iicwbyte
                acall iicrbyte
                acall iicstop
                nop
	        nop
                nop
                movwf tipre2fh

                acall iicstart
                movlw,0xa0h

                acall iicwbyte
                movlw,0x09h
                acall iicwbyte
                nop
                nop
                acall iicstart

                movlw,0xa1h
                acall iicwbyte
                acall iicrbyte
                acall iicstop
                nop
	        nop
                nop
                movwf tipre2fm

             ;-----------3o---------   
	         acall iicstart
                movlw,0xa0h

                acall iicwbyte
                movlw,0x0ah
                acall iicwbyte
                nop
                nop
                acall iicstart

                movlw,0xa1h
                acall iicwbyte
                acall iicrbyte
                acall iicstop
                nop
	        nop
                nop
                movwf tipre3oh

                acall iicstart
                movlw,0xa0h

                acall iicwbyte
                movlw,0x0bh
                acall iicwbyte
                nop
                nop
                acall iicstart

                movlw,0xa1h
                acall iicwbyte
                acall iicrbyte
                acall iicstop
                nop
	        nop
                nop
                movwf tipre3om
        ;----------3f--------------
                acall iicstart
                movlw,0xa0h

                acall iicwbyte
                movlw,0x0ch
                acall iicwbyte
                nop
                nop
                acall iicstart

                movlw,0xa1h
                acall iicwbyte
                acall iicrbyte
                acall iicstop
                nop
	        nop
                nop
                movwf tipre3fh

                acall iicstart
                movlw,0xa0h

                acall iicwbyte
                movlw,0x0dh
                acall iicwbyte
                nop
                nop
                acall iicstart

                movlw,0xa1h
                acall iicwbyte
                acall iicrbyte
                acall iicstop
                nop
	        nop
                nop
                movwf tipre3fm
                return

;----------------------------------                  
iicstart       bsf status,rp0
               bcf trisa,3
               bcf status,rp0
	       bcf   SCL
               NOP
               nop
               bsf SDA
               NOP
               nop
               bsf SCL

                nop
                nop
                bcf SDA
                nop
                nop

                bcf SCL
                nop
                nop
               return

;/----------停止IIC总线--------/
iicstop   bsf status,rp0
           bcf trisa,3
           bcf status,rp0
	    bcf SCL
            NOP
            nop
            bcf SDA
            NOP
            nop
            bsf SCL
            nop
            nop
            bsf SDA
            nop
            nop
            bcf SCL
            return


;/--------向IIC总线写8bit数据--------/
iicwbyte     bsf status,rp0
              bcf trisa,3
              bcf status,rp0
	       movwf temp 
	       nop
               movlw,08h
               movwf count
	       bcf status , c
wnextbit      bcf SCL
               NOP
               NOP
               rlf  temp,1
               btfss status,c
               goto zl
               bsf SDA
	       goto jx
zl             bcf SDA
jx		nop
               nop

               bsf SCL
               nop
               nop
               decfsz count,1
               goto  wnextbit
               nop
               nop
moreack       bcf SCL
               nop
               nop
               nop
               bsf Scl
               nop
               nop

            
               nop
               bsf status,rp0
               bsf trisa,3
               bcf status,rp0
 ggk         btfsc  sda
              goto ggk
	      nop
               nop

               bcf SCL
               nop
               nop
               return


;/------从IIC总线上读8bit数据子程序----/
iicrbyte      clrf  temp
	      movlw 08h
              movwf count

rnextbit     bcf scl
              nop
              nop
              nop
              bsf SCL
              nop
              nop
              nop
              bsf status,rp0
              bsf trisa,3
              bcf status,rp0
              btfsc SDA
              goto zy
              bcf status,c
              goto ssh
zy            bsf status,c              
ssh	      rlf temp,1
              nop
              nop
              decfsz count,1
              goto    rnextbit
              nop
              bcf SCL
              nop
              nop
              bsf status,rp0
              bsf trisa,3
	      bcf status,rp0
              bsf SDA
              nop
              nop
              bsf SCL
              nop
              nop
              nop
	      movf temp 
              return

;-------------实时温度采集-------------

RELTAD        BSF STATUS,RP0
              MOVLW  0X0BH
              MOVWF TRISA
              MOVLW 0X04H
              MOVWF ADCON1
              BCF STATUS,RP0
              MOVLW 0X40H
              MOVWF ADCON0
              BSF ADCON0,ADON
  ;----------------------------
	      MOVLW 0X10H
              MOVWF  COUNT1
 JSYS         DECFSZ  COUNT1,1
              GOTO  JSYS
              BSF ADCON0,GO
 DDWC         ACALL DISP
	      BTFSC ADCON0,GO
              GOTO DDWC
	      MOVF ADRES,0
              MOVWF ADTEMP
              RETURN

;------------温度处理--------

TDEAL        RETURN
;----------------------------

;-------------------键盘中断处理-------------

INTPRO      MOVWF W_STACK
	    SWAPF STATUS,W
            CLRF STATUS
            MOVWF ST_STACK
            BTFSS INTCON,RBIF
            GOTO  INTEND
            BTFSC PROTB,5    ;IF SET KEY
            GOTO  NEXTP     ;NO ,IF ELSE OTHER KEY
            BTFSC FLAG,UDF   ;SET KEY PRESSED 
            GOTO  CCSZ       ;SET KEY AS ENTER AFTER UP OR DOWN KEY PRESSED
            INCF  SETCOUNT,1 ;STE KEY AS SELECT KEY 

            MOVLW 0X0FH
            SUBWF SETCOUNT,W ;IF SET TIME >9,SETCOUNT=1
            BTFSS STATUS,C
            GOTO  ZCJS
            MOVLW 0X01H
            MOVWF SETCOUNT
  
ZCJS	    BSF   FLAG  SETF
	    MOVF  SETCOUNT,W
            MOVWF SETCOUNTT

	    DECF  SETCOUNTT,1 ;ACCORDING SET PRESS TIMES TO SUBGRAM
            BTFSC STATUS ,Z
            GOTO  WDSZ        ;=1   SET PRE TEMPRETURE

            DECF  SETCOUNTT,1
            BTFSC STATUS ,Z  
            GOTO  ONEOSETH   ;=2  SET 1O H TIME

            DECF  SETCOUNTT,1
            BTFSC STATUS ,Z  
            GOTO  ONEOSETM     ;=3  SET 1O M TIME

⌨️ 快捷键说明

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