امتیاز موضوع:
  • 7 رأی - میانگین امتیازات: 3.29
  • 1
  • 2
  • 3
  • 4
  • 5
آموزش بیسکام و کدویژن با پروژه های عملی ( بدون جزوه و فیلم )
نویسنده پیام
aKaReZa75 آفلاین
حسین باقری
*****

ارسال‌ها: 1,483
موضوع‌ها: 21
تاریخ عضویت: مرداد ۱۳۹۱

تشکرها : 4898
( 4575 تشکر در 1473 ارسال )
ارسال: #12
RE: آموزش بیسکام و کدویژن با پروژه های عملی
سلام دوستان.
از این به بعد هر برنامه ای رو که قرار میدیم دیگه توضحات اضافی رو نمیدم.(بدلیل اینکه وقت ندارم)
هر کی هر سوالی داشت میتونه همینجا مطرح کنه یا ایمیل بزنه یا زنگ بزنه یا .......
امروز یک برنامه واسه راه اندازی lcd های کارکتری واستون قرار دادم.

برنامه به زبان بیسیک:
کد:
$regfile = "m8def.dat"
$crystal = 8000000

Config Lcdpin = Pin , Db7 = Portd.7 , Db6 = Portd.6 , Db5 = Portd.5 , Db4 = Portd.4 , E = Portd.3 , Rs = Portd.2
Config Lcd = 16 * 4

Dim A As Word
Dim B As Word

Cursor Off

Do
Locate 1 , 1
Lcd "Www.IranLed.Com"
Locate 2 , 1
Lcd "h.unique"
Locate 3 , 1
Lcd "A=" ; A ; "Ta"
Locate 4 , 1
Lcd "B=" ; B ; "Ta"
Waitms 500
Cls
A = A + 2
B = B + 3
Waitms 250
Loop

End 'end program

برنامه به زیان C:
کد:
#include <mega8.h>
#include <alcd.h>
#include <stdio.h>
#include <delay.h>

unsigned int a;
unsigned int b;

char aa[20];
char bb[20];

void main(){
lcd_init(16);
do{
sprintf(aa,"A=%d%.Ta",a);
sprintf(bb,"B=%d%.Ta",b);
lcd_gotoxy(0,0);
lcd_putsf("Www.IranLed.Com");
lcd_gotoxy(0,1);
lcd_putsf("h.unique");
lcd_gotoxy(0,2);
lcd_puts(aa);
lcd_gotoxy(0,3);
lcd_puts(bb);
delay_ms(500);
lcd_clear();
a=a+2;
b=b+3;
delay_ms(250);
}while(1);
}

اینم شبیه ساز:
[تصویر:  simu_lcd_c_b.jpg]

توضیحات برنامه بیسیک:
1.برای پیکر بندی lcd کارکتری در بیسیک از دستور:
کد:
Config Lcdpin = Pin , Db7 = Portd.7 , Db6 = Portd.6 , Db5 = Portd.5 , Db4 = Portd.4 , E = Portd.3 , Rs = Portd.2
استفاده میشود.

2.بعد از پیکر بندی lcd باید مدل آنرا نیز تعریف کنیم.
کد:
Config Lcd = 16 * 4

3.برای تغیر وضعیت نشانگر از دستور Cursor استفاده میکنم.
کد:
Cursor Off
نشانگر خاموش
Cursor On
نشانگر روشن و ثابت می ماند.
Cursor Blink
نشانگر چشمک میزند.
Cursor Noblink
نشانگر چشمک نمیزند.

4.از دستور Cls برای پاک کردن کل صفحه استفاده میشود.

5.از دستور Locate x,y برای پرش به مختصات x,y استفاده میشود که x نشانگر سطر و y نشاگر سطون میباشد.

6.از دستور lcd برای نمایش متن یا متغیر بر روی lcd استفاده میشود.
کد:
Lcd a
متغیر a را نشان میدهد.
Lcd "IranLed.com"
واژه درون " " را نمایش میدهد.
lcd "hi";a;"bye";b
بترتیب واژه hi و بعد از آن متغیر a و بعد از آن واژه bye و بعد از آن متغیر b نمایش داده می شود.

توضیحات برنامه C:
1.برای پیکر بندی lcd در کدویژن از مسیر:
کد:
Configure/C compiler/librires/alphanumeric/
و مطابق شکل زیر پایه های lcd را مشخص کنید.
[تصویر:  lcd_config_library_c.jpg]

2.در خط اول برنامه باید کتابخانه های زیر را معرفی کنید:
کد:
#include <alcd.h>
#include <stdio.h>

3.درون تابع اصلی ابتدا تعداد سطر های lcd را مشخص میکنمیم:
کد:
lcd_init(16);

4.از دستور:
کد:
lcd_putsf("Www.IranLed.Com");
برای نمایش متن داخل " " در lcd استفاده میشه.

5.از دستور
کد:
lcd_gotoxy(y,x);
برای پرش به مختصات x,y استفاده میشود که y نشانگر سطر و x نشاگر سطون میباشد.

6.از دستور:
کد:
lcd_clear();
برای پاک کردن صفحه نمایش استفاده میشه.

7.از ای مجموع دستور:
کد:
int a;
char b[10];
sprintf(b,"hi=%d",a);
lcd_puts(b);
برای اول نمایش واژه hi و سپس متغیر a استفاده میشود.

تمامی فایل های بیسیک + سی + شبیه ساز همه گی پیوست شده اند.
موفق باشید...


فایل‌(های) پیوست شده
.zip   LCD[ww.IranLed.com].zip (اندازه: 104.32 KB / تعداد دفعات دریافت: 256)

سلام، من حسین باقری هستم، طراح الکترونیک و برنامه نویس میکروکنترلر.
توی کانال یوتیوب من قراراه طراحی انواع بردهای الکترونیکی مثل بردهای تک لایه، دو لایه یا به طور کلی بردهای چند لایه، بردهای مبتنی بر میکروکنترلر، بردهای صنعتی، بردهای الکترونیک قدرت و بردهای فرکانس بالارو یاد بگیریم.
همینطور کدنویسی انواع میکروکنترلرهای 8 بینی مثل میکروکنترلرهای خانواده AVR-STM8، میکروکنترلرهای میبتی بر معماری ARM مثل STM32 و پردازنده های مخصوص اینترنت اشیاء مثل ESP32-ESP8266 و DSPها یاد میگیریم.
در کنار مباحث گفت شده، اصول اندازه الکترونیکی، نحوه صحیح مونتاژ و عیب‌یابی بردهای الکترونیکی، شبیه سازی مدارات مختلف رو هم یاد میگیریم.
اگر علاقه مند به یادگیری موضوعات عنوان شده هستید، به کانال یوتیوب من با آدرس زیر سر بزنید.
https://www.youtube.com/@aKaReZa75
(آخرین ویرایش در این ارسال: ۱۴-شهریور-۱۳۹۱, ۱۰:۲۹:۳۹، توسط aKaReZa75.)
۱۳-شهریور-۱۳۹۱, ۱۲:۱۲:۵۶
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : omid_phoenix, coloop, nazan1n, رسول, abbasalifix, ahmadreza 5452, sammixer, navard, WhiteNoise, behzady, alimogmov, Pixar, md3848, alberto50, milad15m, shoghal, haro, MN-123
aKaReZa75 آفلاین
حسین باقری
*****

