Kezdés.
Sok éve tanulgatom a mikrokontroller működését.
Kezdtem az EPROM égetéssel, de mint sokan tudják,
igen körülményes a tartalom törlése.
Én egy higanygőzlámpából csináltam törlöt.
Később jött a PIC, majd az AVR.
Próbálkoztam mindkettővel, de maradtam a PIC-nél.
***********************************
Programozás.
Itt voltak gondjaim, hogy melyik modszert válasszam.
Akiktől tanácsot kértem, mindenki mást javasolt.
Elkeztem az Assemblyt tanulgatni, majd a C-nyelvet.
Úgy döntöttem, hogy maradok a C-nél.
Nagyon sok segítséget kaptam, kapok a
hobbielektronikai.hu oldalon.
Ezt itt is köszönöm!
*********************************
Ezek mikroC PRO for PIC v6.0.0-val készültek.
Megpróbálok ide felrakni pár forráskódot.
Ezen a linken lehetett megnézni, tanúlni:
https://youtu.be/K0fcVWey-dU?list=PL9ApYZgC__8Bj9gR-hnkPZOGASqEeLH9M
Sajnos a ez már nem érhető,
pedig nagyon jó magyarázat volt hozzá.
//02-óra minden led villog
void main(){
TRISD = 0; //Minden D port kimenet
PORTD = 0b10111101;//1-es és a 6-as port kivételével magas szintre állítva
while(1)
{
PORTD = 0b11111111;
Delay_ms (1000);
PORTD = 0;
Delay_ms (1000);
}
}
*********************************************
Futófény01.
void main(){
TRISD = 0; //Minden D kimenet magas szinten.
PORTD = 0b10111101;//1-es és a 6-as port kivételével magas szintre állítva
while(1)
{
PORTD = 0b00000001;
Delay_ms (1000);
PORTD = 0b00000010;
Delay_ms (1000);
PORTD = 0b00000100;
Delay_ms (1000);
PORTD = 0b00001000;
Delay_ms (1000);
PORTD = 0b00010000;
Delay_ms (1000);
PORTD = 0b00100000;
Delay_ms (1000);
PORTD = 0b01000000;
Delay_ms (1000);
PORTD = 0b10000000;
Delay_ms (1000);
PORTD = 0b01000000;
Delay_ms (1000);
PORTD = 0b00100000;
Delay_ms (1000);
PORTD = 0b00010000;
Delay_ms (1000);
PORTD = 0b00001000;
Delay_ms (1000);
PORTD = 0b00000100;
Delay_ms (1000);
PORTD = 0b00000010;
Delay_ms (1000);
}
}
*****************************************
//06-óra Kiegészítés_ANSEL-el és a for használata.
char i;
void main (){
TRISD = 0;
TRISC = 0b11111101;
TRISB = 0b11111111;
//ANSEL=0; //digitális jel észlelés bekapcsolva.
//ANSELH=0; //digitális jel észlelés bekapcsolva.
PORTD = 0;
PORTC.F1 = 1;
while (1)
if( PORTB.F0 != 1 )
{
PORTD = 1;
Delay_ms (250);
for(i=0;i<7;i=i+1) // (b-a)/c
{
PORTD = PORTD << 1;
PORTD++; //PORTD=PORTD +1;
Delay_ms(250);
}
for(i=0;i<7;i=i+1) // (b-a)/c
{
PORTD = PORTD >> 1;
Delay_ms(250);
}
}
}