機(jī)電之家資源網(wǎng)
單片機(jī)首頁(yè)|單片機(jī)基礎(chǔ)|單片機(jī)應(yīng)用|單片機(jī)開(kāi)發(fā)|單片機(jī)文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開(kāi)發(fā)
培訓(xùn)信息
贊助商
用RC充電的方法實(shí)現(xiàn)溫度的檢測(cè)
用RC充電的方法實(shí)現(xiàn)溫度的檢測(cè)
 更新時(shí)間:2009-7-22 16:41:10  點(diǎn)擊數(shù):0
【字體: 字體顏色
/script>

;  該程序用RC充電的方法實(shí)現(xiàn)溫度的檢測(cè)

;  RA0 數(shù)碼管個(gè)位選通 RA1 數(shù)碼管百位選通

;  RB7 數(shù)碼管百位和負(fù)號(hào)選通 

; RA2 檢測(cè)電容高低電平

;  RA3  對(duì)電容充電和放電
;-----------------
  
   INCLUDE  "P16F84A.INC"
;------------------
;*****************************************************
  LIST P=16F84A,R=DEC         ;定義器件,默認(rèn)為十進(jìn)制
;-----------------------------------------------------
  __CONFIG B'11111111110001';_CP_OFF&_WDT_OFF&_PWRITE_ON&_XT_OSC
                                              ;沒(méi)有代碼保護(hù)
                                              ;看門狗關(guān)閉
                                              ;上電廷時(shí)器開(kāi)啟
                                              ;振蕩器模式為XT
   RC   EQU 2
   RVCC EQU 3
   JIZIBZ  EQU 2
   TIMER EQU 30H
   BZH    EQU 32H
   TIMER2  EQU  36H
   FRISTJSQ  EQU  33H
   XIANZHIL  EQU  34H
   XIANZHIH  EQU  35H
   JSQ1      EQU  37H
   BCDLS     EQU  38H
   SUM       EQU  39H
   JSQ2      EQU  42H
   XIANZHIBAI  EQU  40H ;顯值百位
   L         EQU   0
   H         EQU   1
   BAI       EQU   7;顯示百位
   ZEROFZ    EQU   2 ;負(fù)值標(biāo)記
   FP         EQU  0 ;分頻標(biāo)記
MAIN
   ORG  000H
   BANKSEL  TRISB
   CLRF  TRISB
   CLRF  TRISA
   BANKSEL  PORTB
   CLRF   PORTB
   CLRF   PORTA
 
   BCF    PORTA,H
   BCF    PORTA,L
   CLRZ
    NOP
LOOP
    BANKSEL  TRISA
    BSF    TRISA,RC
     BCF    TRISA,RVCC
    BANKSEL  PORTA
LOOP1
        
         CLRF   TIMER
         CLRF   SUM
         CLRF   BCDLS
         CLRF   TIMER2
         CLRF   XIANZHIH
         CLRF   XIANZHIL
         MOVLW  0FFH
         MOVWF      XIANZHIBAI
         CLRF   BZH
         CLRF   JSQ2
         BSF    PORTA,RVCC
         CALL   CONG
        
LOOP2   
         BTFSS  PORTA,RC
         GOTO   OUT   
         INCF  TIMER,1;TIMER
         ;GOTO  LOOP2  ;http://211.100.30.165/search/?key=測(cè)試','_blank');" onmouseout=kwL(event); target=_blank>測(cè)試2
         BTFSC  BZH,FP ;選擇分頻
         GOTO   TWOFP
         MOVLW  D'1'  ;低分頻單步短 o  5
         XORWF  TIMER,0
         BTFSS  STATUS,Z
         GOTO   LOOP2
         CLRF   TIMER
         INCF   TIMER2,1;TMER2最終計(jì)時(shí)
         MOVLW  D'60';判TIMER2是否到了60到了60采用另一分頻
         XORWF  TIMER2,0
         BTFSC  STATUS,Z
         BSF    BZH,FP
         GOTO   LOOP2
TWOFP
         MOVLW  D'1'  ;高分頻單步長(zhǎng)o 11
         XORWF  TIMER,0
         BTFSS  STATUS,Z
         GOTO   LOOP2
         CLRF   TIMER
         INCF   TIMER2,1
         MOVLW  D'1' ;只有在-1的時(shí)候才顯示負(fù)數(shù)
         XORWF  TIMER2,0;判斷是否為-1在00時(shí)不顯示負(fù)數(shù)
         BTFSC  STATUS,Z
         GOTO    SETFH ;轉(zhuǎn)到設(shè)置負(fù)號(hào)
         MOVLW  D'120';判是否到了120如果到了,則為負(fù)值
         XORWF  TIMER2,0
         BTFSS  STATUS,Z
          GOTO   LOOP2
         ;CALL  SETFH
         BSF   BZH,ZEROFZ;置負(fù)數(shù)標(biāo)志,因?yàn)槭?0所以不能置負(fù)號(hào)
         CLRF   TIMER2
         GOTO   LOOP2
SETFH  ;設(shè)置負(fù)號(hào)
         MOVLW  0BFH;040H
         MOVWF  XIANZHIBAI
         GOTO  LOOP2
OUT
         BSF   PORTA,RVCC
         BTFSC  BZH,ZEROFZ;如果是負(fù)值就不用減,如果是正值就應(yīng)該減
         GOTO   CLFZ
         MOVF  TIMER2,0
         SUBLW  D'120'
         MOVWF  TIMER2
         MOVF  TIMER2,0 ;判斷TIMER是不是有百位數(shù)
         MOVWF   JSQ2
         MOVLW  D'100'
         SUBWF  JSQ2,1
         BTFSS  STATUS,C
         GOTO   OUT_1
         MOVLW  0F9H;006H
         MOVWF  XIANZHIBAI
         MOVF   JSQ2,0
         MOVWF  TIMER2
                