ارسال‌ها: 1,483
موضوع‌ها: 21
تاریخ عضویت: مرداد ۱۳۹۱

تشکرها : 4898
( 4575 تشکر در 1473 ارسال )
ارسال: #13
RE: آموزش بیسکام و کدویژن با پروژه های عملی
سلام دوستان امروز یک پروژه ساده واستون قرار دادم.
پروژه امروز یک شمارنده سه رقمی با سون سگمت هستش.به این صورت که اگه logictoggle رو فشار بدیم یک واحد به سون سگمنت اضافه میشه.

مشخصات پروژه:
میکرو کنترل به کار رفته:atmega128
کریستال:8.000.000
زبان برنامه:بیسیک و سی

توجه:تمامی فایل های بیسیک و سی و شبیه ساز رو پیوست کردم.
توجه:اگه این مطلب به دردتون خورد یا هرچیز دیگه ای تشکر کردن(البته با استفاده از گزبنه ی تشکر)رو فراموش نکنید.
توجه:از این به بعد هر برنامه ای رو که قرار میدیم دیگه توضحات اضافی و توضیحاتی رو که قبلا دادم رو نمیدم.(بدلیل اینکه وقت ندارم).
هر کی هر سوالی داشت میتونه همینجا مطرح کنه یا ایمیل بزنه یا زنگ بزنه یا .......

برنامه به زیان بیسیک:
کد:
$regfile = "m128def.dat"
$crystal = 8000000

Config Debounce = 30
Config Portf = Output
Config Porte = Output
Config Portd = Output
Config Pinf.7 = Input

Dim S1 As Word , S2 As Word , S3 As Word

Do
Debounce Pinf.7 , 1 , Button , Sub

If S1 > 9 Then
S1 = 0
Incr S2
End If

If S2 > 9 Then
S1 = 0
S2 = 0
Incr S3
End If

If S3 > 9 Then
S1 = 0
S2 = 0
S3 = 0
End If

Portf = Lookup(s1 , Segment1)
Porte = Lookup(s2 , Segment1)
Portd = Lookup(s3 , Segment1)
Loop

End 'end program

Segment1:
Data &H3F , &H06 , &H5B , &H4F , &H66 , &H6D , &H7D , &H07 , &H7F , &H6F

Button:
Incr S1
Return

برنامه به زیان سی:
کد:
#include <mega128.h>
#include <delay.h>

char segment[10]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};

int s1=0 , s2=0 ,s3=0;

void button();
void main(){
DDRF=0xff;
DDRE=0xff;
DDRD=0xff;
while(1){
if(PINF.7==1) button();

if(s1>9){
s1=0;
s2++;}
if(s2>9){
s1=0;
s2=0;
s3++;}

if(s3>9){
s1=0;
s2=0;
s3=0;}

PORTF=segment[s1];
PORTE=segment[s2];
PORTD=segment[s3];
}
}

void button(){
s1++;
do{
if(PINF.7==0) break;
}while(1);
}

شبیه ساز:
[تصویر:  7semgmet_button_simu_pic.jpg]

توضیحات برنامه بیسیک:
1.دستور debounce:
با این دستور میشه یک کلید رو به میکرو وصل کرد.
فرم کلی این دستور به این صورته:
کد:
DEBOUNCE Px.y , state , label [ , SUB]
مثال:
کد:
Debounce Pinf.7 , 1 , Button , Sub
در این مثال اگر پین f.1 برابر با 1 منطقی شد به لیبل button پرش میکنه.

2.جدول lookup:
با این جدول میشه مقدار مشخصی رو انتخاب کرد.
فرم کلی:
کد:
var = LOOKUP( value, label)
مثال:
کد:
Portf = Lookup(s1 , Segment1)
Segment1:
Data &H3F , &H06 , &H5B , &H4F , &H66 , &H6D , &H7D , &H07 , &H7F , &H6F
در این مثال اگر s1=0 شد یعنی portf=&H3F و اگر s1=1 شد یعنی portf= &H06 و....

توضیحات برنامه سی:
1.آرایه:آرایه مجموعه ای از متغیر های هم نوع هستن که تحت عنوان یک نام مشخص مورد استفاده قرار میگیره.(این دستور معادل جدول lookup در بیسیک هستش)
مثال:
کد:
char segment[10]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};
PORTF=segment[s1];
در این مثال اگه s1=0 شد یعنی portf=0x3F و اگه s1=1 شد یعنی portf=0x06 و....

امید وارم که توضیحات من و این پروژه بهتون کمکی کرده باشه.

موفق باشید.....HeartHeartHeartHeartHeart


فایل‌(های) پیوست شده
.zip   Shomarande Ba 7segment[Www.IranLed.Com].zip (اندازه: 86.98 KB / تعداد دفعات دریافت: 223)

سلام، من حسین باقری هستم، طراح الکترونیک و برنامه نویس میکروکنترلر.
توی کانال یوتیوب من قراراه طراحی انواع بردهای الکترونیکی مثل بردهای تک لایه، دو لایه یا به طور کلی بردهای چند لایه، بردهای مبتنی بر میکروکنترلر، بردهای صنعتی، بردهای الکترونیک قدرت و بردهای فرکانس بالارو یاد بگیریم.
همینطور کدنویسی انواع میکروکنترلرهای 8 بینی مثل میکروکنترلرهای خانواده AVR-STM8، میکروکنترلرهای میبتی بر معماری ARM مثل STM32 و پردازنده های مخصوص اینترنت اشیاء مثل ESP32-ESP8266 و DSPها یاد میگیریم.
در کنار مباحث گفت شده، اصول اندازه الکترونیکی، نحوه صحیح مونتاژ و عیب‌یابی بردهای الکترونیکی، شبیه سازی مدارات مختلف رو هم یاد میگیریم.
اگر علاقه مند به یادگیری موضوعات عنوان شده هستید، به کانال یوتیوب من با آدرس زیر سر بزنید.
https://www.youtube.com/@aKaReZa75
(آخرین ویرایش در این ارسال: ۱۷-شهریور-۱۳۹۱, ۱۸:۰۹:۲۱، توسط aKaReZa75.)
۱۷-شهریور-۱۳۹۱, ۱۲:۵۹:۴۹
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : coloop, omid_phoenix, nazan1n, رسول, abbasalifix, sammixer, navard, helma, WhiteNoise, behzady, persibal, alimogmov, Ambassador, Pixar, alberto50, milad15m, kingcyrus, haro, MN-123
aKaReZa75 آفلاین
حسین باقری
*****

