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


نظرسنجی: شما به این آموزش از 100 امتیاز چند امتیاز می دهید
100
75
50
25
0
[نمایش نتایج]
 
 
امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
آموزش برنامه نویسی به زبان بیسیک
#1
سلام دوستان
در این قسمت تصمیم گرفتیم برنامه نویسی با بسکام را آموزش بدیم
اگر سوالی و یا نظری داشتید در این قسمت مطرح نکنید در غیر این صورت پاک می شوند
دیدن لینک ها برای شما امکان پذیر نیست. لطفا ثبت نام کنید یا وارد حساب خود شوید تا بتوانید لینک ها را ببینید.

امیدوارم مفید باشند
موفق باشید:)
پاسخ
#2
قبل از شروع باید با منو های بسکام آشنایی پیدا کنید
منوی File :
1-گزینه New : با زدن اين گزينه يك صفحه جديد براي نوشتن برنامه جديد باز مي شود .
2-گزینه Open : با اين گزينه مي توانيد برنامه اي را كه قبلا ایجاد کرده اید باز و تغییرات لازم را انجام دهید.(البته در صورت نداشتن برنامه بسکام می توانید کد های خود را در notepad نوشته و با پسوند bas ذخیره کنید و در بسکام اجرا کنید)
3-گزینه Close : با انتخاب اين گزينه پنجره اي كه براي نوشتن برنامه باز شده ؛ بسته مي شود.
4- گزینه Save و Save as : اين دو گزينه براي ذخيره كردن پروژه به كار ميروند.
5-Print Preview وPrint : اين دو گزينه براي چاپ كردن برنامه استفاده ميشوند با زدن گزينه Print Preview مي توانيد نسخه قابل چاپ را قبل از چاپ مشاهده كنيد.
6- Exit : با زدن اين گزينه برنامه بسكام به طور كامل بسته مي شود .

منوی Edit :
1-گزینه های UndoوRedo :از اين دو گزينه براي رفتن به تغییرات قبل و بعد استفاده می شود
2-گزینه های Copyو CutوPaste : از این گزینه ها به ترتیب برای کپی کردن اطلاعات ،بریدن اطلاعات و همچنین چسباندن اطلاعات استفاده می شود.

3-گزینه های Find next وFind : اين دو گزينه براي جستوجو کردن متنی در برنامه نوشته شده مي باشد. با کلیک بر روی گزینه Find یک صفحه جدید باز می شود حال متنی که باید جستجو شود را در قسمت Text To Find نوشته و کلیدOk را انتخاب کنید و برای دیدن نتایج بیشتر رو گزینه Findnext کلیک کنید .
4-گزینه Replace : با اين گزينه شما مي توانيد متني را جايگزين متن موجود در برنامه نماييد ، در قسمت Text To Find کلمه که باید تغییر کند را وارد کنید و در قسمت Replace Wath متني را که بايد جايگزين شود تايپ مي کنيد که در نهایت جای این دو جابجا می شود
5- گزینه Goto: برای پرش به یک خط از این دستور استفاده می شود.
6-گزینه های IndentBlock و UnindentBlock : اين دو گزينه متن انتخاب شده را به اندازه يك Tab به چپ يا راست منتقل ميكند .
7-گزینه های Remark/Unremark Block : با اين گزينه ميتوانيد بخشي از برنامه نوشته شده را علامت گزاري کنيد .
8-گزینه ی insert ascii : با انتخاب اين گزينه ي پنجره اي باز مي شود که در آن کد اسکي کارکتر هاي مختلف وجود دارد ، با کليک کردن روي هر مورد ، کد مذکور به برنامه اضافه مي شود .

منویView :
1-گزینه ی Pin Layout: با انتخاب اين گزينه پنجره اي باز مي شود ، که در آن پايه هاي ميکرو مورد استفاده و شکل آن آورده شده است ، با بردن موس روي هر پايه نقش آن در زير تصوير نوشته مي شود .
2-گزینه ی Pdf Veiwer: با انتخاب اين گزينه شما ميتوانيد فایل pdf خود را در برنامه بسکام باز کرده و مشاهده کنید
3- گزینه Error Panel: با انتخاب اين گزينه پنجره ي خطاها باز مي شود ، اين پنجره بعد از کامپايل کردن برنامه ، در صورت و جود خطا خودکار باز مي شود .
4-گزینهTip : با انتخاب اين گزينه ي پنجره Tip باز مي شود ، در اين پنجره نکاتي در مورد برنامه نويسي و ... وجود دارد .

