رفتن به مطلب

کمک در رابطه با بروژه دانشجویی avr


M.G
 اشتراک گذاری

Recommended Posts

درود دوستان کسی هست که با avr در محیط codevision کار کرده باشه ؟ 

یک برنامه کوچیک ساعت دیجیتال دارم که فقط نیاز دارم کد هاش تحلیل و توضیح داده بشه که برای درس ریز پردازنده دانشگاه ارایه بدم .

اگر کسی هست حتما کمک کنه خیلی واجب هست

لینک به دیدگاه
Share on other sites

۲ ساعت قبل، M.G گفته است:

درود دوستان کسی هست که با avr در محیط codevision کار کرده باشه ؟ 

یک برنامه کوچیک ساعت دیجیتال دارم که فقط نیاز دارم کد هاش تحلیل و توضیح داده بشه که برای درس ریز پردازنده دانشگاه ارایه بدم .

اگر کسی هست حتما کمک کنه خیلی واجب هست

درود 

فایل کدویژن آپلود کنید

لینک به دیدگاه
Share on other sites

  • 2 هفته بعد...

سلام مجدد @ali-0098

فعلا پروژه ساعت منتفی شده و یک پروژه اتصال  LCD  2 * 16 هست .

این لینک فایل     لینک دانلود فایل کد ویژن

اگر بتونید خط به خط توضیح بدید که هر خط چیکار میکنه خیلی عالی هست چون استاد همین رو می خواد 

ویرایش شده توسط M.G
لینک به دیدگاه
Share on other sites

۵ دقیقه قبل، M.G گفته است:

سلام مجدد @ali-0098

فعلا پروژه ساعت منتفی شده و یک پروژه اتصال  LCD  2 * 16 هست .

این لینک فایل     لینک دانلود فایل کد ویژن

اگر بتونید خط به خط توضیح بدید که هر خط چیکار میکنه خیلی عالی هست چون استاد همین رو می خواد 

درود 

فایلی که گذاشتی دسترسی میخواد!

 

لینک به دیدگاه
Share on other sites

۱۳ ساعت قبل، ali-۰۰۹۸ گفته است:

درود 

فایلی که گذاشتی دسترسی میخواد!

 

همینجا آپلود کردم

iranmv.c

لینک به دیدگاه
Share on other sites

۶ ساعت قبل، M.G گفته است:

همینجا آپلود کردم

iranmv.c 3.71 kB · 1 دریافت

/*****************************************************
This program was produced by the
CodeWizardAVR V2.05.0 Professional
Automatic Program Generator
© Copyright 1998-2010 Pavel Haiduc, HP InfoTech s.r.l.
http://www.hpinfotech.com

Project : 
Version : 
Date    : 04/18/2015
Author  : 
Company : 
Comments: 


Chip type               : ATmega16
Program type            : Application
AVR Core Clock frequency: 1.000000 MHz
Memory model            : Small
External RAM size       : 0
Data Stack size         : 256
*****************************************************/

#include <mega16.h>
#include <delay.h>   // اینجا کتابخانه ایجاد تاخیر از داخل نرم افزار فراخوانی شده
// Alphanumeric LCD Module functions
#include <alcd.h>   // اینجا کتابخانه السیدی از داخل نرم افزار فراخوانی  شده

// Declare your global variables here
unsigned char x;
void main(void)
{
// Declare your local variables here

// Input/Output Ports initialization
// Port A initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In 
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T 
PORTA=0x00;   // تمام پینهای پورت آ = برابر با صفر است
DDRA=0x00;   // وضعیت پینهای پورت آ در حالت ورودی قرار گرفته

// Port B initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In 
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T 
PORTB=0x00;  //تمام پینهای پورت بی = برابر با صفر است
DDRB=0x00; //وضعیت پینهای پورت بی در حالت ورودی قرار گرفته

// Port C initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In 
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T 
PORTC=0x00;  // تمام پینهای پورت سی = برابر با صفر است
DDRC=0x00; //  وضعیت پینهای پورت سی در حالت ورودی قرار گرفته

// Port D initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In 
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T 
PORTD=0x00;  // تمام پینهای پورت دی = برابر با صفر است
DDRD=0x00; //وضعیت پینهای پورت دی در حالت ورودی قرار گرفته

// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: Timer 0 Stopped
// Mode: Normal top=0xFF
// OC0 output: Disconnected
TCCR0=0x00;    // تایمر کانتر صفر : خاموش
TCNT0=0x00;
OCR0=0x00;

// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: Timer1 Stopped
// Mode: Normal top=0xFFFF
// OC1A output: Discon.
// OC1B output: Discon.
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer1 Overflow Interrupt: Off
// Input Capture Interrupt: Off
// Compare A Match Interrupt: Off
// Compare B Match Interrupt: Off
TCCR1A=0x00;  // تایمر کانتر یک: خاموش
TCCR1B=0x00;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;

// Timer/Counter 2 initialization
// Clock source: System Clock
// Clock value: Timer2 Stopped
// Mode: Normal top=0xFF
// OC2 output: Disconnected
ASSR=0x00; //  تایمر کانتر دو: خاموش
TCCR2=0x00;
TCNT2=0x00;
OCR2=0x00;

// External Interrupt(s) initialization
// INT0: Off
// INT1: Off
// INT2: Off
MCUCR=0x00; //تمام وقفه ها: خاموش
MCUCSR=0x00;

// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=0x00; 

// USART initialization
// USART disabled
UCSRB=0x00;   // بخش یوآرت خاموش

// Analog Comparator initialization
// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x80;
SFIOR=0x00;  // بخش آنالوگ خاموش

// ADC initialization
// ADC disabled
ADCSRA=0x00;   // ای دی سی خاموش

// SPI initialization
// SPI disabled
SPCR=0x00;    // اس پی آی : خاموش

// TWI initialization
// TWI disabled
TWCR=0x00; // آی تو سی : خاموش

// Alphanumeric LCD initialization
// Connections specified in the
// Project|Configure|C Compiler|Libraries|Alphanumeric LCD menu:
// RS - PORTA Bit 0    // پین0 از پورت آ به پین ریست السیدی وصل شده
// RD - PORTA Bit 1   // پین1 از پورت آ به پین دستور خواندن و نوشتن السیدی وصل شده
// EN - PORTA Bit 2   // پین2  از پورت آ به پایه فعال شاز السیدی وصل شده
// D4 - PORTA Bit 4   // پین 4 از پورت آ به پایه شماره 4 دیتا السیدی وصل شده
// D5 - PORTA Bit 5  // پین 5 از پورت آ به پایه شماره 5 دیتا السیدی وصل شده
// D6 - PORTA Bit 6  // پین 6 از پورت آ به پایه شماره 6 دیتا السیدی وصل شده
// D7 - PORTA Bit 7  // پین 7 از پورت آ به پایه شماره 7 دیتا السیدی وصل شده
// Characters/line: 16 // تعداد کارکتر در هر لاین 16 عدد
lcd_init(16);  // مقدار دهی اولیه السیدی

while (1) // حلقه ناتمام
      {
       for(x=0;x<13;x++) // حلقه با مقدار مشخص : ایکس با مقدار صفر - تا زمانی که مقدار ایکس کمتر از 13 باشد، درون حلقه میماند- یک واحد به مقدار ایکس در هر تکرار اضافه کن.
       {
                         
        lcd_clear(); // تابع پاک کردن السیدی
        
                         
                         
                         lcd_gotoxy(x,0); // رفتن به مخصات مورد نظر السیدی 
                      //lcd_gotoxy(ستون,سطر);مقدار ایکس در هر تکرار حلقه افزوده میشود
                       // پس در هر تکرار حلقه ، یک کارکتر در سطر به جله حرکت میکند  
                        ولی چون ستون مقدار صفر دارد ، در هر تکرار حلقه ثابت است. 
                         
                         lcd_putsf("IRAN"); // مقدار رشته از نوع ثابت "ایران "را بر روی مختصاتی که در بالا گفته شد ، قرا بده
        delay_ms(200); // 200 میلی ثانیه صبر کن
        }
        
        for(x=11;x>0;x--)  شروح یک حلقه محدود : مقدار ایکس برابر است با 11 تا زمانی که ایکس بزرگتر از صفر باشد درون حلقه میماند- در هر تکرار حلقه یک واحد از ایکس کم کن.
       {
        lcd_clear(); // السیدی کامل پاک کن
        lcd_gotoxy(x,0);// برو به مختصات سطر به مقدار ایکس- ستون به مقدار صفر
        lcd_putsf("IRAN"); // رسته ایران را در السیذی قرا بده
        delay_ms(200); // 200 میلی ثانیه صبر کن
        }
     /// برگرد به ابتدای حلقه اصلی
      }
}

 

لینک به دیدگاه
Share on other sites

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .
توجه: مطلب ارسالی شما پس از تایید مدیریت برای همه قابل رویت خواهد بود.

مهمان
ارسال پست در این تاپیک...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

 اشتراک گذاری

×
  • اضافه کردن...