OUT_1     CALL   BCDBIT
         GOTO   XIANSHI
CLFZ   ;負(fù)值處理 
         CALL  BCDBIT
         GOTO   XIANSHI
       
BCDBIT
         MOVLW  D'8'
         MOVWF  JSQ1
BCD_1
        RLF   TIMER2
        RLF   BCDLS,1
       
        DECFSZ JSQ1,1
        GOTO   TIAOZHEN
        RETURN
TIAOZHEN
        MOVLW  D'3'
        ADDWF  BCDLS,0
        MOVWF  SUM
        BTFSC  SUM,3
        MOVWF  BCDLS
        MOVLW  030H 
        ADDWF  BCDLS,0
        MOVWF  SUM
        BTFSC  SUM,7
        MOVWF  BCDLS
        GOTO  BCD_1
CONG
        BSF   PORTA,RVCC
        MOVLW  D'200'
        MOVWF  43H
        DECFSZ  43H
        GOTO  $-1
        BCF   PORTA,RVCC
        RETURN
                
XIANSHI
       MOVLW  D'8'
       MOVWF  JSQ2 ;一次顯示循環(huán)次數(shù),以免閃濼
;-----------顯示L-------
XS       MOVF  BCDLS,0;讀出兩位十進(jìn)制數(shù)
       ANDLW  00FH;去掉高四位
       MOVWF  XIANZHIL;低四位放在L
       SWAPF  BCDLS,1 ;高低交換,高在低位
       MOVLW  00FH;取高位值
       ANDWF  BCDLS,0;
       MOVWF  XIANZHIH;放到顯示H中
       SWAPF  BCDLS,1;恢復(fù)BCDLS值
        BCF   PORTA,H;關(guān)H
        BCF   PORTA,L;關(guān)L
       
        CLRF  PORTB
        MOVF  XIANZHIL,0
        CALL  TAB
        MOVWF  PORTB
        BCF    PORTB,BAI
        BSF   PORTA,L;打開(kāi)L
        CALL  YS;延時(shí)
      
;-----------顯示H-------
        BCF   PORTA,H;關(guān)閉顯示
        BCF   PORTA,L
       
        CLRF  PORTB
        MOVF  XIANZHIH,0
        CALL  TAB
        MOVWF  PORTB
        BCF    PORTB,7
        BSF   PORTA,H;開(kāi)高
        CALL  YS
;-----------顯示BAI-------
        BCF   PORTA,H;關(guān)
        BCF   PORTA,L
        ;BCF   PORTA,BAI
        CLRF  PORTB
        MOVF  XIANZHIBAI,0
        MOVWF  PORTB
        BSF    PORTB,7
       ; BSF    PORTA,BAI
         CALL  YS
       DECFSZ  JSQ2,1;判斷循環(huán)4次到了沒(méi)有
        GOTO  XS
        BCF   PORTB,7
        
      
WAIT
       ;CALL  CONG
       GOTO  LOOP1
TAB
      ADDWF  PCL,F
        RETLW        0XC0;0
        RETLW        0XF9;1
        RETLW        0XA4;2
        RETLW        0XB0;3
        RETLW        0X99;4
        RETLW        0X92;5
        RETLW        0X82;6
        RETLW        0XF8;7
        RETLW        0X80;8
        RETLW        0X90;9
        RETURN
YS
    MOVLW  H'0F'
    MOVWF  20H
YS_1    MOVLW  H'0F'
    MOVWF   21H
    DECFSZ  21H,1
    GOTO  $-1
    DECFSZ  20H,1
    GOTO  YS_1
    RETURN

   END

 
  • 上一篇: 四位數(shù)碼管時(shí)鐘顯示的時(shí)鐘程序
  • 下一篇: AVR單片機(jī)寫LCD128×64液晶模塊C源程序
  • 發(fā)表評(píng)論   告訴好友   打印此文  收藏此頁(yè)  關(guān)閉窗口  返回頂部
    熱點(diǎn)文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評(píng)論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機(jī)電之家 | 會(huì)員助手 | 免費(fèi)鏈接

    點(diǎn)擊這里給我發(fā)消息66821730(技術(shù)支持)點(diǎn)擊這里給我發(fā)消息66821730(廣告投放) 點(diǎn)擊這里給我發(fā)消息41031197(編輯) 點(diǎn)擊這里給我發(fā)消息58733127(審核)
    本站提供的機(jī)電設(shè)備,機(jī)電供求等信息由機(jī)電企業(yè)自行提供,該企業(yè)負(fù)責(zé)信息內(nèi)容的真實(shí)性、準(zhǔn)確性和合法性。
    機(jī)電之家對(duì)此不承擔(dān)任何保證責(zé)任,有侵犯您利益的地方請(qǐng)聯(lián)系機(jī)電之家,機(jī)電之家將及時(shí)作出處理。
    Copyright 2007 機(jī)電之家 Inc All Rights Reserved.機(jī)電之家-由機(jī)電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

    主辦:杭州市高新區(qū)(濱江)機(jī)電一體化學(xué)會(huì)
    中國(guó)行業(yè)電子商務(wù)100強(qiáng)網(wǎng)站

    網(wǎng)站經(jīng)營(yíng)許可證:浙B2-20080178-1