找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4426|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

實(shí)驗(yàn)一 閃燈實(shí)驗(yàn)(Hello World)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:51024 發(fā)表于 2014-8-14 14:22 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
實(shí)驗(yàn)前的準(zhǔn)備:
MPLAB IDE v8.80  (http://pan.baidu.com/s/1qWwhONM
Pickit 2 Programmer/Debugger v2.61(http://pan.baidu.com/s/1jGC9ei6
閱讀PIC16F886的datasheet (http://pan.baidu.com/s/1sjrwgmp
要求:
1,用匯編語言寫程序,使LED燈閃動(dòng)。
2,記錄問題
3,軟件仿真


我做出來的結(jié)果:使LED燈亮,但還不會(huì)閃動(dòng)。

MPLAB IDE 建工程的過程參考:
PIC教程3-點(diǎn)亮LED②軟件  http://wenku.baidu.com/link?url= ... PCXy1DP0C3GKSt6YQI3
MPLAB教程(http://pan.baidu.com/s/1ntNstG9

PICKIT使用參考:
PICkit2 User Guide 51553E (http://pan.baidu.com/s/1kT1HGX5

我的代碼 :
;LED.asm
LIST p=16f886
INCLUDE p16f886.inc
ORG 0x00
BANKSEL TRISC
CLRF TRISC
CLRF STATUS
MOVLW B'00001111'
MOVWF PORTC
END

我的LED燈接到RC3上,亮。
不理解的地方:
PICKIT 2中選擇5V on ,測得Vdd=4.2V,萬用表直流電壓檔測得PIN RC3 是2.7V ,示波器測時(shí)發(fā)現(xiàn)RC3引腳是頻率是50Hz,幅值是2.7V的正方波。。。神啊,求解釋。。。真心不理解。。。

1,在只要求結(jié)果而先驗(yàn)知識為0的情況下應(yīng)當(dāng)選擇風(fēng)險(xiǎn)最小、不可控因素最少的道路。硬件要最簡單(最小系統(tǒng)),軟件要最簡單(盡可能少寫指令,軟件對器件資源的依賴盡可能少)。要用最簡單的方法解決問題。讓風(fēng)險(xiǎn)可控。
2,MPLAB IDE安裝漏選Pickit2支持選項(xiàng)
LED與電阻
下載器連接
防止外部電路對編程信號的影響和編程信號對外部電路的影響,單片機(jī)功能配置位CONFIG1,CONFIG2
PIC內(nèi)部組織形式
BANKSEL PORTC
=>BCF STATUS,RP1
     BCFSTATUS,RP0
盡量把同一分區(qū)的操作放在一起,以減少編譯器生成的代碼量

端口操作要設(shè)置為輸出方式
延時(shí)程序段
PIC匯編變量存放在哪里?判斷跳轉(zhuǎn)指令可以用跳轉(zhuǎn)
incf xxx,w
incf xxx,f

symbol not previously defined
movwf TRISC 錯(cuò)誤
#include p16f886.inc

訪問SFR實(shí)際是對某一地址的訪問
TRISC EQU H'0087'

尋址方式
立即數(shù)尋址:操作數(shù)直接放在指令中
movlw 0x55(PORTA s實(shí)際放得是PORTA的地址,不要指望放變量)
直接尋址
操作數(shù)地址直接在指令當(dāng)中
movwf 0x55
間接尋址
操作數(shù)地址放在寄存器中
引用寄存器簡介訪問  INDF


為什么會(huì)遇到錯(cuò)誤?
pickit2下載不穩(wěn)定:有時(shí)會(huì)成功,有時(shí)不能成功——一切皆有可能,錯(cuò)誤可能性排序,一一排除
參考資料:勘誤表 PIC16F882/883/886/887  FamilySilicon Errata and Data Sheet Clarification
LVP編程:LVP enable 時(shí)RB3編程指示位高進(jìn)入編程狀態(tài)。LVP默認(rèn)為低,enable.RB3低正常工作,高編程。CMOS工藝不能把輸入懸空。允許LVP功能,則PB3引腳在運(yùn)行時(shí)不能為高或懸空。


完善實(shí)驗(yàn)一
復(fù)現(xiàn)以前的錯(cuò)誤,找到唯一的原因。

做實(shí)驗(yàn)的額目的在于找到所有可能的錯(cuò)誤,搞清楚不確定的問題。

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表