امتیاز موضوع:
  • 1 رأی - میانگین امتیازات: 5
  • 1
  • 2
  • 3
  • 4
  • 5
سوالهای برنامه نویسی با کامپایلر BASCOM
نویسنده پیام
EBKA آفلاین
مخترع
****

ارسال‌ها: 1,099
موضوع‌ها: 89
تاریخ عضویت: آذر ۱۳۸۸

تشکرها : 1655
( 2792 تشکر در 982 ارسال )
ارسال: #67
RE: سوالهای برنامه نویسی با کامپایلر BASCOM
کد:
n=len(s)
این دستور یعنی چی؟؟
کد:
متغییر
string*16
16 واسه چیه؟؟؟؟

ابراهیم خوانین زاده
 ساعت کار بدن انسان بیشتر وقتها, کمتر از 657.000 ساعت است و بعد از آن از کار می افتد  :():کمی فکر کنیم.....

259-734

[/url]
وبلاگ من


وب سایت من
[url=http://www.ebka-intelligent.com/]
آموزش کار با rfm12b,آموزش کامل ای سی ds1307, آموزش اتصال ماژول em18,سنسور رنگ ,سنسور گاز, و ... در وبلاگ من خواهید دید



۱۴-آبان-۱۳۸۹, ۱۹:۲۶:۴۹
وب سایت ارسال‌ها
پاسخ
reza555 غایب
مدیر بازنشسته
*****

ارسال‌ها: 1,073
موضوع‌ها: 17
تاریخ عضویت: شهریور ۱۳۸۸

تشکرها : 3779
( 3261 تشکر در 1342 ارسال )
ارسال: #68
RE: سوالهای برنامه نویسی با کامپایلر BASCOM
یه رشته تعریف کرده به نام S که میتونه نهایتا شامل 16 کاراکتر باشه
دستور len در اصل طول رشته رو برمیگردونه
len=lenght
طول رشته s رو برمیگردونه و توی n میریزه
بعد از این دستور مقدار n میشه 16

زندگی مدیریت فرصت هاست.
(آخرین ویرایش در این ارسال: ۱۴-آبان-۱۳۸۹, ۲۲:۱۸:۳۸، توسط reza555.)
۱۴-آبان-۱۳۸۹, ۲۲:۱۸:۲۱
ارسال‌ها
پاسخ
تشکر شده توسط : EBKA, t3r!p3000
EBKA آفلاین
مخترع
****

ارسال‌ها: 1,099
موضوع‌ها: 89
تاریخ عضویت: آذر ۱۳۸۸

تشکرها : 1655
( 2792 تشکر در 982 ارسال )
ارسال: #69
RE: سوالهای برنامه نویسی با کامپایلر BASCOM
در مورد ارتباط سریال I2C میخواستم بدونم به چه صورته!!!
سنسور رنگADJD-S371-Q999 به صورت I2C باید باهاش ارتباط برقرار کنم!!
یا همون 2 سیمه!!!
ارسال و دریافت و چگونگی پیکر بندیش رو میخوام بدونم به چه صورته!!
پیکر بندیش رو تو کتاب کاهه دیدم ولی ارسال و دریافتش رو نفهمیدم به چه صورته

ابراهیم خوانین زاده
 ساعت کار بدن انسان بیشتر وقتها, کمتر از 657.000 ساعت است و بعد از آن از کار می افتد  :():کمی فکر کنیم.....

259-734

[/url]
وبلاگ من


وب سایت من
[url=http://www.ebka-intelligent.com/]
آموزش کار با rfm12b,آموزش کامل ای سی ds1307, آموزش اتصال ماژول em18,سنسور رنگ ,سنسور گاز, و ... در وبلاگ من خواهید دید



۱۴-آبان-۱۳۸۹, ۲۲:۳۳:۳۶
وب سایت ارسال‌ها
پاسخ
t3r!p3000 آفلاین
         
*****

ارسال‌ها: 5,050
موضوع‌ها: 83
تاریخ عضویت: اردیبهشت ۱۳۸۵

تشکرها : 34447
( 17423 تشکر در 5116 ارسال )
ارسال: #70
RE: سوالهای برنامه نویسی با کامپایلر BASCOM
دستور len طول رشته رو بر نمی گردونه !
تعداد کاراکتر داخل رشته رو برمیگردونه !

نقل قول: dim s as string * 20
dim b as byte
s = "Ali"
b = len(s)

الان عدد 3 رو بر میگردونه چون ali از سه کاراکتر درست شده !!


واسه I2C هم چندین بار دستوراتش رو گذاشتم !
دیگه سرچ !
۱۵-آبان-۱۳۸۹, ۰۱:۱۱:۲۲
ارسال‌ها
پاسخ
تشکر شده توسط : reza555, EBKA
EBKA آفلاین
مخترع
****

ارسال‌ها: 1,099
موضوع‌ها: 89
تاریخ عضویت: آذر ۱۳۸۸

تشکرها : 1655
( 2792 تشکر در 982 ارسال )
ارسال: #71
RE: سوالهای برنامه نویسی با کامپایلر BASCOM
علی جان من وقتی سرچ نمیکنم چیزی برام نمیاد...
یه لینک بهم میدی!!!؟؟!!!

ابراهیم خوانین زاده
 ساعت کار بدن انسان بیشتر وقتها, کمتر از 657.000 ساعت است و بعد از آن از کار می افتد  :():کمی فکر کنیم.....

259-734

[/url]
وبلاگ من


وب سایت من
[url=http://www.ebka-intelligent.com/]
آموزش کار با rfm12b,آموزش کامل ای سی ds1307, آموزش اتصال ماژول em18,سنسور رنگ ,سنسور گاز, و ... در وبلاگ من خواهید دید



۱۹-آبان-۱۳۸۹, ۱۱:۲۵:۲۲
وب سایت ارسال‌ها
پاسخ
t3r!p3000 آفلاین
         
*****

ارسال‌ها: 5,050
موضوع‌ها: 83
تاریخ عضویت: اردیبهشت ۱۳۸۵

تشکرها : 34447
( 17423 تشکر در 5116 ارسال )
ارسال: #72
RE: سوالهای برنامه نویسی با کامپایلر BASCOM
به نقل از http://www.iranled.com/forum/showthread.php?tid=8061



ارتباط سريال i2c يا 2-wire


ويژگي هاي اين ارتباط به شرح زير است:

1-
در اين ارتباط از دوسيم همرا با گراند و VCC ، که درمجموع چهار سيم مي شود ، براي انتقال ديتا استفاده مي شود

2-
بالا ترين فرکانس کلاک 400 کيلو هرتز است

3-
در اين ارتباط ميتوان تعداد نامحدود وسيله جانبي با آدرس سخت افزاري مختلف را به هم متصل کرد

4-
حداکثر طول کابل ارتباطي باسيم شيلد 80 سانتي متر است

5-
کلاک ارتباط I2C به شدت به کلاک سيستم (فرکانس کريستال ) وابسته است

براي ارتباط I2C از دو پايه SCL و SDA (PORTC.0 و PORTC.1 ميگرو مگا 16) استفاده مي شود که پايه SDA پايه داده و پايه SCL پايه کلاک ميباشد.( دو پايه مزکور پايه هاي پيش فرض ميباشند ، شما ميتوانيد با دستوراتي که گفته مي شود آنها را به پايهاي دلخواه خود تغيير دهيد)

دستورات مربوط به راه اندازي I2C :


تعيين کلاک I2C :

کد php:
Config I2cdelay 

X ميتواند از 1 تا 255 باشد ، رابطه اي بين کلاک و عدد وجود ندارد ، مثلا براي عدد 10 کلاک 100 کيلو وبراي عدد 5 کلاک 200 کيلو و براي عدد 1 کلاک 400 کيلو هرتز است ( کلاک I2C به فرکانس کريستال وابسته است ، در اين ارتباط بايد کريستال نوشته شده در برنامه با کريستال استفاده شده يکي باشد ، همچنين کلاک هر دو دستگاه بايد مساوي باشد)

تعيين پايه هاي داده و کلاک I2C :

با دستور زير پايه SCL (پايه کلاک) تعيين مي شود :

کد php:
CONFIG SCL pin 

Pin نام يکي از پايه هاي دلخواه ميکرو ميباشد .
با دستور زير پايه SDA (پايه داده) تعيين مي شود :

کد php:
CONFIG SDA pin 

Pin نام يکي از پايه هاي دلخواه ميکرو ميباشد
بعد از انکه I2C پيکر بندي شد با استفاده از دستور زير ميتوان ارتباط را اغاز کرد

کد php:
I2CSTART 

با اين دستور ارسال ودريافت داده شروع مي شودشما همچنين ميتوانيد با دستور زير به ارسال ودريافت داده خاتمه دهيد:

کد php:
I2CSTOP 

با استفاده از دستور زير ميتوان داده اي را به باس I2C فرستاد:

کد php:
I2CSEND slave, var
I2CSEND slave, var , bytes 

Slave :آدرس گيرنده اطلاعات است که ميتواند به فرم يک عدد ثابت يا متغيير باشد
Var : عدد ثابت يا متغييري است که ميخواهيسم آن را ارسال کنيم
: bytesبا اين گزينه شما ميتوانيد تعداد بايت دلخواه را به باس ارسال کنيد (اين گزينه اختياري است)

فرم خلاصه شده اين دستور به شکل زير است:

کد php:
I2CWBYTE val 

Val : عدد ثابت يا متغييري است که کد دريافت شده در آن قرار ميگيرد .

مثال:
برنامه فرستنده:

کد php:
$regfile "m32def.dat"
$crystal 1000000
Config Lcd 
16 2
Config Lcdpin 
Pin Db4 Pinb.2 Db5 Pinb.3 Db6 Pinb.4 Db7 Pinb.5 Rs Pinb.0 Pinb.1
Config Kbd 
Porta
Config I2cdelay 
5
Config Sda 
Portc.1
Config Scl 
Portc.0
Dim A 
As Byte
I2cstart
W
:
Getkbd()
If 
15 Then
Goto W
End 
If
I2csend &H40 A
Locate 2 
1
Lcd A
Goto W
End 

در مثال با کلاک I2C ، 200کيلو هرتز انتخاب شده است همچنين پايهSCL (پايه کلاک)به پورت c.0 ( پايه22 مگا16)و پايه SDA (پايه داده) به پين c.1 (پايه 23 مگا 16) متصل شده است.

با دستور I2cstartپروتکل i2c شروع به کار کرده وعدد گرفته شده از کيپد را بخ باس i2c ميفرستد ، براي گيرنده آدرس &h40 در نظر گرفته شده است ، براي درک بيشتر موضوع متغير ارسالي بر روي يک lcd به نمايش در ميايد.

با استفاده از دستور زير ميتوان داده اي را از باس I2C دريافت کرد:

کد php:
I2CRECEIVE slave, var
I2CRECEIVE slave, var , b2Wb2R 

Slave :آدرس فرستنده اطلاعات است که ميتواند به فرم يک عدد ثابت يا متغيير باشد.
Var : عدد ثابت يا متغييري است که کد دريافت شده در آن قرار ميگيرد
: bytesبا اين گزينه شما ميتوانيد تعداد بايت دلخواه را از باس دريافت کنيد (اين گزينه اختياري است).(توجه داشته باشيد که تعداد بايت دريافتي و ارسالي بايد با هم برابر باشند در غير اينصورت اطلاعات دريافتي ناقص خواهد بود.)

فرم خلاصه شده اين دستور به شکل زير است:

کد php:
I2CRBYTE var, ack/nack 

Var : عدد ثابت يا متغييري است که کد دريافت شده در آن قرار ميگيرد
ack/nack :زماني که بخواهيم بيشتر از يک بايت را از باس بخوانيم بايد از ack استفاده کنيم و زماني که ميخواهيم اخرين بايت را از باس بخوانيم از nack استفاده ميکنيم.


[تصویر:  7a59b3ec26a94b349c36.PNG]


مثال:
اين برنامه مربوط به گيرنده مداري است که برنامه آن را در بالا مشاهده فرموديد:

کد php:
$regfile "m32def.dat" $crystal 1000000
Config Lcd 
16 2
Config Lcdpin 
Pin Db4 Pina.0 Db5 Pina.1 Db6 Pina.2 Db7 Pina.3 Rs Pina.4 Pina.5
Config I2cdelay 
5
Config Sda 
Portc.1
Config Scl 
Portc.0
Dim A 
As Byte
I2cstart
W
:
I2creceive &H40 A
If 16 Then Locate 1 Lcd A End If
Goto 
W
End 

در مثال بالا کلاک I2C ، 200 کيلو هرتز(Config I2cdelay = 5) انتخاب شده است همچنين پايهSCL (پايه کلاک)به پورت c.0 ( پايه22 مگا16)و پايه SDA (پايه داده) به پين c.1 (پايه 23 مگا 16) متصل شده است.

با دستور I2cstartپروتکل i2c شروع به کار کرده وعدد گرفته شده از باس را بر روي lcd نمايش ميدهد ، براي فرستنده آدرس &h40 در نظر گرفته شده است .
۱۹-آبان-۱۳۸۹, ۱۴:۰۷:۴۸
ارسال‌ها
پاسخ
تشکر شده توسط : reza555, EBKA
EBKA آفلاین
مخترع
****

ارسال‌ها: 1,099
موضوع‌ها: 89
تاریخ عضویت: آذر ۱۳۸۸

تشکرها : 1655
( 2792 تشکر در 982 ارسال )
ارسال: #73
RE: سوالهای برنامه نویسی با کامپایلر BASCOM
سلام..
علی جان پس باید برای هر سنسور یک میکرو بزارم!!!!؟؟؟؟
برای سنسور رنگ ADJD-S371-Q999 که :
(خروجی این سنسور به صورت ۲سیمه I2C میباشد و میتوان به صورت مستقیم به میکروکنترلر ها متصل کرد و اطلاعات آن را خواند و نیاز به هیچ گونه قطعه میانی و جانبی ندارد)
من چه جوری تبادل اطلاعات کنم!!!؟؟؟
شاید تو این سنسور فقط RECIVE داریم؟؟؟
دیتا شیتش رو گذاشتم....


فایل‌(های) پیوست شده
.zip   ADJD-S371-Q999.zip (اندازه: 267.81 KB / تعداد دفعات دریافت: 36)

ابراهیم خوانین زاده
 ساعت کار بدن انسان بیشتر وقتها, کمتر از 657.000 ساعت است و بعد از آن از کار می افتد  :():کمی فکر کنیم.....

259-734

[/url]
وبلاگ من


وب سایت من
[url=http://www.ebka-intelligent.com/]
آموزش کار با rfm12b,آموزش کامل ای سی ds1307, آموزش اتصال ماژول em18,سنسور رنگ ,سنسور گاز, و ... در وبلاگ من خواهید دید



۱۹-آبان-۱۳۸۹, ۱۵:۲۹:۱۸
وب سایت ارسال‌ها
پاسخ
t3r!p3000 آفلاین
         
*****

ارسال‌ها: 5,050
موضوع‌ها: 83
تاریخ عضویت: اردیبهشت ۱۳۸۵

تشکرها : 34447
( 17423 تشکر در 5116 ارسال )
ارسال: #74
RE: سوالهای برنامه نویسی با کامپایلر BASCOM
نه !

ادرس هاشو اگه با هم فرق کنه می تونی تا 127 تا رو تو یه باس بذاری !

۱۹-آبان-۱۳۸۹, ۱۵:۳۶:۴۶
ارسال‌ها
پاسخ
تشکر شده توسط : EBKA
EBKA آفلاین
مخترع
****

ارسال‌ها: 1,099
موضوع‌ها: 89
تاریخ عضویت: آذر ۱۳۸۸

تشکرها : 1655
( 2792 تشکر در 982 ارسال )
ارسال: #75
RE: سوالهای برنامه نویسی با کامپایلر BASCOM
(۱۹-آبان-۱۳۸۹, ۱۵:۳۶:۴۶)Gawky نوشته است: نه !

ادرس هاشو اگه با هم فرق کنه می تونی تا 127 تا رو تو یه باس بذاری !
یه کم بیشتر توضیح میدی!!!
منظورت رو نفهمیدم

ابراهیم خوانین زاده
 ساعت کار بدن انسان بیشتر وقتها, کمتر از 657.000 ساعت است و بعد از آن از کار می افتد  :():کمی فکر کنیم.....

259-734

[/url]
وبلاگ من


وب سایت من
[url=http://www.ebka-intelligent.com/]
آموزش کار با rfm12b,آموزش کامل ای سی ds1307, آموزش اتصال ماژول em18,سنسور رنگ ,سنسور گاز, و ... در وبلاگ من خواهید دید



۱۹-آبان-۱۳۸۹, ۱۷:۴۷:۴۳
وب سایت ارسال‌ها
پاسخ
t3r!p3000 آفلاین
         
*****

ارسال‌ها: 5,050
موضوع‌ها: 83
تاریخ عضویت: اردیبهشت ۱۳۸۵

تشکرها : 34447
( 17423 تشکر در 5116 ارسال )
ارسال: #76
RE: سوالهای برنامه نویسی با کامپایلر BASCOM
مهندس پست قبلیش رو بخون !

دقت کنی واسه ارسال و دریافت باید یه آدرسی بدی !

رو یه باس می تونن دیتا زیادی وسیله باشه !
ولی آدرس هر وسیله فرق داره!!!
ادرس دیتاها باید یکی باشه تا اون وسیله بخونه یا بفرسته و ....
۱۹-آبان-۱۳۸۹, ۱۹:۳۹:۰۶
ارسال‌ها
پاسخ
تشکر شده توسط : reza555, EBKA
EBKA آفلاین
مخترع
****

ارسال‌ها: 1,099
موضوع‌ها: 89
تاریخ عضویت: آذر ۱۳۸۸

تشکرها : 1655
( 2792 تشکر در 982 ارسال )
ارسال: #77
RE: سوالهای برنامه نویسی با کامپایلر BASCOM
علی جان با سنسور شبیه به این کار کردی؟؟؟؟
من سنسور رو خریدم ولی نمیدونم چجوری راش بندازم؟؟؟

ابراهیم خوانین زاده
 ساعت کار بدن انسان بیشتر وقتها, کمتر از 657.000 ساعت است و بعد از آن از کار می افتد  :():کمی فکر کنیم.....

259-734

[/url]
وبلاگ من


وب سایت من
[url=http://www.ebka-intelligent.com/]
آموزش کار با rfm12b,آموزش کامل ای سی ds1307, آموزش اتصال ماژول em18,سنسور رنگ ,سنسور گاز, و ... در وبلاگ من خواهید دید



۱۹-آبان-۱۳۸۹, ۲۳:۳۳:۱۸
وب سایت ارسال‌ها
پاسخ


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
Question [سوال] کمک در برنامه نویسی دور موتور خودرو HPower 6 2,592 ۲۵-آبان-۱۳۹۷, ۲۲:۰۳:۵۷
آخرین ارسال: alimogmov
  برنامه نویسی AVR به روش فلوچارتی با نرم افزار FLOWCODE AVR V3 koorosh.k 8 12,641 ۲۴-آذر-۱۳۹۵, ۲۲:۴۶:۰۸
آخرین ارسال: 1نفر
  BASCOM-AVR V2.0.5.0 + Patch p3rtic@n 2 5,472 ۰۵-شهریور-۱۳۹۴, ۱۵:۴۵:۰۱
آخرین ارسال: ehsan2774
  برنامه نویسی بیسکام soy1345 17 13,270 ۲۳-مرداد-۱۳۹۴, ۱۷:۱۷:۵۶
آخرین ارسال: MN-123
  آموزش برنامه نویسی ربات مسیریاب kamran0080 3 10,199 ۲۶-تير-۱۳۹۴, ۱۷:۲۵:۳۶
آخرین ارسال: sona2
Exclamation کمک در مورد برنامه نویسی avr . saeedsniper2 5 3,585 ۱۵-اردیبهشت-۱۳۹۴, ۰۹:۲۰:۳۳
آخرین ارسال: kimiafars
  سوال در مورد انتخاب سنسور و برنامه نویسی dj kaka 10 6,397 ۰۲-اسفند-۱۳۹۳, ۰۹:۱۱:۰۳
آخرین ارسال: dj kaka
  کمک در برنامه نویسی mehdi_mecha 1 2,363 ۰۸-بهمن-۱۳۹۳, ۱۵:۵۸:۰۵
آخرین ارسال: a.mehran
  خطا در نصب کامپایلر ۶٫۲ ATMEL Studio cinapa 0 1,536 ۰۷-بهمن-۱۳۹۳, ۱۵:۲۸:۳۱
آخرین ارسال: cinapa
  [آموزشی] Exclamation دانلود ویرایش دوم کتاب اصول کار با میکرو کنترلر های avr و کامپایلر بسکام a.mehran 0 3,259 ۱۷-آبان-۱۳۹۳, ۱۸:۵۵:۳۰
آخرین ارسال: a.mehran

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 9 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS