精品国产一区在线_av无码中文字幕无码王_天海翼三点刺激高潮不停_好硬好大好爽视频_欧美高清一区三区在线专区_香蕉黄色片

  • 回復
  • 收藏
  • 點贊
  • 分享
  • 發新帖

利用廢控制器做的測速器

春節期間閑來沒事,用廢控制器(PIC16F72版)做了一個測電機轉速的東東.

原理是:檢測單位時間內的霍耳換相數,再換算成每分鐘轉速.因目前市面上有32\40\46\56\70片磁鋼的電機,只能用外部切換選擇了.

、硬件約定:

RB口對應7段輝光管,BIT0-A……BIT6-G,不用小數點.

 

RC口對應位,動態顯示,BIT7-千位……BIT4-個位.

 

RA口對應電機選擇:

                  000-32片磁鋼

                  001-40片磁鋼

                  010-46片磁鋼

                  011-56片磁鋼

                  100-70片磁鋼

RA口之3用來輸入霍耳信號,RA口之4用來輸出采樣周期信號,以調試程序。

下面是用匯編語言做的:

;電動車無刷電機測速程序,動態驅動輝光管4只。
;用中斷時間來控制采樣周期,0.5--1秒刷新一次,預計精度為千分之一。

    PROCESSOR 16F72
    #INCLUDE
; RAM_VARIABLE
LS_1   EQU  0X25   ;臨時寄存器
LS_2   EQU  0X26
LS_3   EQU  0X27
LS_4   EQU  0X28
LS_5   EQU  0X29
LS_6   EQU  0X2A
LS_7   EQU  0X2B
LS_8   EQU  0X2C
LS_9   EQU  0X2D
LJIA_1   EQU  0X2E
LJIA_2   EQU  0X2F
LJIA_3   EQU  0X30
LJIA_4   EQU  0X31      ;數據累加寄存器
XIANS_1   EQU  0X32  
XIANS_2   EQU  0X33  
XIANS_3   EQU  0X34    
XIANS_4   EQU  0X35      ;顯示寄存器
DFEN_1    EQU  0X36      ;動態分配寄存器
FLAG      EQU  0X37      ;標旗寄存器
LS_INT1  EQU  0X39    ;中斷保護寄存器1
LS_INT2  EQU  0X3A    ;中斷保護寄存器2
JS_INT1  EQU  0X3B    ;中斷計數器1
JS_INT2  EQU  0X3C    ;中斷計數器2
JS_INT3  EQU  0X3D    ;中斷計數器3
; =========================================================
        ORG    0X000
        NOP
        GOTO   PROGRAM
       
        ORG    0X4
        GOTO   ZHONGDUAN

        ORG    0X6
PROGRAM    ;程序開始
        CALL   CSH
        CLRWDT
LOOP5   CALL   SHONGX
        CALL   DINPOT_0
        BTFSC  FLAG,0
        GOTO   LOOP5
        CALL   ALLADD
        BTFSC  FLAG,3        ;單\雙計數選擇
        CALL   ALLADD
LOOP6   CALL   SHONGX
        CALL   DINPOT_1
        BTFSS  FLAG,1
        GOTO   LOOP6
        CALL   ALLADD
        BTFSC  FLAG,3        ;單\雙計數選擇
        CALL   ALLADD
        GOTO   LOOP5
        ORG    0X20
;===============================================================
CHABIAO     ;查表
        MOVWF  PCL
        RETLW  0X3F          ;00111111
        RETLW  0X6           ;00000110
        RETLW  0X5B          ;01011011
        RETLW  0X4F          ;01001111
        RETLW  0X66          ;01100110
        RETLW  0X6D          ;01101101
        RETLW  0X7D          ;01111101
        RETLW  0X7           ;00000111
        RETLW  0X7F          ;01111111
        RETLW  0X6F          ;01101111
        RETLW  0X79          ;01111001    ,E,表示超出量程
        RETLW  0X79
;==================================================================
CSH  ;初始化
        BCF    STATUS,RP0      ;體0
        CLRF   PORTA
        CLRF   PORTB
        CLRF   PORTC
        CLRF   CCP1CON        ;CCP模塊設置(禁用)
        BSF    STATUS,RP0     ;體1
        CLRF   PIE1         ;外設中斷禁止
        MOVLW  0XDF
        MOVWF  TRISA
        CLRF   TRISB
        CLRF   TRISC        ;I/O口設置
        MOVLW  0X88
        MOVWF  OPTION_REG         ;分頻器設定
        MOVLW  0X7
        MOVWF   ADCON1          ;A口全設為數字口
        BCF    STATUS,RP0      ;體0
        CLRF   T1CON
        CLRF   SSPCON     ;串口禁止
        CLRF   CCPR1L
        MOVLW  0X5C
        MOVWF  0X22
        MOVLW  0X23
        MOVWF  FSR