منویProgram :
1-گزینه Compile : با انتخاب اين گزينه برنامه نوشته شده در صورت نداشتن خطا به زبان ماشين ترجمه مي شود وفايل هاي از قبيل هگز و گزارش و...ساخته مي شود .
2-گزینه Syntax check : با انتخاب اين گزينه برنامه از نظر غلط املايي چك مي شود (با زدن گزينه Compile ديگر نيازي به زدن اين گزينه نمي باشد).
3-گزینه ی Show result : با انتخاب اين گزينه پنجره اي باز مي شود كه در آن یک گزارش كلي از برنامه وجود دارد.
4-گزینهSimulate : با انتخاب اين گزينه پنجره ای باز می شود و شما می توانید برنامه خود ر شبیه سازی کنید، این پنجره شامل کی پد و مبدل آنالوگ به دیجیتال و ال سی دی است.
5-گزینهSend To Chip : با انتخاب اين گزينه وارد محيط پروگرام كردن ميكرو مي شويد که شما می توانید با پروگرامری که در بسکام پشتیبانی می شود میکرویکنترلر خود را پروگرام کنید.
منوی Tools: (در اینجا به معرفی قسمت های کاربردی و مهم می پردازیم)
1-گزینه Terminal Emulator: با کلیک بر روی این گزینه می توانید داده های ارسالی و دریافتی در ارتباط سریال RS-232 بین میکرو و کامپیوتر را مشاهده کنید.
2-گزینهLcd Desiner: با این گزینه می توانید کاراکتر های دلخواه خود را طراحی نمایید و بر روی ال سی دی نمایش دهید.
3-گزینه Graphic Convertor:با کلیک بر روی این گزینه پنجره ای باز می شود که از این پنجره برای تبدیل تصویر با پسوند BMP به تصویری با پسوند BGF که قابل نمایش بر روی ال سی دی گرافیکی است ظاهر می شود.
منوی Option:
1-گزینه Compiler:از این گزینه برای کم کردن حجم خط های برنامه نوشته شده استفاده می شود و در این قسمت :
1-گزینه ی Chip:با این گزینه می توانید میکرو مورد استفاده ی خود را( به جای نوشتن دستور $regfile در برنامه) انتخاب کنید
2-گزینه Output:با این گزینه می توانید فایلهایی که مایل به ایجاد آنها پس از کامپایل هستیم را انتخاب کرد .
3-گزینه یComunication: نرخ انتقال ارتباط سریال توسط این گزینه تعیین می شود که می توان یک نرخ جدید نیز تعیین کنید
4-گزینه12C'SPI'1Wire: توسط این گزینه می توان پایه های مربوط به ارتباطات 12C SPI 1WIRE را تعیین کنید.
5-گزینهLCD:از این گزینه برای تعریف ال سی دی استفاده می شود که در این قسمت می توانیم پایه های اتصال ال سی دی و نوع ال سی دی و.. را تعریف کنیم.
2- گزینه PROGRAMME:در این منو شما می توانید پروگرامر مورد نظر خود را انتخاب کنید.
3- سایر گزینه: شما می توانید تنظیمات مربوط را انجام دهید.
منوی Window:
در این گزینه شما می توانید حالت مشاهده صفحه بسکام و... را تنظیم کنید این قسمت تاثیری در برنامه نوشته شده ندارد
منوی Help:
1-گزینهAbout: این قسمت شامل اطلاعاتی در مورد برنامه بسکام نسخه ای که استفاده می کنید و... مشاهده می کنید.
2-گزینه Index: نظر شخصی من این است که کامل ترین آموزش نرم افزار بسکام در این قسمت قرار دارد و شما می توانید با سرچ هر دستور در قسمت Index اطلاعات کافی در مورد آن دستور پیدا کنید.
3- سایر گزینه ها : مربوط به شرک سازنده بسکام یعنی MCS Electronic است و به معرفی این شرکت می پردازد
موفق باشید:)
پاسخ
#3
دستورات کلی بسکام
این نام گذاری به این دلیله که این دستورات در تمامی برنامه ها به کار می روند
در بسکام اولین و مهم ترین دستور تعریف میکروکنترلر است برای این کار از دستور
کد php:
$regfile=”microcode” 
استفاده می شود که microcode کدی است که به جای نام میکروکنترلر می نویسیم به طور مثال m8def.dat برای آی سی Atmega8 استفاده می شود و m16def.dat برای Atmega16 وm32def.dat برای آی سی Atmega32 استفاده می شود (در دیدن لینک ها برای شما امکان پذیر نیست. لطفا ثبت نام کنید یا وارد حساب خود شوید تا بتوانید لینک ها را ببینید.
می توانید کد های تمامی میکروکنترلر را مشاهده کنید)
در خط دوم باید فرکانس کاری میکروکنترلر را مشخص کنیم که از دستور
کد php:
$crystal=
استفاده می شود که x برحسب Hz است بطور مثال برای استفاده از فرکانس 4MHz باید x را مساوی 4000000 قرار داد. در اکثر میکروکنترلر های AVR به صورت پيش فرض نوسان ساز داخلي1MHz تنظیم شده است . در صورتی که بخواهیم فرکانس را تغییر دهیم باید فیوز بیت ها را نیز تغییر دهیم که در قسمت های آینده کامل توضیح می دهیم نکته اصلی این است که تعیین فرکانس لازم است چون بیشتر دستور ها از این فرکانس استفاده می کنند (مانند wait ).
در صورت تعریف اشتباه کریستال زمان بندی های میکرو تاخیر ها و ... اشتباه می شوند .توجه شود که اکثر دستورات ( همچون پورت سریال و ارتباطات دیگر - LCD و ... ) زمان پارمتر مهمی محسوب می شود و بسکام با توجه به کریستال زمان مورد نظر را ایجاد می کند و در صورت تعریف اشتباه، دستور مورد نظر اجرا نشده و یا دیتای اشتباه ارسال می کند .
یادداشت نویسی:
گاهی وقت ها نیاز به نوشتن تعدادی یادداشت داریم که در برنامه نوشته می شوند و فقط جهت راهنمایی استفاده می شوند و در برنامه اصلی کامپایل نمی شوند. برای این کار 2 راه وجود دارد 1- استفاده از دستورrem و2-استفاده از علامت ‘
پایان برنامه:
برای پایان دادن به برنامه شما باید از دستور end استفاده کنید که این دستور باید در پایان برنامه قرار گیرد و اگر نباشد کامپایلر خطا می گیرد
کد php:
$Romstart=address 
با این دستور مشخص می کنیم که پروگرام کردن حافظه فلش از چه مکانی شروع شود اگر این دستور را استفاده نکنید کامپایلر به طور خود کار آدرس H0000& را استفاده می کند (این دستور اختیاری است)
Config
از این دستور برای استفاده از امکانات میکروکنترلر استفاده می شود که در جای مربوطه توضیحات کامل داده می شود
بدنه ی یک برنامه در بسکام به صورت زیر می باشد :
1-معرفي ميکروکنترلر
2-تعيين مقدار کريستال
3-پيکربندي امکانات جانبي(اختیاری)
4-معرفي متغير ها (اختیاری)
5-شروع حلقه (اختیاری)
6-برنامه اصلي (اختیاری)
7-پايان حلقه (اختیاری)
8-پايان برنامه
9-زير برنامه ها (اختیاری)
جای موارد 8 و 9 را می توان جابجا کرد
متغیر ها:
کد php:
Dim var as data type 
از این دستور برای تعریف یک متغیر استفاده می شود var نام متغیر است و data type نوع متغییر است که می توان با توجه به جدول زیر تعریف کرد
İmage
مثال
کد php:
1-Dim a as bit    
2
-Dim a as byte 
3
-Dim a as integer 
4
-Dim a as word 
5
-Dim a as long 
6
-Dim a as single 
7
-Dim  a as string*10 
1-متغیر a می تواند مقدار 0 یا 1 را داشته باشد
2-متغیر a می تواند مقدار 0-255 را داشته باشد
3-متغیر a می تواند مقدار32767- تا 32767 را داشته باشد
4-متغیر a می تواند مقدار 0-65535 را داشته باشد
5-متغیر a می تواند مقدار -2147483648 تا 214783647 را داشته باشد
6-متغیر a می تواند مقدار 1.5*10^-45 تا 3.4*10^38 را داشته باشد
7-یعنی یک متغیر string به طول نهایت 10 کارکتر
کار روی متغیرها
در جدول زیر تمامی عملگر های ریاضی را می بیند
İmage
مثال:
کد php:
A=b+c
A
=b-c
A
=b/c
A
=b*c
a
=b^
دستورincr با این دستور می توان یک واحد به متغیر اضافه کرد
مثال:
Incr a
البته برای اضافه کردن یک واحد می توان از این روش نیز استفاده کرد a=a+1
دستورdecr با این دستور می توان یک واحد از متغیر کم کرد
مثال:
decr a
البته برای کم کردن یک واحد می توان از این روش نیز استفاده کرد a=a-1
البته این روش(a=a+1) قابل تعمیم است یعنی به جای 1 می توان هر عدد دیگری نیز قرار داد
Alias
از دستور برای تغییر نام یک متغیر استفاده می شود( برای پورت ها نیز استفاده می شود)
مثال:
کد php:
ab alias 10 
حالا در هرجای برنامه ab نوشته شود مقدار 10 استفاده می شود
ورودي وخروجي :
مرحله ی اول مشخص کردن نوع پورت است که با این دستور انجام می شود
کد php:
Config portx=state 
Portx پورت استفاده شده و state می تواند input و output باشد اگر ورودی بخواهیم باید از input و اگر خروجی موردنیاز باشد ازoutput استفاده می کنیم
مثال:
کد php:
Config porta=output 
که porta را به عنوان خروجی استفاده می کنیم
کد php:
Config porta=input 
Porta به عنوان ورودی تعریف می شود
همچنين شما با این دستور مي توانيد يک پايه از پورت را به عنوان ورودي يا خروجي معرفي کنيد .
مثال :
کد php:
Config PORTA.0 Input 
پايه شماره 0 از پورت a به عنوان ورودي تعريف شده است.
کد php:
Config PORTA.0 Output 
پايه شماره 0 از پورت a به عنوان خروجي تعريف شده است .
نکته:در صورتی که یک پورت تعریف نشود توسط کامپایلر به طور خودکار ورودی تعریف می شود
نکته:در برنامه نویسی برای خروجی باید از PORTX استفاده کرد و برای ورودی باید از دستور PINX استفاده کرد
چند دستور کاربردی برای پورت ها:
Toggle
اين دستور يک بايت يا بيت را برعکس ميکند، بايت ميتواند يک پورت یا یک پین از پورت باشد
Set
اين دستور يک بيت يا بايت را يک ميکند، بيت ميتواند يک پين از پورت باشد.
Reset
اين دستور يک بيت يا بايت را صفر ميکند، بيت ميتواند يک پين از پورت باشد.
Alias
اين دستور قبلا توضیح داده شده است که در اینجا برای تغییر نام یک پورت استفاده می شود
کد php:
مثال:
1-Toggle porta.0 
2
-toggle porta
3
-Set porta.0 
4
-Reset porta.0 
5
-Led alias porta.0 
1-پایه a.0 برعکس می شود
2-تمام پورت a یرعکس می شود
3-پایه a.0 یک می شود می توان از این دستور نیز استفاده کردporta.0=1
4-پایه a.0 صفر می شود می توان از این دستور نیز استفاده کردporta.0=0
5-در بزنامه می توان از کلمه led به جای porta.0 استفاده کرد
کد php:
Bitwait PINX Set/Reset 
در لحظه ای که میکروکنترلر به این دستور می رسد اجرای برنامه ها را متوقف می کند و تا وقتی که شرط برقرار نشود بقیه ی برنامه ها اجرا نمی شوند
pinx نام پایه ای است که مدام در حال چک شدن است،SET/RESET شرط دستور است وقتی set است ،یعنی زمانی که پایه یک شد ادامه ی برنامه ها اجرا می شود زمانی که reset باشد تا پایه صفر نشود میکروکنترلر به خط بعدی نمی رود
مثال
کد php:
Bitwait Pina.0 Set 
میکروکنترولر منتظر می ماند تا پایه a.0 یک شود و هنگامي که پایه A.0 يک شد ،بقیه ی دستورات اجرا مي شود
دستورات حلقه :
زمانی که بخواهیم یک برنامه مداوم اجرا شود از دستورات حلقه استفاده می شود
نکته:برنامه اصلی باید در یک حلقه باشد وگر نه برنامه یک بار اجرا می شود و دیگر اجرا نمی شود
حلقه do-loop :
شروع اين حلقه با Do و پايان آن با Loop است :
کد php:
Do
برنامه 
Loop 
این حلقه را می توان به صورت شرطی نیز استفاده کرد که شرط با دستور Loop Until مشخص می شود
کد php:
Do
برنامه
Loop until a
=10 
با این دستور هنگامی که شرط برقرار شود از حلقه خارج شده و برنامه از خط بعداز loop اجرا می شود
کد php:
مثال
Dim a 
as byte   
Do  
a=a+1
Loop until a
=50 
این دستور وقتی که مقدار a به 50 برسید میکر کنترلر را از برنامه حلقه خارج می کند
مثالی دیگر:
کد php:
Do
porta.0=1
Loop until Pinb.2
=
Do
porta.0=0
Loop until pinb.2
=
با این برنامه وقتی که پایه b.2 صفر باشد پایه a.0 یک است و وقتی پایه b.2 یک شود پایه a.0 صفر می شود
حلقهfor-next :
فرم کلی این دستور به این صورت می باشد
For var=start to end
برنامه
Next var
Var یک متغییر است که از مقدار start شروع می شود و به end پایان می رسد
کد php:
مثال:
Dim a as byte
For a=0 to 10
A
=a+1
Next a 
حلقه while-wend :
فرم کلی این دستور به این صورت می باشد
While condition
برنامه
Wend
این حلقه تا زمانی که مقدار condition نقض نشود اجرا می شود
مثال:
کد php:
Dim a as byte
While a<10
A
=a+1
Wend 
پرش:
براي پرش از يک قسمت برنامه به قسمت ديگر مي توان از دستور Jmp يا Goto استفاده کرد (از دستورات فوق به عنوان حلقه نيز مي توان استفاده کرد) .
کد php:
مثال(استفاده به جای حلقه) : 
Hadi
برنامه نوشته شده 
Jmp Hadi 
مثال 
(استفاده به عنوان حلقه) : 
Hadi
برنامه نوشته شده 
Goto Hadi 
مثال(استفاده برای پرش)
hadi:
حال در هر جای برنامه بنویسیم jmp hadi و یا بنویسیم goti hadi برنامه به lable hadi پرش می کند
دستورات تاخير :
براي ايجاد تاخير در برنامه از دستور wait استفاده مي شود.
این دستور 3 بازه زمانی دارد
Waitus X :اين دستور براي ايجاد تاخير ميکرو ثانيه اي مي باشد. X مقدار تاخير است که بين 1تا 65535 ميکرو ثانيه مي باشد.
Waitms X :اين دستور براي ايجاد تاخير ميلي ثانيه اي مي باشد X مقدار تاخير است که بين 1تا 65535 ميلي ثانيه مي باشد.
Wait X :اين دستور براي ايجاد تاخير ثانيه اي مي باشد .X مقدار تاخير است که عددي بيشتر از يک ثانيه مي باشد.
Delay : اين دستور يک تاخير 1000 میکرو ثانيه ايجاد مي کند .
نکته 1:توجه کنيد که هر جا دستور wait X به کار رود برنامه در آن مکان به اندازه X ثانیه متوقف مي شود
نکته 2: دستورات تاخيري دقيق نبوده برای ایجاد تاخیر دقیق باید از تایمر ها استفاده کرد
نکته 3: در صورت استفاده از وقفه ها و فعال شدن وقفه در زمان تاخير مدت زمان اجراي برنامه وقفه هم به زمان تاخير اضافه مي شود .
نکته 4: در استفاده از تاخیر میکرو ثانیه نمی توان متغیری در نظر گرفت و فقط باید عدد وارد کرد
دستو شرطی If :
حالت 0:
فرم کلی این حالت بدین صورت است
کد php:
If  expression  then  statement 
Expression شرط انجام دستور است وstatement برنامه ای که باید اجرا شود این فرم زمانی جواب می دهد که تصمیم دارید یک کار انجام دهید ولی زمانی که خواستید چند کار پیاپی انجام دهید از این فرم استفاده کنید
کد php:
If  expression  then
برنامه ها
End 
if 
حالت1 :
کد php:
If  expression  then
برنامه 1
Else
برنامه 2
End 
if 
اگر شرط برقرار باشد برنامه 1 اجرا می شود در غیر اینصورت برنامه 2 اجرا می شود
حالت2:
کد php:
If  expression  then
برنامه 1
Elseif[expression2 then]
برنامه 2
Else
برنامه3
End 
if 
اگر شرط اول برقرار باشد برنامه 1 و اگر شرط شرط 1 برقرار نباشد وشرط2 برقرار باشد برنامه2 اجرا می شود و اگر هیچکدام برقرار نباشد برنامه 3 اجرا می شود
کد php:
مثال:
If 
pina.0=1 then
Portb.0
=1
Elseif pina.1=1 then
Portb.1
=1
Else 
Portb.2=1
End 
if 
موفق باشید:)
پاسخ
#4
دوستان فرض کنید شما می خواهید تعداد زیادی سنسور را با میکرو کنترلر راه اندازی کنید از آنجایی که هر سنسور را باید دقیقا به یک پایه adc میکرو وصل کنید پس یا باید میکرو کنترلر مورد استفاده خود را عوض کنید یا از آی سی های مالتی پلکسر استفاده کنید در اینجا نحوه استفاده از مالتی پلکسر 4067 را توضیح می دهیم
سخت افزار
دیتاشیت این آی سی را در شکل زیر مشاهده می کنید
İmage
برای راه اندازی این آی سی باید پایه 12 را به منفی پایه 24 را به مثبت پایه 15 را به منفی(راه انداز آی سی) پایه های 2-9 و16-23 را به سنسور ها و پایه 1 را به پایه adc میکرو و پایه های 10 و 11 و 13 و 14 به چهارتا از پایه های I/O میکرو وصل کنیم
برنامه نویسی
زمانی که کد مربوط به هر پایه را با استفاده از پایه های ABCD وارد کنیم و پایه مربوطه به پایه یک وصل می شود و حالا می توانیم با استفاده مبدل آنالوگ به دیجیتال مقدار پایه را بخوانیم .کد هر پایه را در جدول زیر می بینید
İmage
مثال
پایه های آی سی را به صورت زیر وصل می کنیم
A==>portb.0
B==>portb.1
C==>portb.2
D==>portb.3
پایه 1 را به adc0 وصل می کنیم و lcd را مانند زیر به آی سی وصل می کنیم
Db4 = Portd.1 , Db5 = Portd.2 , Db6 = Portd.3 , Db7 = Portd.4 , E = Portd.0 , Rs = Portc.5
یک آرایه به اندازه 16 و به نام a تعریف می کنیم
روش خواندن از آی سی به این صوت است که کد مربوطه به هر پایه را توسط 4 پایه که abcd به مالتی پلکسر می فرستیم و سپس مقدار سنسور مربوطه را با adc می خوانیم
نکته:این آی سی دو طرفه است به عنوان مثال وقتی چهار پایه ABCD را صفر می کنیم دو پایه 1 و 9 به هم وصل می شوند و از هر کدام که ولتاژ را دهیم از دیگری می توانیم در یافت کنیم
متن کامل پروژه را از لینک زیر می توانید دانلود کنید
دیدن لینک ها برای شما امکان پذیر نیست. لطفا ثبت نام کنید یا وارد حساب خود شوید تا بتوانید لینک ها را ببینید.

موفق باشیدAngel
پاسخ
مشترک شدن در این موضوع


پرش به انجمن:

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

انتخاب پوسته :

دسترسی سریع
درباره ما
انجمن سرزمین الکترونیک در 20 شهریور 91 تاسیس شده ، که همیشه سعی کرده با ظاهری متفاوت و سرعتی خوب رضایت کاربران را جلب کند ، امیدواریم توانسته باشیم گامی کوچک در پیشرفت فناوری در ایران برداشته باشیم...
نیرو گرفته از MyBB 1.8.6 با فارسی سازی مای بی بی ایران - طراحی شده در : ملت دیزاین
© تمامی حقوق برای انجمن سرزمین الکترونیک محفوظ می باشد .

پوسته‌ی انجمن: