۰۳-شهریور-۱۳۹۱, ۱۸:۳۷:۳۲
صفحهها: 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
۰۴-شهریور-۱۳۹۱, ۱۰:۰۹:۱۸
نقل قول: ها!؟ لیبل کدومه!لیبل ماله وقفه خارجی.
نقل قول: کدویژن بسکام؟من هر برنامه ای بنویسم با هردوشون مینویسیم.
با کدویژن که مشکلی نداشتم ولی با بیسکام مشکل داشتم.
من 8تا وقفه خارجی Atmega128 رو فعال کردم ولی وقتی که میکرو استارت میخوره تو اپسیلون ثانبه شروع میکنه از لیبل وقفه خارجی 0 برنامه های اونارو اجرا میکنه و تک تک تمام برنامه های لیبل هارو اجرا میکنه و بعده اینکه همه لیبل هارو اجرا کرد برنامه بعده اون دیگه درست کار میکمنه.
۰۴-شهریور-۱۳۹۱, ۱۰:۴۹:۱۰
برنامه رو بزار یه نگاهی بکنیم یه دست گلی به اب دادی دیگه!
۰۴-شهریور-۱۳۹۱, ۱۰:۵۵:۴۳
نقل قول: برنامه رو بزار یه نگاهی بکنیم یه دست گلی به اب دادی دیگه!شما هم میتونی اینطوری دسته گل به آب نده.من قبلا هم گفتم من مدرسی ندارم که درسم بده همسش خدمم با بچه های ایران ویج.
برنامه بیسکام:
کد:
$regfile = "m128def.dat"
$crystal = 8000000
Config Lcdpin = Pin , Db7 = Porta.7 , Db6 = Porta.6 , Db5 = Porta.5 , Db4 = Porta.4 , E = Porta.3 , Rs = Porta.1
Config Lcd = 20 * 4
Config Int0 = Rising
Config Int1 = Rising
Config Int2 = Rising
Config Int3 = Rising
Config Int4 = Rising
Config Int5 = Rising
Config Int6 = Rising
Config Int7 = Rising
On Int0 Int0h
On Int1 Int1h
On Int2 Int2h
On Int3 Int3h
On Int4 Int4h
On Int5 Int5h
On Int6 Int6h
On Int7 Int7h
Enable Interrupts
Enable Int0
Enable Int1
Enable Int2
Enable Int3
Enable Int4
Enable Int5
Enable Int6
Enable Int7
Dim A As Word
Dim S As String * 5
S = Space(5)
Cursor Off
Do
Locate 1 , 1 : Lcd "Www.IranLed.Com" ; S
Locate 2 , 1 : Lcd "h.unique" ; S
Locate 3 , 1 : Lcd A
Locate 4 , 1 : Lcd S
Incr A
Waitms 500
Loop
Int0h:
Locate 4 , 1 : Lcd "Int0" ; S ; S ; S : Waitms 500
Return
Int1h:
Locate 4 , 1 : Lcd "Int1" ; S ; S ; S : Waitms 500
Return
Int2h:
Locate 4 , 1 : Lcd "Int2" ; S ; S ; S : Waitms 500
Return
Int3h:
Locate 4 , 1 : Lcd "Int3" ; S ; S ; S : Waitms 500
Return
Int4h:
Locate 4 , 1 : Lcd "Int4" ; S ; S ; S : Waitms 500
Return
Int5h:
Locate 4 , 1 : Lcd "Int5" ; S ; S ; S : Waitms 500
Return
Int6h:
Locate 4 , 1 : Lcd "Int6" ; S ; S ; S : Waitms 500
Return
Int7h:
Locate 4 , 1 : Lcd "Int7" ; S ; S ; S : Waitms 500
Return
End 'end program
تنکس سو مااااااچ
۰۴-شهریور-۱۳۹۱, ۱۱:۴۹:۵۸
اول وقفه ها رو فعال کن بعد سراسری رو فعال کن
۰۴-شهریور-۱۳۹۱, ۱۲:۰۲:۲۵
نقل قول: اول وقفه ها رو فعال کن بعد سراسری رو فعال کننه بازم نشد.
فایل هارو پیوست کردم.ببین ایراد از کجاس(لطفا).
۰۴-شهریور-۱۳۹۱, ۱۳:۲۱:۵۲
- و خدا به میکرو ها اگاه تر است
- و خدا به کامپایلر بسکام اگاه تر است
- و خدا به پروتئوس اگاه تر است
- و مخ ما به این مشکل اگاه تر نیست
۰۴-شهریور-۱۳۹۱, ۱۳:۲۹:۱۹
باشه خیلی ممنون لطف کردی.
لطفا اگه کسی همچین مشکل مشابهی رو داره و مشکلش حل شده به ما هم بگه ثواب داره...
لطفا اگه کسی همچین مشکل مشابهی رو داره و مشکلش حل شده به ما هم بگه ثواب داره...
۰۴-شهریور-۱۳۹۱, ۱۴:۴۰:۵۳
آقا درست شد.
مشکلشو پییدا کردم
مشکل از هیچی نبود جزء خود بیسکام.
این طوری که من دستگیرم شد ریجیستر نویسیش مشکل داشت خودم دستی ریجستر نویسیشو انجام دادم.
اینم فایل بدون اشکال رو پیوست کردم.
فایل پیوست حاوی:
1.شبیه ساز
2.برنامه بیسکام
3.برنامه کدویژن
فقط موقع شبیه ساز این نکته رو بدونین که سمته چپی رو برنامه بیسکام بهش بدین و سمته راستی برنامه کدویژن.(البته رو ال سی دی ها هم نوشتم)
موفق باشید....
مشکلشو پییدا کردم
مشکل از هیچی نبود جزء خود بیسکام.
این طوری که من دستگیرم شد ریجیستر نویسیش مشکل داشت خودم دستی ریجستر نویسیشو انجام دادم.
اینم فایل بدون اشکال رو پیوست کردم.
فایل پیوست حاوی:
1.شبیه ساز
2.برنامه بیسکام
3.برنامه کدویژن
فقط موقع شبیه ساز این نکته رو بدونین که سمته چپی رو برنامه بیسکام بهش بدین و سمته راستی برنامه کدویژن.(البته رو ال سی دی ها هم نوشتم)
موفق باشید....
۰۵-شهریور-۱۳۹۱, ۲۳:۵۴:۱۷
سلام دوستان من چندتا سوال دارم لطفا مثل همیشه کامل جواب بدین.(ممنون)
1.یک فایل زو پیوست کردم که یکی دوستان قبلا زحمتشو کشیده بودن و نوشته بودن اینو اما من هرچی اینو میبینیم یه چیزیشو نمیفهمم اونم اتصال سگمنت ها به میکرو هستش.لطفا شما نیگاش کنید اگه متوجه این موضوع شدین به منم بگین.(فایل شبیه ساز test).چطور اون همه سگمن به میکرو وصل شدن؟
2.تو این برنامه که مربوط به اسکن کیبورد کامپیوتر هستش اون آخر keydata به چه دردی میخوره آخه؟اصلا برابر با چی شده؟اگه اونارو جابجا کنیم بهم میریزه؟
3.تو کدویژن چند نوع از دستور sprintf داریم؟مثلا یک نوعش فقط یک متغیر میگیره با یک متن یک نوع دیگه 2تا متغیر میگیره و... منظورم اون کد هاش هستش که باعث این موضوع میشن.
خیلی ممنون از شما دوستان
1.یک فایل زو پیوست کردم که یکی دوستان قبلا زحمتشو کشیده بودن و نوشته بودن اینو اما من هرچی اینو میبینیم یه چیزیشو نمیفهمم اونم اتصال سگمنت ها به میکرو هستش.لطفا شما نیگاش کنید اگه متوجه این موضوع شدین به منم بگین.(فایل شبیه ساز test).چطور اون همه سگمن به میکرو وصل شدن؟
2.تو این برنامه که مربوط به اسکن کیبورد کامپیوتر هستش اون آخر keydata به چه دردی میخوره آخه؟اصلا برابر با چی شده؟اگه اونارو جابجا کنیم بهم میریزه؟
کد:
$regfile = "M32def.dat"
$crystal = 8000000
Config Lcdpin = Pin , Db4 = Portc.1 , Db5 = Portc.2 , Db6 = Portc.3 , Db7 = _
Portc.4 , E = Portd.2 , Rs = Portd.3
Config Lcd = 16 * 2
Config Keyboard = Pind.5 , Data = Pind.6 , Keydata = Keydata
Dim A As Byte
Waitms 500
Cls
Main:
A = Getatkbd()
Select Case A:
Case 50:
Lowerline
Case 56:
Home
Case 44:
Cls
Home
Case 52:
Shiftcursor Left
Case 54:
Shiftcursor Right
Case 13:
Lowerline
Case 9:
Shiftcursor Right , 4
Case 8:
Shiftcursor Left
Lcd " ";
Shiftcursor Left
Case Else Lcd String(1 , A)
End Select
jmp main
End 'end program
Keydata:
'normal keys lower case
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 27 , 0 , 0 , 0 , 0 , 9 , 9 , &H5E , 0
Data 0 , 0 , 0 , 0 , 0 , 113 , 49 , 0 , 0 , 0 , 122 , 115 , 97 , 119 , 50 , 0
Data 0 , 99 , 120 , 100 , 101 , 52 , 51 , 0 , 0 , 32 , 118 , 102 , 116 , 114 , 53 , 0
Data 0 , 110 , 98 , 104 , 103 , 121 , 54 , 7 , 8 , 44 , 109 , 106 , 117 , 55 , 56 , 0
Data 0 , 44 , 107 , 105 , 111 , 48 , 57 , 0 , 0 , 46 , 45 , 108 , 48 , 112 , 43 , 0
Data 0 , 0 , 0 , 0 , 0 , 92 , 0 , 0 , 0 , 0 , 13 , 0 , 0 , 92 , 0 , 0
Data 0 , 60 , 0 , 0 , 0 , 0 , 8 , 0 , 0 , 49 , 0 , 52 , 55 , 0 , 0 , 0
Data 48 , 44 , 50 , 53 , 54 , 56 , 0 , 0 , 0 , 43 , 51 , 45 , 42 , 57 , 0 , 0
'shifted keys UPPER case
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 0 , 0 , 0 , 0 , 0 , 81 , 33 , 0 , 0 , 0 , 90 , 83 , 65 , 87 , 34 , 0
Data 0 , 67 , 88 , 68 , 69 , 0 , 35 , 0 , 0 , 32 , 86 , 70 , 84 , 82 , 37 , 0
Data 0 , 78 , 66 , 72 , 71 , 89 , 38 , 0 , 0 , 76 , 77 , 74 , 85 , 47 , 40 , 0
Data 0 , 59 , 75 , 73 , 79 , 61 , 41 , 0 , 0 , 58 , 95 , 76 , 48 , 80 , 63 , 0
Data 0 , 0 , 0 , 0 , 0 , 96 , 0 , 0 , 0 , 0 , 13 , 94 , 0 , 42 , 0 , 0
Data 0 , 62 , 0 , 0 , 0 , 8 , 0 , 0 , 49 , 0 , 52 , 55 , 0 , 0 , 0 , 0
Data 48 , 44 , 50 , 53 , 54 , 56 , 0 , 0 , 0 , 43 , 51 , 45 , 42 , 57 , 0 , 0
3.تو کدویژن چند نوع از دستور sprintf داریم؟مثلا یک نوعش فقط یک متغیر میگیره با یک متن یک نوع دیگه 2تا متغیر میگیره و... منظورم اون کد هاش هستش که باعث این موضوع میشن.
خیلی ممنون از شما دوستان
۰۶-شهریور-۱۳۹۱, ۱۳:۰۰:۵۸
سلام.اینجا برا خودش شده چت باکس علمی ها !
1-نگاه دقیق نکردم ولی فکر کنم قضیه مالتی پلکسه.فرض کن هشت تا سون سگمنت داریم که کاتد مشترک هستن.
سیم های بخش a همه رو به هم، سیم های بخش b همه رو بهم و... اینجوری اگه همه ی کاتد ها رو به زمین وصل کنیم،با قرار دادن یه بایت اطلاعات روی سیم های جمع بندی شده که اینجا بهشون میگیم باس،اون عدد روی همه ی سون سگمنت ها نوشته میشه.حالا سر راه هر کدوم از کاتد ها به زمین یه ترانزیستور میزاریم و اون رو با میکرو کنترل میکنیم.حالا اگه عدد 1 رو روی باس بزاریم و ترانزیستور سون سگمنت اولیه رو روشن کنیم اونوقت عدد یک میاد روی سون سگمنت اولی.حالا اگه اون رو خاموش کنیم و مثلا عدد 5 رو روی باس بزاریم و ترانزیستور سون سگمنت دومی رو روشن کنیم عدد 5 روش نشون داده میشه.اگه این کار رو برای همه سون سگمنت ها با ثرعت انجام بدیم چشم انساس=ن چون کنده نمیتونه خاموش و روشن شدن سون سکمنت ها رو ببینه.گرفتی؟
2-به اون جدول فکر کنم میگن lookup (توی بسکام خیلی وارد نیستم) اون جدول به ازای مقادیر ورودی کد هگز اون رو میده.مثل یه دیکشنری.
3-نمیفهمم! توی کدویژن یه دستور sprintfهست که اینجوریه(البته فکرکنم.اگه اشتباه بود اصلاح کنید.)
sprintf(str,"%n : %c",number1,char1);
عبارت داخل "" رو عینا وارد رشته ی str میکنه اما وقتی به % رسید کاراکتر بعد اون رو برسی میکنه و...
به ترتیب اون % ها متغیر های بعد , رو توی رشته میزاره.ولی برای عدد باید از n استفاده کرد و کاراکتر از c و اعشار از f و ...
موفق باشی
1-نگاه دقیق نکردم ولی فکر کنم قضیه مالتی پلکسه.فرض کن هشت تا سون سگمنت داریم که کاتد مشترک هستن.
سیم های بخش a همه رو به هم، سیم های بخش b همه رو بهم و... اینجوری اگه همه ی کاتد ها رو به زمین وصل کنیم،با قرار دادن یه بایت اطلاعات روی سیم های جمع بندی شده که اینجا بهشون میگیم باس،اون عدد روی همه ی سون سگمنت ها نوشته میشه.حالا سر راه هر کدوم از کاتد ها به زمین یه ترانزیستور میزاریم و اون رو با میکرو کنترل میکنیم.حالا اگه عدد 1 رو روی باس بزاریم و ترانزیستور سون سگمنت اولیه رو روشن کنیم اونوقت عدد یک میاد روی سون سگمنت اولی.حالا اگه اون رو خاموش کنیم و مثلا عدد 5 رو روی باس بزاریم و ترانزیستور سون سگمنت دومی رو روشن کنیم عدد 5 روش نشون داده میشه.اگه این کار رو برای همه سون سگمنت ها با ثرعت انجام بدیم چشم انساس=ن چون کنده نمیتونه خاموش و روشن شدن سون سکمنت ها رو ببینه.گرفتی؟
2-به اون جدول فکر کنم میگن lookup (توی بسکام خیلی وارد نیستم) اون جدول به ازای مقادیر ورودی کد هگز اون رو میده.مثل یه دیکشنری.
3-نمیفهمم! توی کدویژن یه دستور sprintfهست که اینجوریه(البته فکرکنم.اگه اشتباه بود اصلاح کنید.)
sprintf(str,"%n : %c",number1,char1);
عبارت داخل "" رو عینا وارد رشته ی str میکنه اما وقتی به % رسید کاراکتر بعد اون رو برسی میکنه و...
به ترتیب اون % ها متغیر های بعد , رو توی رشته میزاره.ولی برای عدد باید از n استفاده کرد و کاراکتر از c و اعشار از f و ...
موفق باشی