• <tbody id="w8jhq"><dfn id="w8jhq"><pre id="w8jhq"></pre></dfn></tbody>
  • <fieldset id="w8jhq"><pre id="w8jhq"></pre></fieldset>

    久久黄色 视频|我草AV|AV在线网站导航|色色97激情|无码人妻一区二区有奶水|日韩精品|大香蕉97视频|成人a站免费|日本黄色片|久久久久无码AV

    久久黄色 视频|我草AV|AV在线网站导航|色色97激情|无码人妻一区二区有奶水|日韩精品|大香蕉97视频|成人a站免费|日本黄色片|久久久久无码AV

    久久黄色 视频|我草AV|AV在线网站导航|色色97激情|无码人妻一区二区有奶水|日韩精品|大香蕉97视频|成人a站免费|日本黄色片|久久久久无码AV

    技術(shù)熱線: 4007-888-234
    設(shè)計(jì)開(kāi)發(fā)

    專注差異化嵌入式產(chǎn)品解決方案 給智能產(chǎn)品定制注入靈魂給予生命

    開(kāi)發(fā)工具

    提供開(kāi)發(fā)工具、應(yīng)用測(cè)試 完善的開(kāi)發(fā)代碼案例庫(kù)分享

    技術(shù)支持

    從全面的產(chǎn)品導(dǎo)入到強(qiáng)大技術(shù)支援服務(wù) 全程貼心伴隨服務(wù),創(chuàng)造無(wú)限潛能!

    新品推廣

    提供新的芯片及解決方案,提升客戶產(chǎn)品競(jìng)爭(zhēng)力

    新聞中心

    提供最新的單片機(jī)資訊,行業(yè)消息以及公司新聞動(dòng)態(tài)

    基于Pic16f873的數(shù)字溫度計(jì)及其源程序

    更新時(shí)間: 2019-03-23
    閱讀量:2621

    基于Pic16f873的數(shù)字溫度計(jì)及其源程序

    list  p=16f877    ;
    include;
    cnt      equ    023h  ;
    sou      equ   024h  ;
    souh     equ   025h  ;
    rlt       equ   026h  ;
    rlth      equ   027h  ;
    temp1    equ   028h  ;
    temp2    equ   029h  ;
    temp3    equ   02ah  ;
    soub     equ   02bh  ;
    souhb    equ   02ch  ;
    ;***********復(fù)位向量*************
    org    0000h  ;
    nop           ;
     ;*************主程序***************
    main     
    ;*****************初始化***********************
    bsf    status,rp0        ;選RAM體1
              movlw    b&rsquo;10001110&rsquo;   ;結(jié)果右對(duì)齊
              movwf    adcon1       ;AN0作為模擬信號(hào)輸入口,參考電壓為vdd,vss
              movlw  b&rsquo;11010110&rsquo;     ;設(shè)置RC口狀態(tài)
              movwf   trisc          ;只要SDI腳為輸入
              clrf      sspstat        ;主要清除SMP和CKE位
              bcf      status,rp0      ; 選RAM體0
              movlw   01000001b     ;
              movwf     adcon0      ;設(shè)置時(shí)鐘源8tosc,使能adc,an0信道被選中
              bcf           pir1,adif  ;
              movlw   b&rsquo;00110010&rsquo;   ;設(shè)置控制寄存器:設(shè)置fosc/64
              movwf   sspcon        ;SPI主控方式;CKP=1
    ;******************** A/D轉(zhuǎn)換********************
    ;入口參數(shù):模擬信號(hào)加在RA0/AN0上。
    ;出口參數(shù):10位轉(zhuǎn)換結(jié)果在右對(duì)齊的souh:sou中。
    start          bsf           adcon0,go    ;開(kāi)啟A/D轉(zhuǎn)換
                 btfsc         adcon0,go     ;A/D轉(zhuǎn)換完成了嗎?
                 goto          $-1          ;未完,等待
                 movf          adresh,w     ;
                 movwf         souh        ;結(jié)果高位
                 bsf           status,rp0     ;
                 movf          adresl,w     ;
                 bcf           status,rp0     ;
                 movwf         sou         ;
    ;********判斷sou:souh是否大于1000,即是否大于100℃?****
    ;入口參數(shù):被減數(shù)在souhb:soub中,減數(shù)在rlth:rlt中。
    ;出口參數(shù):結(jié)果在souhb:soub中,借位標(biāo)志在STATUS:C中,'0'表示有借位。
    movf       sou,w     ;
    movwf      soub     ;
    movf       souh,w    ;
    movwf      souhb    ;
    movlw      0e7h     ;
    movwf      rlt       ;
    movlw      03h      ;
    movwf      rlth      ;
    dusub       movf        rlt,w     ;
                subwf       soub     ;
                movf        rlth,w    ;
                btfss       status,c    ;
                incfsz      rlth,w     ;
                subwf       souhb,f   ;
    btfsc        status,c   ;是否大于100℃?
    goto         dbtbcd  ;否,轉(zhuǎn)向雙字節(jié)二進(jìn)制數(shù)轉(zhuǎn)化成壓縮BCD碼
    movlw       71h    ;是,rlth:rlt;souh:sou分別賦值71h,送顯,顯示FFF.F℃
    movwf       sou     ;
    movwf       souh    ;
    movwf       rlt      ;
    movwf       rlth     ;
    goto         display  ;
    ;***********雙字節(jié)二進(jìn)制數(shù)轉(zhuǎn)化成壓縮BCD碼***************
    ;入口參數(shù):原二進(jìn)制數(shù)在souh:sou中。
    ;出口參數(shù):結(jié)果在rlt:souh:sou中。
    dbtbcd       movf        sou,w    ;
                movwf       temp2    ;
                movf        souh,w    ;
                movwf       temp3    ;
                clrf        sou        ;
                clrf        souh       ;
                clrf        rlt         ;
                bcf         status,c    ;
                movlw       .16      ;
                movwf       cnt      ;
    loopc1      rlf         temp2,f     ;
    rlf         temp3,f    ;
    rlf         sou,f      ;
    rlf         souh,f     ;
    rlf         rlt,f       ;
    decfsz      cnt,f      ;
    goto        adjdec1   ;     
    goto       dcobcdtu   ;整個(gè)雙字節(jié)二進(jìn)制數(shù)轉(zhuǎn)化成壓縮BCD碼結(jié)束
                         ;跳轉(zhuǎn)到雙字節(jié)壓縮BCD碼轉(zhuǎn)化為非壓縮BCD碼
    adjdec1      movlw       sou       ;
    movwf       fsr       ;
    call        adjbcd1     ;調(diào)整rlt
    movlw       souh      ;
    movwf       fsr       ;
    call        adjbcd1     ;調(diào)整rlth
    movlw       rlt        ;
    movwf       fsr       ;
    call        adjbcd1     ;調(diào)整temp1
    goto        loopc1     ;
    ;********************調(diào)整BCD********************
    adjbcd1      movlw       03h       ;
                addwf       indf,w      ;低四位加3
                movwf       temp1     ;暫存
                btfsc       temp1,3     ;結(jié)果大于7,
                movwf       indf      ;則存起來(lái)
                movlw       30h       ;
                addwf       indf,w     ;高四位加3
                movwf       temp1     ;          
                btfsc       temp1,7     ;結(jié)果大于7,
                movwf       indf       ;則存起來(lái)
                retlw       0          ;
    ;*****************雙字節(jié)壓縮BCD碼轉(zhuǎn)化為非壓縮BCD碼************
    ;入口參數(shù):原BCD碼數(shù)在souh:sou中。
    ;出口參數(shù):結(jié)果在rlth:rlt:souh:sou中。
    ;說(shuō)明:由于溫度不大于100.0℃,精確到0.1℃,所以取四位BCD碼
    dcobcdtu     swapf        souh,w   ;
                andlw        0fh      ;
                movwf       rlth      ;
                movlw       0fh      ;
                andwf      souh,w   ;
                movwf       rlt       ;
                swapf        sou,w    ;
                andlw        0fh      ;
                movwf       souh     ;
                movlw       0fh      ;
                andwf      sou,f    ;
    ;****************非壓縮BCD碼轉(zhuǎn)化為七段碼*****************
    movf       rlth,w    ;
    call        convert   ;
    movwf     rlth       ;
    movf      rlt,w      ;
    call       convert    ;
    movwf     rlt        ;
    movf      souh,w    ;
    call       convert    ;
    movwf      souh     ;
    movf       sou,w    ;
    call        convert   ;
    movwf     sou       ;
    goto       display    ;
    convert      addwf      pcl,f   ;把W內(nèi)容疊加到PC的低8位上
    retlw      03fh   ;返回字符&ldquo;0&rdquo;的筆段碼(bit7-bit0=a,b,&hellip;&hellip;dp)
    retlw      06h     ;&ldquo;1&rdquo;的筆段碼
    retlw      5bh     ;&ldquo;2&rdquo;的筆段碼
    retlw      4fh     ;&ldquo;3&rdquo;的筆段碼
    retlw      66h     ;&ldquo;4&rdquo;的筆段碼
    retlw      6dh     ;&ldquo;5&rdquo;的筆段碼
    retlw      7dh     ;&ldquo;6&rdquo;的筆段碼
    retlw      07h     ;&ldquo;7&rdquo;的筆段碼
    retlw      7fh     ;&ldquo;8&rdquo;的筆段碼
    retlw      6fh     ;&ldquo;9&rdquo;的筆段碼
    ;*******************發(fā)送顯示************************
    display      movf     sou,w    ;
    call      out_in    ;
    movf     souh,w   ;
    call      out_in    ;
    movf     rlt,w     ;
    call      out_in    ;
    movf     rlth,w    ;
    call      out_in    ;
    goto     delay     ;   
    out_in       movwf   sspbuf   ;送數(shù)據(jù)給SSPBUF后開(kāi)始發(fā)送
    loop1       bcf      status,rp1   ; 選RAM體1
    bsf      status,rp0   ;
    btfss     sspstat,bf   ;查詢發(fā)送/接收完否
    goto    loop1       ;否,繼續(xù)查詢
    bcf     status,rp0    ;是,選RAM體1
    movf   sspbuf,w ;從SSPBUF中取出接到數(shù)據(jù),即使數(shù)據(jù)無(wú)用也應(yīng)騰空緩沖器
    goto    delay        ;   跳轉(zhuǎn)到延時(shí)
    ;********************延時(shí)1秒********************
    delay    
    lp0         movlw       0ah     ;
               movlw       0ffh     ;
               movwf       32h     ;
               movwf       30h     ;
    lp1        movlw       0ffh     ;
    movwf       31h    ;
    lp2         decfsz        31h    ;
    goto          lp2    ;
    decfsz        30h    ;
    goto           lp1   ;
    decfsz         32h   ;
    goto           lp0   ;
    goto           start  ;
    end

    久久黄色 视频|我草AV|AV在线网站导航|色色97激情|无码人妻一区二区有奶水|日韩精品|大香蕉97视频
  • <tbody id="w8jhq"><dfn id="w8jhq"><pre id="w8jhq"></pre></dfn></tbody>
  • <fieldset id="w8jhq"><pre id="w8jhq"></pre></fieldset>