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

📄 f.s43

📁 用MSP430单片机做的频率表程序(完整的一个产品程序)
💻 S43
📖 第 1 页 / 共 5 页
字号:
HADCFULL       EQU   3B8H
HADLINEFULL    EQU   3BAH        
HADCFULLA      EQU   3BCH
HADCFULLC      EQU   3BEH


QDISPLINE      EQU   3C0H
QDISPLINE2     EQU   3C2H
HDISPLINE      EQU   3C4H
HDISPLINE2     EQU   3C6H
SDISPLINE      EQU   3C8H
SDISPLINE2     EQU   3CAH
FDISPLINE      EQU   3CCH
FDISPLINE2     EQU   3CEH

KILED         EQU   3D0H
KILINELED     EQU   3D2H
KICOM         EQU   3D4H

DOMODE        EQU   3D8H
ALRPARA       EQU   3DAH   ;第一路继电器对应报警参数
ALRPARB       EQU   3DCH   ;第二路继电器对应报警参数
ALRPARC       EQU   3DEH   ;第三路继电器对应报警参数

AALHOFFDATE   EQU   3E0H
AALHONDATE    EQU   3E2H
AALLOFFDATE   EQU   3E4H
AALLONDATE    EQU   3E6H 
BALHOFFDATE   EQU   3E8H
BALHONDATE    EQU   3EAH
BALLOFFDATE   EQU   3ECH
BALLONDATE    EQU   3EEH 
CALHOFFDATE   EQU   3F0H
CALHONDATE    EQU   3F2H
CALLOFFDATE   EQU   3F4H
CALLONDATE    EQU   3F6H 
ALRPAR        EQU   3F8H
ALRLINE       EQU   3FAH
FULLDISPI     EQU   3FCH
FULLDISPU     EQU   3FEH
ALHOFFDATE    EQU   400H
ALHONDATE     EQU   402H
ALLOFFDATE    EQU   404H
ALLONDATE     EQU   408H 
ALARMORFLAG   EQU   40AH
ALARMONFLAG   EQU   40CH
;--------测量最终数据-----------
QTEMP         EQU   40EH
HTEMP         EQU   410H
STEMP         EQU   412H
FTEMP         EQU   414H
IALINE        EQU   416H
IBLINE        EQU   418H
ICLINE        EQU   41AH 
UALINE        EQU   41CH
UBLINE        EQU   41EH
UCLINE        EQU   420H
FLINE         EQU   422H
PTEMP         EQU   424H
LINEDATE3     EQU   426H 
LINEDATE4     EQU   427H 
KOCOM         EQU   428H
KILINECOM     EQU   429H
CRCDATE       EQU   42AH 
CRCDATE2      EQU   42BH  
;-------------------------------
;----------通讯相关---------------------- 
HighCrc       equ   42CH
LowCrc        equ   42DH
vari          equ   43DH
varj          equ   43EH 

ComErr        equ   442H
IsCheck       equ   443H
IsCrcOK       equ   444H

DataLength    equ   445H
CoilForce     equ   446H
StartAddr     equ   448H
CoilMod       equ   44AH
NumTemp       equ   44BH
CrcTemp       equ   44CH 

PulseFlag     equ   455H
buf           equ   460H    ;460H-489H
;-------------------------------
AALHOND1      EQU   538H 
AALHOND2      EQU   539H
AALHOND3      EQU   53AH
AALHOND4      EQU   53BH
AALLOND1      EQU   53CH 
AALLOND2      EQU   53DH
AALLOND3      EQU   53EH 
AALLOND4      EQU   53FH

