ايران ويج

نسخه‌ی کامل: سوالات بدون انتهای من!
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
صفحه‌ها: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
آقا عباس بنظرت مشکل این برنامه چیه که قبل اینکه حتی به دستور
کد:
Cursor Off
برنامه میره به ؟lable l

کد:
$regfile = "m32def.dat" : $crystal = 8000000

Config Lcdpin = Pin , Db4 = Portc.4 , Db5 = Portc.5 , Db6 = Portc.6 , Db7 = Portc.7 , E = Portc.2 , Rs = Portc.0 : Config Lcd = 20 * 4
Config Int0 = Rising
Config Pind.2 = Input

On Int0 L

Enable Interrupts : Enable Int0

Dim A As Word

Cursor Off

Lcd "h.unique"
Waitms 500
Cls

Do

Incr A
Locate 1 , 1 : Lcd A ; " " : Locate 2 , 1 : Lcd " "
Waitms 500
Loop

End
'end program
L:
Locate 2 , 1 : Lcd "Enable Int0"
Wait 1
Return

ولی بعده اینکه از lable l اومد بیرون دیگه همه چی ok هستش
شما ترتیب فرمان هارو دارین جا به جا میزنید که این اتفاق میوفته
باید اینجوری باشه
اول کانفیگ اینتراپت
بعدا بگیم روی اینتراپت کدوم لیبل هست
کد php:
Config Int2 Rising
Enable Interrupts
Enable Int2
On Int2 L 
ممنون آقا عباس.
اینوامتحان کردم اما مشکلم حل نشد.
کلا با int0,int1 مشکل داره.
همون برنامه رو نوشتم بجای int0
int2 رو گذاشتم مشکلم حل شد. یعنی:
کد:
$regfile = "m32def.dat" : $crystal = 8000000

Config Lcdpin = Pin , Db4 = Portc.4 , Db5 = Portc.5 , Db6 = Portc.6 , Db7 = Portc.7 , E = Portc.2 , Rs = Portc.0 : Config Lcd = 20 * 4
Config Int2 = Rising

On Int2 L

Enable Interrupts : Enable Int2

Dim A As Long

Cursor Off

Lcd "h.unique"
Waitms 500
Cls

Do

Incr A
Locate 1 , 1 : Lcd A ; "  " : Locate 2 , 1 : Lcd "            "
Waitms 500
Loop

End
                                                        'end program
L:
Locate 2 , 1 : Lcd "Enable Int0"
Wait 1
Return

ببخشید یه سوال خیلی ساده.
جریان این کریستال ساعت چیه؟و چطور باید از اون استفاده کرد؟
و برای ایجاد زمان دقیق مثلا ساخت یک ساعت باید چیکار کرد؟
آقا من کدویژن بلد نیستم اما میخوام خودم یادش بگیرم الان برنامه رو نوشتم نمیونم کجاش ایراد داره که اصلا جواب نمیده.
پایه a.0 یک میلیونیم ثانیه 0 میشه و بعد نه آبی(0) و نه قرمز(1) میشه بلکه فقط سیاه میشه.ولی با بیسکام این برنامه رو مینویسم و با همین قطعات چیک میکنم مشکلی نداره.لطفا کمک کنید.
این برنامه:
کد:
#include <mega32.h>
#include <delay.h>

void main(void)
{
while(1){
PORTA.0=0;
delay_ms(200);
PORTA.0=1;
}
}

اینم عکس از سیمولیشن:

[تصویر:  iranvich.jpg]
اگه دقت کنی یه فرمان تاخیر کم داره
کد:
#include <mega32.h>
#include <delay.h>

