Ⅰ 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
Ⅱ 20腳的pic單片機型號有哪些
很多,你上www.microchip.com公司下載一個產品目錄上面就有標注的
如PIC16F685,687,689,690都是
還有16F631,639,677,785
不過台灣 有很多仿PIC系列的單片機,比如麥肯特系列的
Ⅲ PIC單片機的基本功能區域包括哪幾部分各有什麼作用
PIC單片機是一種微型計算機,主要由中央處理器、存儲器、輸入輸出介面等組成。其中,基本功能區域主要包消瞎括以下幾個部分:
中央處理器(CPU):是PIC單片機的核心部件,主要負責數據運算和控制指令的執行。
存儲器:包括快閃記憶體(Flash Memory)、EEPROM和隨肆歷機訪問存儲器(RAM),用於存儲程序和數據。
輸入輸出介面:包括數字輸入輸出介面(Digital I/O)、模擬輸入輸出介面(Analog I/O)和串列通信介面(Serial I/O),用於連接外部設備和傳輸數據。
定時器計數器(Timer/Counter):用於生成定時信號和計數器信號,可用於測量時間和控制事件。
中斷控制器(Interrupt Controller):用於處理外部中斷和異常,可在CPU處理其他任務的同時處理來自外部設備的中斷請求。
這些部分各自具有不同的功能和作用,共同組成了PIC單片機的基本功能區域。中央處理器是計算和控制的核心,存儲器提供程序和數據的存儲,輸入輸出介面實現了PIC單片機與外部設備的通信,定時器計數器提供了定時和計數功能,中斷控制器處理外部中斷和異常拿雹空。在實際應用中,這些部分的具體功能和作用會根據需求和應用場景而有所差異。
Ⅳ 有哪些幾種單片機自帶CAN匯流排,PIC單片機有哪幾種型號自帶CAN匯流排。
別的單片機不我知。在PIC單片機(包括DSC)中,有好多都帶有CAN。我找到的結果是共有91個。主要是PIC18,dsPIC30,dsPIC33,PIC24,PIC32系列。
dsPIC30F4011
dsPIC30F4012
dsPIC30F4013
dsPIC30F5011
dsPIC30F5013
dsPIC30F5015
dsPIC30F5016
dsPIC30F6010A
dsPIC30F6011A
dsPIC30F6012A
dsPIC30F6013A
dsPIC30F6014A
dsPIC30F6015
dsPIC33FJ128GP706A
dsPIC33FJ128GP708A
dsPIC33FJ128GP710A
dsPIC33FJ128GP802
dsPIC33FJ128GP804
dsPIC33FJ128MC506A
dsPIC33FJ128MC510A
dsPIC33FJ128MC706A
dsPIC33FJ128MC708A
dsPIC33FJ128MC710A
dsPIC33FJ128MC710A
dsPIC33FJ128MC802
dsPIC33FJ128MC804
dsPIC33FJ256GP506A
dsPIC33FJ256GP510A
dsPIC33FJ256GP710A
dsPIC33FJ256MC510A
dsPIC33FJ256MC710A
dsPIC33FJ64GP706A
dsPIC33FJ64GP708A
dsPIC33FJ64GP710A
dsPIC33FJ64GP802
dsPIC33FJ64GP804
dsPIC33FJ64GS606
dsPIC33FJ64GS608
dsPIC33FJ64GS610
dsPIC33FJ64MC506A
dsPIC33FJ64MC508A
dsPIC33FJ64MC510A
dsPIC33FJ64MC706A
dsPIC33FJ64MC710A
dsPIC33FJ64MC802
dsPIC33FJ64MC804
PIC18F2480
PIC18F2580
PIC18F2585
PIC18F25K80
PIC18F2680
PIC18F2682
PIC18F2685
PIC18F26K80
PIC18F4480
PIC18F4580
PIC18F4585
PIC18F45K80
PIC18F4680
PIC18F4682
PIC18F4685
PIC18F46K80
PIC18F65K80
PIC18F66K80
PIC24HJ128GP502
PIC24HJ128GP504
PIC24HJ128GP506A
PIC24HJ128GP510A
PIC24HJ256GP610A
PIC24HJ64GP502
PIC24HJ64GP504
PIC24HJ64GP506A
PIC24HJ64GP510A
PIC32MX534F064H
PIC32MX534F064L
PIC32MX564F064H
PIC32MX564F064L
PIC32MX564F128H
PIC32MX564F128L
PIC32MX575F256H
PIC32MX575F256L
PIC32MX575F512H
PIC32MX575F512L
PIC32MX764F128H
PIC32MX764F128L
PIC32MX775F256H
PIC32MX775F256L
PIC32MX775F512H
PIC32MX775F512L
PIC32MX795F512H
PIC32MX795F512L
dsPIC30F6013A
dsPIC30F6011A
PIC32MX564F128L
PIC32MX764F128L
dsPIC33FJ128GP710A
dsPIC33FJ128MC710A
dsPIC33FJ128MC710A
dsPIC33FJ128MC510A
PIC24HJ128GP510A
dsPIC33FJ128GP708A
dsPIC33FJ128MC708A
PIC32MX764F128H
PIC32MX564F128H
dsPIC33FJ128MC706A
dsPIC33FJ128GP706A
dsPIC33FJ128MC506A
PIC24HJ128GP506A
dsPIC33FJ128GP804
dsPIC33FJ128MC804
PIC24HJ128GP504
dsPIC33FJ128GP802
dsPIC33FJ128MC802
PIC24HJ128GP502
PIC18F4685
PIC18F2685
PIC18F4682
PIC18F2682
dsPIC30F5013
dsPIC30F5016
dsPIC30F5011
dsPIC30F5015
PIC32MX534F064L
PIC32MX564F064L
dsPIC33FJ64GP710A
dsPIC33FJ64MC710A
dsPIC33FJ64GS610
dsPIC33FJ64MC510A
PIC24HJ64GP510A
dsPIC33FJ64GP708A
dsPIC33FJ64GS608
dsPIC33FJ64MC508A
PIC18F66K80
dsPIC33FJ64MC706A
PIC32MX534F064H
PIC32MX564F064H
dsPIC33FJ64GP706A
dsPIC33FJ64GS606
dsPIC33FJ64MC506A
PIC24HJ64GP506A
PIC18F4680
dsPIC33FJ64GP804
dsPIC33FJ64MC804
PIC24HJ64GP504
PIC18F46K80
PIC18F2680
PIC18F26K80
dsPIC33FJ64GP802
dsPIC33FJ64MC802
PIC24HJ64GP502
PIC18F4585
dsPIC30F4011
dsPIC30F4013
PIC18F2585
dsPIC30F4012
PIC18F65K80
PIC18F4580
PIC18F45K80
PIC18F2580
PIC18F25K80
PIC18F4480
PIC18F2480
Ⅳ pic單片機型號
Pic單片機的型號有wm和lck等一種一共有七種到八種的
Ⅵ PIC 32位單片機有哪些
太多了,到目前為止,共有58個型號:
PIC32MX110F016B
PIC32MX110F016C
PIC32MX110F016D
PIC32MX120F032B
PIC32MX120F032C
PIC32MX120F032D
PIC32MX210F016B
PIC32MX210F016C
PIC32MX210F016D
PIC32MX220F032B
PIC32MX220F032C
PIC32MX220F032D
PIC32MX320F032H
PIC32MX320F064H
PIC32MX320F064H-40
PIC32MX320F128H
PIC32MX320F128L
PIC32MX340F128H
PIC32MX340F128L
PIC32MX340F256H
PIC32MX340F512H
PIC32MX360F256L
PIC32MX360F512L
PIC32MX420F032H
PIC32MX440F128H
PIC32MX440F128L
PIC32MX440F256H
PIC32MX440F512H
PIC32MX460F256L
PIC32MX460F512L
PIC32MX534F064H
PIC32MX534F064L
PIC32MX564F064H
PIC32MX564F064L
PIC32MX564F128H
PIC32MX564F128L
PIC32MX575F256H
PIC32MX575F256L
PIC32MX575F512H
PIC32MX575F512L
PIC32MX664F064H
PIC32MX664F064L
PIC32MX664F128H
PIC32MX664F128L
PIC32MX675F256H
PIC32MX675F256L
PIC32MX675F512H
PIC32MX675F512L
PIC32MX695F512H
PIC32MX695F512L
PIC32MX764F128H
PIC32MX764F128L
PIC32MX775F256H
PIC32MX775F256L
PIC32MX775F512H
PIC32MX775F512L
PIC32MX795F512H
PIC32MX795F512L
Ⅶ 請問初學PIC單片機那種型號最合適,目前那種型號最常用
PIC目前各種型號銷售都挺多的。沒有說那個最常用,用什麼型號不是說開發者會用就用什麼型號,而是項目需要用什麼就用什麼型號。
對於入門來說,推薦PIC16F877或者PIC16F887。現在很多PIC的課本都用PIC16F877做入門,因為這個在8位來說功能比較全。但PIC16F887比前者增加了一個內部振盪器功能,所以我推薦用PIC16F887做入門。
學會了這個,在實際中需要用到其他的型號就可以觸類旁通。只要看對應的數據手冊即可。
Ⅷ PIC單片機選型
方法:
單片機的選型是一件重要而費心的事,如果選型得當,則做出來的產品就會性價比較高,且工作穩定;反之,則可能會造成產品成本過高或影響產品正常運行,甚至可能根本就達不到預先設計要求。一般來說,總的選型原則是:
(1)「晶元含有(功能或數量)略大於設計需求」,「設計需求盡可能(用)晶元完成(少用外圍器件)」;
(2)「選大(大廠)不選小,選多(供應量多)不選少,選名(名牌)不選渺(飄渺,不知詳情的廠子),選廉(廉價)但要好(質量保證)」。具體要從單片機應用的技術性、實用性和開可發性等方面來考慮:
1、內存
單片機FLASH的容量根據程序的大小確定,FLASH容量必須大於代碼量。舉例來說,如果你的代碼量大約50 KB,那麼建議你選擇FLASH容量為64 KB或128 KB的單片機。
2、速度
單片機的運行速度首先看時鍾頻率,一般情況對於同一種結構的單片機,時鍾頻率越高速度越快。如果你的設計對速度要求很高,那麼要選擇一個運行速度較快的單片機。例如,一般情況下,電機控制應用大多採用100ksps或更高的采樣速率,因此當單片機用於電機控制時,時鍾頻率要足夠高。總之,在選用單片機時要根據產品需要選擇時鍾頻率,不要片面追求高速度,時鍾頻率越高功耗也就越大。此外,單片機的穩定性、抗干擾性等參數基本上跟單片機的運行速度成反比。因此,要盡量尋找可以在很高的時鍾頻率下運行而功耗又不高的單片機。
3、外設需求
如果你的設計需要ADC、SPI、GPIO、USB等之類的外設,那麼你需要尋找一款集成所有這些外設的單片機。因為,使用一個具有上述外設的單片機顯然比使用一個普通的單片機及外圍加一個單獨的ADC更為經濟。此外,外設集成於單片機同時也意味著更低的功耗,因為沒有可以產生功耗的外圍電路,也沒有用於連接外圍電路的能產生功耗的敷銅,只有單片機本身產生功耗。
4、方便的開發工具
這是個非常重要的方面,因為開發工具可以極大地影響你所設計的產品的功耗。很多公司都已經開發出了具有代碼優化功能的編譯器,所以當你編譯代碼的時候,編譯器會告知具體編譯信息,你可以根據編譯信息優化代碼以降低功耗。舉例來說,如果你的設計需要用到ADC、UART和GPIO等外設,你就需要初始化這些器件,但是設計中使用UART是有條件的(僅用於調試時顯示結果),此時編譯器會提示你禁用這個外設以降低功耗。必須得說這種智能化的開發工具對開發者來說是一種福音。
5、未來需求和兼容性
設計者在設計產品時需要考慮產品未來可能需要升級等之類的問題。例如,若需要給設計增加某些功能,那麼可能需要增加內存、外設等,還可能需要加提高單片機的運行速度。因此,在單片機的選型上需要在當前設計需求以及未來設計上尋找平衡,以滿足不同程度的要求。
6、成本
一個好的設計不僅要功能完善,而且要滿足成本要求,如果無法控製成本,再好的設計也是枉然。因此,需要盡可能地降低單片機甚至整個產品的成本。
7、工作電壓(VCC)
單片機的工作電壓是指可以讓其正常工作所需要提供的電壓。工作電壓越高,單片機的功耗也就越大。因此,為了降低產品功耗,必須要盡可能地降低工作電壓。
除此之外,我還要建議設計者根據具體產品需求選擇合適晶元架構。若僅是個簡單的控制應用(如照明系統、電子玩具等),那麼並不需要一個像ARM那樣具有復雜架構的晶元。此外,對於低功耗設計,單片機必須具有睡眠模式,基於中斷操作的睡眠模式/低功耗模式的使用是降低功耗的一個標準的行業慣例。
最後再來一句老生常談:不要拘泥與晶元是否先進,單片機只是一個工具,真正的功夫在於你的專業知識,要用最合適的晶元做出最合適的產品。