SPECIAL FEATURES OF THE CPU

Başlatan blacklogic, 05 Mart 2013, 22:47:44

blacklogic

Merhaba arkadaşlar, picin  SPECIAL FEATURES OF THE CPU özelliklerini nasıl kullanacağımı idrak edemedim, bu konuda yardımcı olursanız sevinirim. 12F675 için datasheette
• Oscillator selection
• Reset
- Power-on Reset (POR)
- Power-up Timer (PWRT)
- Oscillator Start-up Timer (OST)
- Brown-out Detect (BOD)
• Interrupts
• Watchdog Timer (WDT)
• Sleep
• Code protection
• ID Locations
• In-Circuit Serial Programming

bunlar yazıyor, ve kullanımı hakkında şu bitleri söylüyor


Ben hi-tech kullanarak mplab ıde de yazıyorum ve main.c dosyamda bunları nasıl kontrol edeceğimi anlayamadım. Pic12f675.h dosyasının içerisinde bu bitler hakkında şunlar yazıyor:

// Config Register: CONFIG
#define CONFIG               0x2007
// Oscillator Selection bits
// RC oscillator: CLKOUT function on GP4/OSC2/CLKOUT pin, RC on GP5/OSC1/CLKIN
#define FOSC_EXTRCCLK        0x31FF
// RC oscillator: I/O function on GP4/OSC2/CLKOUT pin, RC on GP5/OSC1/CLKIN
#define FOSC_EXTRCIO         0x31FE
// INTOSC oscillator: CLKOUT function on GP4/OSC2/CLKOUT pin, I/O function on GP5/OSC1/CLKIN
#define FOSC_INTRCCLK        0x31FD
// INTOSC oscillator: I/O function on GP4/OSC2/CLKOUT pin, I/O function on GP5/OSC1/CLKIN
#define FOSC_INTRCIO         0x31FC
// EC: I/O function on GP4/OSC2/CLKOUT pin, CLKIN on GP5/OSC1/CLKIN
#define FOSC_EC              0x31FB
// HS oscillator: High speed crystal/resonator on GP4/OSC2/CLKOUT and GP5/OSC1/CLKIN
#define FOSC_HS              0x31FA
// XT oscillator: Crystal/resonator on GP4/OSC2/CLKOUT and GP5/OSC1/CLKIN
#define FOSC_XT              0x31F9
// LP oscillator: Low power crystal on GP4/OSC2/CLKOUT and GP5/OSC1/CLKIN
#define FOSC_LP              0x31F8
// Watchdog Timer Enable bit
// WDT enabled
#define WDTE_ON              0x31FF
// WDT disabled
#define WDTE_OFF             0x31F7
// Power-Up Timer Enable bit
// PWRT disabled
#define PWRTE_OFF            0x31FF
// PWRT enabled
#define PWRTE_ON             0x31EF
// GP3/MCLR pin function select
// GP3/MCLR pin function is MCLR
#define MCLRE_ON             0x31FF
// GP3/MCLR pin function is digital I/O, MCLR internally tied to VDD
#define MCLRE_OFF            0x31DF
// Brown-out Detect Enable bit
// BOD enabled
#define BOREN_ON             0x31FF
// BOD disabled
#define BOREN_OFF            0x31BF
// Code Protection bit
// Program Memory code protection is disabled
#define CP_OFF               0x31FF
// Program Memory code protection is enabled
#define CP_ON                0x317F
// Data Code Protection bit
// Data memory code protection is disabled
#define CPD_OFF              0x31FF
// Data memory code protection is enabled
#define CPD_ON               0x30FF


//
// Special function register definitions
//


Herhangi bir reset olduğundan bunu nasıl anlarım hangi flag set olur ve while(flag) şeklinde kontrol edebilir miyim? Ayrıca çok iyi c bilgim yok bu yüzden de anlamamış olabilirim. Bu kodda #define CPD_ON               0x30FF dediğinde  0x30FF değer nere yazılıyor chip içerisinde hangi registerdır bu?

Herkese iyi çalışmalar dilerim.

Erol YILMAZ

Bahsettiğin özelliklerin bir kısmı "Design Time" bazıları da "Run Time" dir.

Configuration Word 0x2007 adresinde bulunur "Tasarım anında" belirlenecek özellikleri seçersiniz. Sonradan değiştirilemez.

Interrupt lar mesela tamamen "çalışma zamanı" nda kontrol edilir,
Açılıp kapatılabilir.

Oscillatör kısmı genellikle Configuration Word ile seçilir ve bazı mcu lar da çalışma zamanında ayar yapılır.

Sleep özelliği çalışma zamanında kullanılır,

Code Protection açma kapama Configuration Word de bulunur, hangi bölgenin Read Protect olduğu seçilebilen mcu lar vardır...

Bu konularla ilgili olarak en güzeli datasheet i okumak...