void main(void)
{
while(1){
PORTA.0=0;
delay_ms(200);
PORTA.0=1;
delay_ms(200);
}
}
سلام ببخشید که سوالم رو توی این تاپیک مطرح میکنم.چون که تازه واردم ونمیتونم تاپیک جدید ایجاد کنم هنوز
من رو ییک پروزه ربات امدادگر کار میکنم که وقتی قوانینش رو خوندم.از نحوهی ارتباط ربات با اوپراتور وارسال اطلاعات اینا سر در نیوردم.
چون اونجا گفته بود باید از فرکانس5گیگاهرتز استفاده کنید.
من گیج شدم و هرچی هم توی اینترنت گشت زدم نتوستم رادیو کنترل 5گیگاهرتز پیدا کنم بعد فهمیدم که باید انگار از رو تر ها{مودم}وایرلس 5گیگاهرتز استفاده کرد.حالا اگر من این روتر رو گرفتم چجوری دیتا ها را روی اون انتقال بدم وچجوری دیتا هارو بگیرم.ا؟کلا اگر میشه یه اطلاعاتی به من بدید ممنون میشمSmile
ماژول های آماده ای برای این کار ها هستن که توی این فرکانس ها کار میکنن 2.4 3.6 5 گیگا یکم راه اندازیشون مشکله اما شدنیه

معمولا با میکرو های AVR نمیشه چون اون ماژول ها 16 بیتی هستن وباید از ARM یا XMEGA استفاده کنید
خیلی ممنون شما اسمی نداری از این ماژول؟یعنی اسمش چیه؟از کجا ها میشه گرفت.؟سایتی هم هست که بفروشدش؟
ای بابامنم زیاد وارد نیستم با میکرو کار کنم .ولی یجوری راش مینازیم دیگه.
(۲۱-مرداد-۱۳۹۱, ۱۶:۲۱:۴۵)abbasalifix نوشته است: [ -> ]اگه دقت کنی یه فرمان تاخیر کم داره
کد:
#include <mega32.h>
#include <delay.h>

void main(void)
{
while(1){
PORTA.0=0;
delay_ms(200);
PORTA.0=1;
delay_ms(200);
}
}
دست گلت درد نکنه آقا عباس.
این کارو کردم اما led رو نتونست روشن کنه.
وقتی این دستور رو بهش اصافه کردم مشکلش حل شد.
نقل قول: DDRA=1;
بابا بیسکام کی از این چیزا میخواستAngry
و در نهایت برنامه به شکل زیر شد:
کد:
#include <mega32.h>
#include <delay.h>

void main(void)
{
while(1){
DDRA=1;
PORTA.0=0;
delay_ms(200);
PORTA.0=1;
delay_ms(200);
}
}
دیروز دیدم ها وبی نگفم یکم زورم اومد دیر دیدم
حالا همون مقاومت مدارتو هم عوض کن یه 330 بزار
مجددا سلامBiggrin
1.من این برنامه رو به زبان بیسیک نوشتم رو نگاه کنید و بعد لطف کنید و بم بگین که تو C اینو چطور باید بنویسم.(البته خودم مقداری از C رو نوشتم ولی همونطور که گفتم C رو خوب بلد نیسم.
بیسیک:
کد:
$regfile = "m32def.dat" : $crystal = 2000000

Config Lcdpin = Pin , Db7 = Portc.7 , Db6 = Portc.6 , Db5 = Portc.5 , Db4 = Portc.4 , E = Portc.2 , Rs = Portc.0 : Config Lcd = 20 * 4

Dim I As Long

Cursor Off

Do
Locate 1 , 1 : Lcd I ; " ta" : Waitms 200 : Incr I
Loop

End                                                         'end program
C:
کد:
#include <mega32.h>
#include <delay.h>
#include <stdio.h>
#include <lcd.h>

#asm
.equ __lcd_port=0x15 ;PORTC
#endasm

char i;

void main(void){
while(1){
lcd_init(20);
lcd_clear ();
lcd_gotoxy(0,0);
lcd_putchar(i);
delay_ms(200);
i++;
}
}

2.چطور این کد 0x15 رو محاسبه میکنند؟

3.تو c مثله بیسیک میشه چندتا دستور مختلف رو تو یک خط نوشط؟
مثل:
کد:
Locate 1 , 1 : Lcd I ; " ta" : Waitms 200 : Incr I
که با >>> : <<< میشه چند دستور رو تو یک خط نوشت.

4.اون دستور:
کد:
#include <stdio.h>
چیه که اگه نباشه برنامه کامپایل نمیشه؟

4.چرا سرعت lcd با برنامه ای که تو کدویژن مینویسی از برنامه ای که تو بیسکام مینویسی پایین تره؟

5.یه سوال خیلی ابتدایی pull-up همون مقاومتی هستش که به vcc وصل میشه و pull-down به gnd؟
صفحه‌ها: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48