اطلاعیه

Collapse
No announcement yet.

استفاده از 4 تایمر در lpc2138

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

    استفاده از 4 تایمر در lpc2138

    سلام،من میخوام با استفاده از تایمر زمان وصل بودن چهار سوئیچ رو ب صورت جداگانه رویlcd نمایش بدم.از lpc2138 و kailuvison استفاده میکنم.مشکلم اینه ک وقتی دوتا سوئیچ تو برنامه میذارم،برنامم درست کار می کنه اما وقتی سوئییچ ها رو ب 3 و 4 تا افزایش میدم،برنامم درست کار نمیکنه(منظورم توی شبیه سازی با پروتئوسه)ممنون میشم راهنماییم کنید.

    #2
    پاسخ : استفاده از 4 تایمر در lpc2138

    میشه لطفا یک نفر منو راهنمایی کنه؟

    دیدگاه


      #3
      پاسخ : استفاده از 4 تایمر در lpc2138

      حتما باید از lpc2138 استفاده کنید؟
      + فایل پروتوئوستون رو هم بزارید دوستان سریع تر بهتون جواب بدن
      رفقا مهم نیست چطوری بازی می کنید؛ اگه شروع نکنید، قطعا بازنده هستید.

      دیدگاه


        #4
        پاسخ : استفاده از 4 تایمر در lpc2138

        [code=c]#include<lpc21xx.h>
        #include"lcd.h"
        #define T0CTCR (*((volatile unsigned long *) 0xE0004070))
        void main(void)
        {
        int i,j,m,n;
        char s[20];
        PINSEL0=0;
        //PINSEL1=0;
        IODIR0=0xFF;
        lcd_init();
        sprintf(s,"project"
        lcd_print(s);
        PINSEL1|=3<<30; //CAP0.0 selected
        PINSEL1|=2<<27; //CAP0.1 selected
        PINSEL1|=2<<28; //CAP0.2 selected
        PINSEL1|=2<<29; //CAP0.3 selected
        PCONP|=1<<1; //PCTIM0 set T0 1??!
        T0CTCR= 0; // TIMER MODE IS SELECTED
        T0PR=1000; // PCLK IS 1/4 OF CCLK SO THE T0TC CLOCK IS 1/120 OF CCLK0
        T1PR=1000;
        while(1)
        {if(((IOPIN1)&(1<<16))==0)
        {T0TCR=1; //ENABLE TIMER/COUNTER
        i=T0TC;
        sprintf(s,"time1= %d ms ",i);
        lcd_gotoxy(0,0);
        lcd_print(s);

        }
        if(((IOPIN1)&(1<<16))!=0) T0TC=0;
        if(((IOPIN1)&(1<<17))==0)
        {T1TCR=1; //ENABLE TIMER/COUNTER
        j=T1TC;
        sprintf(s,"time2= %d ms ",j);
        lcd_gotoxy(1,0);
        lcd_print(s);

        }
        if(((IOPIN1)&(1<<17))!=0) T1TC=0;//agar ta in khat bashad dorost ejra mishavad
        if(((IOPIN1)&(1<<18))==0)
        {T0TCR=1; //ENABLE TIMER/COUNTER
        m=T0TC;
        sprintf(s,"time3= %d ms ",m);
        lcd_gotoxy(2,0);
        lcd_print(s);

        }
        if(((IOPIN1)&(1<<18))!=0)
        T0TC=0;
        if(((IOPIN1)&(1<<19))==0)
        {T1TCR=1; //ENABLE TIMER/COUNTER
        n=T1TC;
        sprintf(s,"time4= %d ms ",n);
        lcd_gotoxy(3,0);
        lcd_print(s);

        }
        if(((IOPIN1)&(1<<19))!=0) T1TC=0;


        }
        }[/code]
        فعلا باید از 2138 استفاده کنم تا بتونم شبیه سازی کنم با پروتئوس.درنهایت ک درست کار کرد تبدیلش میکنم به 1768 و پروگرام میکنم با هدربوردش.

        دیدگاه

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