Imam neka pitanja u vezi sa WinPIC800 softverom. Nikad do sada nisam pokušao da programiram pravi PIC MCU samo sam radio u ISIS-u (Proteus) Simulacija. Napisao sam program i sve radi kad se pusti u simulaciji odnosno u Proteusu.
Imam AllPIC programator i WinPic800 softwer. Učitam HEX fajl, i ja uglavnom ne diram podesavanja u Settings tab samo kliknem PROGRAM All i upise se program lepo u PIC verifikuje se sve je OK.
Ja posle ubacim mikrokontroler u podnozije i pokrenem ga on blinka led diode nekoliko puta (kao sto i treba jer je tako napisano u programu i ugasi ih) pokrene pwm na 5kHz i podesi duty na 16. Ja sam napravio da kad kliknem na pwm+ dugme da se poveca varijabla t za 16 i da podesi PWM duty na t i kad je neka druga vrednost da se ukljuci druga led dioda... Ali meni to ne radi. Sve se lepo ukljuci kad kliknem na taster za + ili - ništa se ne dešava kao da ne rade tasteri, probao sam instrumentom da vidim da li dovodi +5V na PIC i dovodi ali PIC uopste ne reaguje.
Evo šema:
Proteus:
HEX datoteku kompajlovanu sam dodao u attachment kao i proteus projekat.
Izvorni kod MikroC:
Code: Select all
unsigned short t;
void main() {
TRISA = 0xFF;
TRISB = 0x00;
PORTA = 0x00;
PORTB = 0x00;
PORTB = 0xFF;
Delay_ms(1000);
PORTB = 0x00;
Delay_ms(1000);
PORTB = 0xFF;
Delay_ms(1000);
PORTB = 0x00;
PWM1_Init(5000); // Initialize PWM1 module at 5KHz
PWM1_Start();
t = 16;
PWM1_Set_Duty(t);
while(1)
{
if(RA0_bit)
{
Delay_ms(40);
t = t + 8;
PWM1_Set_Duty(t);
}
if(RA1_bit)
{
Delay_ms(40);
t = t - 8;
PWM1_Set_Duty(t);
}
Delay_ms(5);
if(t > 254)
t = 0;
if(t < 1)
t = 255;
if( (t > 16) && (t < 32) )
{
PORTB = 0x00;
RB4_bit = 1;
}
else if( (t > 32) && (t < 64) )
{
PORTB = 0x00;
RB5_bit = 1;
}
else if( (t > 64) && (t < 128) )
{
PORTB = 0x00;
RB6_bit = 1;
}
else if( (t > 128) && (t < 255) )
{
PORTB = 0x00;
RB7_bit = 1;
}
}
}
Još jedno pitanje, da li može neko da mi objasni šta znače sve one opcije u Settings u WinPIC800:
-Osc-
LP, XT, HS, ExtClk, INTRC I/O, INTRC CLKOUT, RC IO, RC CLKOUT
I ovo što može da se čekira: WDTE, PWRTE, BOREN, LVP, MCLRE, CPD.
Hvala unapred!