LOOP1   CLRF   INDF       ;通用寄存器清零
        INCF   FSR,F
        DECFSZ 0X22,F
        GOTO   LOOP8
        BCF    STATUS,RP0
        MOVLW  0X80
        MOVWF  ADCON0     ;AD設置
        CLRF   TMR0
        MOVLW  0XA0
        MOVWF  INTCON    ;中斷設置
        RETURN
;================================================================
SHONGX   ;送顯
        INCF   DFEN_1,F      ;動態分配寄存器
        MOVLW  0X1
        SUBWF  DFEN_1,W
        BTFSC  STATUS,Z
        GOTO   ZT_1
        MOVLW  0X2
        SUBWF  DFEN_1,W
        BTFSC  STATUS,Z
        GOTO   ZT_2
        MOVLW  0X3
        SUBWF  DFEN_1,W
        BTFSC  STATUS,Z
        GOTO   ZT_3
        GOTO   ZT_4
ZT_1     ;狀態1,個位送顯
        MOVF   XIANS_1,W
        ADDLW  0X21
        CALL   CHABIAO
        MOVWF  PORTB
        MOVLW  0X10
        MOVWF  PORTC
        RETURN
ZT_2     ;狀態2,十位送顯
        MOVF   XIANS_2,W
        ADDLW  0X21
        CALL   CHABIAO
        MOVWF  PORTB
        MOVLW  0X20
        MOVWF  PORTC
        RETURN
ZT_3     ;狀態3,百位送顯
        MOVF   XIANS_3,W
        ADDLW  0X21
        CALL   CHABIAO
        MOVWF  PORTB
        MOVLW  0X40
        MOVWF  PORTC
        RETURN
ZT_4     ;狀態4,千位送顯
        MOVF   XIANS_4,W
        ADDLW  0X21
        CALL   CHABIAO
        MOVWF  PORTB
        MOVLW  0X80
        MOVWF  PORTC
        CLRF   DFEN_1
        RETURN
;======================================================
DINPOT_0     ;讀輸入信號,0有效
        MOVLW   0x8           ;連續判斷8次                  
        MOVWF   LS_1                            
        CLRF    LS_2   
LOOP_1                         
        BTFSS   PORTA, 3                          
        INCF    LS_2, F                          
        DECFSZ  LS_1, F                        
        GOTO    LOOP_1                            
        MOVLW   0x8                             
        SUBWF   LS_2, W                         
        BTFSS   STATUS, Z                       
        GOTO    LOOP_2
        BCF     FLAG,0        ;表示讀入0
        RETURN
LOOP_2
        BSF     FLAG,0        ;表示讀入1 
        RETURN
;========================================================
DINPOT_1     ;讀輸入信號,1有效
        MOVLW   0x8           ;連續判斷8次                  
        MOVWF   LS_3                            
        CLRF    LS_4   
LOOP_3                         
        BTFSC   PORTA, 3                          
        INCF    LS_4, F                          
        DECFSZ  LS_3, F                        
        GOTO    LOOP_3                            
        MOVLW   0x8                             
        SUBWF   LS_4, W                         
        BTFSS   STATUS, Z                       
        GOTO    LOOP_4
        BSF     FLAG,1        ;表示讀入1
        RETURN
LOOP_4
        BCF     FLAG,1        ;表示讀入0 
        RETURN 
;==========================================================
ALLADD      ;信號累集
        INCF    LJIA_1,F
        MOVLW   0XA
        SUBWF   LJIA_1,W
        BTFSS   STATUS,C
        RETURN
        INCF    LJIA_2,F     ;滿十進一
        CLRF    LJIA_1
        MOVLW   0XA
        SUBWF   LJIA_2,W
        BTFSS   STATUS,C
        RETURN
        INCF    LJIA_3,F     ;滿百進一
        CLRF    LJIA_2
        MOVLW   0XA
        SUBWF   LJIA_3,W
        BTFSS   STATUS,C
        RETURN
        INCF    LJIA_4,F     ;滿千進一
        CLRF    LJIA_3
        MOVLW   0XA
        SUBWF   LJIA_4,W
        BTFSS   STATUS,C      ;上萬則顯示故障
        RETURN
        MOVLW   0XB
        MOVWF   LJIA_4
        RETURN 
;========================================================
ZHONGDUAN       ;中斷
        MOVWF  LS_INT1
        SWAPF  STATUS,W
        BCF    STATUS,RP0
        MOVWF  LS_INT2        ;現場保護
        CLRWDT
        MOVF   PORTA,W
        ANDLW  0X7
        MOVWF  LS_5
        BTFSC  STATUS,Z
        GOTO   XUANZ_32
        MOVLW  0X1
        SUBWF  LS_5,W
        BTFSC  STATUS,Z
        GOTO   XUANZ_40
        MOVLW  0X2
        SUBWF  LS_5,W
        BTFSC  STATUS,Z
        GOTO   XUANZ_46
        MOVLW  0X3
        SUBWF  LS_5,W
        BTFSC  STATUS,Z
        GOTO   XUANZ_56
        MOVLW  0X4
        SUBWF  LS_5,W
        BTFSC  STATUS,Z
        GOTO   XUANZ_70
        GOTO   XUANZ_46        ;電機選擇
