ورود به حساب ثبت نام جدید فراموشی کلمه عبور
برای ورود به حساب کاربری خود، نام کاربری و کلمه عبورتان را در زیر وارد کرده و روی «ورود به سایت» کلیک کنید.





اگر فرم ورود برای شما نمایش داده نمیشود، اینجا را کلیک کنید.









اگر فرم ثبت نام برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.









اگر فرم بازیابی کلمه عبور برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.





کاربران برچسب زده شده

نمایش نتایج: از 1 به 5 از 5
  1. #1
    2014/08/05
    3
    0

    تایمر و وقفه

    با سلام خدمت دوستان
    من با میکرو کنترلر ARM سری AT91SAM7X256 و کامپایلر KEIL کار میکنم، در یه قسمتی از برنامم نیاز به تایمر و وقفه دارم، ولی اصلا ازش سردرنمیارم، خواهشا اگه کسی نمونه برنامه ساده ای از تایمر داره قرار بده
  2. #2
    2012/07/09
    رضوانشهر
    25
    17

    پاسخ : تایمر و وقفه

    سلام
    برنامه وقفه و تایمر گذاشتم
    فقط ببین برنامه تایمر رو جواب می گیری یا نه ، اگه جوای گرفتی خبر بده،ممنون

    وقفه : با فشار کلید وقفه فعال شده و LED را روشن کند
    کد:
    #include <AT91SAM7X256.H>
    #include <delay.h>
    
    void vaghfe(void)__irq
    {
    *AT91C_PIOB_SODR=1<<19;		
    delay_ms(2000);
    *AT91C_AIC_EOICR=0X0;	
    }
    
    
    
    int main ()
    {
    *AT91C_PIOB_PER=1<<19;
    *AT91C_PIOA_PER=1<<30;
    *AT91C_PIOB_OER=1<<19;
    *AT91C_PIOA_ODR=1<<30;
    *AT91C_PIOA_PPUER=1<<30;
    *AT91C_PMC_PCER=(1<<2|1<<30);
    AT91C_AIC_SMR[30]=0X01;
    AT91C_AIC_SVR[30]=(unsigned int) vaghfe;	
    *AT91C_AIC_IECR=1<<30;	
    	
    while(1)
    {	
    *AT91C_PIOB_CODR=1<<19;	
    }
    }

    تایمر: یک سیگنال با فرکانس 1 هرتز تولید کنید

    کد:
    #include "AT91SAM7X256.H"
    
    int main()
    {
     *AT91C_PIOB_PDR=0X00800000;
    	*AT91C_PIOB_BSR=0X00800000;
    
     *AT91C_PMC_PCER=0X00001000;
     *AT91C_TC0_CCR=0X00000005;
     *AT91C_TC0_CMR=0X000CC004;
     *AT91C_TC0_RC=23400;
     	while(1);
    }
    هرچيزى‏زكاتى دارد و زكات دانش، آموختن آن است به اهلش.
    امام صادق (ع)
  3. #3
    2013/12/22
    تهران
    1,669
    46

    پاسخ : تايمر و وقفه

    سلام
    فک کنم ايشون منظورشون وقفه ي تايمر بوده .
    =========
    آقاي s.tj
    لطفا
    اينجارو بخونيد

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    1 در دنیا 100 در آخرت (درس و مشق فعالیتمو تو انجمن کم کرده)
    من آنچه شرط بلاغست با تو میآ*گویم. تو خواه از سخنم پند گیر و خواه ملال. سعدی
    !Electronic On! Programming On
    [size=14pt]

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    [/size]

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

  4. #4
    2014/08/05
    3
    0

    پاسخ : تایمر و وقفه

    سلام
    ببخشید خیلی دیر شد، ولی من در کدم باید از وقفه ی داخلی و نرم افزاری استفاده کنم و اینکه تایمر به گونه ای باشد که در آن از کانتر استفاده شده باشه، با TFTLCD کار می کنم، به فرض باید وقتی وارد صفحه ای شد در مدت زمانی که واسش تعریف می کنم اگه صفحه لمس نشد این دستور را اجرا کند، اینکه کانتر به چه شکل تعریف کنم و ارتباط مدت زمان و مقدار کانتر را چیجوری حساب کنم اصلا سردر نمیارم، اگه فایل برنامه کامپایل شده با توضیح اینکه هر خط از برنامه چه می کنه تا بتونم برناممو بنویسم دارید ممنون میشم قرار بدید
  5. #5
    2014/05/10
    42
    2

    پاسخ : تايمر و وقفه

    salam, man ye barnameye sade neveshtam va kar karde( albate ba simulator e keil emtehanesh kardam faghat)

    #include <AT91SAM7X256.h>
    #include <stdio.h>
    #include <stdlib.h>
    #include "delay.h"

    //global variables
    unsigned int T_Counter;
    unsigned int TimerFlag;



    void TC_irq_handler(void) __irq;


    int main (void)
    {
    unsigned int dummy ;


    *AT91C_PMC_PCER = (1<<AT91C_ID_PIOA );
    *AT91C_PMC_PCER = (1<<AT91C_ID_TC0 );
    *AT91C_PIOA_PER = (AT91C_PIO_PA1)|(AT91C_PIO_PA2); //LED 1
    *AT91C_PIOA_OER = (AT91C_PIO_PA1)|(AT91C_PIO_PA2); //LED 2

    //*AT91C_PIOA_SODR=(AT91C_PIO_PA1);
    // delay_ms(500);


    AT91C_BASE_TC0->TC_CCR = AT91C_TC_CLKDIS; // Disable TC clock
    AT91C_BASE_TC0->TC_IDR = 0xFFFFFFFF; // Disable interrupts
    dummy = AT91C_BASE_TC0->TC_SR; // Clear status register
    AT91C_BASE_TC0->TC_CMR = AT91C_TC_CLKS_TIMER_DIV5_CLOCK | AT91C_TC_CPCTRG; // Set mode

    AT91C_BASE_TC0->TC_CCR = AT91C_TC_CLKEN ; // Enable the Clock counter
    AT91C_BASE_TC0->TC_IER = AT91C_TC_CPCS;

    AT91C_BASE_AIC->AIC_IDCR = 0x1 << AT91C_ID_TC0;
    AT91C_BASE_AIC->AIC_SVR[AT91C_ID_TC0] = (unsigned int) TC_irq_handler;
    AT91C_BASE_AIC->AIC_SMR[AT91C_ID_TC0] = AT91C_AIC_SRCTYPE_INT_HIGH_LEVEL | 4 ;
    AT91C_BASE_AIC->AIC_ICCR = 0x1 << AT91C_ID_TC0;
    AT91C_BASE_AIC->AIC_IECR = 0x1 << AT91C_ID_TC0;

    AT91C_BASE_TC0->TC_RC = 56179;
    AT91C_BASE_TC0->TC_CCR = AT91C_TC_SWTRG;



    while(1)
    {
    if(TimerFlag==1)
    {
    *AT91C_PIOA_SODR=(AT91C_PIO_PA2); //timer int LED notification
    delay_ms(100);
    *AT91C_PIOA_CODR=(AT91C_PIO_PA2);
    TimerFlag = 0;
    }
    }
    }


    void TC_irq_handler(void) __irq{
    volatile unsigned int dummy;

    dummy = AT91C_BASE_TC0->TC_SR;
    dummy = dummy;

    T_Counter++;
    TimerFlag = 1;


    dummy = AT91C_BASE_TC0->TC_CV;
    *AT91C_AIC_EOICR = 0;

    AT91C_BASE_AIC->AIC_EOICR = AT91C_BASE_TC0->TC_SR; // Interrupt Ack
    AT91C_BASE_AIC->AIC_ICCR = (1 << AT91C_ID_TC0); // Interrupt Ack

    AT91C_BASE_TC0->TC_CCR |= AT91C_TC_CLKEN | AT91C_TC_SWTRG;

    AT91C_BASE_AIC->AIC_EOICR = AT91C_BASE_AIC->AIC_EOICR; //interrupt acknowledge
    }
نمایش نتایج: از 1 به 5 از 5

موضوعات مشابه

  1. تداخل وقفه سریال با وقفه تایمر در بیسکام
    توسط حامد رحیمی در انجمن میکروکنترلرهای AVR
    پاسخ: 11
    آخرين نوشته: 2015/03/25, 19:41
  2. عدم وقوع وقفه سرریزی دو تایمر
    توسط کنجکاو! در انجمن میکروکنترلرهای AVR
    پاسخ: 6
    آخرين نوشته: 2013/02/23, 23:17
  3. وقفه تایمر 0 در LPC2368
    توسط stm32 در انجمن پروسسورهای ARM
    پاسخ: 2
    آخرين نوشته: 2012/01/18, 08:42
  4. راهاندازی وقفه تایمر 0
    توسط mohsen.hex در انجمن ATMEL
    پاسخ: 6
    آخرين نوشته: 2011/09/14, 11:08
  5. وقفه تایمر در کدویژن
    توسط SILVER MAN در انجمن میکروکنترلرهای AVR
    پاسخ: 16
    آخرين نوشته: 2011/05/26, 19:56

کلمات کلیدی این موضوع

علاقه مندي ها (Bookmarks)

علاقه مندي ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •