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

📄 f.s43

📁 用MSP430单片机做的频率表程序(完整的一个产品程序)
💻 S43
📖 第 1 页 / 共 5 页
字号:

;---------------------------------------------------------             
INITI       MOV     #00H,OPERMOD1 
            MOV.B  #61H,OPERMOD3
            CALL   #WRITEOPERMOD   
            MOV    #00H,OPERMOD1C
            MOV.B  #61H,OPERMOD3C
            CALL   #WRITEOPERMODC
            
            MOV     #00H,CONFIG1 
            MOV.B  #01H,CONFIG3
            CALL   #WRITECONFIG   
            MOV    #00H,CONFIG1C
            MOV.B  #01H,CONFIG3C
            CALL   #WRITECONFIGC
               
            MOV.B  #5,ISCL
            MOV    #100,USCL
            MOV    #01H,RI1
            MOV    #00H,RI3 
            MOV    #0100H,RI5
            MOV    #00H,RU2
            MOV    #00H,RU4
            DINT  
            mov    #WDTPW+WDTHOLD,&WDTCTL
            MOV   #FWKEY+FSSEL0+FN0,&FCTL2
            MOV   #FWKEY,&FCTL3
            MOV   #FWKEY+ERASE,&FCTL1
            MOV   #0,&1080H
            MOV   #FWKEY+WRT,&FCTL1 
            MOV    #0001H,ADDSAVE1
            MOV    #0000H,ADDSAVE3 
            MOV    #0001H,ADDRESSAVE  
            mov    #68H,BAUDSAVE1                  
            mov.b    #08H,BAUDSAVE3          
            MOV     #4800,BAUDSAVE 
            MOV     #00H,IACOFFSAVE1
            MOV.B   #00H,IACOFFSAVE3 
            MOV     #00H,VACOFFSAVE1 
            MOV.B   #00H,VACOFFSAVE3 
            MOV     #00H,IACOFFSAVE1C
            MOV.B   #00H,IACOFFSAVE3C 
            MOV     #00H,VACOFFSAVE1C 
            MOV.B   #00H,VACOFFSAVE3C 
            MOV    #40H,IGNSAVE1 
            MOV.B  #00H,IGNSAVE3 
            MOV    #40H,VGNSAVE1 
            MOV.B  #00H,VGNSAVE3 
            MOV    #40H,IGNSAVE1C 
            MOV.B  #00H,IGNSAVE3C 
            MOV    #40H,VGNSAVE1C 
            MOV.B  #00H,VGNSAVE3C 
            MOV    CONFIG1,CONFIGSAVE1 
            MOV.B  CONFIG3,CONFIGSAVE3 
            MOV    CONFIG1C,CONFIGSAVE1C 
            MOV.B  CONFIG3C,CONFIGSAVE3C 
            MOV.B  ISCL,ISCLSAVE   
            MOV    USCL,USCLSAVE 
            MOV    RI1,RISAVE1
            MOV    RI3,RISAVE3
            MOV    RI5,RISAVE5
            MOV    RU2,RUSAVE2
            MOV    RU4,RUSAVE4
            mov    FULLAD,FULLADSAVE 
            mov    FULLADC,FULLADSAVEC 
            MOV    ADCFULL,ADCFULLSAVE
            MOV    ADCFULLA,ADCFULLASVE 
            MOV    ADCFULLC,ADCFULLCSVE         
                        
            MOV     #00H,IDCOFFSAVE1
            MOV.B   #00H,IDCOFFSAVE3 
            MOV     #00H,VDCOFFSAVE1 
            MOV.B   #00H,VDCOFFSAVE3 
            MOV     #00H,IDCOFFSAVE1C
            MOV.B   #00H,IDCOFFSAVE3C 
            MOV     #00H,VDCOFFSAVE1C 
            MOV.B   #00H,VDCOFFSAVE3C  
            MOV     #00H,ZIROSAVE
            mov.b    #0f5h,FIRSTFLAG
            MOV   #FWKEY,&FCTL1
            MOV   #FWKEY+LOCK,&FCTL3
            CALL    #RESTWDT 
            DINT  
            mov    #WDTPW+WDTHOLD,&WDTCTL
            MOV   #FWKEY+FSSEL0+FN0,&FCTL2
            MOV   #FWKEY,&FCTL3
            MOV   #FWKEY+ERASE,&FCTL1
            MOV   #0,&1000H
            MOV   #FWKEY+WRT,&FCTL1 
            MOV    #9000,AALHONSAVE
            MOV    #00,AALLONSAVE
            MOV    #9000,BALHONSAVE
            MOV    #00,BALLONSAVE
            MOV    #9000,CALHONSAVE
            MOV    #00,CALLONSAVE 
             MOV   #8550,AALHOFFSAVE
             MOV   #450,AALLOFFSAVE
             MOV    #8550,BALHOFFSAVE
             MOV    #300,BALLOFFSAVE
             MOV    #8550,CALHOFFSAVE
             MOV    #60,CALLOFFSAVE
            MOV    #00H,ALARMORSAVE
            MOV    #00H,DOMODESAVE
            MOV    #01H,ALRPARASAVE
            MOV    #01H,ALRPARBSAVE
            MOV    #01H,ALRPARCSAVE
            MOV     #00H,TIME1SAVE
            MOV     #0005H,TIME3SAVE
            MOV     #200,DOTIMESAVE
            
            MOV    OPERMOD1,OPERMODSAVE1 
            MOV.B  OPERMOD3,OPERMODSAVE3 
            MOV    OPERMOD1C,OPERMODSAVE1C 
            MOV.B  OPERMOD3C,OPERMODSAVE3C
            ;MOV    QADCFULL,QADCFULLSAVE
            MOV    QADCFULLA,QADCFULLASVE 
            MOV    QADCFULLC,QADCFULLCSVE
            
            
            MOV   #FWKEY,&FCTL1
            MOV   #FWKEY+LOCK,&FCTL3
            CALL    #RESTWDT 
            MOV    DOTIMESAVE,DOTIME
            MOV    TIME1SAVE,TIME1
            MOV    TIME3SAVE,TIME3  
            MOV    ADDSAVE1,ADDRESS1
            MOV    ADDSAVE3,ADDRESS3 
            MOV    ADDRESSAVE,ADDRESS
            MOV    BAUDSAVE,BAUDATE  
            mov.b  BAUDSAVE1,&UBR00            
            mov.b   BAUDSAVE2,&UBR10        
            mov.b   BAUDSAVE3 ,&UMCTL0 
            MOV     ZIROSAVE,ZIRO
            MOV.B   OUTFLAG,OUTFLAGSAVE  
            BR      #LOADEPROM             
             
             
             
