<th id="h7ftf"></th><th id="h7ftf"><ol id="h7ftf"><ol id="h7ftf"></ol></ol></th>

        <track id="h7ftf"></track>

        <video id="h7ftf"><ruby id="h7ftf"></ruby></video>

            <track id="h7ftf"><del id="h7ftf"><output id="h7ftf"></output></del></track>

            <track id="h7ftf"></track>

            <track id="h7ftf"></track>

            專注電子技術學習與研究
            當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

            pic單片機采用查詢定時器的閃燈實驗報告

            作者:佚名   來源:互聯網   點擊數:  更新時間:2014年08月14日   【字體:

            1.  實驗目的

            學習如何使用定時器

            2.  任務要求

            用可重定位匯編代碼完成1s為周期的閃燈實驗;

            畫出程序流程圖;

            驗證程序的正確性;

            3.  實驗器材

            單片機PIC16F886一片、LED燈一只、電阻任選、下載器(及相關的線)一個

            4.  實驗方案

             

             

            圖 1 硬件設計圖

             

             


            圖 2 軟件流程圖

            計算過程:選擇Timer0,內部振蕩器頻率31KHz,要達到周期為1s,則0.5s翻轉一次,則0.5s中需要執行的指令數是0.5*31k/4=3875,則若使TMR00加到溢出,預置數為0,則3875/256=15.136.那么分頻比可選1:16,1:32,1:64,1:128,1:256.我們選擇了最接近的1:16.

            預置數的計算:

            3875/16=256-T+2

            T=15.8,軟件實測發現1516更加接近,15.

            調試方法:debug 單步調試和斷點調試結合。先確保程序正確,再調整預置數提高精度。

            5.  實驗現象分析

            最初由于代碼錯誤LED一直處于亮的狀態,由于調試時改動的代碼太多不知道是具體由哪一步引起,或者可能是很多錯誤一起造成的。

            我們似乎沒有地方可以用到可重用代碼,所以最后沒有采用。(也有可能是因為對可重用代碼不理解。)

             

            實驗最終結果:

            1,LED正常亮滅,亮滅時間相同,沒有奇怪現象

            2,軟件仿真時T=0.9999483s,誤差較小。

             

             

             

            附:

            #INCLUDE p16f886.inc  

            __config _CONFIG1, _LP_OSC _PWRTE_OFF _WDT_OFF _CP_OFF

            ORG 0x00

            NOP

            CLRF TMR0

            BANKSEL OPTION_REG;BANK3

            MOVLW B'000011'

            MOVWF OPTION_REG

            BANKSEL INTCON;

            MOVLW B'00000111'

            ANDWF INTCON,F

            BANKSEL OSCCON

            MOVLW B'00000011'

            MOVWF OSCCON

            BANKSEL ANSEL

            CLRF ANSEL

            BANKSEL TRISA;BANK1

            MOVLW B'00000000'

            MOVWF TRISA

            LP

            BANKSEL INTCON

            BTFSS INTCON,2

            GOTO LP

            GOTO LED

            LED

            BANKSEL INTCON

            BCF INTCON,2

            BANKSEL PORTA

            COMF PORTA,1

            BANKSEL TMR0

            MOVLW B'00001111'

            MOVWF TMR0

            GOTO LP

            END

             

            下一個實驗:http://www.sahacks.com/mcu/3996.html

            關閉窗口
            91尤物无码不卡在线_少妇高潮喷水在线观看_国产无圣光一区福利二区_国产欧美日韩一级

            <th id="h7ftf"></th><th id="h7ftf"><ol id="h7ftf"><ol id="h7ftf"></ol></ol></th>

                  <track id="h7ftf"></track>

                  <video id="h7ftf"><ruby id="h7ftf"></ruby></video>

                      <track id="h7ftf"><del id="h7ftf"><output id="h7ftf"></output></del></track>

                      <track id="h7ftf"></track>

                      <track id="h7ftf"></track>