;-------------------------------------------------------------
XUANZ_32    ;32片磁鋼電機
        MOVLW  0X39
        MOVWF  LS_6
        MOVLW  0X38
        MOVWF  LS_7
        BSF    FLAG,3         ;單\雙計數選擇
        GOTO   JISHU          ;開始計數
XUANZ_40    ;40片磁鋼電機
        MOVLW  0X2D
        MOVWF  LS_6
        MOVLW  0XC7
        MOVWF  LS_7
        BSF    FLAG,3         ;單\雙計數選擇
        GOTO   JISHU          ;開始計數
XUANZ_46    ;46片磁鋼電機
        MOVLW  0X27
        MOVWF  LS_6
        MOVLW  0XCE
        MOVWF  LS_7
        BSF    FLAG,3         ;單\雙計數選擇
        GOTO   JISHU          ;開始計數
XUANZ_56    ;56片磁鋼電機
        MOVLW  0X20
        MOVWF  LS_6
        MOVLW  0XB3
        MOVWF  LS_7
        BSF    FLAG,3         ;單\雙計數選擇
        GOTO   JISHU          ;開始計數
XUANZ_70    ;70片磁鋼電機
        MOVLW  0X34
        MOVWF  LS_6
        MOVLW  0X51
        MOVWF  LS_7
        BCF    FLAG,3         ;單\雙計數選擇
        GOTO   JISHU          ;開始計數
;------------------------------------------------------------
JISHU      ;開始計數  
        BTFSC  FLAG,2         ;計數器滿期標記
        GOTO   CAIJIXH        ;采集信號 
        INCF   JS_INT1,F
        BTFSS  STATUS,Z
        GOTO   HFXC           ;1號計數未滿,返回
        INCF   JS_INT2,F        ;2號計數        
        MOVF   LS_6,W
        SUBWF  JS_INT2,W
        BTFSS  STATUS,C
        GOTO   HFXC           ;2號計數未滿,返回 
        BSF    FLAG,2         ;2號計數已滿,打上標記
        GOTO   HFXC
;-----------------------------------------------------------
CAIJIXH    ;采集信號
        INCF   JS_INT1,F
        MOVF   LS_7,W
        SUBWF  JS_INT1,W
        BTFSS  STATUS,C
        GOTO   HFXC            ;1號計數余數未滿,返回
        MOVF   LJIA_1,W
        MOVWF  XIANS_1
        MOVF   LJIA_2,W
        MOVWF  XIANS_2
        MOVF   LJIA_3,W
        MOVWF  XIANS_3
        MOVF   LJIA_4,W
        MOVWF  XIANS_4
        CLRF   LJIA_1
        CLRF   LJIA_2
        CLRF   LJIA_3
        CLRF   LJIA_3
        CLRF   JS_INT1
        CLRF   JS_INT2
        BCF    FLAG,2         ;所用的計數器,標記位復位
        BTFSC  PORTA,5        ;用于驗證采樣周期
        GOTO   LOOP_9
        BSF    PORTA,5
        GOTO   HFXC
LOOP_9  BCF    PORTA,5      
HFXC    BCF    INTCON,2   ;恢復現場,出棧
        SWAPF  LS_INT2,W
        MOVWF  STATUS
        SWAPF  LS_INT1,F
        SWAPF  LS_INT1,W
        RETFIE
        END
            

 

全部回復(0)
正序查看
倒序查看
現在還沒有回復呢,說說你的想法
主站蜘蛛池模板: 色欲天天婬色婬香综合网 | 国产精品推荐精品 | video3d动漫xxx| 国产精品久久午夜夜伦鲁鲁 | 午夜免费看毛片 | 狼人av在线 | 公喝错春药让我高潮 | 国产色拍精品福利视频app | 成人av电影在线播放 | 97久久偷偷做嫩草影院免费看 | 美女脱精光隐私扒开免费观看野外 | 亚洲一区二区不卡免费 | 成人国产精品久久久按摩 | 国产免费试看 | 国产911情侣拍拍在线播放 | 国产精品精品久久久久久甜蜜软件 | 国产精品人妻一区二区网站 | 四色永久免费网站 | 午夜网站免费 | 岛国岛国免费v片在线观看 色偷偷青青草 | 国产精品久久久久久久久久免费动 | 欧美多毛肥胖老妇做爰 | 91黄色大片 | 日本男女性乱视频 | 久久久亚洲国产天美传媒修理工 | 国产精品视频毛片 | 99热5| 狠狠色丁香婷婷综合久久图片激情小说 | 成人免费毛片明星 | 夜夜天天操 | 久久久久亚洲AV无码永不 | 从大树开始的进化动漫免费观看 | av网站免费在线播放 | 精品国产一区二区三区四区vr | 好深好湿好硬顶到了好爽 | 天堂av电影 | chinesetk美女vk| 成人看片黄A免费看那个网址 | 毛片在线观看视频 | 樱桃在线视频 | av成年人网站 |