READEPROM   MOV    IACOFFSAVE1,IACOFF1
            MOV.B  IACOFFSAVE3,IACOFF3
            MOV    VACOFFSAVE1,VACOFF1
            MOV.B  VACOFFSAVE3,VACOFF3 
            MOV    IDCOFFSAVE1,IDCOFF1
            MOV.B  IDCOFFSAVE3,IDCOFF3
            MOV    VDCOFFSAVE1,VDCOFF1
            MOV.B  VDCOFFSAVE3,VDCOFF3
            MOV    IGNSAVE1,IGN1
            MOV.B  IGNSAVE3,IGN3
            MOV    VGNSAVE1,VGN1
            MOV.B  VGNSAVE3,VGN3 
            MOV    OPERMODSAVE1,OPERMOD1
            MOV.B  OPERMODSAVE3,OPERMOD3
            MOV    CONFIGSAVE1,CONFIG1
            MOV.B  CONFIGSAVE3,CONFIG3 
            MOV    IACOFFSAVE1C,IACOFF1C
            MOV.B  IACOFFSAVE3C,IACOFF3C
            MOV    VACOFFSAVE1C,VACOFF1C
            MOV.B  VACOFFSAVE3C,VACOFF3C 
            MOV    IDCOFFSAVE1C,IDCOFF1C
            MOV.B  IDCOFFSAVE3C,IDCOFF3C
            MOV    VDCOFFSAVE1C,VDCOFF1C
            MOV.B  VDCOFFSAVE3C,VDCOFF3C
            MOV    IGNSAVE1C,IGN1C
            MOV.B  IGNSAVE3C,IGN3C
            MOV    VGNSAVE1C,VGN1C
            MOV.B  VGNSAVE3C,VGN3C 
            MOV    OPERMODSAVE1C,OPERMOD1C
            MOV.B  OPERMODSAVE3C,OPERMOD3C
            MOV    CONFIGSAVE1C,CONFIG1C
            MOV.B  CONFIGSAVE3C,CONFIG3C
            MOV.B  ISCLSAVE,ISCL  
            MOV    USCLSAVE,USCL
            MOV    RISAVE1,RI1
            MOV    RISAVE3,RI3
            MOV    RISAVE5,RI5
            MOV    RUSAVE2,RU2
            MOV    RUSAVE4,RU4  
            mov    FULLADSAVE,FULLAD 
            mov    FULLADSAVEC,FULLADC 
            MOV    ADCFULLSAVE,ADCFULL
            MOV    ADCFULLASVE,ADCFULLA 
            MOV    ADCFULLCSVE,ADCFULLC
            
            
            ;MOV    QADCFULLSAVE,QADCFULL
            MOV    QADCFULLASVE,QADCFULLA 
            MOV    QADCFULLCSVE,QADCFULLC
            
           
              
            MOV     ZIROSAVE,ZIRO
            MOV    ADDSAVE1,ADDRESS1
            MOV    ADDSAVE3,ADDRESS3 
            MOV    ADDRESSAVE,ADDRESS
            MOV    BAUDSAVE,BAUDATE  
            mov.b   BAUDSAVE1,&UBR00           
            mov.b   BAUDSAVE2,&UBR10          
            mov.b   BAUDSAVE3,&UMCTL0 
            MOV    UAFULLSAVE,UAFULL
            MOV    UCFULLSAVE,UCFULL 
            MOV    IAFULLSAVE,IAFULL 
            MOV    ICFULLSAVE,ICFULL 
            MOV.B  OUTFLAGSAVE,OUTFLAG 
            MOV    AALHONSAVE,AALHONDATE
            MOV    AALLONSAVE, AALLONDATE
            MOV    BALHONSAVE,BALHONDATE
            MOV    BALLONSAVE,BALLONDATE
            MOV    CALHONSAVE,CALHONDATE
            MOV    CALLONSAVE,CALLONDATE
            MOV    ALARMORSAVE,ALARMORFLAG 
            MOV    AALHOFFSAVE,AALHOFFDATE
            MOV    AALLOFFSAVE,AALLOFFDATE
            MOV    BALHOFFSAVE,BALHOFFDATE
            MOV    BALLOFFSAVE,BALLOFFDATE
            MOV    CALHOFFSAVE,CALHOFFDATE
            MOV    CALLOFFSAVE,CALLOFFDATE
            MOV    DOMODESAVE,DOMODE
            MOV    ALRPARASAVE,ALRPARA
            MOV    ALRPARBSAVE,ALRPARB
            MOV    ALRPARCSAVE,ALRPARC
            MOV    DOTIMESAVE,DOTIME
            MOV    TIME1SAVE,TIME1
            MOV    TIME3SAVE,TIME3
            CALL    #RESTWDT
            CALL   #WRITESYNCA 
            CALL   #WRITEIDCOFF  
            CALL   #WRITEVDCOFF
            CALL   #WRITEIACOFF  
            CALL   #WRITEVACOFF 
            CALL   #WRITEIGN 
            CALL   #WRITEVGN 
            CALL   #WRITECONFIG 
            CALL   #CLEARDRDY
            CALL   #ADOPEN       ;启动AD 
            CALL    #RESTWDT 
            CALL   #WRITESYNCC 
            CALL   #WRITEIDCOFFC
            CALL   #WRITEVDCOFFC 
            CALL   #WRITEIACOFFC
            CALL   #WRITEVACOFFC 
            CALL   #WRITEIGNC
            CALL   #WRITEVGNC 
            CALL   #WRITECONFIGC 
            CALL    #CLEARDRDYC
            CALL   #ADOPENC 
            call    #delay_100
            RET                    
