⑴ PIC單片機config配置問題
我專門給你編了個PIC16F1823的C程序,用的是PICC9.8。
其配置位的含義,請把這些程序編譯後在MPLABIDE的配置位窗口看,就知道了。
程序實現對一個埠的LED閃亮功能,圖為在PROTEUS模擬的結果,證明結果是正確的,我用的是PROTEUS7.9的,低的版本沒有這個單片機。
#include<pic.h>
//第一個配置設置為:振盪器為內部RC,各種功能(看門狗,上電定時器等)
__CONFIG(0x09E4);
//第二個配置設置為:關閉PLL鎖相環,掉電復位電壓為2.4V,低電壓寫使能
__CONFIG(0x3EFF);
#defineLEDRA5
voidDELAY(unsignedint);
voidmain(void)
{ //未對ODSCCON設置,即用默認的500kHz的內部振盪器,指令周期為8us
TRISA5=0;
LED=1;
while(1)
{ DELAY(3);
LED=!LED;
}
}
voidDELAY(unsignedintn)
{ unsignedinti;
for(i=0;i<n;i++)
{ NOP();
NOP();
NOP();
NOP();
}
}
⑵ 那位高人可以提供幾個國外的單片機網站啊最好是PIC單片機
學習單片機, 硬體最好是到圖書館去查找資料, 基本上硬體介面都是通用的,
另外,用的最多的是晶元手冊.
軟體嘛, 學習PIC的教程基本上就夠了. 在對晶元編程時, 按照通訊協議和編程格式, 自己寫一般就沒有多大問題了.
基礎知識是最重要的, 別人的東西看見了, 吸收消化了, 才能流進自己的血液里.
⑶ 求一個PIC單片機學習的網站
資料(PDF晶元)查詢類網站:
IC/PDF查詢 http://www.21icsearch.com
電子元器件查詢 http://www.chinadz.com/
IC/PDF查詢 http://www.ic37.com/
器件手冊 http://www.datasheet5.com/
電子技術文章資源下載類
今日電子 http://www.epc.com.cn
中國電子資源網:http://www.ec66.com
中國電子進修網 http://www.studydz.com
電子設計技術網: http://www.ednchina.com
21IC http://www.21IC.COM
電子工程專輯: http://www.eetchina.com
國際電子商情: http://www.esmchina.com
北極星電子技術網http://www.bjx.com.cn
大蝦電子網 http://www.daxia.com/
ET電子技術網 http://www.et-dz.com
老古開發網 http://www.laogu.com
我愛研發網 http://www.52rd.com/
變頻技術應用 http://www.chinabianpin.com/
網易電器 http://co.163.com/index_dq.htm
中國IT技術門戶 http://develop.csai.cn/
無線電 http://www.radio.com.cn/
電子愛好者 http://www.etuni.com/
PCB信息網 http://web.pcbinfo.net/
中國PCB技術網 http://www.pcbtech.net/
電子論壇
電子論壇 http://www.ecbbs.com/
21IC社區 http://bbs.21ic.com
綜合電子論壇 http://www.avrw.com/bbs/
電子產品世界論壇 http://forum.eepw.com.cn
中電網技術論壇 http://bbs.eccn.com/
中國電子進修論壇:http://bbs.studydz.com
光電論壇 http://www.oecr.com/bbs/
大蝦電子論壇 http://www.daxia.com/bibis/
電子工程世界論壇 http://bbs.eeworld.com.cn
國際電子技術論壇 http://bbs.elec.cc/
偉納單片機論壇 http://www.willar.com/forum.asp
中國PCB論壇 http://www.pcbbbs.com/index.htm
家電論壇 http://www.jd-bbs.com
廣播論壇 http://bbs.leowood.net
EDA專業論壇 http://www.edacn.net/bbs/
研發BBS http://www.52rd.com/bbs/
電子工程博客
中國電子工程博客 http://www.mcublog.com/blog
21IC博客 http://blog.21ic.com
工控博客 http://blog.gkong.com/
電源網博客 http://www.dianyuan.com/blog/
EDA博客 http://www.ednchina.com/blog
中國電子網博客 http://blog.electron.cn
電子人博客 http://www.dianziren.com
中國子設計網博客 http://www.cediy.com
中電網博客 http://blog.eccn.com/
進修博客 http://www.studydz.com/html/blog.html
工控博客 http://blog.gkong.com
電路圖
電子電路圖網: http://www.cndzz.com
電路圖 http://circuit.eeworld.com.cn/
單片機類
單片機平凡網 http://www.mcustudio.com
單片機 http://www.8951.com/
AVR單片機 http://www.avrvi.com/
周立功單片機 http://www.zlgmcu.com/home.asp
晶控電子 http://www.hificat.com/
PIC學習網: http://www.pic16.com
嵌入式技術網 http://www.icembed.com/
DSP專業資訊網 http://dsp.blueidea.com/
⑷ pic 單片機 參考文獻
PIC8位單片機的基本組成
PIC系列8位單片機為適應各種不同的用途,有多種型號可供選用。但是,盡管PIC單片機有不同的檔次和型號,但其最基本的組成則大同小異。因此,在這里先從型號PIC16F84的單片機入手,討論其基本組成。PIC16F84是雙列直插式(DIP)塑料封裝,最大時鍾頻率可達4MHz。現為Microchip公司的獨家產品,關於其具體技術指標,可查閱該公司的產品手冊,或在網址www.microchip.com上查找。
PIC16F84單片機的引腳排列可參閱本期本版的16F8X系列簡介一文。本文的附圖是該器件的主要組成部分。PIC16F84雖然體積不大,但仍然是一個完整的計算機,它有一個中央處理器(CPU)、程序存儲器(ROM)、數據寄存器(RAM)和兩個輸入/輸出口(I/O口)。
和其它品種的單片機一樣,CPU是此單片機的「首腦」,它從程序存儲器中讀取和執行指令。在取指和執行時,還可同時對數據寄存器進行取數(前已介紹PIC16F84採用哈佛結構)。由附圖可明顯看出,程序存儲器和數據存儲器各有一條匯流排與CPU相連。有些CPU將CPU內部的寄存器與其外部的RAM是分開管理的,但PIC單片機不是這樣,它的通用數據RAM也歸為寄存器,稱為File寄存器。在PC16F84中,有68個位元組的通用RAM,其地址為0CH~4FH。
除了通用數據寄存器外,還有一些專用寄存器,其中最常用的工作寄存器為「W寄存器」。CPU將工作數據存放在W寄存器中。寄存器W的作用與其它單片機中的「累加器A」相似。此外,還有幾個專用寄存器,它們分別以某種方式控制PIC的運作。
PIC16F84的程序存儲器是由Flash(閃速)EPROM構成,它可用電來記錄和擦除,而在斷電時,仍可保留其內容。PIC單片機有些型號的程序存儲器用的是EPROM,需要用紫外線來擦除;還有一些型號是一次性可編程(OTP)的產品(一經編程便不能再擦除)。
PIC16F84有兩個輸入/輸出口,即A口和B口。每個口的每個引腳可單獨設定為輸入或輸出。各個口的位是從0開始編號的。當A口為輸出方式時,其第4位(即RA4)為開路集電極(或開路漏極)輸出,而B口及A口其它各位為常規的全CMOS驅動電路。這些功能必須注意,否則會在編程時出錯。CPU對每個埠都按一個位元組8位來處理,但A口只有5位引腳。
PIC輸入與COMS兼容,所以PIC輸出可驅動TTL或CMOS邏輯晶元。每個輸出引腳可以流出或吸入20mA電流,即使一次只用了一個引腳亦是如此。
摘 要:在介紹空調室內機控制器功能的基礎上,從軟體的規劃著手,詳細介紹了室內機軟體的總體設計過程、詳細設計過程以及編碼的實現,並在此基礎上重點給出了空調室內機運行模式的特點和結合這些特點如何用MPLAB集成開發環境去實現各運行模式。
關鍵詞:空調;控制器;單片機;軟體設計
單片機軟體實現是單片機系統應用的重點,他是在硬體設計基礎上實現程序設計的重要環節。單片機程序設計一般包括以下幾個步驟:軟體規劃、流程圖編制、代碼編寫。由於單片機系統具有軟硬體緊密結合的特點,因此在基於某種單片機系統的軟體開發時,應充分了解該系統實現的硬體環境,同時也應該在系統設計與硬體設計階段,對軟體設計有一個大體的規劃。因此,本文在介紹室內機控制器功能的基礎上,重點討論如何用軟體實現該室內機的功能。
一:PIC16C71的問題和對策
問題1:在晶元進入低功耗睡眠模式 (SLEEP MODE)後,其振盪腳將處於浮態,這將使晶元的睡眠功耗上升,比原手冊中的指標高了10μA以上。
對策:在振盪腳OSC1和地 (GND)之間加一10MΩ電阻可防止OSC1進入浮態,且不會影響正常振盪。
問題2:RA口方向寄存器TRISA目前只是一個4位寄存器,對應於RA0~RA3,並非手冊中所言是8位寄存器,對應於RA0~RA4,即RA4並沒有相應的輸入/輸出方向控制位,它是一個具有開極輸出,施密特輸入I/O腳。
對策:避免使用對RA口進行讀-修改-寫指令(如BCF RA, BSF RA),以免非意願地改變RA4的輸入/輸出狀態。對於RA口的操作應採用寄存器的操作方式(MOVWF RA)。
問題3:當CPU 正在執行一條對INTCON寄存器進行讀-修改-寫指令時,如果發生中斷請求,則讀中斷常式會被執行二次。這是因為當中斷請求發生後INTCON寄存器中的GIE位會被硬體自動清零(屏蔽所有中斷),並且程序轉入中斷常式入口(0004H)。當GIE位被清零後,如果這時正好CPU在執行一條對 INTCON的讀-修改-寫指令(如BSF INTCON等),則 GIE位還會被寫回操作重新置1,這樣會造成CPU二次進入中斷常式。
對策:如果在程序中需對INTCON的某一中斷允許位進行修改,則應事先置GIE=0
,修改完成後再恢復GIE=1。
…………..
BCF INTCON, GIE
BSF INTCON, ×××
BSF INTCON, GIE
…………..
圖1
問題4:當晶元電壓VDD加電上升時間大於100μs時,電源上電復位電路POR和電源上電延時器PWRT可能不能起正常的作用,而使晶元的復位出現不正常(即PC≠復位地址)。一般在這種情況下建議不要採用PWRT。
對策:如果VDD上升時間很長,此晶元一般需較長的電源上電延時,可靠的電源上電延時方法如圖1所示,在MCLR端外接復位電路。
問題5:如果在A/D轉換中用RA3作為參考電壓輸入,則最大滿量程誤差(NFS)要大於手冊中的指標。實際情況如表1所示。
表1 A/D滿量程誤差表
VREF源
(5.12V) 滿量程誤差
(NFS)
VDD <±1 LSb
RA3 <±2.5 LSb
二:PIC16C84的問題和對策
問題1:PIC16C84的內部的E2PROM數據存儲器的E/W周期偶爾會超出最大值(10ms)。
對策:在程序中應該用EECON1寄存器中的WR位來判斷寫周期的完成,或是啟用「寫周期完成中斷」功能,這兩種方法可保證寫入完成。
問題2:VDD和振盪頻率的關系如表2所示。
VDD 振盪方式 最高頻率
2V-3V RC, LP 2MHZ,200MHZ
3V-6V RC,XT,LP 4MHZ,200MHZ
4.5V-5.5V HS 10MHZ