久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

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

pic單片機閃燈實驗(Hello World)實驗報告

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

1.  實驗目的

A,學習匯編語言編程

B,學習使用編程軟件和下載器在單片機上編程

C,學習學習嵌入式的方法

2.  任務要求

用匯編語言編程實現LED燈閃爍

3.  實驗器材

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

4.  實驗方案

 

 

 

圖 1 硬件設計圖

 

 

圖 2 軟件流程圖

5.  調試過程

先使LED燈亮,再寫延時程序,最后實現閃燈。最后的結果是可以實現閃燈,但是閃燈的頻率和亮滅時間比例還不能精確控制。

6.  實驗現象分析

奇怪的現象:(還沒有解決)

1,只寫讓LED燈亮的程序,即

LIST p=16f886

INCLUDE p16f886.inc

ORG 0x00

BANKSEL TRISC

CLRF TRISC

CLRF STATUS

MOVLW B'00001111'

MOVWF PORTC

END

時,在PICKIT 2中選擇5V on ,測得Vdd=4.2V,萬用表直流電壓檔測得PIN RC3 2.7V ,示波器測時發現RC3引腳是頻率是50Hz,幅值是2.7V的正方波。LED可以一直亮,但是不是預期的一直置位。還沒有找到原因。

2,如果采用延時、翻轉如此循環,即循環部分分別為

A.loop call delay

comf portc,1

goto loop

B.loop call delay

call delay

call delay

call delay

call delay

comf portc,1

goto loop

C.loop call delay

call delay

call delay

call delay

call delay

call delay

call delay

call delay

call delay

call delay

 

comf portc,1

goto loop

時,測到的實際頻率都在0.48Hz左右(采用的時候總周期是默認的4MHz),然而一個循環中delay調用次數越多,燈亮的時間越短,滅的時間越長。當時鐘頻率選擇127kHz,調用3delay時就已經不會亮了。

3,如果采用清零、延時、置位、延時的循環,發現LED每次亮滅的時間基本相同,但是,每亮滅五次后,會有一次燈滅的時間稍微長一點。改變時鐘頻率后也是這樣。猜測是delay函數寫得有問題。

 

 

這三個現象計劃的解決方法是單步調試和仿真。

 

(寫完這份報告時,杜航同學提醒說我在delay中用到了decfsz函數,而decfsz函數的操作范圍只有0~127,而我設置的卻是0ffh,已超出該范圍。)

之前曹航用127kHz的時鐘,假設四個時鐘周期是一個指令周期,假設按照之前以為的2^8*2^8*2*2,周期在8s左右,實驗出來的結果卻在2s左右。按照杜航的說法,實際的一個周期內指令一共2^7*2^7*2*2,則計算得到燈的周期為2.06秒,實驗時計算到的現象是亮燈周期2s左右,比較符合。但是具體是不是這樣還要進一步驗證。

 

額,剛剛把delay中的0ffh改成07fh發現燈明顯閃爍快了。所以之前的假設不成立。

 

 

 

 

 

附:

INCLUDE P16F886.INC
org   000h      
nop             
BANKSEL OSCCON
BCF OSCCON,4
BCF OSCCON,5
BSF OSCCON,6
BANKSEL TRISC
movlw   00h       
movwf   TRISC    
BANKSEL PORTC   
movlw  000h       
movwf  PORTC   
  
loop 
CALL delay
BSF PORTC,3
CALL delay
BCF PORTC,3
goto loop

;-------------------------廷時子程序----------------------------
delay                       ;子程序名,也是子程序入口地址
       movlw   0ffh          ;將外層循環參數值FFH經過W
       movwf   20h          ;送入用作外循環變量的20H單元
lp0    movlw   0ffh          ;將內層循環參數值FFH經過W
       movwf   21h           ;送入用作內循環變量的21H單元
lp1    decfsz   21h,1         ;變量21H內容遞減,若為0跳躍
           goto     lp1           ;跳轉到LP1處
       decfsz    20h,1         ;變量20H內容遞減,若為0跳躍
       goto     lp0           ;跳躍到LP0處
return

end

關閉窗口
主站蜘蛛池模板: 美国黄色一级片 | 黑人久久久 | 国产精品成人在线播放 | 欧美一级久久 | 国产亚洲欧美在线 | 国产一区二区在线免费观看 | 人人种亚洲 | 成人在线精品视频 | 羞羞的视频网站 | 欧美三级久久久 | 日本啊v在线 | 色综合99 | 亚洲va欧美va人人爽午夜 | 精品影视| 日韩视频一区 | 中文在线一区二区 | 黄色一级片视频 | 久久午夜国产精品www忘忧草 | 国产日韩欧美精品一区二区 | 欧美激情一区二区 | 国产精品国产a级 | 亚洲天堂精品久久 | 国产亚洲区 | av免费网站在线观看 | 欧美一区2区三区3区公司 | 中文字幕在线观看视频网站 | 久久男人天堂 | 欧美日韩一区二区电影 | 日韩不卡一区二区三区 | 日韩一区二区三区av | 欧美精品久久久 | 99福利视频导航 | 国产大学生情侣呻吟视频 | 午夜私人影院在线观看 | 日韩精品影院 | 久久亚洲一区 | 久草视频在线播放 | 国产高清视频在线观看 | 一区二区久久精品 | 午夜影院在线观看免费 | 日本成人福利视频 |