;---------------------------------------------------------
UP_DI         
                                                  
             MOV.B   KILINECOM,KILINELED
             RRA.B   KILINELED
             JC      UP_KI1
             MOV.B   #0,DISPB1
             JMP     UP_KI2
UP_KI1       MOV.B   #1,DISPB1
UP_KI2       RRA.B   KILINELED
             JC      UP_KI3
             MOV.B   #0,DISPB2
             JMP     UP_KI4
UP_KI3       MOV.B   #1,DISPB2
UP_KI4       RRA.B   KILINELED
             JC      UP_KI5
             MOV.B   #0,DISPB3
             JMP     UP_KI6
UP_KI5       MOV.B   #1,DISPB3
UP_KI6       RRA.B   KILINELED
             JC      UP_KI7
             MOV.B   #0,DISPB4
             JMP     UP_KI8
UP_KI7       MOV.B   #1,DISPB4
UP_KI8       CALL     #DISP
             
             RET
;----------------------------------------------
UP_DO         
            
             MOV.B   KOCOM,KOCOMLED 
             RRA.B   KOCOMLED
             JC      UP_KO1
             MOV.B   #0,DISPB1
             JMP     UP_KO2
UP_KO1       MOV.B   #1,DISPB1
UP_KO2       RRA.B   KOCOMLED
             JC      UP_KO3
             MOV.B   #0,DISPB2
             JMP     UP_KO4
