Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <p30fxxxx.h>
- #include "tajmeri.h"
- _FOSC(CSW_FSCM_OFF & XT_PLL4);
- _FWDT(WDT_OFF);
- //---------------------------------
- void portB_LED(unsigned char );
- unsigned int brojac_ms,stoperica,ms,sekund;
- unsigned char temp=0x0000;
- unsigned char pat=0x0001;
- unsigned char k=0;
- /*******************************************************************
- //funkcija za kasnjenje u milisekundama
- *********************************************************************/
- void Delay_ms (int vreme)//funkcija za kasnjenje u milisekundama
- {
- stoperica = 0;
- while(stoperica < vreme);
- }
- void __attribute__ ((__interrupt__)) _T2Interrupt(void) // svakih 1ms
- {
- TMR2 =0;
- ms=1;//fleg za milisekundu ili prekid;potrebno ga je samo resetovati u funkciji
- brojac_ms++;//brojac milisekundi
- stoperica++;//brojac za funkciju Delay_ms
- if (brojac_ms==1000)//sek
- {
- brojac_ms=0;
- sekund=1;//fleg za sekundu
- }
- IFS0bits.T2IF = 0;
- }
- void main (void)
- {
- ADPCFG=0xFFFF;
- TRISB=0x0000;
- Init_T2();
- // Init_T1();
- // Init();
- while(1)
- {
- if(k<8)
- portB_LED(1);
- else
- portB_LED(0);
- //LATDbits.LATD0=~LATDbits.LATD0;
- }//while(1)
- }//main
- void portB_LED(unsigned char i)
- {
- if(i==1){
- temp=temp | pat;
- LATB=temp;
- Delay_ms(200);
- pat=pat<<1;
- k++;
- if(temp==0x00ff){
- pat=0x0001;
- }
- }
- else{
- temp=temp>>1;
- LATB=temp;
- Delay_ms(200);
- if(temp==0x0000){
- k=0;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment