• <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ì)開發(fā)

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

    開發(fā)工具

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

    技術(shù)支持

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

    新品推廣

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

    新聞中心

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

    PIC16F877單片機(jī)的應(yīng)用

    更新時(shí)間: 2019-03-21
    閱讀量:1739

    PIC16F877單片機(jī)片內(nèi)有8路10位A/D轉(zhuǎn)換器,引腳②~⑤為AN0~AN3、⑦~⑩為AN4~AN7。MPLAB-ICD的實(shí)驗(yàn)板上16F877單片機(jī)的RA0口接了一只供有電壓的10k&Omega;電位器,在D口(RD0~RD7)接了8只LED,如附圖所示。筆者用16F877 A/D轉(zhuǎn)換通道其中一路作A/D轉(zhuǎn)換,以說明A/D轉(zhuǎn)換編寫程序的方法和在線調(diào)試及編程。

              在附圖中,筆者把R6的可變輸出(電壓模擬量)端接到RA0/AN0作為模擬量輸入;用D口(RD0~RD7)的8只LED顯示A/D轉(zhuǎn)換的結(jié)果(按二進(jìn)制顯示)。

              一、 建立A/D轉(zhuǎn)換源程序的要點(diǎn)  編寫10位的一路A/D轉(zhuǎn)換程序看似簡(jiǎn)單,但對(duì)初學(xué)者卻有一定難度,因?yàn)榫帉懀粒霓D(zhuǎn)換程序時(shí),要熟練使用PIC16F877內(nèi)部的多個(gè)特殊功能寄存器。附表列出了與A/D轉(zhuǎn)換有關(guān)的部分特殊功能寄存器。在A/D轉(zhuǎn)換器中未用到的寄存器位以空白表示。

        1.A/D引腳控制寄存器ADCON1  ADCON1的bit0~bit3(PCFG0~PCFG3)為A/D轉(zhuǎn)換功能選擇位,若為1110,則表示AN0(RA0)通道是模擬量輸入,其余通道為數(shù)字I/O(其他編碼功能,請(qǐng)參見書籍介紹)。Bit7(ADFM)為A/D結(jié)果格式選擇位,1表示結(jié)果右移,0表示結(jié)果左移。

        2.中斷標(biāo)志寄存器PIR1  PIR1的bit6(ADIF)為A/D中斷標(biāo)志位,該位為1表示模數(shù)轉(zhuǎn)換已完成,為0表示轉(zhuǎn)換未完成。

        3.A/D操作控制寄存器ADCON0  ADCON0的bit0(ADON)為A/D轉(zhuǎn)換允許位,該位為1打開A/D轉(zhuǎn)換器,為0關(guān)閉A/D轉(zhuǎn)換器;bit2(GO/DONE)為A/D轉(zhuǎn)換狀態(tài)位,該位為1啟動(dòng)A/D轉(zhuǎn)換,為0表示A/D轉(zhuǎn)換已完成(A/D轉(zhuǎn)換完成后該位自動(dòng)清零);bit3~bit5為A/D通道選擇位,其值對(duì)應(yīng)于通道號(hào),000為0通道;bit6~Bit7(ADCS0、ADCS1)為A/D轉(zhuǎn)換時(shí)鐘選擇,00=fosc/2,01=fosc/8,10=fosc/32,11=fRC(RC振蕩器)。為正確進(jìn)行A/D轉(zhuǎn)換,A/D轉(zhuǎn)換時(shí)鐘值不宜選得太小。

        4.A/D結(jié)果高字節(jié)寄存器ADRESH  存放A/D轉(zhuǎn)換結(jié)果的高字節(jié)。

        編寫A/D轉(zhuǎn)換的源程序,還會(huì)用到STATUS、OPTION、INTCON&hellip;&hellip;寄存器。

              二、PIC16F877單片機(jī)A/D轉(zhuǎn)換源程序.ASM實(shí)例

        筆者編寫的A/D轉(zhuǎn)換源程序清單如下:

                LIST  P=PIC16F877    ;選單片機(jī)型號(hào)

                #INCLUDE  P16F877.INC

                ORG     0                       ;復(fù)位矢量

                GOTU   START

                ORG     D'20"               ;程序起始

    START  BCF     STATUS,6

                BSF     STATUS,5         ;選BANK1

                CLRF   TRISD               ;設(shè)D口為輸出

                CLRW                            ;0&rarr;W

                MOVLW  B'10000111'  ;TMR0,預(yù)分頻

                MOVWF  OPTION_REG    ;1:256

                CLRW

                MOVLW  B'00000001'

                MOVWF  TRISB              ;設(shè)B0為輸入

                MOVWF  TRISA

                MOVLW  0

                MOVLW  B'00001110'  ;A/D結(jié)果左移

                MOVWF  ADCON1            ;VDD為參考電壓

                BCF      STATUS,5        ;復(fù)位

                                                    ;BANK0

                CLRF    PORTD              ;清D口

                MOVLW  B'01000001'  ;打開A/D選時(shí)鐘

                MOVWF  ADCON0            ;fosc/8

    MAIN    BTFSS  INTCON,T0IF  ;TMR0溢出?

                GOTO    MAIN                ;等待

                BCF      INTCON,T0IF  ;TMR0溢出

    BCF      PIR1,ADIF      ;清標(biāo)志位

                                                    ;T0IF

                BSF      ADCON0,GO      ;啟動(dòng)A/D變換

    WAIT    BTFSS  PIR1,ADIF      ;變換判標(biāo)志位?

                GOTO    WAIT                ;等待

                MOVF    ADRESH,W        ;A/D轉(zhuǎn)換完成

                MOVWF  PORTD              ;高字節(jié)到D口

                CLRF    PORTD              ;0&rarr;D口

    WAITPWSH BTFSS    PORTB,0   ;判0位

                GOTO    WAITPUSH        ;等待

                MOVWF  PORTD              ;高字節(jié)送D口

                GOTO    MAIN            

                END                       

        說明:1. 因LED顯示僅用了8位(D口上),所以A/D轉(zhuǎn)換的低二位未顯示。2. 從源程序中可以看出,A/D轉(zhuǎn)換是通過控制PIC16F877內(nèi)部特殊功能寄存器來完成的。

              三、PIC01.ASM的在線調(diào)試和程序固化

              上述源程序可按照上期本版介紹的方法進(jìn)行在線調(diào)試。調(diào)試時(shí)可用MPLAB工具欄中的連續(xù)功能鍵操作。若在操作一次后再連續(xù)調(diào)試時(shí),應(yīng)改變附圖中電位器中心抽頭的電壓值,方能觀察A/D變換的結(jié)果。程序調(diào)試好后再把目標(biāo)碼.Hex固化到16F877單片機(jī)中,即可觀察不同的模擬量變換成數(shù)字量的結(jié)果,并可用三用表實(shí)測(cè)進(jìn)行驗(yàn)證。

    壓縮機(jī)控制電路圖.png


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