ارسال‌ها: 1,483
موضوع‌ها: 21
تاریخ عضویت: مرداد ۱۳۹۱

تشکرها : 4898
( 4575 تشکر در 1473 ارسال )
ارسال: #14
RE: آموزش بیسکام و کدویژن با پروژه های عملی
سلام دوستان.
امروز یک پرژه دیگه گذاشتم واستون.
این پروژه مثل پروژه ی قبلی با این تفاوت که شمارنده 8رقمش هستش که کار باهاش مشکل تره.و اطلاعات در حافظه EEprom ذخیره میشه و به هر دلیلی اگه میکرو هنگ کرد یا خاموش شد یا ریست شد و یا.... بعده اینکه میکرو روشن شد اطلاعات بر میگرده.

مشخصات پروژه:
میکرو کنترل به کار رفته:atmega32
کریستال:8.000.000
زبان برنامه:بیسیک و سی

توجه:تمامی فایل های بیسیک و سی و شبیه ساز رو پیوست کردم.
توجه:اگه این مطلب به دردتون خورد یا هرچیز دیگه ای تشکر کردن(البته با استفاده از گزبنه ی تشکر)رو فراموش نکنید.
توجه:از این به بعد هر برنامه ای رو که قرار میدیم دیگه توضحات اضافی و توضیحاتی رو که قبلا دادم رو نمیدم.(بدلیل اینکه وقت ندارم).
هر کی هر سوالی داشت میتونه همینجا مطرح کنه یا ایمیل بزنه یا زنگ بزنه یا .......

برنامه به زبان بیسیک:
کد:
$regfile = "m32def.dat"
$crystal = 8000000

Config Portc = Output : Config Portb = Output

Segment Alias Portb

Defbyte S2 , S3 , S4 , S5 , S6 , S7 , S8


Readeeprom S1 , 0
Readeeprom S2 , 1
Readeeprom S3 , 2
Readeeprom S4 , 3
Readeeprom S5 , 4
Readeeprom S6 , 5
Readeeprom S7 , 6
Readeeprom S8 , 7

Main:
Do
Debounce Pind.2 , 1 , Far , Sub
Debounce Pind.3 , 1 , Res , Sub

Portc = Lookup(7 , Segment)
Segment = Lookup(s1 , Segmentdata)
Waitus 25
Portc = Lookup(6 , Segment)
Segment = Lookup(s2 , Segmentdata)
Waitus 25
Portc = Lookup(5 , Segment)
Segment = Lookup(s3 , Segmentdata)
Waitus 25
Portc = Lookup(4 , Segment)
Segment = Lookup(s4 , Segmentdata)
Waitus 25
Portc = Lookup(3 , Segment)
Segment = Lookup(s5 , Segmentdata)
Waitus 25
Portc = Lookup(2 , Segment)
Segment = Lookup(s6 , Segmentdata)
Waitus 25
Portc = Lookup(1 , Segment)
Segment = Lookup(s7 , Segmentdata)
Waitus 25
Portc = Lookup(0 , Segment)
Segment = Lookup(s8 , Segmentdata)
Waitus 25


If S1 > 9 Then : S1 = 0 : Incr S2 : End If
If S2 > 9 Then : S1 = 0 : S2 = 0 : Incr S3 : End If
If S3 > 9 Then : S1 = 0 : S2 = 0 : S3 = 0 : Incr S4 : End If
If S4 > 9 Then : S1 = 0 : S2 = 0 : S3 = 0 : S4 = 0 : Incr S5 : End If
If S5 > 9 Then : S1 = 0 : S2 = 0 : S3 = 0 : S4 = 0 : S5 = 0 : Incr S6 : End If
If S6 > 9 Then : S1 = 0 : S2 = 0 : S3 = 0 : S4 = 0 : S5 = 0 : S6 = 0 : Incr S7 : End If
If S7 > 9 Then : S1 = 0 : S2 = 0 : S3 = 0 : S4 = 0 : S5 = 0 : S6 = 0 : S7 = 0 : Incr S8 : End If
If S8 > 9 Then : S1 = 0 : S2 = 0 : S3 = 0 : S4 = 0 : S5 = 0 : S6 = 0 : S7 = 0 : S8 = 0 : End If
Loop

End

Segmentdata:
Data &H3F , &H06 , &H5B , &H4F , &H66 , &H6D , &H7D , &H07 , &H7F , &H6F

Segment:
Data &H01 , &H02 , &H04 , &H08 , &H10 , &H20 , &H40 , &H80

Far:
Incr S1
Writeeeprom S1 , 0 : Waitms 4
Writeeeprom S2 , 1 : Waitms 4
Writeeeprom S3 , 2 : Waitms 4
Writeeeprom S4 , 3 : Waitms 4
Writeeeprom S5 , 4 : Waitms 4
Writeeeprom S6 , 6 : Waitms 4
Writeeeprom S7 , 7 : Waitms 4
Writeeeprom S8 , 8 : Waitms 4
jmp Main

Res:
S1 = 0 : S2 = 0 : S3 = 0 : S4 = 0 : S5 = 0 : S6 = 0 : S7 = 0 : S8 = 0
Writeeeprom S1 , 0 : Waitms 4
Writeeeprom S2 , 1 : Waitms 4
Writeeeprom S3 , 2 : Waitms 4
Writeeeprom S4 , 3 : Waitms 4
Writeeeprom S5 , 4 : Waitms 4
Writeeeprom S6 , 6 : Waitms 4
Writeeeprom S7 , 7 : Waitms 4
Writeeeprom S8 , 8 : Waitms 4
jmp Main

برنامه به زبان سی:
کد:
#include <mega32.h>
#include <delay.h>

#define segment PORTB

char Segmentdata[10]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};
char Segment[8]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};

eeprom unsigned char s1,s2,s3,s4,s5,s6,s7,s8;