UP_KO3       MOV.B   #1,DISPB2
UP_KO4       RRA.B   KOCOMLED
             JC      UP_KO5
             MOV.B   #0,DISPB3
             JMP     UP_KO6
UP_KO5       MOV.B   #1,DISPB3
UP_KO6       RRA.B   KOCOMLED
             JC      UP_KO7
             MOV.B   #0,DISPB4
             JMP     UP_KO8
UP_KO7       MOV.B   #1,DISPB4
UP_KO8       CALL     #DISP
          
             RET
;---------------------------------------------------------

;--------------------------------------------------------------------------
VERKEY     CALL    #DISPVER 
VERKEY1    CALL   #TESTKEY                                 
           CMP.B   R12,R13 
           JNE      VERKEY1 
            BIT.B   #KEYMEUN,&P6IN                    
            JZ     OUTVER
            BIT.B   #KEYACK,&P6IN 
            JNZ     VERKEY
VERKEY3      CALL   #DISPBANBEN     
VERKEY4      CALL   #TESTKEY  
             CMP.B   R12,R13 
             JNE      VERKEY4
             BIT.B   #KEYMEUN,&P6IN                    
             JZ     VERKEY  
             JMP    VERKEY3
OUTVER       RET      
;--------------------------------------------------------------------------
READpower   
             CALL    #WAITDRDY  
             CALL    #WRITESTATUSA
             CALL    #ReadPA
             CALL    #ReadQA
             CALL    #ReadHA
             CALL    #READSA
             CALL    #READUA 
             CALL    #READIA
             CALL    #READFA 
             ;CALL   #RESTWDT
             CALL    #WAITDRDYC   
             CALL    #WRITESTATUSC    
             CALL    #ReadPC
             CALL    #ReadQC
             CALL    #ReadHC
             CALL    #READSC
             CALL    #READUC
             CALL    #READIC
             CALL    #READFC
             ;CALL   #RESTWDT
             CALL    #PACADD 
             CALL    #QACADD
             ;mov     ADLINEFULL,R11
             ;MOV     #4000,R12
             ;CALL    #mpy
             ;mov     r14,r13
             ;mov     r7,r12
             ;mov     CYC3,R11
             ;CALL    #divide
             ;MOV     R14,ADLINEFULL  
             ;CALL   #RESTWDT
             ret  

;-----------------------------------------------------------------------------             

;-----------------------------------------------------------------------------
GetKI        
             MOV.B    &P4IN,KICOM
             AND.B    #3CH,KICOM
             INV.B     KICOM
             RRA.B     KICOM
             RRA.B     KICOM
             AND.B     #0Fh,KICOM
             MOV.B     KICOM,KILINECOM
             RET
             
;-----------------------------------------------------------------------------             
UP_P       
             MOV.B   FUHAOP,FUHAOB
             MOV.B   POINTPQ,POINTB
             CMP     #0,LEDPQKM
             JNE     UP_PQH1
             BIC.B  #LEDK,&P6OUT
             BIC.B  #LEDM,&P6OUT
             JMP    UP_PQH4
UP_PQH1      CMP     #01H,LEDPQKM
             JNE     UP_PQH2
             BIS.B  #LEDK,&P6OUT
             BIC.B  #LEDM,&P6OUT
             JMP    UP_PQH4
UP_PQH2      CMP     #10H,LEDPQKM
             JNE     UP_PQH4
             BIC.B  #LEDK,&P6OUT
             BIS.B  #LEDM,&P6OUT
             JMP    UP_PQH4
       
UP_PQH4      MOV     PTEMP,R4 
             CALL    #BINTOBCD
             MOV.B   DISP1,DISPB1
             MOV.B   DISP2,DISPB2 
             MOV.B   DISP3,DISPB3
             MOV.B   DISP4,DISPB4
             CALL    #DISPPU
             CALL    #ALARMPROG
             RET  
;-----------------------------------------------------------------------------             
UP_Q       
             MOV.B   FUHAOP,FUHAOB
             MOV.B   POINTPQ,POINTB
             CMP     #0,LEDPQKM
             JNE     UP_Q1

⌨️ 快捷键说明

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