سفارش تبلیغ
صبا


الکترونیک را به راحتی یاد بگیرید






برخی از دستورات مهم در برنامه نویسی میکروکنترلرهای ای وی آر

 

دستور HEX 
این دستور مقدار X را به مقدار هگزادسیمال آن تبدیل کرده و در متغیر VAR قرار می دهد.

(VAR=HEX(X

به مثال زیر توجه کنید:

Dim A As Byte , B As String * 5
A = 95
(B = Hex(a
Lcd B "lcd 5F
End

دستور HEXVAL 

این دستور X را که یک داده هگزادسیمال است به مقدار دسیمال آن تبدیل کرده و در متغیر VAR قرار می دهد.

(VAR=HEXVAL(X

به مثال زیر توجه کنید:

Dim A As Byte , B As String * 5
B = 5f
(A = Hexval(b
Lcd A "lcd 95
End

دستور STRING 
با این دستور می توان کد اسکی x را به تعداد n به رشته تبدیل و در متغیر VAR قرار داد.

(VAR=STRING(N , X

به مثال زیر توجه کنید:

Dim A As String * 20
(A = String(3 , 66
Lcd A "lcd BBB
End

لازمه که یه کم در مورد کد اسکی( ASCI ) براتون توضیح بدم. ببینید دوستان برای اینکه هر حرف،عدد یا کاراکتری را روی LCD نمایش دهیم باید کد اسکی آن را به پایه های 7 تا 14 LCD اعمال کنیم.
جدول کد اسکی حروف و اعداد


دستور ASC 
این دستور اولین کاراکتر رشته STRING را به مقدار اسکی آن تبدیل کرده و در متغیر VAR قرار می دهد.

(VAR=ASC(STRING

به مثال زیر توجه کنید:

Dim A As Byte , B As String * 5
"B = "LOVE
(A = Asc(b
Lcd A "lcd 76
End


دستور STR 
این دستور متغیر عددی X را به رشته تبدیل کرده و در متغیر VAR قرار می دهد.

(VAR=STR(X

به مثال زیر توجه کنید:

Dim A As Byte , B As String * 5
A = 156
(B = Str(a
"Lcd B "lcd"156
End

دستور VAL 

این دستور رشته X را به متغیر عددی تبدیل کرده و در متغیر VAR قرار می دهد.[این دستور دقیقاً عکس دستور STR عمل می کند.]

(VAR=VAL(X

به مثال زیر توجه کنید:

Dim A As Byte , B As String * 5
"B = "156
(A = Val(b
Lcd A "lcd 156
End

دستور IF 
در این دستور زمانی که شرط عبارت expression درست شود و دارای ارزش شد دستورالعمل statement اجرا می شود که این دستورالعمل می تواند موراد مختلفی از جمله یک یا صفر کردن یک پایه از میکرو باشد.

IF Expression THEN statement

که همچنین می توان این دستور را به شکل زیر نیز به کار برد که در آنصورت اگر شرط عبارت Epression1درست شد دستورالعمل statement1 اجرا خواهد شد و در صورتی که شرط عبارت Expression1 درست نبود ولی شرط عبارت Expression2 درست بود دستورالعمل statement2 اجرا خواهد شد و در غیر اینصورت یعنی موقعی که شرط هیچکدام از دو عبارت Expression1 و Expression2 درست نباشد دستورالعمل statement 3 اجرا خواهد شد.

IF Expression1 THEN
statement1
Elseif Expression2 THEN
statement2
Else
statement3
End if

به مثال زیر توجه فرمایید:

Config Pinc.0 = Input
Config Pinc.1 = Input
Config Pinc.2 = Output
Config Pinc.3 = Output
Config Pinc.4 = Output
A = Pinc.0
B = Pinc.1
C Alias Portc.2
D Alias Portc.3
E Alias Portc.4
If A = 1 Then
Set C
Elseif A = 0 Then
Set D
Elseif B = 1 Then
Set E
Else
Reset E
End If
End


در مثال بالا ابتدا توسط دستور CONFIG PORTX=INPUT/OUTPUT جهت پایه های پورت C را تعیین کردیم سپس برای هرکدام یک اسم مستعار در نظر گرفتیم و بعد با استفاده از دستور IF وضعیت پایه های ورودی را چک کردیم که در صورت درست شدن هریک از شرط ها دستورالعمل مربوطه اجرا خواهد شد.

حلقه تکرار DO - LOOP 

این دستور یک حلقه تکرار بی نهایت است که وقتی درون آن شرط ها و یا دستوراتی را قرار می دهیم درستی این شرط ها دائماً چک می شود و دستورالعمل های مربوطه انجام می شود و اگر دستوراتی را در این حلقه قرار دهیم این دستورات دائماً تکرار می شوند مانند وقتی که می خواهیم برای روشنایی ترتیبی LED از دستور ROTATE استفاده کنیم این دستور دائماً تکرار شده و به این ترتیب LED ها پشت سر هم روشن و خاموش می شوند.البته می توان با استفاده از گزینه اختیاری UNTIL expression به ازای عبارت expression از درون این حلقه تکرار خارج شد. فرم کلی این دستور به صورت زیر است:

DO
statement 
[LOOP [UNTIL expression

به مثال زیر توجه کنید:

"regfile = "m32def.dat$
$crystal = 8000000
Config Port A = Output
A Alias Porta
A = 128
Do
Rotate A , Left
Loop
End


در واقع ما با استفاده از برنامه بالا یک چشمک زن 8 کاناله ساخته ایم که شما می توانید آن را در محیط bascom نوشته و پس از کامپایل کردن آن را روی آی سی مورد نظر پروگرم(برنامه ریزی)کنید.

تابع POWER 
این دستور مقدار param1 را به توان مقدار param2 رسانده و در متغیر VAR قرار می دهد.

(VAR=POWER(param1 , param2

به مثال زیر توجه کنید:

Dim A As Byte , B As Byte , C As Byte
A = 2
B = 4
(C = Power(a , B
Lcd C "lcd 16
End

تابع sqr 
این دستور مقدار ریشه دوم یا همان جذر مقدار X را گرفته و در متغیر VAR قرار می دهد.

(VAR=sqr(X

به مثال زیر توجه کنید:

Dim A As Byte , B As Byte
A = 36
(B = Sqr(a
Lcd B "lcd 6
End

تابع LOG 
این دستور مقدار لگاریتم SOURCE را که باید از نوع SINGLE معرفی شده باشد گرفته و در متغیر VAR که این متغیر نیز از نوع داده SINGLE است قرار می دهد.

(VAR=LOG(source

به مثال زیر توجه کنید:

Dim A As Single , B As Single
A = 100
(B = Log(a
Lcd B "lcd 2
End

تابع ROUND 
این دستور مقدار X از نوع داده SINGLE را روند کرده و در متغیر VAR از نوع داده SINGLE قرار می دهد.

(VAR=ROUND(X

به مثال زیر توجه کنید:

Dim A As Single , B As Single
A = 2.7
(B = Round(a
Lcd B "LCD 3
End


تابع RND 

این دستور یک عدد تصادفی بین 0 و X بدست می آورد و در متغیر VAR قرار می دهد که X یک عدد مثبت است.

(VAR=RND(X

به مثال زیر توجه کنید:

Dim A As Byte
(A = Rnd(213
Lcd A "lcd 67
End


دستور SET 
توسط این دستور می توان مقدار یک بیت را یک کرد. که BIT می تواند یک پایه از یک پورت باشد.

SET BIT

به مثال زیر توجه کنید:

SET PORTA.5

دستور RESET 
توسط این دستور می توان یک بیت را صفر کرد.

دستور TOGGLE 
توسط این دستور می توان مقدار منطقی یک بیت را معکوس کرد یعنی اگر بیت صفر است یک می شود و اگر یک است صفر می شود.

دستور BITWAIT 
با استفاده از این دستور می توان اجرای برنامه را تا زمانی که بیت X صفر یا یک شود متوقف کرد و در صورت درست شدن شرط اجرای برنامه از خط بعد ادامه می یابد.

BITWAIT X , SET / RESET

به مثال زیر توجه کنید:

BITWAIT PORTC.2 , RESET
SET PORTC.4

تا زمانی که پایه 3 پورت C (پایه صفر که همان پایه یک حقیقی میکرو ماست هم حساب شده) صفر شود صبر می کند و پس از صفر شدن این پایه، پایه 5 پورت C یک می شود.

خوب فکر می کنم برای این پست کافی باشه امیدوارم که استفاده لازم رو ازشون ببرید اگه مشکلی داشتید حتماً تو نظرات بنویسید.

فعلاً BYE 

+ نوشته شده در چهارشنبه دهم مرداد 1386ساعت 15:56 توسط فرزان شجاعی | نظر بدهید 

(avr(3 
با سلام خدمت دوستان خوبم امیدوارم که حالتون خوب باشه. راستش تصمیم داشتم که در پست قبل آموزش های ابتدایی رو به پایان برسونم ولی به خاطر طولانی شدن مطلب توضیح در مورد LCD که فکر می کنم لازم بود و مسائل دیگه نشد که بشه ولی اشکال نداره چون دیگه تو این پست حتماً تموم می شه. دوستان شما الان با استفاده از مطالب پست قبل به راحتی می تونید یک LCD رو راه اندازی کنید و جملات خود را روی LCD نمایش بدید و از نتیجه آن لذت ببرید.خوب دیگه خیلی حرف زدم میریم سراغ آموزش های این پست:

دستور RIGHT 
با این دستور از سمت راست رشته VAR1 ،به تعداد n کاراکتر جدا می شود و در متغیر VAR قرار میگیرد.


(VAR=RIGHT(var1,n


به مثال زیر توجه کنید:


Dim A As String * 10 , B As String * 10
"A = "1234567
(B = Right(a , 4
Lcd B "lcd 4567
End


دستور LEFT 
با این دستور از سمت چپ رشته VAR1 ،به تعداد n کاراکتر جدا می شود و در متغیر VAR قرار می گیرد.

(VAR=LEFT(var1,n

به مثال زیر توجه کنید:

Dim A As String * 10 , B As String * 10
"A = "ABCDEFGH
(B = Left(a , 3
Lcd B "lcd ABC
End

جدول LOOKUP 
با استفاده از این دستور می توان مقدار دلخواهی را از جدول مربوطه خواند که LABLE نام جدول مربوطه و VALUE شماره داده دلخواه در جدول است که شماره اولین داده جدول صفر است یعنی شماره ها در جدول از صفر شروع می شود و داده خوانده شده از جدول در متغیر VAR قرار می گیرد.

(VAR=LOOKUP(value , lable

به مثال زیر توجه کنید:

Dim A As Byte
(A = Lookup(4 , Fsh
Lcd A "lcd e
End
:Fsh
Data A , B , C , D , E , F , G , H , I , J , K


دستور MID 

با این دستور می توان قسمتی از رشته VAR1 را با شروع از کاراکتر st ام و طول L در متغیر VAR قرار داد.

([VAR=MID(var , st [, L

البته گزینه L اختیاری می باشد و در صورتی که برای آن مقداری نوشته نشود بیشترین طول L در نظر گرفته می شود. به مثال زیر توجه کنید:

Dim A As String * 10 , B As String * 10
"A = "farzanshojaee
(B = Mid(a , 7 , 7
Lcd B "lcd shojaee
End


دانلود مجموعه پروژه های الکترونیکی لذت الکترونیک

نظرات کدراه اندازی LCD ، کدهگزبرای برنامه نویسی LCD ، آموزش برنامه نویسی میکرو با LCD ، کدآماده میکرو برای ال سی دی ،


لینک های ویژه


آرشیو مقالات سایت

آموزش ساختن باطری خورشیدی کاتالوگ آی سی های پرکاربرد دانلود کتاب کیتهای مشهد کیت دانلود کتاب مشخصات... آموزش ساخت ربات مسیر یاب دانلود چندکتاب و مدارجالب دانلودنرم افزار ادیسون 5 چندمدارساده فلزیاب مدارمیکروفن مخفی ساده فرستنده اف ام قدرتمند مبتدی نرم افزارهای الکترونیک دانلود چندین پروژه الکترونیک آشنایی با سیگنال ژنراتورRF زبان فنی الکترونیک لیست دروس کاردانی الکترونیک تشریح قطعات الکترونیک انواع ،ساختاروقطعات رباتها عیب یابی بردهای الکترونیک جدول توان مصرفی لوازم برقی ساختار ربات های پرنده دانلود تحقیق رشته الکترونیک چند مدار الکترونیکی دیگر کلمات کلیدی وبلاگ سمبل المانهای الکترونیک مقالات پاورپوینت ابرواژه ها وبلاگ مقالات الکترونیک کاتالوگ ترانزیستورهای... کاتالوگ سنسورهای پرکاربرد آموزش ساخت تابلو روان مقالات متفرقه آموزشکده های فنی حرفه ای دانلود کتابهای 301 مدار کتب و جزوات الکترونیک مشابهات ترانزیستورها مشخصات قطعات متفرقه معرفی پست های سایت مقالات آموزشی الکترونیک مقالات avr تعاریف الکترونیک آموزش الکترونیک

دسته بندی موضوعی

پروژه های دانشجویی با avr - ‏ ساخت پیل خورشیدی - آینده شغلی الکترونیک - ساخت سلول خورشیدی - کاتالوگ آی سی های پرکاربرد - باطری خورشیدی - پایه های igbt - طریقه ساخت یک باطری خورشیدی ارزان - پروژه ساخت الکترونیک - ساخت پروگرامرساده برای AVR - فرستنده اف ام قوی - فرستنده ساده و قوی اف ام - فرضیه یابی در تعمیر لوازم برقی - فرق hdوsd - فرق بین اچ دی و اس دی - فرق بین برق سه فاز و تکفاز - فرق بین برق و الکترون - فرق و تفاوت رله با کنتاکتورها - فرق وات با ولت - فلاشر 220 volt شهر - فلزیاب نیم متری - فلوچارت آموزش تعمیر اتو خانگی - فلیپ فلاپ چیست - فوق دیپلم - فیش تصویر مستطیلی - فیش خروجی تلوزیونهای قدیمی - فیلتر پایین گذر چیست - فیلتر چیست - فیلتر میان نگذر چیست - فیلتر میانگذر چیست - فیلتربالاگذر چیست - فیوزبیت های میکرو - فیوزچیست - قالب جدید وبلاگ - قطعات الکترونیک نایاب - کاتالوگ 8086 - ساخت پیل خورشیدی - ساخت پیل نوری - ساخت تابلو led - ساخت تابلوروان - ساخت تایمر ساده با 555 با PCB - ساخت ترانس افزاینده - ساخت ترانس برای شوکر - ساخت چراغ قوه قوی - ساخت چشمک زن با برق شهری 220 - ساخت چوک قوی شوکر - ساخت دزدگیر حساس به لرزش - ساخت دوربین مداربسته - ساخت ربات هواپیما - ساخت رباتهای مسیریاب - پروژه ساخت برق - پروژه ساخت پاوربانک موبایل - پروژه ساخت ربات مین یا - پروژه ساخت زیر دریایی ماکت - پروژه ساخت فانکشن ژنراتور - پروژه طراحی ربات زیردریایی - پروژه های - پروژه های آماده با avr - پروژه های الکترونیک - دانلود پروژه های... - پروژه های الکترونیک ساده - پروژه های ای وی آر - پروژه های جالب رشته الکترونیک - پروژه های حرفه ای برای رشته الکترونیک - طریقه ساختن پروگرامر برای avr - طریقه ساختن وبلاگ - طریقه شمارش مقدارخازن عدسی - طریقه صحیح لحیم کاری - طریقه فهمیدن اولیه ترانسها - طریقه فهمیدن محل خرابی در تعمیرات - طریقه محاسبه توان الکتریکی - طریقه محاسبه خازنهای عدسی - طریقه محاسبه مقدار آمپر - طریقه محاسبه مقدار یک مقاومت - طریقه محاسبه مقدارمقاومتها - طریقه محاسبه ولتاژ - طریقه محاسبه ولتاژ ترانس ها - طریقه مدارچاپی - طریقه نامگذاری ترانزیستورها - طریقه نصب و کرک کردن مولتی سیم جدید - طریقه کار با قطعات الکترونیکی - طریقه کار با مولتی متردیجیتالی - طریقه کارباپترن ژنراتور - طریقه کارباسیگنال ژنراتور - طریقه کاربامولتی مترعقربه ای یا آنالوگ - طریقه کارباهویه - ظاهر خازن ها در مدار - علائم قطعات الکترونیکی در مدارات - علائم نمایانگر خازن در مدار - علامت خازن ها در مدارات الکترونیکی - علامت دیود زینر در مدارات - علامت دیود معمولی در مدارات الکترونیکی - علامت مقاومت متغیر یا پتانسیومتر در... - علامت مقاومت ها در مدارات - علامت و شمای فنی ترانزیستور IGBT - عملکردمولتی سیم - عوارض برق گرفتگی - عکس های با کیفیت قطعات برقی - فتو دیود ها چیست اند - فرستنده اف ام 3 وات - فرستنده اف ام بردبالا - پایه های TIP31 - پایه های TIP32 - پایه های TIP41 - پایه های TIP42 - پایه های آی سی 7400 - پایه های آی سی 741 - پایه های آی سی 7447 - پایه های آی سی LM324 - پایه های ترانزیستور 2n2222 - پایه های ترانزیستور 2N3906 - پایه های ترانزیستور BC107 - پایه های ترانزیستور c1815 - پایه های ترانزیستور s9014 - پایه های ترانزیستور فت fet - پایه های ترانزیستور2N3904 - پایه های ترانزیستورBD - پایه های ترانزیستورMJE - پایه های ترانزیستورفت 2N3819 - پایه های تریستور - پایه های تریستور C106D - پایه های رگولاتورهای ولتاژ - پتانسیومترچیست و چه کاری انجام میدهد - پترن چیست - پروژه الکترونیک - پروژه باحال برای رشته الکترونیک - پروژه بامیکروکنترلرavr - پروژه برای رشته الکترونیک - پروژه برای رشته الکترونیک - پروژه برای کارشناسی الکترونیک - پروژه تست کننده مادون قرمز - پروژه تست کننده کنترل - پروژه رایگان برای مقطع کاردانی... - باطری های کوچک - بایاس کردن ترانزیستوهای bjt - بایاس کردن چیست - بایاس کردن یعنی چه - بایاسینگ چیست - برق 3 فازچیست - برق تکفازچیست - برنامه آیسی atmega8 - برنامه الکترولب چیست - برنامه اندروید آزمایش مدارات الکترونیکی - برنامه تابلوروان ساده - برنامه شبیه سازی مدارات فرمان - برنامه فلاشر قابل کنترل چند حالته - برنامه نویسی ای وی آر - برنامه نویسی فلاشر با atmega8 - برنامه های اندروید رشته الکترونیک - برنامه های رشته الکترونیک - برنامه های شبیه سازی مدارات الکترونیک - برنامه های گوناگون رشته الکترونیک - برنامه کیبورد رایانه برای میکروکنترلر - بهترین PLC خوب - بهترین چوک برای شوکر - بهترین روش ساخت فیبرمدارچاپی - بهترین مدارات الکترونیکی - بهترین وبلاگ درزمینه الکترونیک - بیشتر کردن عمر باطری - پارامترهای ولتاژ الکتریکی - پاورپوینت cny70 - پاورپوینت HDوSD - پاورپوینت استرین گیج - پاورپوینت درباره ربات مین یاب - پاورپوینت درباره سنجش سرعت - پاورپوینت درمورد سنسورها - پاورپوینت سنسور فتوسل - پاورپوینت سنسور گاز - پاورپوینت سنسور مادون قرمز - پاورپوینت سنسورالقایی - پاورپوینت سنسورتشخیص رنگ - پاورپوینت سنسورها - پاورپوینت سنسورهای القایی - پاورپوینت سنسورهای بدون تماس - پاورپوینت کنفرانسی سنسورها - پایه های 555 - پایه های 741 - پایه های 780 - پایه های BT136 - ‏ دانلود پروژه رشته الکترونیک - ‏ ربات مسیر یاب ساده - کاتالوگ ترانزیستورها - کاتالوگ سیگنال ژنراتورRF - کاتالوگcny70 - کاربردcny70 - کاربردسیگنال ژنراتورRF - کاردستی های الکترونیک - کتاب آموزش مدارهای الکتریکی - ‏کتاب ترانزیستورها - گزارشکار تمام جلسات کارگاه الکترونیک - گزارشکار دوربین مداربسته - گزارشکار کارآموزی نصب دزدگیر اماکن - گزارشکار کارگاه الکترونیک کارشناسی... - گیتهای منطقی - لذت الکترونیک - لغات پرکاربردانگلیسی در الکترونیک - لوکس متر دیجیتالی - لیزرچیست؟ - لیست آموزشکده های کشور - لیست درسهای کاردانی الکترونیک - لیست فروشگاه های قطعات الکترونیک -

طراحی پوسته توسط تیم لذت الکترونیک