void far();
void res();
void main(){
DDRB=0xff;DDRC=0xff;
do{
if(PIND.2==1) far();
if(PIND.3==1) res();

PORTC=Segment[7];
segment=Segmentdata[s1];
delay_us(25);
PORTC=Segment[6];
segment=Segmentdata[s2];
delay_us(25);
PORTC=Segment[5];
segment=Segmentdata[s3];
delay_us(25);
PORTC=Segment[4];
segment=Segmentdata[s4];
delay_us(25);
PORTC=Segment[3];
segment=Segmentdata[s5];
delay_us(25);
PORTC=Segment[2];
segment=Segmentdata[s6];
delay_us(25);
PORTC=Segment[1];
segment=Segmentdata[s7];
delay_us(25);
PORTC=Segment[0];
segment=Segmentdata[s8];
delay_us(25);

if(s1>9){s1=0;s2++;};
if(s2>9){s1=0;s2=0;s3++;};
if(s3>9){s1=0;s2=0;s3=0;s4++;};
if(s4>9){s1=0;s2=0;s3=0;s4=0;s5++;};
if(s5>9){s1=0;s2=0;s3=0;s4=0;s5=0;s6++;};
if(s6>9){s1=0;s2=0;s3=0;s4=0;s5=0;s6=0;s7++;};
if(s7>9){s1=0;s2=0;s3=0;s4=0;s5=0;s6=0;s7=0;s8++;};
if(s8>9){s1=0;s2=0;s3=0;s4=0;s5=0;s6=0;s7=0;s8=0;};
}while(1);
}

void far(){
s1++;
do{if(PIND.2==0) break;}while(1);
}

void res(){s1=0;s2=0;s3=0;s4=0;s5=0;s6=0;s7=0;s8=0;}

شبیه ساز:
[تصویر:  7segment_pishrafte_counter_photo.jpg]

توضیحات برنامه بیسیک:
1.حافظه EEprom:
این نوع حافظه بر خلاف حافظه ی sram با قطع برق یا ریست شدن میکرو و.... اطلاعات درون آن پاک نمیشه.
تفاوت میان حافظه EEprom با حافظه Flash در اینه که اطلاعات داخل حافظه EEprom قابل تغیره ولی حافظه Flash به اینگونه نیس.
برای نوشتن اطلاعات درون حافظه EEprom داخلی میکرو در بیسکام(بسکام)از دستور زیر استفاده میشه.
کد:
WRITEEEPROM var , address
مثال:
کد:
Writeeeprom S1 , 0
Waitms 4
در این مثال متغیر s1 در آدرس 0 در حافظه EEprom نوشته میشه.
توجه:برای تکمیل شدن عملیات نوشتن در حافظه EEprom داخلی میکرو باید زمانی حدود 4میلی ثانیه یا بیشتر رو وقفه بندازیم.
برای خواندن از حافظه EEprom داخلی میکرو از دستور:
کد:
READEEPROM var , address
استفاده میشه.
مثال:
کد:
Readeeprom S1 , 0
در این مثال اطلاعات موجود در مکان 0 در حافظه EEprom درون متغیر s1 قرار میگیره.
نکته:میشه بجای استفاده از دستورات بالا یک متغیر از نوع EEprom تعریف کرد.
مثال:
کد:
Dim Ee As Eram Byte

توضیحات برنامه سی:
برای نوشتن و خواندن حافظه EEprom در کدویژن برخلاف بیسکام(بسکام) فقط یک روش وجود داره اونم فقط باید یک متغیر از نوع EEprom تعریف کرد.
کد:
eeprom char ee;

موفق باشید...HeartHeartHeartHeart


فایل‌(های) پیوست شده
.zip   7-segment Pishrafte.zip (اندازه: 95.55 KB / تعداد دفعات دریافت: 187)

سلام، من حسین باقری هستم، طراح الکترونیک و برنامه نویس میکروکنترلر.
توی کانال یوتیوب من قراراه طراحی انواع بردهای الکترونیکی مثل بردهای تک لایه، دو لایه یا به طور کلی بردهای چند لایه، بردهای مبتنی بر میکروکنترلر، بردهای صنعتی، بردهای الکترونیک قدرت و بردهای فرکانس بالارو یاد بگیریم.
همینطور کدنویسی انواع میکروکنترلرهای 8 بینی مثل میکروکنترلرهای خانواده AVR-STM8، میکروکنترلرهای میبتی بر معماری ARM مثل STM32 و پردازنده های مخصوص اینترنت اشیاء مثل ESP32-ESP8266 و DSPها یاد میگیریم.
در کنار مباحث گفت شده، اصول اندازه الکترونیکی، نحوه صحیح مونتاژ و عیب‌یابی بردهای الکترونیکی، شبیه سازی مدارات مختلف رو هم یاد میگیریم.
اگر علاقه مند به یادگیری موضوعات عنوان شده هستید، به کانال یوتیوب من با آدرس زیر سر بزنید.
https://www.youtube.com/@aKaReZa75
۱۸-شهریور-۱۳۹۱, ۱۵:۱۶:۰۷
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : coloop, omid_phoenix, nazan1n, hadikh73, رسول, sammixer, navard, WhiteNoise, behzady, ajax007, alimogmov, Ambassador, Pixar, MN-123
coloop آفلاین
تازه وارد

ارسال‌ها: 18
موضوع‌ها: 2
تاریخ عضویت: تير ۱۳۹۰

تشکرها : 55
( 5 تشکر در 2 ارسال )
ارسال: #15
RE: آموزش بیسکام و کدویژن با پروژه های عملی
سلام
آقا خیلی ممنون بابت آموزش های عملی تون

ما همچنان منتظر ادامه آموزش هاتون هستیم.

اگه میبینید یکم استقبال کمه دلیلش اینه که افراد حرفه ای در این انجمن بیشتر از افراد مبتدی هستند.ولی اگه تاپیک کامل بشه یه مرجع خوب میشه برای افراد مبتدی !!!

بسیار ممنون
(آخرین ویرایش در این ارسال: ۲۱-شهریور-۱۳۹۱, ۲۲:۳۱:۱۷، توسط coloop.)
۲۱-شهریور-۱۳۹۱, ۲۲:۲۹:۴۷
ارسال‌ها
پاسخ
تشکر شده توسط : nazan1n, omid_phoenix, alimogmov, Pixar
aKaReZa75 آفلاین
حسین باقری
*****

ارسال‌ها: 1,483
موضوع‌ها: 21
تاریخ عضویت: مرداد ۱۳۹۱

تشکرها : 4898
( 4575 تشکر در 1473 ارسال )
ارسال: #16
RE: آموزش بیسکام و کدویژن با پروژه های عملی
نقل قول: سلام
سلام به روی ماهت.
نقل قول: آقا خیلی ممنون بابت آموزش های عملی تون
خواهش میشه دوسته گلم.
نقل قول: ما همچنان منتظر ادامه آموزش هاتون هستیم.
لطف میکنی شما.امروز یا فردا ولی به احتمال زیاد امروز همین امروز یدونه پروژه واسه هر هفتا وقفه خارجی میزارم.
نقل قول: اگه میبینید یکم استقبال کمه دلیلش اینه که افراد حرفه ای در این انجمن بیشتر از افراد مبتدی هستند.ولی اگه تاپیک کامل بشه یه مرجع خوب میشه برای افراد مبتدی !!!
بله همین طوره.
نقل قول: بسیار ممنون
قربونت برم واسه ابرازه محبتتBiggrin
موفق باشی....

