热门问题
时间线
聊天
视角
PIC微控制器
来自维基百科,自由的百科全书
Remove ads
PIC微控制器(PIC microcontroller),是一種使用哈佛結構的精簡指令集微控制器,由Microchip公司研發而成。

PIC的架構是明顯的最低限度。它具有以下特點:
- 分離式的程式碼和資料空間(哈佛結構)
- 少量的固定長度指令
- 指令是單週期執行(4時鐘週期),僅流程轉移指令(call, goto, return, 成立時的條件跳躍)需兩個指令週期
- 所有 RAM 位置均可當作作為算數或其他運算的源暫存器或目的暫存器使用
- 一個硬體堆疊用於存放副程式呼叫的返回地址
- 較小的資料定址空間,但使用多個 bank 的方式(每個 bank 通常為 128 位元組),來存取較大的 RAM
- 暫存器、週邊輸入輸出埠等均對映在資料空間中
- 程式計數器也是對映到資料空間和寫入(這是用來執行間接跳躍)
歷史

PIC 微控制器源自於 1980 年代由通用儀器所推出的 PIC1650 系列,當時的 PIC 是周邊介面控制器(Peripheral Interface Controller)的簡稱。
GI 的微電子部門於 1987 年分拆成為 Microchip Technology (微晶) 公司。
PIC 產品系列
PIC 的產品線寬廣,型號眾多,現有數百種,各主要系列如下:
使用哈佛結構,指令碼與資料的位元寬度可以不同。但各指令的指令碼長度均相同。
- Baseline 系列 (12-bit 指令碼)
- PIC10F : 6 接腳
- PIC12C5 , PIC12F5 : 8 接腳
- PIC16C5 , PIC16F5 : 14 以上接腳
- Midrange (中階) 系列 (14-bit 指令碼)
- PIC12C6 , PIC12F6 : 8 接腳
- PIC16 : 14 以上接腳
- PIC16F1 : 新推出的 Enhanced Midrange (強化中階) 系列
- PIC18 (8-bit 裏的高階) 系列 (16-bit 指令碼)
- PIC18 : PIC18C , PIC18Fxxx , 少數早期的 PIC18Fxxxx
- PIC18 Extended : 目前絕大多數的 PIC18Fxxxx, PIC18FxxJxx, PIC18FxxKxx
- flash 產品:
- microchip 收購SST,擁有flash 產品
相當於不具 DSP 相關功能的 dsPIC 微控制器
- PIC24 系列
- PIC24F
- PIC24H
- PIC32 : 採用 MIPS 的 M4K 內核,與其他 PIC 不同。
- dsPIC30F
- dsPIC33F
8-bit PIC 的指令集
PIC的指令十分精簡,只有35個,簡單易學,故執行速度比8051快。其指令集又分成12-bit PIC instruction set,和14-bit PIC instruction set.
Remove ads
燒錄晶片的方式有兩種:普通燒錄和線上燒錄。
早期的 PIC16C 系列需使用平行燒錄。 程式記憶體為 Flash 的版本使用方便的序列燒錄方式,稱為 ICSP。
開發環境
Microchip 公司提供免費的開發環境 (MPLAB IDE) 與組譯器,也出售付費與提供有條件免費版本的 C 語言編譯器。另有第三方軟件商開發各式 C, BASIC 等編譯器與開發環境可以選用。
MPLAB 的下一代多平台開發環境 MPLAB-X (基於 Java 技術) 目前尚處於 beta 階段。
外部連結
- Microchip.com(頁面存檔備份,存於互聯網檔案館) 官方網站(美國)
- the PICList(頁面存檔備份,存於互聯網檔案館) FAQ and Archive from the "PICList" email list hosted at MIT。A well respected source of manufacturer-independent solutions, source code, and expertise.
- GPUTILS(頁面存檔備份,存於互聯網檔案館) Open Source assembler and linker.
- Free software tools(頁面存檔備份,存於互聯網檔案館) Free C, C++, Pascal, Basic compilers for the PIC microcontroller series.
- [1](頁面存檔備份,存於互聯網檔案館)Example C code for the rfPIC
- example of robot controlled by PIC16F877A: [2] [3]
- USB Pic Programmer(頁面存檔備份,存於互聯網檔案館) An open source project for a universal PIC programmer
- [4](頁面存檔備份,存於互聯網檔案館) A PIC microcontroller based Network I/O controller
- GameBoy® GB–PIC© Project[永久失效連結] Enable GameBoy hardware to PIC16F877
Remove ads
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads