اطلاعیه

Collapse
No announcement yet.

برنامه با keil for sam7

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    برنامه با keil for sam7

    چند تا برنامه براتون میزارم که timer (capch) و وقفه است بدون هدر نوشته شده شاید به دردتون خورد..
    من آن اواره ي بشكسته بالم ز هجرانت بتا رو بر زبانم
    منم آن مرغ سگردان تنها پريشان گشته شد يكباره حالم
    يا مهدي

    #2
    پاسخ : برنامه با keil for sam7

    [img][/img]
    من آن اواره ي بشكسته بالم ز هجرانت بتا رو بر زبانم
    منم آن مرغ سگردان تنها پريشان گشته شد يكباره حالم
    يا مهدي

    دیدگاه


      #3
      پاسخ : برنامه با keil for sam7

      #include <at91sam7s256.h>
      #include "lcd.h"
      int status , x , i;
      __irq void vaghfe () {
      status=AT91C_BASE_TC0->TC_SR;
      if ((status&0x1)!=0){
      x++;
      }
      AT91C_BASE_AIC->AIC_EOICR=0;
      }

      int main (){
      AT91C_BASE_PMC->PMC_PCER=0X1<<AT91C_ID_TC0;

      AT91C_BASE_TC0->TC_CMR=AT91C_TC_WAVE|AT91C_TC_CLKS_TIMER_DIV5_ CLOCK;
      AT91C_BASE_TC0->TC_IER=0X1;
      AT91C_BASE_TC0->TC_CCR=AT91C_TC_CLKEN| AT91C_TC_SWTRG;

      AT91C_BASE_AIC->AIC_SMR[AT91C_ID_TC0]=0X1<<5;
      AT91C_BASE_AIC->AIC_SVR[AT91C_ID_TC0]=(int)vaghfe;
      AT91C_BASE_AIC->AIC_IECR=0X1<<AT91C_ID_TC0;
      LCD_Init();
      while (1){LCD_Clear();
      LCD_WriteNumber(x,0 ,0) ;

      for (i=0;i<0xfffff;i++);

      }
      من آن اواره ي بشكسته بالم ز هجرانت بتا رو بر زبانم
      منم آن مرغ سگردان تنها پريشان گشته شد يكباره حالم
      يا مهدي

      دیدگاه


        #4
        پاسخ : برنامه با keil for sam7

        #include <at91sam7s256.h>
        #include "lcd.h"
        int rb,ra,t_puls,a;
        int main(){
        AT91C_BASE_PMC->PMC_PCER=0X1<<AT91C_ID_TC0;
        AT91C_BASE_TC0->TC_CMR= AT91C_TC_CLKS_TIMER_DIV5_CLOCK | AT91C_TC_WAVESEL_UP_AUTO |
        AT91C_TC_LDRA_RISING | AT91C_TC_LDRB_FALLING ;
        AT91C_BASE_TC0->TC_CCR=AT91C_TC_CLKEN | AT91C_TC_SWTRG ;
        AT91C_BASE_PIOA->PIO_PDR=AT91C_PIO_PA0;
        AT91C_BASE_PIOA->PIO_BSR=AT91C_PA0_TIOA0;
        LCD_Init();
        while (1){
        while((AT91C_BASE_TC0->TC_SR&(0x1<<6) )==0 ); rb=AT91C_BASE_TC0->TC_RB ; ra=AT91C_BASE_TC0->TC_RA ;
        t_puls=(rb-ra)*21.33;
        LCD_WriteNumber(t_puls,0 , 0);
        for(a=0;a<0xffff;a++);
        LCD_Clear();


        }
        }
        من آن اواره ي بشكسته بالم ز هجرانت بتا رو بر زبانم
        منم آن مرغ سگردان تنها پريشان گشته شد يكباره حالم
        يا مهدي

        دیدگاه


          #5
          پاسخ : برنامه با keil for sam7

          #include <at91sam7s256.h>
          int main (){
          AT91C_BASE_PMC->PMC_PCER=0X1<<AT91C_ID_TC0;
          AT91C_BASE_TC0->TC_CMR=AT91C_TC_WAVE | AT91C_TC_CLKS_TIMER_DIV5_CLOCK |
          AT91C_TC_WAVESEL_UP_AUTO |AT91C_TC_ACPA_CLEAR | AT91C_TC_ACPC_SET ;

          AT91C_BASE_TC0->TC_RA=14062;
          AT91C_BASE_TC0->TC_RC=46875;
          AT91C_BASE_TC0->TC_CCR=AT91C_TC_CLKEN| AT91C_TC_SWTRG;
          AT91C_BASE_PIOA->PIO_PDR=AT91C_PIO_PA0;
          AT91C_BASE_PIOA->PIO_BSR=AT91C_PA0_TIOA0;

          while (1){}

          }
          من آن اواره ي بشكسته بالم ز هجرانت بتا رو بر زبانم
          منم آن مرغ سگردان تنها پريشان گشته شد يكباره حالم
          يا مهدي

          دیدگاه


            #6
            وقفه

            #include <at91sam7s256.h>
            #include "LCD.h"
            int x,i;
            __irq
            void vaghfe(){
            x++;
            AT91C_BASE_AIC->AIC_EOICR=0;
            }
            int main(){
            AT91C_BASE_AIC->AIC_SMR[AT91C_ID_IRQ0]=0X1<<5;
            AT91C_BASE_AIC->AIC_SVR[AT91C_ID_IRQ0]= (int)vaghfe;
            AT91C_BASE_AIC->AIC_IECR=0X1<< AT91C_ID_IRQ0;
            AT91C_BASE_PMC->PMC_PCER= 0X1<<AT91C_ID_IRQ0;
            AT91C_BASE_PIOA->PIO_PDR=0X1<<20;
            AT91C_BASE_PIOA->PIO_BSR=0X1<<20;
            LCD_Init();
            while (1) {
            LCD_WriteNumber( x,0 , 0);
            for (i=0;i<0xfffff;i++);
            }
            }
            من آن اواره ي بشكسته بالم ز هجرانت بتا رو بر زبانم
            منم آن مرغ سگردان تنها پريشان گشته شد يكباره حالم
            يا مهدي

            دیدگاه


              #7
              adc

              #include <at91sam7s256.h>
              #include "LCD.h"
              int x,i;
              __irq
              void vaghfe(){
              x++;
              AT91C_BASE_AIC->AIC_EOICR=0;
              }
              int main(){
              AT91C_BASE_AIC->AIC_SMR[AT91C_ID_IRQ0]=0X1<<5;
              AT91C_BASE_AIC->AIC_SVR[AT91C_ID_IRQ0]= (int)vaghfe;
              AT91C_BASE_AIC->AIC_IECR=0X1<< AT91C_ID_IRQ0;
              AT91C_BASE_PMC->PMC_PCER= 0X1<<AT91C_ID_IRQ0;
              AT91C_BASE_PIOA->PIO_PDR=0X1<<20;
              AT91C_BASE_PIOA->PIO_BSR=0X1<<20;
              LCD_Init();
              while (1) {
              LCD_WriteNumber( x,0 , 0);
              for (i=0;i<0xfffff;i++);
              }
              }
              من آن اواره ي بشكسته بالم ز هجرانت بتا رو بر زبانم
              منم آن مرغ سگردان تنها پريشان گشته شد يكباره حالم
              يا مهدي

              دیدگاه


                #8
                adc

                #include <at91sam7s256.h>
                #include "lcd.h"
                #include "adc.h"

                int g,f,y,a,secend,i,min=1;
                char lcd[8];
                char flag=0;
                void main (){
                LCD_Init();
                adc_init();
                AT91C_BASE_RTTC->RTTC_RTMR=0X8000|0X1<<18;
                AT91C_BASE_PIOA->PIO_PER=3<<4;
                AT91C_BASE_PIOA->PIO_ODR=3<<4;
                LCD_WriteChar('*',0, 0);
                LCD_WriteString("clock" ,0 , 1) ;
                LCD_WriteString("counter" ,0 , 9) ;
                LCD_WriteString("Vmeter" ,1 , 1) ;
                LCD_WriteString("adc" ,1 , 9) ;
                while(1){
                if (((AT91C_BASE_PIOA->PIO_PDSR&(0X1<<4))==0)&&(fla g==0)){
                flag=1;
                i++; }
                if (i==5)i=1;
                if ((AT91C_BASE_PIOA->PIO_PDSR&(0X1<<4))!=0)flag=0;
                switch (i)
                {
                case 1:
                LCD_WriteString(" ",1, 8); LCD_WriteChar('*',0, 0);


                break;

                case 2:
                LCD_WriteString(" ",0, 0); LCD_WriteChar('*',0, 8);


                break;

                case 3:
                LCD_WriteString(" ",0, 8); LCD_WriteChar('*',1, 0);



                break;

                case 4:
                LCD_WriteString(" ",1, 0); LCD_WriteChar('*',1, 8);


                break;
                }

                if((AT91C_BASE_PIOA->PIO_PDSR&(0X1<<5))==0){
                LCD_Clear();
                switch (i)
                {
                case 1:
                while(1){ LCD_WriteString("clock" ,0 , 9) ;
                x=AT91C_BASE_RTTC->RTTC_RTVR ;
                LCD_WriteNumber(x,1 ,5);
                if (secend==59){
                min++;
                if(min==59){
                hours++;
                if(hours==24){
                x=0,hours=0,min=0;
                }}}
                LCD_WriteString("hours : min : secend " ,1 , 1);
                if((AT91C_BASE_PIOA->PIO_PDSR&(0X1<<5))==0){
                break;}
                }

                break;
                case 2:
                while(1){ LCD_WriteString("conter" ,0 , 9) ;
                counter++;
                LCD_WriteNumber(counter,1 ,5);
                if((AT91C_BASE_PIOA->PIO_PDSR&(0X1<<5))==0){
                break;}

                break;

                }
                case 3:
                while(1){ LCD_WriteString("vmeter" ,0 , 9) ;




                }
                case 4:
                while(1){ LCD_WriteString("counter" ,0 , 9) ;





                }


                } }





                //x=adc_read(6);






                //sprintf(lcd,"adc=%d",a);

                //LCD_WriteString(lcd ,0 , 0) ;
                // for (i=0;i<0xfffff;i++);
                }


                }
                من آن اواره ي بشكسته بالم ز هجرانت بتا رو بر زبانم
                منم آن مرغ سگردان تنها پريشان گشته شد يكباره حالم
                يا مهدي

                دیدگاه

                لطفا صبر کنید...
                X