Re: [問題] 關於PIC16F887的問題
※ 引述《vofeed (vofeed)》之銘言:
: 大家好,我剛才發現有這個版,想請問各位神人大大
: 小弟剛接觸這一塊領域,雖然之前也有碰過8051,但也只是小改一點程式
: 我的問題是,小弟用的是APP013的版子和ICD2來燒錄程式,但聽學長說
: 燒錄完後,放在麵包版上,由於小弟的功能是想簡單試一下是否LED燈會亮~
: 所以使用PORTD當輸出,共用了第19、20 、21、22、27、28、29、30腳接LED正端,
: 然後第11、31腳接正電,第12、32腳接地,聽說是要設定configuration bits
: 但小弟看datasheet老半天,我的麵包版上的LED燈還是仍無起色~,
: 最慘的是上面的電壓差不多0.1V左右,我有請教客服工程師,
: 他是說要將第1隻腳的MCLR接個電阻後接電源,但小弟試了仍無起色
: 已經試了一星期了~想請問神人大大給小弟一些指教~
: ;**************************************
: ;* A Simple Program *
: ;**************************************
: list p=16F887
: #include <p16F887.inc>
: A equ 0x20
: NUM equ 0x03
: org 0x00
: nop
: Start:
: movlw NUM
: addlw .201
: movwf A
: banksel TRISD
: clrf TRISD
: banksel PORTD
: movwf PORTD
: end
: 這是小弟看範例程式打的,功能是要跑出八個LED燈,這不是跑馬燈~
: 請問一下BANK的設計是啥意思?
不知道你那邊有沒有教育訓練的講義可以看,沒有的話至以下網址下載
http://www.microchip.com.tw/modules/wfdownloads/viewcat.php?list=1
101asp
若你vcc、gnd及mclr有pull up的話,且mcu可以燒錄,還有一點要注意,io pin
注意是不是ad的腳位,是的話請先去改成digital的腳位,
去把ANSEL全部設定成零,不懂的話搜尋一下datasheet,這個暫存器的意思。
我玩mcu的習慣都是先確認mcu有沒有跑起來,設定內振,設定clkout,
用示波器量clkout pin 腳是否為我要的clk,是的話再往下debug,
因8bit mcu算玩過滿多顆的(之前在代理商當microchip fae)不一定每顆設定都一樣,
在那邊吃過幾次虧,所以一開始習慣都會先量測clkout。
config設定可以透過直接軟體來設定,可是會變成比較麻煩的就是每次compiler這個設
定有可能就會跑掉,可以參考教育文件來對照如何設定。
ex:
__config _CP_OFF & _WDT_OFF & _BODEN_OFF & _PWRTE_ON
& _HS_OSC & _WRT_OFF & _LVP_OFF & _CPD_OFF
當然以上的名稱都是有定義過的,基本上有些改on,off可以過關,建議對照每一顆mcu
的inc檔來設定,路徑C:\Program Files\Microchip\MPASM Suite(不一定,看版本)
找不到的話就用搜尋的,開啟p16f877A.inc,直接拉到最下面,因為設定檔的定義幾
乎都是在最下面。
還有你的程式只跑一次嗎?你應該用個goto loop讓他卡死,不然pc counter會往
下一直執行,然後就不知道跑去哪裡了。
以上可能都是大概說明,若真的要學,去原廠上一下課程,這些都是免費的,
而且有免費便當吃(開玩笑的),台北、新竹、台中、高雄都有,
在台灣原廠網站的右邊的教育訓練,點進去看是否有101asp的課程,這門是基礎入門
課程,可以去上一下,會很有幫助。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.251.165.46
推
10/02 12:30, , 1F
10/02 12:30, 1F
討論串 (同標題文章)
ASM 近期熱門文章
PTT數位生活區 即時熱門文章