سلام، من حسین باقری هستم، طراح الکترونیک و برنامه نویس میکروکنترلر.
توی کانال یوتیوب من قراراه طراحی انواع بردهای الکترونیکی مثل بردهای تک لایه، دو لایه یا به طور کلی بردهای چند لایه، بردهای مبتنی بر میکروکنترلر، بردهای صنعتی، بردهای الکترونیک قدرت و بردهای فرکانس بالارو یاد بگیریم.
همینطور کدنویسی انواع میکروکنترلرهای 8 بینی مثل میکروکنترلرهای خانواده AVR-STM8، میکروکنترلرهای میبتی بر معماری ARM مثل STM32 و پردازنده های مخصوص اینترنت اشیاء مثل ESP32-ESP8266 و DSPها یاد میگیریم.
در کنار مباحث گفت شده، اصول اندازه الکترونیکی، نحوه صحیح مونتاژ و عیب‌یابی بردهای الکترونیکی، شبیه سازی مدارات مختلف رو هم یاد میگیریم.
اگر علاقه مند به یادگیری موضوعات عنوان شده هستید، به کانال یوتیوب من با آدرس زیر سر بزنید.
https://www.youtube.com/@aKaReZa75
۲۲-شهریور-۱۳۹۱, ۰۹:۴۲:۲۹
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : coloop, omid_phoenix, nazan1n, ehsancompany, mahdi2210, navard, WhiteNoise, Ambassador
omid_phoenix آفلاین
مدیر بخش
*****

ارسال‌ها: 2,238
موضوع‌ها: 108
تاریخ عضویت: شهریور ۱۳۹۱

تشکرها : 12682
( 15433 تشکر در 4574 ارسال )
ارسال: #17
RE: آموزش بیسکام و کدویژن با پروژه های عملی
سلام حسین جونHappy

دستای گلت درد نکنه داداشیClap

فقط چند تا سول؛

1-برنامه ی شمارنده سه رقمی که نوشتی، با کلید شمارش میشه؛

داداش میتونی همون برنامه رو با تایمر، بصورت خودکار فعال کنی؟


2-میشه درمورد Config Debounce = 30 کامل توضیح بدی؟

اینکه چرا بعضی برنامه ها Debounce رو Config نمی کنند و مستقیما میرن سراغ برنامه؟

۲۲-شهریور-۱۳۹۱, ۱۷:۲۴:۵۶
ارسال‌ها
پاسخ
تشکر شده توسط : WhiteNoise
aKaReZa75 آفلاین
حسین باقری
*****

ارسال‌ها: 1,483
موضوع‌ها: 21
تاریخ عضویت: مرداد ۱۳۹۱

تشکرها : 4898
( 4575 تشکر در 1473 ارسال )
ارسال: #18
RE: آموزش بیسکام و کدویژن با پروژه های عملی
نقل قول: سلام حسین جون
سلام عزیز من.
نقل قول: دستای گلت درد نکنه داداشی
فدات شم عزیزم.قابلی نداشت.
نقل قول: 1-برنامه ی شمارنده سه رقمی که نوشتی، با کلید شمارش میشه؛

داداش میتونی همون برنامه رو با تایمر، بصورت خودکار فعال کنی؟
یعنی بدونه اینکه کلید بهش متصل باشه خودش اتوماتیک واسه خودش بشموره؟
اگه منظورت اینه هر چند میلی ثانیه اضافه شه؟
نقل قول: 2-میشه درمورد Config Debounce = 30 کامل توضیح بدی؟
ببین وقتی کلید رو فشار میدی بصورت پیشفرض 25 میلی ثانیه وا میسته و بعده 25 میلی ثانیه اگه وضعیت تغییر نکرده باشه میکرو میفهمه که کلید فشار داده شده و به لیبلش میپره.
با این دستور میشه اون زمان که به صورت پیشفرض 25 میلی ثانیه هستش تغییرش داد باید توجه کنی که اون عدد بر حسب میلی ثانیه هستش!
نقل قول: اینکه چرا بعضی برنامه ها Debounce رو Config نمی کنند و مستقیما میرن سراغ برنامه؟
گفتم که اختیاری چون خودش رو پیشفرض رو 25 میلی ثانیه هستش.اگه کسی خواست اونو تغییر بده با این دستور باید تغییرش بده.

حله داداشی جونم؟؟؟؟

سلام، من حسین باقری هستم، طراح الکترونیک و برنامه نویس میکروکنترلر.
توی کانال یوتیوب من قراراه طراحی انواع بردهای الکترونیکی مثل بردهای تک لایه، دو لایه یا به طور کلی بردهای چند لایه، بردهای مبتنی بر میکروکنترلر، بردهای صنعتی، بردهای الکترونیک قدرت و بردهای فرکانس بالارو یاد بگیریم.
همینطور کدنویسی انواع میکروکنترلرهای 8 بینی مثل میکروکنترلرهای خانواده AVR-STM8، میکروکنترلرهای میبتی بر معماری ARM مثل STM32 و پردازنده های مخصوص اینترنت اشیاء مثل ESP32-ESP8266 و DSPها یاد میگیریم.
در کنار مباحث گفت شده، اصول اندازه الکترونیکی، نحوه صحیح مونتاژ و عیب‌یابی بردهای الکترونیکی، شبیه سازی مدارات مختلف رو هم یاد میگیریم.
اگر علاقه مند به یادگیری موضوعات عنوان شده هستید، به کانال یوتیوب من با آدرس زیر سر بزنید.
https://www.youtube.com/@aKaReZa75
۲۲-شهریور-۱۳۹۱, ۲۰:۵۹:۵۲
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : omid_phoenix, nazan1n, ehsancompany, WhiteNoise, alimogmov
aKaReZa75 آفلاین
حسین باقری
*****

ارسال‌ها: 1,483
موضوع‌ها: 21
تاریخ عضویت: مرداد ۱۳۹۱

تشکرها : 4898
( 4575 تشکر در 1473 ارسال )
ارسال: #19
RE: آموزش بیسکام و کدویژن با پروژه های عملی
سلام دوستان.
الوعده وفا.
اینم همون پروژه ای که قولشو داده بودم.
این پروژه برای کار با تمام وقفه های خارجی(هر 8 وقفه)تدارک دیده شده.
مشخصات پروژه:
میکرو کنترل به کار رفته:atmega128
کریستال:8.000.000
زبان برنامه:بیسیک و سی