BALHOND1      EQU   540H
BALHOND2      EQU   541H
BALHOND3      EQU   542H
BALHOND4      EQU   543H
BALLOND1      EQU   544H 
BALLOND2      EQU   545H 
BALLOND3      EQU   546H 
BALLOND4      EQU   547H
CALHOND1      EQU   548H 
CALHOND2      EQU   549H 
CALHOND3      EQU   54AH 
CALHOND4      EQU   54BH 
CALLOND1      EQU   54CH 
CALLOND2      EQU   54DH 
CALLOND3      EQU   54EH 
CALLOND4      EQU   54FH
HUIZILIANG    EQU   552H
KOCOMLED      EQU   554H
TIME1         EQU   556H
TIME2         EQU   557H
TIME3         EQU   558H
TIME4         EQU   559H 
DOTIME        EQU   55aH
TIMELAST      EQU   55cH
TIMECOUNT     EQU   55eH
;---------------------------------
AALHONSAVE   EQU   1000H   ;FLASH保存值
AALLONSAVE   EQU   1002H 
BALHONSAVE   EQU   1004H 
BALLONSAVE   EQU   1006H 
CALHONSAVE   EQU   1008H
CALLONSAVE   EQU   100AH 
ALARMORSAVE  EQU   100CH 
AALHOFFSAVE  EQU   100EH
AALLOFFSAVE  EQU   1010H 
BALHOFFSAVE  EQU   1012H 
BALLOFFSAVE  EQU   1014H
CALHOFFSAVE  EQU   1016H
CALLOFFSAVE  EQU   1018H 
ALRPARASAVE  EQU   101AH
ALRPARBSAVE  EQU   101CH
ALRPARCSAVE  EQU   101EH
DOMODESAVE   EQU   1020H  
DOTIMESAVE   EQU   1022H
TIME1SAVE    EQU   1024H
TIME2SAVE    EQU   1025H  
TIME3SAVE    EQU   1026H
TIME4SAVE    EQU   1027H 

QFULLADSAVE   EQU   1030H
QFULLADSAVEC   EQU   1032H
QADCFULLSAVE   EQU   1034H
QADCFULLASVE   EQU   1036H 
QADCFULLCSVE   EQU   1038H
HFULLADSAVE   EQU   1040H
HFULLADSAVEC   EQU   1042H
HADCFULLSAVE   EQU   1044H
HADCFULLASVE   EQU   1046H 
HADCFULLCSVE   EQU   1048H
SFULLADSAVE   EQU   1050H
SFULLADSAVEC   EQU   1052H
SADCFULLSAVE   EQU   1054H
SADCFULLASVE   EQU   1056H 
SADCFULLCSVE   EQU   1058H
FFULLADSAVE   EQU   1060H
FFULLADSAVEC   EQU   1062H
FADCFULLSAVE   EQU   1064H
FADCFULLASVE   EQU   1066H 
FADCFULLCSVE   EQU   1068H

OPERMODSAVE1   EQU   1070H
OPERMODSAVE2   EQU   1071H 
OPERMODSAVE3   EQU   1072H
OPERMODSAVE1C   EQU   1074H
OPERMODSAVE2C   EQU   1075H 
OPERMODSAVE3C   EQU   1076H


IACOFFSAVE1   EQU   1080H   ;FLASH保存值 
IACOFFSAVE2   EQU   1081H
IACOFFSAVE3   EQU   1082H   
VACOFFSAVE1   EQU   1084H    
VACOFFSAVE2   EQU   1085H
VACOFFSAVE3   EQU   1086H 
IGNSAVE1      EQU   1088H
IGNSAVE2      EQU   1089H
IGNSAVE3      EQU   108AH 
VGNSAVE1      EQU   108CH
VGNSAVE2      EQU   108DH
VGNSAVE3      EQU   108EH 
CONFIGSAVE1   EQU   1090H
CONFIGSAVE2   EQU   1091H 
CONFIGSAVE3   EQU   1092H 
USCLSAVE      EQU   1094H
RISAVE1       EQU   1096H
RISAVE2       EQU   1097H 
RISAVE3       EQU   1098H  
RISAVE4       EQU   1099H
RISAVE5       EQU   109AH
RUSAVE1       EQU   109BH
RUSAVE2       EQU   109CH
RUSAVE3       EQU   109DH 
RUSAVE4       EQU   109EH
RUSAVE5       EQU   109FH   
OUT4SAVE1     EQU   10A2H 
OUT4SAVE2     EQU   10A3H 
OUT4SAVE3     EQU   10A4H 
OUT4SAVE4     EQU   10A5H 
OUT20SAVE1    EQU   10A6H 
OUT20SAVE2    EQU   10A7H 
OUT20SAVE3    EQU   10A8H 
OUT20SAVE4    EQU   10A9H 
OUT4SAVE      EQU   10AAH
OUT20SAVE     EQU   10ACH
ADDRESSAVE    EQU   10AEH
BAUDSAVE      EQU   10B0H
ADDSAVE1      EQU   10B2H
ADDSAVE2      EQU   10B3H
ADDSAVE3      EQU   10B4H
ADDSAVE4      EQU   10B5H
FULLADSAVE    EQU   10B6H  
BAUDSAVE1     EQU   10B8H
BAUDSAVE2     EQU   10B9H
BAUDSAVE3     EQU   10BAH
FIRSTFLAG     EQU   10BBH  
ISCLSAVE      EQU   10BEH
IACOFFSAVE1C  EQU   10C0H   
IACOFFSAVE2C  EQU   10C1H
IACOFFSAVE3C  EQU   10C2H   
VACOFFSAVE1C  EQU   10C4H    
VACOFFSAVE2C  EQU   10C5H
VACOFFSAVE3C  EQU   10C6H 
IGNSAVE1C     EQU   10C8H
IGNSAVE2C     EQU   10C9H
IGNSAVE3C     EQU   10CAH 
VGNSAVE1C     EQU   10CCH
VGNSAVE2C     EQU   10CDH
VGNSAVE3C     EQU   10CEH 
CONFIGSAVE1C  EQU   10D0H
CONFIGSAVE2C  EQU   10D1H 
CONFIGSAVE3C  EQU   10D2H   
FULLADSAVEC   EQU   10D4H
ADCFULLSAVE   EQU   10D6H
ADCFULLASVE   EQU   10D8H 
ADCFULLCSVE   EQU   10DAH 

IDCOFFSAVE1   EQU   10E0H   
IDCOFFSAVE2   EQU   10E1H
IDCOFFSAVE3   EQU   10E2H   
VDCOFFSAVE1   EQU   10E4H    
VDCOFFSAVE2   EQU   10E5H
VDCOFFSAVE3   EQU   10E6H 
IDCOFFSAVE1C  EQU   10E8H   
IDCOFFSAVE2C  EQU   10E9H
IDCOFFSAVE3C  EQU   10EAH   
VDCOFFSAVE1C  EQU   10ECH    
VDCOFFSAVE2C  EQU   10EDH
VDCOFFSAVE3C  EQU   10EEH 
UAFULLSAVE    EQU   10F0H
UCFULLSAVE    EQU   10F2H
IAFULLSAVE    EQU   10F4H
ICFULLSAVE    EQU   10F6H
OUTFLAGSAVE   EQU   10F8H
ZIROSAVE      EQU   10FAH

             ORG     8000h
            
Reset        mov    #WDTPW+WDTHOLD,&WDTCTL 
             mov    #600h,SP 
             MOV.B  #0E0h,&DCOCTL
SetupCLK     bis.b  #XTS,&BCSCTL1
             bis.b  #DIVA_3,&BCSCTL1
             
             
SetupIO      mov.b   #0ffh,&P1DIR  ;P1 口
             mov.b   #2dh,&P1OUT
             mov.b   #0fdh,&P2DIR  ;P2 口,P2.1输入
             mov.b   #00h,&P2OUT
             bis.b   #30h,&P3SEL   ;P3 口
             mov.b   #5Bh,&P3DIR   ;P3.2,P3.5,P3.7输入
             mov.b   #00h,&P3OUT
             bis.b   #03Ch,&P4SEL   ;P4 口,P4.1作频率捕获输入
             mov.b   #0C1h,&P4DIR  
             mov.b   #00h,&P4OUT
             mov.b   #0ffh,&P5DIR  ;P5 口       
             mov.b   #00h,&P5OUT
             mov.b   #1fh,&P6DIR   ;P6 口,P6.7,P6.6,P6.5输入       
             mov.b   #00h,&P6OUT
             
SetupTA      mov    #TASSEL0+TACLR,&TACTL   ;TIMEA设置  
             mov    #CCIE,&CCTL1                                     
             mov    #250,&CCR1              ;置LED扫描定时值
             mov    #01h,SMW                ; 置位线初值  
             bis    #MC1,&TACTL             ;增计数模式  
              
SetupTB     MOV     #TBSSEL0+TBCLR,&TBCTL              
            BIS     #BIT5,&TBCTL 
            mov     #5000,&TBCCR1
            mov     #BITF+BITE+BITC+BITB+BIT8+BIT4,&TBCCTL2
            mov     #BITF+BITE+BITC+BITB+BIT8+BIT4,&TBCCTL3
            mov     #BITF+BITE+BITC+BITB+BIT8+BIT4,&TBCCTL4
            mov     #BITF+BITE+BITC+BITB+BIT8+BIT4,&TBCCTL5
             
SetupUART0  mov.b   #CHAR,&UCTL0            ; 8-bit characters
            mov.b   #SSEL0,&UTCTL0          ; UCLK = ACLK 
            bis.b   #UTXE0+URXE0,&ME1        ; Enable USART0 TXD/RXD
            bis.b   #URXIE0,&IE1            ; Enable USART0 RX interrupt

Setup5460    BIS.B  #CSA,&P3OUT 
             BIS.B  #CSC,&P2OUT 
             bic.b  #RSTA,&P2OUT        ;复位CS5460A
             bic.b  #RSTC,&P1OUT
             call   #delay_100 
             bis.b  #RSTA,&P2OUT 
             bis.b  #RSTC,&P1OUT                            

INIEPROM     cmp.b   #0f5h,FIRSTFLAG         
             jne     INITI
LOADEPROM    CALL    #RESTWDT
             CALL    #READEPROM
              
                                       
SetupRAM     MOV.B      #0x0,PulseFlag
             MOV.B      #0x0,ComErr
             MOV.B      #0x0,counter
             MOV.W      #0x0,TIMECOUNT
             MOV.B      #0x0,KILINECOM
             MOV.B      #0x0,KOCOM
             MOV      #00H,FUHAO 
             MOV      #00H,FUHAOA
             MOV      #00H,FUHAOB
             MOV      #00H,FUHAOC
             MOV      #00H,POINT 
             MOV      #00H,POINTA
             MOV      #00H,POINTB
             MOV      #00H,POINTC  
             MOV      #00H,FFLAG  
             MOV.B    #00H,CYC1  
             MOV.B    #00H,CYC1C 
             MOV      #00H,FLINE 
             MOV      #00H,LINEDATE3
             MOV      #00H,LEDPQKM 
             MOV      #00H,LEDUK   
             MOV      #00H,LEDIK        
             MOV      #00H,POINTPQ       
             MOV      #00H,POINTU         
             MOV      #00H,POINTI        
             MOV      #00H,FUHAOP         
             MOV      #00H,FUHAOQ         
             MOV      #00H,FUHAOH
             MOV      #00H,ALARMONFLAG          
             clr      Period                  
             clr      OldCap 
             clr      TESST1             
             CLR      KILED
             CLR      KILINELED
             CLR      KICOM
             CALL     #GetKI
             
             EINT
             call     #DISPGOOD
             call     #delay_100           
             call     #DISPBANBEN  
             call     #delay_100 
                                                            
   
;----------------F---------------------------            
Main_F       ;BIC.B    #LEDP1,&P6OUT
             BIC.B    #LEDP1,&P6OUT
             BIS.B    #LEDP2,&P6OUT
             CALL     #READpower 
             CALL     #GETF
             CALL     #RESTWDT  
             CALL     #UP_F
           
             
MEUNKEY_F      BIT.B    #KEYMEUN,&P6IN      
             JNZ       ACKKEY_F
             CALL     #delay_20
             BIT.B    #KEYMEUN,&P6IN 
             JNZ       ACKKEY_F
             CALL     #WAITKEY
             CALL     #KEY
            
ACKKEY_F       BIT.B    #KEYACK,&P6IN          
             JNZ      RKEY_F
             CALL     #delay_20
             BIT.B    #KEYACK,&P6IN          
             JNZ      RKEY_F
             CALL     #WAITKEY
             CALL     #VERKEY 
             
RKEY_F         BIT.B    #KEYR,&P6IN          
             JNZ      LKEY_F
             CALL     #delay_20
             BIT.B    #KEYR,&P6IN          
             JNZ      LKEY_F
             CALL     #WAITKEY
             JMP      Main_F 
              
LKEY_F         BIT.B    #KEYL,&P2IN          
             JNZ      Main_F
             CALL     #delay_20
             BIT.B    #KEYL,&P2IN          
             JNZ      Main_F
             CALL     #WAITKEY
             JMP      Main_F 

⌨️ 快捷键说明

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