星期五, 11月 04, 2005

PIC 12F508 , IO Pin

Microchip的PIC12F508是一個8pin的小mcu,
有6個GPIO可以用,但是GP3(從0開始數)只能作input,
hitech-C 有支援(雖然508只有512 word的program memory, 25 bytes的ram)。
有internal OSC mode,所以不用外接crystal,但是只能振在4MHz,而且會隨著溫度而改變(但是其中有一個calibration data可以由客戶自行program)。
有一個timer/counter和外部中斷。
目前支援ICD2的programming,但是還沒支援debug(據說馬上就可以支援了)。
接法也是一樣:MCLP, ICSPDAT, ICSPCLK。 (和Vcc, GND)

在MPLAB中有支援(在device table的上部)。
programmer會增加一個option : calibration data (設定可不可寫入)。
#include <pic.h>

void main(void)
{
TRIS = 0x08; // GPIO 3 - input, others - input
GPIO = 0x00; // 所有output設Low.
這樣的話,GP2還是hi,因為GP2同時作T0CKI (counter input)
所以他的I/O property還受到T0CS的值影響,當T0CS=1時,GP2作Counter的input pin,是input mode。
所以GP2要當output時,要將OPTION register的T0CS bit(bit 5)設為0才行。

沒有留言:

網誌存檔