میشه در مورد ساخت منو های تو در تو در کدویژن توضیح بدبد و مثال بزنید
Printable View
میشه در مورد ساخت منو های تو در تو در کدویژن توضیح بدبد و مثال بزنید
چه طرز حرف زدنه .واقعا بعضی ها ادم رو به تعجب وا میدارن که اینا واقعا 12 13 سال درس خوندن ودانشجو هستن.از همون اول که استاد رو با:شیطان: نشون داد مشخص بود ادم با ادبی نیست
خیلی خیلی بی ادبانه حرف زدید.
من از شما دوست عزیز معذرت خواهی میکنم عوض این طرف
وقتی مفت مفت مدرک بدن همینه وضعمون دیگه
سلام من درباره Avr ,Codvision آشنایی مقدماتی دارم الان به یه پروژه معمولی به همراه Pcb اون نیاز دارم. کمکم کنید
سلامُ علیکم
یه سوال داشتم : میخواستم ببینم آیا میشود با Java برای AVR برنامه نوشت یا نه فقط C جواب میدهد ؟
خدانگهدارتان باشد
زبان java قابلیت تبدیل شدن به کد ماشین رو نداره و به همین دلیل هم نمیشه ازش تو برنامه نویسی میکروکنترلر ها استفاده کرد . به غیر از C ، بیسیک و پاسکال هم تو برنامه نویسی میکروکنترلرها استفاده میشن.
سلام به همگی
دوستان من به پایه صفر پورت B یک کلید وصل کردم و میخوام که هر موقع کلید را فشار دادم LED روشن بشه و با رها کردن کلید خاموش بشه باید از تابع خاصی برای این برنامه استفاده کنم ؟؟
ضمنا برنامه را در Codevision باید بنویسم
لطفا منو راهنمایی کنید
کافیه مقدار رجیستر PINB رو بخونید ، با توجه وضعیتش (مقدار رجیستر) میتونید بفهمید کلید فشار داده شده یا نه . در ضمن قبل از استفاده باید پایه مورد نظر رو به صورت ورودی و با پول آپ داخلی تنظیم کنید.
اقا اینجا کسی هست ما یه پروژه avr بخوایم واسمون انجام بده ؟
سبك فروم ، معمولا اينجوريه كه يه سري مشكلاتشون رو مطرح مي كنن و كسايي كه بلد هستن ، جواب مي دن.
شما هم شروع كن به كار كردن روي پروژه و هر جا كه مشكل داشتي بپرس تا كسايي كه مي تونن كمك كنن .
موفق باشيد.
با سلام خدمت دوستان عزیز
من می خوام یه برنامه با codevision بنویسم که یه متنی را روی LED Matrix به صورت رواننمایش بده
با میکرو atmega16
به صورت ثابت راحته ولی نمیدونم چجوری روانش کنم
خیلی هم تو زمینه AVR مبتدی هستم ولی باید این مشکلو حل کنم
خواهش می کنم کمکم کنید
سلام
من یک سری کد دارم نمیدونم معنیش چیه لطفا بهم بگید:
ACSR=0XC0;
ADCSRA=0X87;
lcd_init(16);
ADCSRA=0X40;
Return ADCW;
اون دو خط یعنی چی و چرا عدد 16 پاس شده؟
ACSR و ADCSRA و ADCW رجیستر های میکرو (بخش ADC و مقایسه کننده آنالوگ هستند) . اینکه دقیقا چکاری میکنند رو باید از روی کل برنامه و اطلاعات داخل دیتا شیت میکرو خودتون ببینید .
lcd_init هم احتمالا مربوط به راه اندازی اولیه lcd کاراکتری هست و داره مشخص میکنه که lcd چند خطی هست(16 خطی) . بازم برای جزییات باید خودتون کد کامل و دیتا شیت میکرو (بخش تعریف رجیستر های مربوطه) رو ببینید.
تا حالا کسی اینحا با aubtm 20 کار کرده؟ با میکرو داده بفرسته با لپ تاپ دریافت کنه؟ موقع وصل کردن به میکرو txd ماژول و به txd میکرو وصل می کنیم و rxd ماژول و به زمین؟ اتصال بقیه ی پایه های ماژول به چه صورته؟ ممنون میشم کسی راهنمایی کنه؟
سلام دوستان
این برنامه منه
http://uploadkon.ir/uploads/27678403...f27f56b663.zip
وقتی به ال سی دی میزنم یه چیزای در هم نشون میده ولی اصلا معلوم نیست چیه http://www.eca.ir/forum2/Smileys/php...n_confused.gif
یه چیزی من این برنامه رو از یکی از دوستان گرفتم .فایل فونت رو نداده بود خودم یه 8*8 از جایه دیگه گذاشتم تو فولدر ,این کار میتونه باعث مشکل شه؟
میخواستم ازتون خواهش کنم یه نگاهی به برنامه بندازید
برنامه gps هستش http://www.eca.ir/forum2/Smileys/phpbb/f.gif http://www.eca.ir/forum2/Smileys/phpbb/f.gif http://www.eca.ir/forum2/Smileys/phpbb/f.gif
خیلی خیلی ممنون
با سلام به اساتید گرامی خودم. چند وقتیه به دنبال چگونگی ارتباط میکرو AVR به جی اس ام مودم ویوکام هستم.این مودم پورت کام هم داره.اگر کسی از نظر چگونگی این ارتباط و توضیح ویا عکسی که بتوان پایه های میکرو را به ما نشان بده و منو ارشاد کنه ممنون میشم. باز هم از همه تشکر میکنم.
سلام.من دارم يك ربات مين ياب درست ميكنم،كه از سنسور SRF05 براي اون استفاده كردم.حالا براي برنامه نويسي اين سنسور گير كردم!در ضمن ميخوام برنامه به زبان سي باشه!كسي ميتونه توبرنامه نويسيش بهم كمك كنه؟اگه نمونه كد هم داريد برام خواهشن بفرستيد.فقط دوستان من خيلي خيلي عجله دارم!!خواهش ميكنم يكي زود جوابمو بده!!ممنون.
سلام
من تازه کار با ای وی ار رو شروع کردم
به ما یه پروژه دادن که خودم هرکاری کردم نتونستم راش بندازم همه ی کاراشو بلدم فقط تو راه اندازی 7seg-mpx2-ca مشکل دارم
تو نصبش تو پروتئوس مشکل ندارم
اگه می شه کد های کد ویژنشو بگید مشکلمم اینه که نمی تونیم یه عدد دو رقمی توش نشون بدم مثلا 14
مرسی
باسلام ، این تالار واقعا مهجور مانده وبه همین دلیل کسی هم دیگر سوالی نمی پرسد من جمله بنده که دیر با آن آشنا شدم . متاسفانه کاربر محترم farzadsw که جور بسیاری از مشکلات مطرح شده را کشیده اند هم مشغول پروژه ها و وبلاگ خودشان هستند .
آقای فرشاد خان برای این جور مطالب با یک جستجو در وب ، موارد زیادی یافت میشوند که نیازمند تغییرات اندک هستند . منجمله کدهای زیر که برای کدویژن تغییراتی داده شده است .
#define SEVEN_SEGMENT_SHIFT_DDR DDRB
#define SEVEN_SEGMENT_SHIFT_PORT PORTB
#define SEVEN_SEGMENT_PORT PORTD
#define SEVEN_SEGMENT_DDR DDRD
#define SEVEN_SEGMENT_DIGITS 2 // تعداد رقم
volatile unsigned char digits[SEVEN_SEGMENT_DIGITS];
void SevenSegment(unsigned char n)
{
/*
This function writes a digits given by n to the display
*/
if(n<10)
{
switch (n)
{
case 0:
SEVEN_SEGMENT_PORT=0b00000011;
break;
case 1:
SEVEN_SEGMENT_PORT=0b10011111;
break;
case 2:
SEVEN_SEGMENT_PORT=0b00100101;
break;
case 3:
SEVEN_SEGMENT_PORT=0b00001101;
break;
case 4:
SEVEN_SEGMENT_PORT=0b10011001;
break;
case 5:
SEVEN_SEGMENT_PORT=0b01001001;
break;
case 6:
SEVEN_SEGMENT_PORT=0b01000001;
break;
case 7:
SEVEN_SEGMENT_PORT=0b00011111;
break;
case 8:
SEVEN_SEGMENT_PORT=0b00000001;
break;
case 9:
SEVEN_SEGMENT_PORT=0b00001001;
break;
}
}
else
{
//This symbol on display tells that n was greater than 9
//so display can't handle it
SEVEN_SEGMENT_PORT=0b11111101;
}
}
void Print(unsigned int num)
{
/*
This function breaks apart a given integer into separete digits
and writes them to the display array i.e. digits[]
*/
unsigned char i=0;
unsigned char j;
unsigned int max_num=1;
for (j=0;j<SEVEN_SEGMENT_DIGITS;j++)
max_num=max_num*10;
if(num>(max_num-1)) return;
while(num)
{
digits[i]=num%10;
i++;
num=num/10;
}
for(j=i;j<SEVEN_SEGMENT_DIGITS;j++) digits[j]=0;
}
interrupt [TIM0_OVF] void timer0_ovf_isr(void)
{
static unsigned char i=0;
//TCNT0=0xD9;
if (i<=SEVEN_SEGMENT_DIGITS) i=0;
SEVEN_SEGMENT_SHIFT_PORT=(1<<i);
i++;
SevenSegment(digits[i]);
}
در هرجای برنامه که خواستید مقدار سون سگمنتها را تغییر دهید از تابع print استفاده کنید:
print(anyVariable);
در ایجا ازتایمر0 برای ریفرش کردن سگمنتها استفاده شده است . شما برحسب نیاز خود آنرا تغییر دهید.
با تغییر در خطهای اول تا پنجم پورت هارا مطابق پروژه خود تنظیم کنید ودر تابع ()main مقادیر اولیه به را به آنها بدهید
SEVEN_SEGMENT_SHIFT_DDR=(1<<SEVEN_SEGMENT_DIGITS); // =~(1<<SEVEN_SEGMENT_DIGITS); اگر درايور سگمنتها اينورتر است
SEVEN_SEGMENT_SHIFT_PORT=0x00;
SEVEN_SEGMENT_PORT=0xFF;
SEVEN_SEGMENT_DDR=0xFF;
با سلام من یه برنامه فلاشر 8 کاناله رقص نور دارم به زبان سی هست اگه اشتباه نکنمکه افکتهای متععددی رو اجرا میکنه میخاستم ببینم کسی میتونه تعداد کانالهاشو ویرایش کنه یعنی از 8 کانال به 10 کانال و 4 کانال و 5 و6 و7 کانال تغییر پیداکنه البته با همین رقص نورها فعلا 10 کاناله رو لازم دارم اگه سخته این دو تا 4 و 6 کاناله رو هم کارم راه میوفته اینم لینک برنامه
با عرض سلام
من می خوام برای اولیت بار برم یه میکرو avr از نوع مگا بخرم
به نظر شما تو تهران کجا برم
رنج قیمتا چقدره
با تشکر
با عرض سلام
من می خوام 1) از visual C++ برای برنامه نویسی avr استفاده کنم چجوری امکان پذیر هست؟ 2) قصد دارم از یک دوربین برای پردازش تصویر توسط avr استفاده کنم چجوری باید دوربین رو به avr وصل کنم و فریم ها رو از اون بگیرم؟ برای پردازش تصویرش آیا می تونم از کتابخونه opencv استفاده کنم ؟ 3) برای این کار ها از کدوم سری از avr ها می تونم استفاده کنم؟
دوست عزیز بهتره سوالات توی یه تاپیک دیگه بپرسی
اونجا بیشتر می بینند و شاید بتونند بهت جواب دهند
1) با visuall C++نمیشه. اگه میخاید C++ باشه باید با avr studioبنویسید که البته همون ide ویژال سی پلاس پلاس رو داره. 2)پردازش تصویر خودش یه مبحث جداس . بهتره بدون میکرو اول کار کنید بعد . برای پردازش تصویر خود میکرو احتمالا کم میاره. بهتره یه کامپیوتر این وسط باشه که کار پردازش رو انجام بده 3) بستگی به کارتون داره و این که میخایند چجوری این کارارو انجام بدید
من از visul C++ به این دلیل می خوام استفاده کنم چون از کتابخونه opencv هم می شه اونجا استفاده کرد حالا اگه از این مو ضوع بگذریم می خوام بدون که کتابخونه opencv تو میکروکنترلر avr جواب می ده یا نه بعدش حتی اگه من از avr 32 بیتی هم استفاده کنم به نظر شما کم می یاره؟؟؟ من نمی خوام از کامپیوتر این وسط استفاده کنم پردازش تصویر تو کامپیوتر رو با کتابخونه opencv رو کار کردم
والا من فکر نکنم پردازش تصویر با یدونه میکرو و یه دوربین شدنی باشه :متفکر: ( اینا نظرات منه ها. شاید درست نباشه ) . استفاده از opencv هم کلا تو میکرو 99.99٪ نشدنیه ( والا تو این دنیا نمیشه چیزی رو 100٪ گفت :لبخند: ) . الان دیگه پردازش تصویر رو با کینکتی چیزی انجام میدند . که اونم میکرو خالی نیست. خلاصه من اطلاعاتم در مورد اینکاری که شما میخواید بکنید در همین حد بود. فکر نکنم با یه دوربین و یه میکرو بشه کاری کرد. :متفکر: ( مثلا فکر نکنم یه برنامه پردازش تصویر بتونه تو atmega 32 جا بشه )
opencv رو نمی تونید با AVR یا avr32 استفاده کنید. البته اگر بتونید توابعش رو متناسب با پلتفورمتون پورت کنید،قابل استفاده هست ولی این کار خیلی سخت و زمانگیر است. به جز پلتفورم x86 و ARM های جدید (cortex-a8,cortex-a9) به طور رسمی opencv برای پلتفورم دیگه ای پورت نشده و قابل استفاده نیست.
البته 2-3 تا پروژه تو اینترنت هست که از AVR برای پردازش تصویر ساده (تشخیص تعقیب رنگ) استفاده کرده. اگر بگردید میتونید پیدا کنید.
سلام سال نو مبارک چه طور میتونم با ات مگا32 یه برنام برایه 8 خروجی بنویسم به این شکل که در هرثانیه یک پالس بفرسته و یک ال ای دی رو روشن کنه بیزحمت فقط کد
شما به این انجمن برو حتما به جواب میرسی.
http://www.eca.ir/forum2/index.php
شمارنده 3 رقمی با کلید و lcd متنی
با سلام .
من برای اولین بار تو کدویژن برنامه نوشتم و تو پروتئوس طراحی کردم .اما به یه مشکل بر می خورم برنامم اینه : باید بازدن کلید از 0 تا 999 بشماره اگه کلید قطع شد دوباره 0 بشه .
برنامه تو کد ویزن اروری نمیده اما تو پروتئوس وقتی کلید و میزنی هیچی نشون نمیده یا چند تا حروف واعدادو علائم بی ربط نشون میده ممنون میشم کمکم کنید.
اینم برنامه ای که نوشتم:
http://up.iran30t.com/uploads/1366404276.zip
با سلام به همه دوستان.
بیزحمت تو این برنامه راهنماییم کنید.
نمایش یک عدد 4 رقمی بروی سون سگمنت مالتی پلکسری( عددها با کلید وارد شود.)
من این برنامه رو نوشتم اما نمایشگر چرت و پرت نشون میده و کلید ها اصلا" کار نمی کنند.
ممنون میشم راهنماییم کنید.
اینم برنامم:
http://up.iran30t.com/uploads/1366553988.zip
سلام
مقدارمنسوب به پورت A را متمم 2 کنید
PORTA=~part1;
کدهای تصحیح شده و تصویر درحال اجرا
void main(void)
{
unsigned char number;
PORTA=0xff;
DDRA=0xFF;
PORTB=0xFF;
DDRB=0x00;
PORTC=0x0F;
DDRC=0x0F;
while (1)
{
number=PINB;
hex_to_seg(number);
PORTC=0b00001110;
PORTA=~part1;
delay_ms(5);
PORTC=0b00001101;
PORTA=~part2;
delay_ms(5);
PORTC=0b00001011;
PORTA=~part3;
delay_ms(5);
PORTC=0b00000111;
PORTA=~part4;
delay_ms(5);
}
}
سلام من واسه یک پروژه از یک lcd 128 64 استفاده کردم ولی فونتش خیکی بزرگه . آیا میشه کوچیکش کرد ؟ دستورش تو codevision چیه؟
دوسن خوبم بهتره سوالات تو تاپیک ها معمولی بپرسی
سلام دوست عزیز
میخوام به زبان اسمبلی با atmege32 هرکلید کی پد 4*4 که زده شد روی LCD نمایش داده بشه کلید با پورت سریال به کامپیوتر فرستاده بشه؟
میتونی کمکم کنی؟ :(
سلام دوستان خوشحالم که یه پست avr دیدم . من ic sim900 رو با avr راه اناختم همچیش Ok ]ست خالا میخوام کدهایی رو که از sim 900 با usart میگیرم رو داخل یه ارایه بریزم و بعد تحلیل کنم . مشکل اینجاست که کد ها طولشون معلوم نیست بعضیا 3 10 یا 40 تان اما عموما بیشتر از 100 نمیشن . ولی مشکلم اینجاست که نمیدونم با چه دستوری میتونم بگیرمشون ؟ scan - gets- fget رو امتحان کردم همه تعداد میخوان و واییسن تا اخرین کاراکتر هم بیاد ! چجوری یه رسته ای بگیرم که تعدادش مشخص نیست !؟ راستی اسپیس هم داره :(
سلام دوستان
من میخوام برف پاک کن خودکار بسازم،که با بارش بارون شدت اون رو تشخیص بده و برف پاک کن به همون اندازه سرعت داشته باشه(2 یا 3 level) .
حالا من برای تشخیص شدت بارون میخوام از سنسور فرستنده گیرنده مادون قرمز (به شکل زیر) استفاده کنم.که اگه شیشه خشک باشه تمام امواج رو برمیگردونه و درصورت خیس بودن ،به نسبت میزان خیس بودن برگشت امواج هم کمتر میشه ، خلاصه من برنامه ای (به زبان c ) برای راه اندازی این سنسور میخواستم .
در هر حدی که تونستید راهنمایی کنین ممنون میشم.
http://upload.tehran98.com/upme/uplo...95933f81f1.png
سلام
من با کد ویژن یه برنامه چراغ چشمک زن نوشتم
و هرعددی رو بریا delay_ms میدم
اصلا برای delay اهمیتی قائل نیست و باز همون آهنگ خاموش روشن شدن خود رو دنبال میکنه
ممنون میشم کمک کنید اینم سورس
#include <mega16.h>#include <delay.h>
void main ()
{
PORTA=0x00;
DDRA=0xFF;
for(;;)
{
if(PORTA.0==0)
{
PORTA.1=1;
delay_ms(5);
}
if(PORTA.1==1)
{
PORTA.0=0;
}
if(PORTA.1==0)
{
PORTA.0=1;
delay_ms (5);
}
}
}
این کد رو قبل از تابع main اضافه کن:
#ifndef F_CPU
#define F_CPU 8000000UL
#endif
با دستکاری کردن اون عدد 8000000UL به مواردی مانند 1000000UL یا 4000000UL می تونی به مدت وقفه مورد نظرت در کد دست پیدا کنی.
سلام.من میخوام یه پیغام رابرا2ثانیه روی سگمنت4تایی نمایش بدم.حرف اول پیغام درست نمایش داده میشه ولی 3حرف بعدناخوانا اند:گریه:.بعداز2ثانیه سگمنت خاموش میشه ولی بقیه برنامه باتغییروضعیت دیپ سوئیچ اجرانمیشه:گریه:.خواهشااگه میشه کمک کنیدتامشکل برنامه راحلش کنم.
این حلقه forهستش برا2ثانیه اول:واینم قسمتی ازبقیه برنامه:ضمیمه 128066
امیر هوشنگ خان ، اینجوری که نمیشه . باید کدت رو بزاری . کد تیکه تیکه فایده نداره.
موفق باشی.
سلام .این هم کدکامل.فقط آپلودکه شدبه هم ریخت میی بخشید.اگه میتونین کمک یاراهنمایی کنین که مشکلش راپیداکنم.خیلی ممنون:#include <mega16.h>
#include <delay.h>
unsigned int m;
void main(void)
{
DDRA=(1<<DDA7) | (1<<DDA6) | (1<<DDA5) | (1<<DDA4) | (1<<DDA3) | (1<<DDA2) | (1<<DDA1) | (1<<DDA0);
PORTA=(0<<PORTA7) | (0<<PORTA6) | (0<<PORTA5) | (0<<PORTA4) | (0<<PORTA3) | (0<<PORTA2) | (0<<PORTA1) | (0<<PORTA0);
DDRB=(0<<DDB7) | (0<<DDB6) | (0<<DDB5) | (0<<DDB4) | (1<<DDB3) | (1<<DDB2) | (1<<DDB1) | (1<<DDB0);
PORTB=(0<<PORTB7) | (0<<PORTB6) | (0<<PORTB5) | (0<<PORTB4) | (0<<PORTB3) | (0<<PORTB2) | (0<<PORTB1) | (0<<PORTB0);
DDRC=(0<<DDC7) | (0<<DDC6) | (0<<DDC5) | (0<<DDC4) | (0<<DDC3) | (0<<DDC2) | (0<<DDC1) | (0<<DDC0);
PORTC=(0<<PORTC7) | (0<<PORTC6) | (0<<PORTC5) | (0<<PORTC4) | (0<<PORTC3) | (0<<PORTC2) | (0<<PORTC1) | (0<<PORTC0);
DDRD=(0<<DDD7) | (0<<DDD6) | (0<<DDD5) | (0<<DDD4) | (0<<DDD3) | (0<<DDD2) | (0<<DDD1) | (0<<DDD0);
PORTD=(0<<PORTD7) | (0<<PORTD6) | (0<<PORTD5) | (0<<PORTD4) | (0<<PORTD3) | (0<<PORTD2) | (0<<PORTD1) | (0<<PORTD0);
for(m=0;m<=200;m++){PORTB=0X0E;
PORTA=0X77;
delay_ms(4);
PORTB=0X0D;
PORTA=0X5E;
delay_ms(4);
PORTB=0X0B;
PORTA=0X54;
delay_ms(6);
PORTB=0X07;
PORTA=0X6D;
delay_ms(6);}
PORTB=0X0F;
while (1)
{
switch(PINC){case 1:
PORTB=0X0E;
PORTA=0X6D;
delay_ms(4);
PORTB=0X0D;
PORTA=0X29;
delay_ms(4);
PORTB=0X0B;
PORTA=0X77;
delay_ms(1);
PORTB=0X07;
PORTA=0X38;
break;
case 2:
PORTB=0X0E;
PORTA=0X77;
delay_ms(1);
PORTB=0X0D;
PORTA=0X3E;
delay_ms(1);
PORTB=0X0B;
PORTA=0X78;
delay_ms(1);
PORTB=0X07;
PORTA=0X5C;
break;
case 3:
PORTB=0X0E;
PORTA=0X55;
delay_ms(1);
PORTB=0X0D;
PORTA=0X5F;
delay_ms(1);
PORTB=0X0B;
PORTA=0X54;
delay_ms(1);
PORTB=0X07;
PORTA=0X1C;
break;
case 4:
PORTB=0X0E;
PORTA=0X76;
delay_ms(1);
PORTB=0X0D;
PORTA=0X10;
delay_ms(1);
PORTB=0X0B;
PORTA=0X79;
delay_ms(1);
PORTB=0X07;
PORTA=0X50;
break;
case 5:
PORTB=0X0E;
PORTA=0X5C;
delay_ms(1);
PORTB=0X0D;
PORTA=0X54;
delay_ms(1);
PORTB=0X0B;
PORTA=0X5E;
delay_ms(1);
PORTB=0X07;
PORTA=0X76;
break;
case 6:
PORTB=0X0E;
PORTA=0X76;
delay_ms(1);
PORTB=0X0D;
PORTA=0X6E;
delay_ms(1);
PORTB=0X0B;
PORTA=0X76;
delay_ms(1);
PORTB=0X07;
PORTA=0X10;
break;
case 7:
PORTB=0X0E;
PORTA=0X5C;
delay_ms(1);
PORTB=0X0D;
PORTA=0X71;
delay_ms(1);
PORTB=0X0B;
PORTA=0X5E;
delay_ms(1);
PORTB=0X07;
PORTA=0X76;
break;
case 8:
PORTB=0X0E;
PORTA=0X38;
delay_ms(1);
PORTB=0X0D;
PORTA=0X5C;
delay_ms(1);
PORTB=0X0B;
PORTA=0X79;
delay_ms(1);
PORTB=0X07;
PORTA=0X50;
break;
case 9:
PORTB=0X0E;
PORTA=0X6C;
delay_ms(1);
PORTB=0X0D;
PORTA=0X54;
delay_ms(1);
PORTB=0X0B;
PORTA=0X5E;
delay_ms(1);
PORTB=0X07;
PORTA=0X38;
break;
case 10:
PORTB=0X0E;
PORTA=0X76;
delay_ms(1);
PORTB=0X0D;
PORTA=0X6E;
delay_ms(1);
PORTB=0X0B;
PORTA=0X38;
delay_ms(1);
PORTB=0X07;
PORTA=0X5C;
break;
case 11:
PORTB=0X0E;
PORTA=0X5C;
delay_ms(1);
PORTB=0X0D;
PORTA=0X71;
delay_ms(1);
PORTB=0X0B;
PORTA=0X5E;
delay_ms(1);
PORTB=0X07;
PORTA=0X38;
break;
case 12:
PORTB=0X0E;
PORTA=0X76;
delay_ms(1);
PORTB=0X0D;
PORTA=0X10;
delay_ms(1);
PORTB=0X0B;
PORTA=0X77;
delay_ms(1);
PORTB=0X07;
PORTA=0X38;
break;
case 13:
PORTB=0X0E;
PORTA=0X38;
delay_ms(1);
PORTB=0X0D;
PORTA=0X5C;
delay_ms(1);
PORTB=0X0B;
PORTA=0X77;
delay_ms(1);
PORTB=0X07;
PORTA=0X38;
break;
case 14:
PORTB=0X0E;
PORTA=0X76;
delay_ms(1);
PORTB=0X0D;
PORTA=0X6E;
delay_ms(1);
PORTB=0X0B;
PORTA=0X77;
delay_ms(1);
PORTB=0X07;
PORTA=0X38;
break;
case 15:
PORTB=0X0E;
PORTA=0X73;
delay_ms(1);
PORTB=0X0D;
PORTA=0X77;
delay_ms(1);
PORTB=0X0B;
PORTA=0X6D;
delay_ms(1);
PORTB=0X07;
PORTA=0X6D;
break;
case 16:
PORTB=0X0D;
PORTA=0X5C;
delay_ms(1);
PORTB=0X0B;
PORTA=0X50;
break;}
// Place your code here
}
}
احتمالا کلیدهات تو وضعیتی هستند که عدد حاصلش بزرگتر از 16 میشه. شما بیاید و بجای"case 16:"بنویسید : "default:".
با اینکار شما به میکرو میگید که اگر غیر از حالتهایی که من گفتم بود بیا اینکار رو انجام بده.
موفق باشید.
باسلام.کاری که گفته بودید انجام دادم.همجنان مانندقبل موقع راه اندازی حرف اول پیغام درست نمایش داده میشه ولی 3حرف بعداشتباه نمایش داده میشند.بعداز2ثانیه سون سگمنت خاموش میشه ولی بقیه برنامه باتغییروضعیت دیپ سوئیچ اجرانمیشه ومابقی پیام هاهم نمایش داده نمی شوند.
ضمیمه 128234
شما یه زحمتی بکش، فایل پروتئوس و کدت رو بفرست.