Re: [問題] 關於PIC16F887的問題

看板ASM (組合語言)作者 (Hi)時間13年前 (2011/10/02 01:41), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/3 (看更多)
※ 引述《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
文章代碼(AID): #1EXr2woN (ASM)
討論串 (同標題文章)
本文引述了以下文章的的內容:
以下文章回應了本文
完整討論串 (本文為第 2 之 3 篇):
文章代碼(AID): #1EXr2woN (ASM)