توجه:تمامی فایل های بیسیک و سی و شبیه ساز رو پیوست کردم.
توجه:اگه این مطلب به دردتون خورد یا هرچیز دیگه ای تشکر کردن(البته با استفاده از گزبنه ی تشکر)رو فراموش نکنید.
توجه:از این به بعد هر برنامه ای رو که قرار میدیم دیگه توضحات اضافی و توضیحاتی رو که قبلا دادم رو نمیدم.(بدلیل اینکه وقت ندارم).
هر کی هر سوالی داشت میتونه همینجا مطرح کنه یا ایمیل بزنه یا زنگ بزنه یا .......

برنامه به زیان بیسیک:
کد:
$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

Eicra = &HFF
Eicrb = &HFF
Eimsk = &HFF
Eifr = &HFF
Sreg = &H80

On Int0 Int0h
On Int1 Int1h
On Int2 Int2h
On Int3 Int3h
On Int4 Int4h
On Int5 Int5h
On Int6 Int6h
On Int7 Int7h

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

برنامه به زیان سی:
کد:
#include <mega128.h>
#include <alcd.h>
#include <stdio.h>
#include <delay.h>

unsigned int a;

char aa[20];

void main(){
EICRA=0xFF;
EICRB=0xFF;
EIMSK=0xFF;
EIFR=0xFF;
lcd_init(20);
do{
sprintf(aa,"%d",a);
lcd_gotoxy(0,0);lcd_putsf("Www.IranLed.Com");
lcd_gotoxy(0,1);lcd_putsf("h.unique");
lcd_gotoxy(0,2);lcd_puts(aa);
lcd_gotoxy(0,3);lcd_putsf(" ");
a++;
#asm("sei");
delay_ms(500);
}while(1);
}

interrupt [EXT_INT0] void ext_int0_isr(void){
lcd_gotoxy(0,3);
lcd_putsf("Int0");
delay_ms(500);
}

interrupt [EXT_INT1] void ext_int1_isr(void){
lcd_gotoxy(0,3);
lcd_putsf("Int1");
delay_ms(500);
}

interrupt [EXT_INT2] void ext_int2_isr(void){
lcd_gotoxy(0,3);
lcd_putsf("Int2");
delay_ms(500);
}

interrupt [EXT_INT3] void ext_int3_isr(void){
lcd_gotoxy(0,3);
lcd_putsf("Int3");
delay_ms(500);
}

interrupt [EXT_INT4] void ext_int4_isr(void){
lcd_gotoxy(0,3);
lcd_putsf("Int4");
delay_ms(500);
}

interrupt [EXT_INT5] void ext_int5_isr(void){
lcd_gotoxy(0,3);
lcd_putsf("Int5");
delay_ms(500);
}

interrupt [EXT_INT6] void ext_int6_isr(void){
lcd_gotoxy(0,3);
lcd_putsf("Int6");
delay_ms(500);
}

interrupt [EXT_INT7] void ext_int7_isr(void){
lcd_gotoxy(0,3);
lcd_putsf("Int7");
delay_ms(500);
}

شبیه ساز:
[تصویر:  Interrupts_pic_atmega128.jpg]


توضیحات کلی:
1.وقفه چیه:وقفه رو با یک مثال توضیح میدم.
شما فرض کنید که میکرو یک معلم هستش و در حال درس دادنه.ناگهان یکی از دانش آموزا یک سوال میپرسه.معلم هم درسشو قطع میکنه و به سوال دانش آموز پاسخ میده و ادامه درس از همون جایی که قطع کرده ادامه میده.
در میکرو وقتی وقفه رخ میده اجرای دستورات از اون خطی که وقفه رخ داده متوقف میشه و به لیبل وقفه پرش میکنه و بعد از انجام دستورات درون لیبل مربوط به موقفه به همون خطی که اجرای اونو متوقف کرده بر میگره و اجرای دستورات از همون خط ادامه میده.

توضیحات برنامه بیسیک:
1.برای فعال سازی وقفه های خارجی از دستور:
کد:
Config Intx = state
در این دستور بجای x میتوام با توجه به میکرو مورد نظر وقفه خارجی تعریف کنیم.
state هم میتواند یکی از گرینه های:
1.RISING (حساس به لبه بالا رونده)
2.FALLING (حساس به لبه پایین رونده)
3.CHANGE (تغییر حالت دادن)
4.Low Level (اینم یه چیزی تو مایه های Falling هستشBiggrin)
باشه.
مثال:
کد:
Config Int1 = Rising
در این مثال وقفه خارجی int1 حساس به لبه بالا رونده کانفیگ شده است.
بعد از کانفیگ کردن وقفه ها باید وقفه سراری و تمامی وقفه های مربوط به وقفه های خارجی رو که کانفیگ کردیم رو فعال کنیم.
کد:
Enable Interrupts
Enable Intx
بجای x باید شماره اون وقفه هایی رو که فعال کردیم رو قرار بدیم.
بعد از فعال کردن وقفه های باید برای هر وقفه یک لیبل قرار بدیم که هنگامی که وقفه خارجی رخ داد به اون لیبل پرش کنه:
کد:
On Intx Label
مثال:
کد:
Config Int1 = Rising
Enable Interrupts
Enable Int1
On Int1 IranLed
IranLed:
.....
Return
در این مثال وقفه خارجی 1 رو حساس به لبه بالا رونده کانفیگ کردیم.و وقفه ی سراسری و وقفه INT1 رو هم فعال کردیم.در صورتی که بروی پایه INT1 وضعیت State که در اینجا حساس به لبه بالا رونده هستش رخ بده به لیبل IranLed پرش میکنه و دستورات درون لیبل رو اجرا میکنه.
نکته:در پایان لیبل مربوط به وقفه های خارجی حتما از دستور Return برای خروج از لیبل اسفاده کنید.
تـــــوجـــــه:اگه به برنامه ای که من نوشتم دقت کنید میبینید که از این دستورات استفاده نکردم.دلیل این کارم اینبود که با استفاده از این دستورات میکرو هنگامی که روشن میشد بالافاصله به لیبل ها پرش میکرد و بعد از انجام دستورات لیبل ها به حالت عادی برمیگشت.بعد از کلی این ور اونور کردن دستورات فهمیدم که مشکل از خود کامپایلر بیسکام هستش و با مقدار دهی ریجستر ها بصورت دستی این مشکل حل شد!

توضیحات برنامه سی:
در این کامپایلر دستوراتی همانند دستورات بیسکام وجود نداره و باید ریجستر هارو دستی مقدار دهی کنیم که اگه من بخوام ریجیستر ها و مقدار دهی اونارو توضیح بدم خیلی خیلی حجم مطالب زیاد میشه لذا از توضیح دادن این مطالب خوداری میکنم و به شما عزیزان توصیه میکنم که حتما یک کتاب مانند مرجع کامل میکرو کنترل های AVR تهیه کنید.اگر بازم کسی سوالی در این مورد داشت حتما با من در میون بزاره.
فقط چند دستور رو توضیح میدم:
1.برای فعال کردن وقفه سراسری از دستور:
کد:
#asm("sei");
استفاده میشه و برای غیر فعال کردن وقفه سراسری از دستور:
کد:
#asm("cli");
استفاده میشه.
2.برای تعریف لیبل مربوط به وقفه های خارجی با فعال کردن ریجستر های مربوط به اونا از دستور:
کد:
interrupt [EXT_INTx] void ext_intx_isr(void){
....
}
که بجای x شماره قفه ای که ریجستر ان هم مقدار دهی کرده ایم قرار میدیم.

تــــــــــوجه:اگه این مطلب به دردتون خورد یا هرچیز دیگه ای تشکر کردن(البته با استفاده از گزبنه ی تشکر)رو فراموش نکنید.
توجه:تمامی فایل های بیسیک و سی و شبیه ساز رو پیوست کردم.

امید وارم که توضیحات من و این پروژه بهتون کمکی کرده باشه.
موفق باشید.....HeartHeartHeartHeartHeartHeartHeart


فایل‌(های) پیوست شده
.zip   Interrupts[Www.IranLed.Com].zip (اندازه: 141.18 KB / تعداد دفعات دریافت: 193)

سلام، من حسین باقری هستم، طراح الکترونیک و برنامه نویس میکروکنترلر.
توی کانال یوتیوب من قراراه طراحی انواع بردهای الکترونیکی مثل بردهای تک لایه، دو لایه یا به طور کلی بردهای چند لایه، بردهای مبتنی بر میکروکنترلر، بردهای صنعتی، بردهای الکترونیک قدرت و بردهای فرکانس بالارو یاد بگیریم.
همینطور کدنویسی انواع میکروکنترلرهای 8 بینی مثل میکروکنترلرهای خانواده AVR-STM8، میکروکنترلرهای میبتی بر معماری ARM مثل STM32 و پردازنده های مخصوص اینترنت اشیاء مثل ESP32-ESP8266 و DSPها یاد میگیریم.
در کنار مباحث گفت شده، اصول اندازه الکترونیکی، نحوه صحیح مونتاژ و عیب‌یابی بردهای الکترونیکی، شبیه سازی مدارات مختلف رو هم یاد میگیریم.
اگر علاقه مند به یادگیری موضوعات عنوان شده هستید، به کانال یوتیوب من با آدرس زیر سر بزنید.
https://www.youtube.com/@aKaReZa75
(آخرین ویرایش در این ارسال: ۲۳-شهریور-۱۳۹۱, ۱۱:۲۳:۲۷، توسط aKaReZa75.)
۲۳-شهریور-۱۳۹۱, ۱۱:۰۹:۱۶
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : coloop, omid_phoenix, nazan1n, hadikh73, ehsancompany, رسول, abbasalifix, navard, WhiteNoise, behzady, microoo, ajax007, alimogmov, کامروا, Ambassador, Pixar, alberto50, paryjoon3, jamalmusic, a.e.a
aKaReZa75 آفلاین
حسین باقری
*****

ارسال‌ها: 1,483
موضوع‌ها: 21
تاریخ عضویت: مرداد ۱۳۹۱

تشکرها : 4898
( 4575 تشکر در 1473 ارسال )
ارسال: #20
RE: آموزش بیسکام و کدویژن با پروژه های عملی
سلام دوستان.
یک مقاله آموزشی تو اینترنت گیر آوردم که دلم نیومد اینجا نزارمShy.مقاله مربوط رباتیک هستش و ماله دانشگاه صنعتی سهند تبریز هستشHappy.حتما اینو دانلود کنید.Angry

تــــــوجــــــــــه:اگه این مطلب به دردتون خورد یا هرچیز دیگه ای تشکر کردن(البته با استفاده از گزبنه ی تـــشــــکـــــر)رو فراموش نکنید.026(سلامتی)
موفق باشید.....HeartHeartHeartHeartHeart


فایل‌(های) پیوست شده
.zip   Jozveh Robotic[Www.IranLed.Com].zip (اندازه: 223.03 KB / تعداد دفعات دریافت: 268)

سلام، من حسین باقری هستم، طراح الکترونیک و برنامه نویس میکروکنترلر.
توی کانال یوتیوب من قراراه طراحی انواع بردهای الکترونیکی مثل بردهای تک لایه، دو لایه یا به طور کلی بردهای چند لایه، بردهای مبتنی بر میکروکنترلر، بردهای صنعتی، بردهای الکترونیک قدرت و بردهای فرکانس بالارو یاد بگیریم.
همینطور کدنویسی انواع میکروکنترلرهای 8 بینی مثل میکروکنترلرهای خانواده AVR-STM8، میکروکنترلرهای میبتی بر معماری ARM مثل STM32 و پردازنده های مخصوص اینترنت اشیاء مثل ESP32-ESP8266 و DSPها یاد میگیریم.
در کنار مباحث گفت شده، اصول اندازه الکترونیکی، نحوه صحیح مونتاژ و عیب‌یابی بردهای الکترونیکی، شبیه سازی مدارات مختلف رو هم یاد میگیریم.
اگر علاقه مند به یادگیری موضوعات عنوان شده هستید، به کانال یوتیوب من با آدرس زیر سر بزنید.
https://www.youtube.com/@aKaReZa75
۲۴-شهریور-۱۳۹۱, ۱۲:۰۸:۲۰
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : omid_phoenix, meysam_sky, coloop, nazan1n, hadikh73, رسول, ehsancompany, mahdi2210, abbasalifix, sammixer, navard, WhiteNoise, behzady, microoo, alimogmov, Ambassador, Pixar, a.mehran, jamalmusic
aKaReZa75 آفلاین
حسین باقری
*****

ارسال‌ها: 1,483
موضوع‌ها: 21
تاریخ عضویت: مرداد ۱۳۹۱

تشکرها : 4898
( 4575 تشکر در 1473 ارسال )
ارسال: #21
مقدمات AVR با نرم افزار کدویژن
سلام دوستان.
دوباره یک فابل آموزشی گیر آوردم دلم نیومد که اینجا نزارم.
این فایل مقدمات AVR هستش و از نرم افزار کدویژن استفاده کرده.
حتما دانلود کنید و اینو از دست ندین.

تــــــوجــــــــــه:اگه این مطلب به دردتون خورد یا هرچیز دیگه ای تشکر کردن(البته با استفاده از گزبنه ی تـــشــــکـــــر)رو فراموش نکنید.

موفق باشید....HeartHeartHeartHeart


فایل‌(های) پیوست شده
.zip   Moghadamate Avr(C)[Www.IranLed.Com].zip (اندازه: 369.91 KB / تعداد دفعات دریافت: 260)

سلام، من حسین باقری هستم، طراح الکترونیک و برنامه نویس میکروکنترلر.
توی کانال یوتیوب من قراراه طراحی انواع بردهای الکترونیکی مثل بردهای تک لایه، دو لایه یا به طور کلی بردهای چند لایه، بردهای مبتنی بر میکروکنترلر، بردهای صنعتی، بردهای الکترونیک قدرت و بردهای فرکانس بالارو یاد بگیریم.
همینطور کدنویسی انواع میکروکنترلرهای 8 بینی مثل میکروکنترلرهای خانواده AVR-STM8، میکروکنترلرهای میبتی بر معماری ARM مثل STM32 و پردازنده های مخصوص اینترنت اشیاء مثل ESP32-ESP8266 و DSPها یاد میگیریم.
در کنار مباحث گفت شده، اصول اندازه الکترونیکی، نحوه صحیح مونتاژ و عیب‌یابی بردهای الکترونیکی، شبیه سازی مدارات مختلف رو هم یاد میگیریم.
اگر علاقه مند به یادگیری موضوعات عنوان شده هستید، به کانال یوتیوب من با آدرس زیر سر بزنید.
https://www.youtube.com/@aKaReZa75
(آخرین ویرایش در این ارسال: ۲۷-شهریور-۱۳۹۱, ۱۲:۴۰:۰۸، توسط aKaReZa75.)
۲۵-شهریور-۱۳۹۱, ۱۵:۲۶:۴۸
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : coloop, omid_phoenix, nazan1n, ehsancompany, رسول, mahdi2210, constantine470, sammixer, asgarbs, navard, WhiteNoise, behzady, aleyasin, alimogmov, Pixar, jamalmusic, verbena, blossom1994
aKaReZa75 آفلاین
حسین باقری
*****

ارسال‌ها: 1,483
موضوع‌ها: 21
تاریخ عضویت: مرداد ۱۳۹۱

تشکرها : 4898
( 4575 تشکر در 1473 ارسال )
ارسال: #22
آرایه و رشته در کدویژن
سلام دوستان.
دوباره یک فابل آموزشی گیر آوردم دلم نیومد که اینجا نزارم.BiggrinShy
این فایل در مورد آرایه و رشته در کدویژن هستش و در 29 صفحه گردآوری شده.
حتما دانلود کنید و اینو از دست ندین.

تــــــوجــــــــــه:اگه این مطلب به دردتون خورد یا هرچیز دیگه ای تشکر کردن(البته با استفاده از گزبنه ی تـــشــــکـــــر)رو فراموش نکنید.

موفق باشید....HeartHeartHeartHeartHeart


فایل‌(های) پیوست شده
.zip   Array & String Functions[Www.IranLed.Com].zip (اندازه: 540.34 KB / تعداد دفعات دریافت: 235)

سلام، من حسین باقری هستم، طراح الکترونیک و برنامه نویس میکروکنترلر.
توی کانال یوتیوب من قراراه طراحی انواع بردهای الکترونیکی مثل بردهای تک لایه، دو لایه یا به طور کلی بردهای چند لایه، بردهای مبتنی بر میکروکنترلر، بردهای صنعتی، بردهای الکترونیک قدرت و بردهای فرکانس بالارو یاد بگیریم.
همینطور کدنویسی انواع میکروکنترلرهای 8 بینی مثل میکروکنترلرهای خانواده AVR-STM8، میکروکنترلرهای میبتی بر معماری ARM مثل STM32 و پردازنده های مخصوص اینترنت اشیاء مثل ESP32-ESP8266 و DSPها یاد میگیریم.
در کنار مباحث گفت شده، اصول اندازه الکترونیکی، نحوه صحیح مونتاژ و عیب‌یابی بردهای الکترونیکی، شبیه سازی مدارات مختلف رو هم یاد میگیریم.
اگر علاقه مند به یادگیری موضوعات عنوان شده هستید، به کانال یوتیوب من با آدرس زیر سر بزنید.
https://www.youtube.com/@aKaReZa75
۲۷-شهریور-۱۳۹۱, ۱۲:۳۳:۵۰
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : omid_phoenix, nazan1n, رسول, mahdi2210, abbasalifix, asgarbs, navard, WhiteNoise, behzady, aleyasin, alimogmov, Pixar, smhiri, jamalmusic, verbena, m1985m


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  مشکل برنامه تایمر با بیسکام soy1345 7 2,026 ۲۲-فروردین-۱۳۹۸, ۲۰:۴۸:۰۶
آخرین ارسال: 1نفر
  راه اندازی ماژول gy-955 با AVR و کدویژن hadikh73 6 7,689 ۰۴-شهریور-۱۳۹۷, ۱۲:۰۸:۲۱
آخرین ارسال: hadikh73
  [مقاله] برنامه های بدون شرح hadikh73 48 43,686 ۰۲-اردیبهشت-۱۳۹۷, ۱۰:۱۷:۲۸
آخرین ارسال: babyy
  ماژول pn532 و کدویژن AVR hadikh73 1 4,205 ۰۴-خرداد-۱۳۹۶, ۰۱:۲۱:۲۴
آخرین ارسال: babyy
  پیکربندی SPI نرم افزاری در کدویژن pedram032 2 3,661 ۱۷-دى-۱۳۹۵, ۲۲:۳۷:۱۴
آخرین ارسال: omid_phoenix
  کمک در برنامه nrf24 با کدویژن sniper-70 0 2,893 ۱۹-آبان-۱۳۹۵, ۰۰:۱۶:۱۵
آخرین ارسال: sniper-70
  [آموزشی] بوتلودر BootloadHID برای AVR8 بدون نیاز به درایور usb salehjg 0 2,494 ۰۸-مهر-۱۳۹۵, ۲۳:۴۷:۰۶
آخرین ارسال: salehjg
  سوالات مربوط به بخش برنامه های بدون شرح omid_phoenix 64 40,813 ۲۵-خرداد-۱۳۹۵, ۱۸:۴۷:۴۸
آخرین ارسال: Ambassador
  برنامه نویسی بیسکام soy1345 17 13,270 ۲۳-مرداد-۱۳۹۴, ۱۷:۱۷:۵۶
آخرین ارسال: MN-123
  راهنمایی در یک پروژه cortex-m3 0 2,020 ۱۴-تير-۱۳۹۴, ۲۰:۲۰:۵۶
آخرین ارسال: cortex-m3

پرش به انجمن:


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

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