صفحه 1:
AIMEL Gms"
AVR
تهیه کننده : ادریسشاهانی
صفحه 2:
۲7 0"
:مقدمه
روكترلرها غير از لستفادء هی خانگی تجارت الکتونیک را نیز رشد ده است به طورمال یکک کارت هوشمند مود در جابجایی
a ao ee 1 ۳
میکرو کترولر در موارد یشتری کاربره مارد که ذکر بعضی از آن ها عالی از لطف نیست:
يك الوصيل اده حدوة ٠6 بره
در سال 1444 كميائى مرسدس بنز در محصولات خود 6 بردازتده به كار برده بود ودر همين سال /ال841©از ۵
محصولات غود اسفادهمی پرد
تعج آور یست اگر تطیم کنده ضریان قلب یک میکرو کترولز باد
با توجه به پیشرفت روزافزون میکرو کتترلر ها و استفاده از آن در زمینه های مختلف شرح مختصری از
AVR 9 ابن مجموعه كرد آورده شد كه اميد است سمع و نظر علاقه مدان را جلب نماید
ل مر
تفاوت آنبا دیگر میکرو ها مطالبى بيان مي شود. در فصل سه. خصوصیات ۱۳۲ 5 نترلرهاء
we ee megan, کشت
Pee age he Ue aie:
روکنترلرهای
اده ما هوج وت
صفحه 3:
AIMEL Lic"
فهرست
فصل اول : آشنایی با میکروکنترلر
alas ی
ليوا ۳
قسمت های مختلف یک
و
خانواده های مختلف
میکروکنترلر ...
فصل دوم : میکروکنترلر های 008
ویژگی های میکروکنترلر های ٩ ...
فصل سوم : میکروکنترلر 0۳۵۵6۵99
خصوصیات 46 .. ...ب ۵۵۵69
معماری ۰ ی اموس ا نا ااا BROGCOSS
ترکیب پایه ها در میکروکنترلر .9۵۵۵09
er
لا سد 3066 هت
صفحه 4:
۷
۳۱11
فصل اول
آشنایی با میکرو کنترلر
صفحه 5:
AIMEL Mh
برای شناخت میکرو کنترلر کافی است فقط تفاوت
فاوت سیستمکامپیوتر با میکروکنترل:
بين آن دو را بیان کنیم .
سیستم کامپیوتر 88 بیشتری نسبت به 8084 . دارد زیرا برنامه های کاربراننیاز ب فضای زیادی برای اجرا شدن دارند
ما در یک میکروکنترر فضای 18018 بزرکتر از ۰8۳۵88 آن است.
در میکرو برنامه کنترلی در 808 آن ذخیره می شود و از 1880 فقط به عنوان حافظه موقت استفاده می گردد در
صورتی که در سیستم کامپیوتر هم برنامه کنترلی در 1888 ذخیره می شود و هم از آن به عنوان حافظه موقت استفاده
می شود
یکت پردازنده به تهیی نمی تواند عملی انجام دهد و باید آن يا با حافظه و وسايل 1/0 در یک مدار قار دهیم تا مورد
استفاده قرار “كيرد اما يك ميكرو كنترلر مى توائد به تنهابى استفاده شود. در واقع آن دایای یک لا 2 وسایل ورودی
خروجى و حافظه داخلى مى باشد كه بر روى يكك-1©0. قرار داده شده است
صفحه 6:
91//
:قسمت هاى مختلف ميكر و كنتولر
59 Dav | سم
Witendos Timor] Gay
(Gok, Oseittor سس
Reset Brownout | Analog | Program
هه Por Memory
a ۳ SS
۳۱11
¥ CPO
Y Crogan Dewory
۷ Daa Dewey (SRO)
Y Clock اون
۷ Reset سح
۷ Gertal Ports
Y Orit VO
¥ Ovary VOs
Y Devers
55
صفحه 7:
AIMEL Ic"
9 :کردن میکرو
برنمهمیکرو داخل 13061000710 es Program مى شود. اين برنامه در محط برنامه نویسی كه براى ميكرو ها طراحی شده
بربل باق گلابهاضافه یک مدار وی به وسیله یک 0۳09۳3106۳ به حافظه 518519 ميكرو
ی
خانواده های مختلف میکرو کنترلر:
خانوده های مختلفی از میکر کنر وجود دارد که موارد زه
شرکت ۸۰6۸و ۸۰۵۱ 061
| یط
8تركت
510 شركت 02
8 خركك لطعم انك
۴ ترکت [مصاد
بونه هابى از آنها مى باشد
۷۷ست
با توجه به تتوع در میکرو کنترلر ها هدف ما در فصل های آینده تشریح و توضیح در مورد میکره
hie
صفحه 8:
۷
۳۱11
فصل دوم
میکرو کنترلر های؟06)
صفحه 9:
AIMEL Lic"
—
میکر وکنتر ار هاع06
GOR و زبان های سطح بالا *
استفاده از تکنولوژی حافظه کم مصرف غیر فرار * AVR
6 کاهش و بهینه سازی کد ها , * 000 ۵:۵۵ ©
استفاده از ۳۲ رجیستر همه منظوره *
لنجام عملیانتدر بسکتک لاکس یکت وسط معمایین ۰0816
افزایش سرعت ۶ يا ۱۲ برابری نسبت به دیگر میکرو ها >
صفحه 10:
AIMEL 10
OR مختصروراجعبسه
زیانهایسطح با yee (HIGH LEVEL LANGUAGE) (as حالمسيد يإشدنبه زبازبرنامه تویسی
لستاندارد بسرلیمیکروکنتلر ها Soest yee (MCU) های/بسیتیک و چکهستند زبانبسرنامه نویسی ۵810 0
a اند را در ب نامه توییمیکوو ها هارتد بل دو لکد > یره ها کد هام ie نامه وی سم رت ولید
میک ند
4181 لیجاد تحولیدر معماری جهتک اهشگد به مقلار مینیممرا د رکنکرد که نتیجه
لیس حولمیکر وکنترلر های1۴ ۸۸:۷ هستند که عاوم بسر کساهشرو بسهینه سازیی قدار کد هابسه طبور ولقع عملیانتوا تستها در
RIGO gna» JS eS SS, لنجام میبهند و از ۳۲ یجیستر همه منظورم. aid (ACCUMULATOR)
میکسند که باع شدم؟ تا ۱۲ بسار سریعتر از میکرو هاعمورد لستناده كننوتيه اشند
تسکنولوژیحافظه کم سصرفغیر فسرار ش رک ۸71918 بسرایسرنامه دیزی06061 ها مورد لستفاده قبرار گسرفته لستر نتیجه
حافظه های JFLASH 18158160101 در دلخزبدار قابلرنامه ريز (1890)) هستند ميكر وكتترلر هاوايليه (sys BOR
dies LSA, © 81:8513. و به صوربتك مك١ بسیسازماندهیشده ی ودند
00٩ هابسه عنولنمیکرو های0۲690) با دستورلنف راولزطرلحوشده اند که باعشیشود حجم كد تسوليد شدم كوو
صفحه 11:
AIMEL ic"
:عمليات تك سيكا
با انجام تكك سيكل دستورات» كلاكك اسيلاتور با کلاک داخلی سیستم یکی می
قرار ندارد که ایجاد اختلاف فاز كلاكك كند.
اکثر میکرو ها کلاکک اسیلانور به سیستم را با بت :۱ با ۱:۱۲ تقسیم
می کنند که خود باعث کاهش سرعت می شود بنابراين 60600 ها ۴ نا ۱۷ بر سر
به میکر و کنرلر های مصرفی کنونی کمتر است زیرا در تکنولوژی ODOG استفاده
. سطح منطقى متناسب با قركا
GOR J
هيج تقسيم كتنده أى ده
ia es. 0۲ كرك
Oe Spee BOR در میکرو های »
(DULIOO WOTROOMOD PER GOOD) 13 4 علت انجام عملیات تک سیکل 006۲ در مقایسه با
نمودار زیر افزایش 0106
.دیگر میکرو ها را نشان می دهد هم همم
صفحه 12:
AIMEL 99
طراحیاعنبانی ۵0010 و 0:
ذبانها 8008/10 و 0 بسيشتربرؤستفادم را در هنياطمروز به عنولززبانهاىامانا” دايند تالممروزد معطيعيسيشتر ميكرو ها
برلعؤباناسمبلوطر احرش ده و كمتر اذ زبانهائبارال. حم يتكرهه اند
هدفما8/1009) طراحوع عابر بود كد هيو بر عبان سمبلرو همنباهای ما مفید باشد. بسه طور مثلارنبانهای
9 هو یا ات و2
0
لجراعویز بسرنامه مکانیاز 0100 رای تفیر اشفا یتسود در صویتیک هلر متفیریهسه عنولنبسرلسرععسعر یف سردد
حافظه
در تسمام وق کانیاز حافظه 6٩00 ,/0۵/). را اشفلل-رمهلست
بسرلئهسترس بسر يعتر به متغير هائمحلوة كاهشكد نياز بس لفزايشيجيستر هائهمد منظويه لست006 ها دارلیا۳
یجیتر هتند6/0 (001۳ ۷۵00 00۲۲۳۵۵/۳0۵) متصلشدهدلند و تسنها در بسکنکلاکسیکل ی هابرواحد
سه چشاز لیرپچیستر ها میسوانند بسه عنولزیجیستر ها بسیتیستفاده شوند.
نتیجه تسهطامموارد بسحرشده میکروکنترلر های؟0000) با سرعا لاو سازماندهی0۲180, هت
میکرو کتترل 00 بسه سه نسوع 0/۳608 با ۰۵0۱ ۳1۵۷و 0000000. تسقيمبتد کش دهلند
های
به دلیل تنوع در میکر وکنتلر های 008 ازیین آنهامیکرو کنترلر 0۳0۵۵060 را از دسته 00000000 بر گزیده و در فصل
سوم به تشریح آن می پردازيم
صت
صفحه 13:
۷
۳۱11
فصل سوم
میکرو کنتر لر 08660699
۳۳۹
صفحه 14:
AIMEL Lit"
در اين فصل به معرفی 000000006 از سری میکرو کنترلر های 0060000011 شركت 1001 9می پردازيم. میکروهای
میکروکنترلر
0 نبت بهنوع های قبلی (۳00۱۷, 0/760006).دایای قابلیت بیشتری هستند
خصوصیان 6۳060666 ,۵۳06609 :
از معماری RISC ۸۷38 .استفاده می کند
کارلییساملاو تسولنمصرفیکسم -
eet YS LGR joys LS SL ILS Lyla دارلی۱۱دستورا
رجيسر کاربردی 6۳6 _
COW Vg, 5 DUP Lge
۳۳۳
صفحه 15:
AIMEL Lic"
حافظه : برنامه و داده ی غیر فرار
UK حافظه ۳۲ ,| 6969,) . داخلی قابل برنامه ریزی
(ORME / 660۵( نوشتزو پا ککردن: LUPLOGW ait,
90990 بایتحافظه دلخلی؟ _
UK _ حافظه ۱ 6968636060 داخلی قابل برنامه ریزی
(RWE | CROCE) 135-65, got پایداریحافظه 69060686000 قابلیت ۱۰۰۰۰ بار
قفاسرنامه ی "069و حناظعاددی 800۳0300
اص
صفحه 16:
۷
:خصوصیات ویژه میکرو کنترلر
دارلكش حا 0606© ,ا .
_.دارای منابع وقفه داخلى و خارجى
داراى اسيلاتور 00.داخلى كاليبره شده
_.عملكرد كاملا ثابت
۳۱11
۳۳5
صفحه 17:
مت مه جوبی.
8
۷
AIMEL
صفحه 18:
AIMEL Lic"
PORT ©
هشپسیرورودوو خروجی)سو در عیرحدل
مبدل آنالو کك به دیجیتال می باشد
صفحه 19:
۷
© 00م
داده ورودی خروجی ودر عين حال هر
بیت از ۵0 تا 6۰ کاربردی دارد که بعضی از آنها
-0 00 و ۵4 دو تایمر -کانتر ۸ بیتی
-0061(666) و 0100(69) برای ارتباط سریال
۳۱11
5
صفحه 20:
۷
LIC!
PORT CO
هشت بیت داده ورودی خروجى ودر عين حال هر
بيت ازه0 تا 0 كاربردى دارد كه بعضى از آنها
۳
-0 06 و 06 برای برنامه ریزی ۵۵۲و ۵660و
6 ۵۵ و ۱۵006۲۳ از طر بقایتباط ۳۵6۵ 9 ۳۲
9167 (۵06) و 00 (۵0) برآی ار تباط سریال دو سیمه ی
۳۱11
هوت
صفحه 21:
AIMEL Lic"
PORT O
هشت بیت. داده ورودی خروجی ودر عين حال هر
بیت از00 تا 0۶ کاربردی دارد که بعضی از آنها مثلا
6 و 306و وقفه خارجی برای میکرو می باشند
صفحه 22:
AIMEL Lic"
~ XPOL 1 8 XPOL ©
کریستال خارجی براى توليد بالس ساعت كه
Isl O14 Ort 0000001
Nie, 014 - L014 6و ههه
صفحه 23:
۷
AIMEL
000 BOO
میکر و کنترلر توسط پایه00تقضیه می شود
و پایه ۵00مربوط به زمین است
ولتاژ کایعآن۷/۲ تا ۵/۵ ولربسراعله06<
و ۵/۶ تا هاه ولرسرلیه06009
MoO:
صفحه 24:
6000 عه EB
2
60 یی ازلعاهای ولتاژ سب برلی000
aww!
7
صفحه 25:
۷
برای دوباره راه اندازی میکر و کنترلر است که
. مى تواند چندین حالت داشته باشد
هت
صفحه 26:
AIMEL Lic"
P RCE
اين بايه مرجعى براى تبديل كردن آنالوك به
دیجیتال برای ورودی های آنالو ک می باشد
صفحه 27:
AIMEL 0-1
—
PDIP
wh ت رکیب پایه
(XCK/TO) ۶8۵ 0 1 40 5 Sons ۳
(Tt) PBI q 2 39 E دارای سه ت ر کیب متفاوت زیر است
TI/AINO) PB2 ط 38 3 ل
(OCO/AINY) PB3 C4 37 ) ۵( ۰۵
)55( ۶84 ۲ 5 36
(Mos!) PBS Cl 6 35h عم P10) TAFE _
(MISO) PBS Cl 7 34
(SCK) PB7 C] 8 33 کح (PP 10) OLE
9 32 ط
36
306
8 29
XTALI G13 28h
(RXD) PDO] 14 27
)0( ۶۵۱ 2 5 2668
(INTO) PO2 أ 6 5
(INT!) ۲۵۵ 2 7 246
)0618( ۶۵4 2 8 23
(OCtA) PDS ك 9 26
أ وهم رمع 0 26
صفحه 28:
AIMEL
ay
TOFPIMLE
58 ی
82 ۶ sess
1855 25 8888
۶2 2 5 5 و 2۶ ۶
3
(mos!) PBs 1 مدع (ADCS)
(MISO) PBé Ei 2 32 pas (apcs)
بو وهی 5 31 Pas (ADCE)
RESET ois 30 Ei par caper)
vee Es عععم نا و2
snp os ze ono
xTa2 7 27 E avec
xTAL1 a8 26 معدم بجعم
(RxD) PDO ل © 25 pcs (rosct)
مد 8 له مهم رصح pcs ao)
qo) pp2 2 ۶ 23 Fi pea ano)
صفحه 29:
10
محیط بر نامه نود
BASCOMAVR ) ((
BP
ات انكاس لماعك نه عاك اكاك اناما داك
دص نك و م هد هت نه عر د قد يكز | دده ا
صفحه 30:
AIMEL ۷
« معرشيهنو هاوصحيط001 845
By FILE NEW
© FILE OPEN
i FILE CLOSE
FILE SAVE
&& FILE SAVE AS سس ها
12
&
a
FILE PRINT PREVIE, “~~
FILE PRINT
FILE EXIT
Peer 1 9
موت
صفحه 31:
۷
۳۱11
عنوى21(11 :
لفلا
9312
سس سس
اقا oe isi wisisisiujee)
7-0
۱ حعرفینوها یمحیط:0 )5۸5
سیم
eB bow fer oper se
سس نوه م« همد دوه سور
= EDIT UNDO
“ EDIT REDO
# EDIT CUT
®S EDIT COPY
EDIT PAST
a, EDIT FIND
رم EDIT FIND NEXT
12 EDIT REPLACE
EDIT GOTO
EDIT TOGGLE BOO
DIT GOTO BOOKMARK
DIT IDENT BLOCK
EDIT UNIDENT BLOCK
59
صفحه 32:
AIMEL ۷
5۸5) فیهنوهایمحیط0 pata ((
:PROGRAMg gua
a ais
Aaa
اقل هاهاهداهرواات له اعاغ ۰ ۰ + “لكل
% PROGRAM COMPILE
iy PROGRAM SYNTAX CHEt it
ير PROGRAM SHOW RESUL|
‘% PROGRAM SIMULATOR
‘@ SEND TO CHEIP
Je ae
مسوا .سس 5 هم 99 ۵ج < وق تا سدع ۱39۲ -
ل سم 2006 وت
صفحه 33:
۷
« حعرفینوها یمحیط(0 )5۸5
۳
2
(Ruan Homers 91۲08 |خا ۵ 9 ط ۳ 2 نز ند | آسدر
1
2 ۳ اام Tt Brom [Ee es Sve bee
@ -CD DESIGNER
8 -IB MANAGER
PORT TO RTF
8 31۸۳۳۱۲۱۶ ۵0
3TACK ANALYSER
?LUGIN MANAGER
355
صفحه 34:
۷
۳۱11
) حعوفیهنوهایمحیط:۵500ظ
OPTIONS gu.
ey
OPTION COMPILER poy = To
اقا مكاسم - 2 كه سفكعهد
۳ =a
OPTION COMPILER CHIP
OPTION COMPILER OUTPUT
OPTION COMPILER COMMUNICA|
OPTION COMPILER 12C, SPI,1WIH|
OPTION COMPILER LCD
OPTIONS PROGRAM
26 ۱83۱ من مت 8و ۵0۳ > Bom] |B
سس جوم
Mor
صفحه 35:
هستوولتو تولبعمحیط برنلمه نویسی (CBASCOM
شامل دستوراتی که بررای نوشتن یک ببرنامه مورد نیاز است ۰ (بدنه یک پرنامه )
- دستوراتی که با اعداد و متفییر ها سس کار دارند
دستورات توایع ریاضی و محاسباتی
. دستورات و توابع تبدیل کد ها و متفییر ها به یکدیگر
+ ستورات رجیستری و ستیسی په خانه های حافظه
. دسقو رالعملهاى حلقه و پررش
. دستوراتی رای إيجاد تايس در يك نامه
٠. دستورات زیر ببرنامه و تابع
AIMEL Lic"
مت
صفحه 36:
AIMEL Lic"
بسدنه بسلبرنلمه در ححیط )) (CBASCOM
بدنه یک برنامه بیسیک در محیط اختیاری 00180 025 شام تعیین میکررو مورد استفادکرریستال ,پایان و گزیده های
. دیگری استا که به معرفی آن می پپردازيم
: معررفی میکررو
$REGFILE = AVR
که می تواند یکی از موارد زیر به عنوان مثال باشد
* 1 < 4709816
$regfile = “M16def.dat ”
$regfile = “M8def.dat “
: کریستال
- 401۷51۲۸۲
: به عنوان مثال داريم
SCRYSTAL=14000000
SCRYSTAL=8000000
SCRYSTAL=1000000
صفحه 37:
AIMEL Lic"
—
بسدنه بسلبرنلمه در ححیط )) (CBASCOM
یاداشت(لختیاری) :
گاهی نیاز است پاداشتهایی ببرای اطلاعات بیشتر در برنامه اضبافه کنیم که این کار با دستور
يا 1۳1
: به عدوان مثال
REM this sentence will not compiled
“(this sentence will not compiled ‘)
FLASH aoe :
$ROMSTART=ADDRESS
$ROMSTART= & H4000
: پیان برنامه
END
نمه سس وعدت
هه
صفحه 38:
۷
۳۱11
لعداد و عتغییرها و جتلولر «نرممد)
:دیماشیون مفیر
DIM var AS [XRAM/SRAM/ERAM] data type [AT location] [OVERLAY]
VALUE RANGE
01
0 10 5
-32767 TO 32767
0 TO 65535
-2147483648 TO
214783647
1.5 X10*45 TO 3.4X
10°38
STORES AS
ABIT
UNSINGNED 8 -
BITS
SIGNED 16 - BITS
UNSIGNED 16 -
BITS
SIGNED 32 - BITS
Se eee كر
0- 254 BYTES
DATA TYPE
BIT
BYTE
INTEGER
WORD
LONG
SINGLE
STRING
5-5
صفحه 39:
AIMEL Lic"
«—
طاعداد و متغييرها و جدلول< 1001010 »
به عنوان مثال دلريم
DIM S AS STRING * 10
5
Dim B1 As bit ‘Bit Can Be 0 or 1‘
Dim A AS Byte ‘ Byte Range From 0- 255°
Dim C AS Integer “Integer Range From -32767 to 32768’
DEFLNG L_ ‘Dim L As Long’
Dim W AS Word
Dim SAS String*11 ‘Length Can Be Up To 11 Charactera’
Dim K AS Integer At 120 ‘You Can Specify The Address Of The Variabl’
Dim KK AS Intger
Print w
L= 123456789
Print L
S= “Hello world ”
Print S
END
سس جوم 55
صفحه 40:
AIMEL Lic"
—«
(LOOKUP تلعداد و عتغییرها و جتلولر
: 00951 ستور
Const Symbol = Numconst
Const Symbol = Stringconst
Const Symbol = Expression
deat
Const s = “ Test “
Const a=5
Dim B AS Byte
B= 6*a
: ۸11۸5 سنور
رای تیم تیاده می شود +
: 0111 سور
٠ برراى تبديل متغييس عددى به كا ركترى استفاده مى شود
معت
صفحه 41:
AIMEL Lit"
2
لعداد و حتغیبرها و جدلول (LOOKUP
ستور 11511۴ :
.محل و موقعیت یک زیر رشته را در رشته دیگر وشخص می کند.
استر 12101 :
. يك واحد به متغييس عددى مى افزايد
ستور 2101 :
.يك واحد از متغييى عددى كاهش مى دهد
سور 111613 :
- این دستور پر ارزش تررين بايت يك متغيبس را بى مى كرردائد
استور 1.1510 :
. طول یا تعداد کارکتر های یک رشته را بس مى گررداند
ستو 51۷۸۵۳ :
این دستور محتوای دو متفیرر را جایجا می کند.
SPACE jp :
۳۳
صفحه 42:
۷
۳۱11
توابع رياضي و محاسباتي
نماد
Asterisks (multiplication symbol) *
Plus sign +
Minus sign -
Priod (decimal point ) «
Slash (division symbol ) /
Less than >
Equal sign
Greater than <
Exponent
=> _Leess than or equal to
>= Greater than equal to
Inequality
۸
۷
1885001 فوریافی مینز Shoine
85
صفحه 43:
۷
۳۱11
PL
توابع رياضي و محاسباتي
عملگرهای منطقی *
1385 0011 نماد عملگیهایبنطتودر oon
AND Conjunction
OR Disjunction
XOR Exclusive or
NOT Logical complement
BASCOM جدولعلگر هاي نطقيمحیط
0
صفحه 44:
۷
تايع 485 :
تايع 106:
:RNDgis
توابع رياضي و محاسباتي
۳۱11
Dim A as Integer
Dim c as Integer
A= -100
C= Abs (a)
Print 6
End
Dim X as Single
X= Log (100)
Print x
Dim I as Integer
Do I= Rnd (100)
print I
Wait 1
Loop
End
nee
صفحه 45:
۷
سور ۸56 :
سور 11526 :
سور 511 :
۳۱11
تبديل كدها و متغييرها به يكديكر
Dim A As Byte ,s As string * 10
S= “ABC”
A= ASC (s)
Print a
End
Dim A as Byte , S as String
A= 123
S= Hex (a)
Print
Print Hex (a)
End
Dim A as Byte , S as String * 10
A= 123
S=Str (a)
Print S
End
Meo
صفحه 46:
۷
سور 6070 ,1118 :
: DO - 1008 ستور
دستورالعملهاي حلقه و برش
۳۱11
Start :
A=A41
If A< 10 then
Goto Start
End if
End
Dim A as Byte
Do
A=A41
Print A
Loop Until A=10
Print A
۳۳۷
صفحه 47:
۷
: FOR- NEXT 5.5
: WHILE-WEND | 5.5
دستورالعملهاي حلقه و پرش
۳۱11
Dim A As Byte, B AS Integer
A:
FOR A=1 To 10 Step 2
Print “ This
Next A
FOR B= 10To-5 Step -1
Print “This is b “
Next B
End
Dim a as byte
A=1
While A<= 10
Print A
Incr A
Wend
nee
صفحه 48:
۷
دستورالعملهاي حلقه و پرش
دستور انلس 133 :
: دستور تاخیر در برنامه
ستور DELAY
WAIT ,WAIT ms ,WAI Tus.
۳۱11
Do
A=A+1
If A= 100 Then
Exit do
end if
Loop
End
Wait us 10
Wait ms
Wait 3
Print “ bascom”
End
ممت
صفحه 49:
۷
۳۱11
۳۳۳
صفحه 50:
۷
منابع
۳۱11
میکرو کنترلر های 606203» تالیف مهندس علی کاهه ؛ موسسه علمی فرهنگی نص
واه مول ۳۵۵۵699
ماس( 100000
1۳
WOW,
WOW. COMODOPORE hile er
DOO SDOD even.
موت
صفحه 51:
AIMEL 99
تهيه كننده :
AT94 Training 2001
ادريس شاهاني
Slide 1
:مقدمه
گزارش اخیر شرکت Sun Microsystemsادعا کرد در همین دهه ای که گذشت به طور متوسط در هر خانه بین
نظیمات لویزیو ،ن ک نترلاز را ه دورتلویزیونا جاقم اکروو یو50 ،
ت
ویی ت
ت ا 100م یکرو ک نترو لر و جود دارد .ت لفنهاید یجیتا ،لی م اش ینظ رفش ،
....س یستما م نیتیخ ان ه و
میکروکنترلرها غیر از استفاده های خانگی تجارت الکترونیک را نیز رشد داده است به طور مثال یک کارت هوشمند میتواند در جابجایی
اسکناس ها به مردم کمک کند.
.میکرو کنترولر در موارد بیشتری کاربرد دارد که ذکر بعضی از آن ها خالی از لطف نیست
.یک اتومبیل ساده حدود 15پردازنده دارد
در سال 1999کمپانی مرسدس بنز در محصوالت خود 63پردازنده به کار برده بود ودر همین سال BMWاز 65میکرو در
محصوالت خود استفاده می برد
.تعجب آور نیست اگر تنطیم کننده ضربان قلب یک میکرو کنترولر باشد
با توجه به پیشرفت روزافزون میکروکنترلر ها و استفاده از آن در زمینه های مختلف شرح مختصری از میکروکنترلرهای
. AVRدر این مجموعه گرد آورده شد که امید است سمع و نظر عالقه مندان را جلب نماید
در ا ینم جموعه ا ب تدا در ف صلاو لب ا م یکرو ک نترلر آش نا م یش ویمس پسدر ف صلدو م در م ورد م یکرو ک نترلرهایAVR
وتفاوت آن با دیگر میکرو ها مطالبی بیان می شود .در فصل سه ،خصوصیات ATMEGA32از سری میکروکنترلرهای
MEGAAVRرا مورد بحث و بررسی قرار می دهیم.
.و در آخر با چند مثال عملی کار خود را پایان می دهیم
AT94 Training 2001
Slide 2
فهرست
فصل اول :آشنایی با میکروکنترلر
تفاوت های میکروکنترلر با سیستم
کامپیوتر 5 ...................................................................................
قسمت های مختلف یک
میکروکنترلر 6 ..........................................................................................
خانواده های مختلف
میکروکنترلر 7 ................................................................................................
فصل دوم
:میکروکنترلر هایَ AVR
ویژگی های میکروکنترلر های AVR ....................................................................................... 9
فصل سوم :میکروکنترلر ATMEGA32
خصوصیات ATMEGA32 ....................................................................................................... 14
معماری ATMEGA32 ............................................................................................................. 17
ترکیب پایه ها در میکروکنترلر ATMEGA32...........................................................................
27
AT94 Training 2001
Slide 3
فصل اول
آشنایی با میکرو کنترلر
______________________________________________________________
____________________________________________
____________________________
___________
AT94 Training 2001
Slide 4
با توجه به آشنایی سیستم کامپیوتر ،برای شناخت میکروکنترلر کافی است فقط تفاوت بین آن دو را بیان کنیم .
تفاوت سیستم کامپیوتر با میکروکنترلر:
سیستم کامپیوتر RAMبیشتری نسبت به . ROMدارد زیرا برنامه های کاربران نیاز به فضای 1زیادی برای اجرا شدن دارند
اما در یک میکروکنترلر فضای ROMبزرگتر از . RAM 1آن است
در میکرو برنامه کنترلی در ROMآن ذخیره می شود و از RAMفقط به عنوان حافظه موقت استفاده می گردد در
صورتی که در سیستم کامپیوتر هم برنامه کنترلی در RAMذخیره می شود و هم از آن به عنوان حافظه موقت استفاده
می شود
یک پردازنده به تنهایی نمی تواند عملی انجام دهد و باید آن ر1ا با حافظه و وسایل I/Oدر یک مدار قرار دهیم تا مورد
استفاده قرار گیرد اما یک میکرو کنترلر می تواند به تنهایی استفاده شود .در واقع آن دار1ای یک ، CPUوسایل ورودی
خروجی و حافظه داخلی می باشد که بر روی یک .IC-قرار داده شده است
AT94 Training 2001
Slide 5
Slide 6
قسمت های مختلف میکروکنترلر:
CPU
Program Memory
Data Memory (SRAM)
Clock Oscillator
Reset Circuitry
Serial Ports
Digital I/Os
Analog I/Os
Timers
AT94 Training 2001
:PROGRAMکردن میکرو
برنامه میکرو داخل ،program memoryنوشته می شود .این برنامه در محط برنامه نویسی که برای میکرو ها طراحی شده
نوشته می شود سپس توسط پورت سریال یاUSBبه اضافه یک مدار وی به وسیله یک programerبه حافظه flashمیکرو
.انتقال می یابد
خانواده های مختلف میکروکنترلر:
.امروزه خانواده های مختلفی از میکروکنترلر وجود دارد که موارد زیر نمونه هایی از آنها می باشد
شرکت 8048و intel 8051
HC11شرکتMotorola 68
Z8شرکت Zilog
PICشرکت Microchip
H8شرکت Hitachi
AVRشرکت atmel
با توجه به تنوع در میکروکنترلر ها هدف ما در فصل های آینده تشریح و توضیح در مورد میکروکنترلر های 8بیتیAVRاست
AT94 Training 2001
Slide 7
فصل دوم
میکرو کنترلر هایAVR
________________________________________________________________
__________________________________________
______________________________
_______________
______
AT94 Training 2001
Slide 8
AVR
م1یک1رو1کنترلر های
AVRو زبان های سطح باال •
استفاده از تکنولوژی 1حافظه کم مصرف غیر فرار •
AVRکاهش و بهینه سازی 1کد ها • ،
استفاده از 32رجیستر همه منظوره •
8 Bit RISC MCU
ا1ن1جام ع1ملیاتدر ی11کک11الکس11یکلت11وسطم1عمار1ی•RISC
افزایش سرعت 4یا 12برابری نسبت به دیگر میکرو ها •
AT94 Training 2001
Slide 9
م1ختصریرا1ج1عب111ه:AVR 1
زبانهایس طح ب ا الی ا همان (HIGH LEVEL LANGUAGE) HLLب ه س رعتدر ح ا تل بدیلش دنب ه زبانب رنام ه ن ویسی
تی را یم یکرو های 8ب یتیک وچ کهستند .زبانب رنام ه ن ویسیBASICو C
ا س تاندارد ب را یم یکرو ک نترلر ها ) (MCUح ب
ویسی س مبلیت ول ید
ا
سبت ه زبانب رنام ه ن
ب
های یشتریرا ن
یشترینس تفاد ه را در ب رنام ه ن ویسیم یکرو ها دارند و ل یدر ا ک ثر ک اربرد ها ک د ب
ا
ب
م یک نند.
ATMELا یجاد ت حول یدر م عمار ،یج هتک اهشک د ب ه م قدار م ینیممرا درکک رد ک ه ن تیجه
ین حولم یکرو ک نترلر های AVRهستند ک ه ع الو ه ب ر ک اهشو ب هینه س ازیم قدار ک د ها ب ه ط ور وا ق ع ع ملیاترا ت نها در
ا ت
یکل وس طم عماری RISCا ن جام م ید هند و از 32رج یستر همه م نظوره ) (ACCUMULATORا ستفاد ه
ت
ی کک الکس
ی اشند.
م یک نند ک ه ب اعثش ده 4ت ا 12ب ار س ریعتر از م یکرو هایم ورد ا س تفاد ه ک نون ب
ی رنام ه ریزی AVRها م ورد ا س تفاد ه ق رار گ رف ته ا س تدر ن تیجه
ATMELب را ب
صرف یر ف رار ش رک ت
غ
ت کنولوژیح اف ظه ک مم
ل رنام ه ریزی) (ISPهستند .م یکرو ک نترلر هایاو ل یه ، AVRدارا ی1
ح اف ظه هایFLASHو EEPROMدر دا خ لم دار ق اب ب
و 8ک یلو ب ایتح اف ظه .FLASH 2و ب ه ص ورتک لمات 16ب یتیس ازماندهیش ده ب ود ند
اعث یش ود ح جمک د ت ول ید ش ده ک مو
م
ت راوا نط را ح یش ده ا ند ک ه ب
AVRها ب ه ع نوا نم یکرو های RISCب ا د س تورا ف
تری دس تآید
رعت ا ال ب
ب
.س
AT94 Training 2001
Slide 10
:عملیات تک سیکل
با انجام تک سیکل دستورات ،کالک اسیالتور با کالک داخلی سیستم یکی می شود .هیچ تقسیم کننده ای در داخل AVR
قرار ندارد که ایجاد اختالف فاز کالک کند.
اکثر میکرو ها کالک اسیالتور به سیستم را با نسبت 1:4یا 1:12تقسیم
می کنند که خود باعث کاهش سرعت می شود .بنابراین AVRها 4تا 12بار سریعتر و مصرف آنها نیز 4تا 12بار نسبت
به میکروکنرلر های مصرفی کنونی کمتر است زیرا در تکنولوژی CMOSاستفاده شده در میکرو های ،AVRمصرف توان
.سطح منطقی متناسب با فرکانس است
) (MILLION INSTRUCTION PER SECONDرا به علت انجام عملیات تک سیکل AVRدر مقایسه با
نمودار زیر افزایش MIPS
MIPS
AVR
.دیگر میکرو ها را نشان می دهد
1:1
1:4
1:12
POWER CONSUMPTION
AT94 Training 2001
Slide 11
ط1را1ح1یب11را1یز1بانهای BASICو :C
1یای1مروز ب111ه 1ع1نوا1نز1بانهای HLLدار1ند .ت11ا ا1مروز1ه 1م1عمار1یب111یشتر م1یک1رو ها
ب111یشترین1ستفاد1ه 1را در د1ن ا
ا
ز1بانهای BASICو C
1بان1سمبلیط1را1ح1یش11ده 1و ک11متر از ز1بانهای .HLLح1مایتک11رد1ه 1ا1ند
ب11را1یز ا
در ز1بانهای
1بان1سمبلیو همز1بانهای HLم1فید ب11اشد .ب111ه 1ط1ور م1ثا1ل
هدف ATMELط1را1ح1یم1عمار1ییب11ود ک11ه 1همب11را1یز ا
BASICم1یت11وا1نی11کم1تغیر م1حلیب111ه 1ج1ایم1تغیر س11را1سریدر دا1خ1لز1یر ب11رنام1ه 1ت11ع1ریفک11رد ،در ا1ینص11ور1تف11قطدر ز1مان
Cو
م1یش11ود در ص11ور1ت1یک11ه 1ا1گر م1تغیریب111ه 1ع1نوا1نس11را1سریت11ع1ریفگ11ردد
ا1جرا1یر1یز ب11رنام1ه 1م1ک1ان1یازRAMب11را1یم1تغیر ا1شغ1ا1ل
ح1اف1ظه1
ک11رد1ه 1ا1ست
در ت11مام و1ق1تم1ک1ان1یاز ح1اف1ظه .FLASH ROM 1را ا1شغ1ا1ل
1ست AVRها دارا1ی32
ب11را1ید1سترسیس11ریعتر ب111ه 1م1تغیر هایم1حلیو ک11اهشک11د ،ن11یاز ب111ه 1ا1فزا1یشر1ج1یستر هایهمه 1م1نظور1ه 1ا .
ر1ج1یستر هستند (ARITMETIC LOGIC UNIT) ALUم1تصلش11ده 1ا1ند ،و ت11نه1ا در ی11کک11الکس11یکلب111ه 1ا1ینوا1حد
ک11ه 1م1ستقیما ب111ه1
ب111یتی1ستفاد1ه 1ش11وند.
ا
د1سترسیپ11یدا م1یک11نند .س11ه 1ج1فتاز ا1ینر1ج1یستر ها م1یت11وا1ن1ند ب111ه 1ع1نوا1نر1ج1یستر های16
ن11تیجه 1ت11مام م1وارد ب111حثش11ده ،1م1یک1رو1کنترلر های AVRب11ا س11رعتب11ا1الو س11از1ماندهی .RISCهستند
م1یک1رو1کنترلر AVRب111ه 1س11ه 1ن11وع AT90Sی11ا TINYAVR ، AVRو .MEGAAVRت11قسیمب111ندیش11ده 1ا1ند
های
به دلیل تنوع در میکروکنترلر های AVRازبین آنها میکروکنترلر ATMEGA32را از دسته MEGAAVRبرگزیده و در فصل
سوم به تشریح آن می پردازیم.
AT94 Training 2001
Slide 12
Slide 13
فصل سوم
MEGA32 کنترلر1میکرو
______________________________________________________________
____________________________________________
____________________________
___________
AT94 Training 2001
در این فصل به معرفی MEGA32از سری میکروکنترلر های MEGAAVR 1شرکت ATMELمی پردازیم .میکروهای
میکروکنترلر
MEGAنسبت به نوع های قبلی ).(AT90S,TINYدار1ای قابلیت بیشتری هس1تند
: ATMEGA32L, ATMEGA32
خ1صوص1یات
از معماری . AVR RISCاستفاده می کند
یی ا الو ت وا نم صرف یک م _
.ک ارا ب
یکلجرا م یش وند _
ا
یی ا الک ه ا ک ثرا ت نها در ی کک الکس
لعمل ا ک ارا ب
ب
.دارا ی311د س تورا
رج یسر ک اربرد ی_ 8*32
_ س رعتیت ا MIPSدر ف رکان س16MHZ 16
AT94 Training 2001
Slide 14
حافظه ،برنامه و داده ی غیر فرار
_ Kبایت حافظه . FLASH 32داخلی قابل برنامه ریزی
پ ایداریح اف ظه FLASHق اب لیت 10000ب ار ن وشتنو پ اکک رد ن(WRITE / ERASE) :
_ Kب ایتح اف ظه دا خ لیSRAM 2
_ Kبایت حافظه EEPROM 1داخلی قابل برنامه ریزی
پ ایداریح اف ظه EEPROMق اب لیت 100000ب ار ن وشتنو پ اکک رد ن(WRITE / ERASE) :
فل رنام ه ی FLASHو ح فاظ تداد ه ی EEPROM
_ق ب
AT94 Training 2001
Slide 15
:خصوصیات ویژه میکروکنترلر
_ دارا1یش11شح1ا1لت. SLEEP
_.دارای منابع وقفه داخلی و خارجی
_ دارای اسیالتور .RCداخلی کالی1بره شده
_.عملکرد کامال ثابت
AT94 Training 2001
Slide 16
N
D
G
V
C
C
PORT A
AREF
______
RESET
PRT B
PORT C
ATMEGA32
AVCC
PORT D
Slide 17
L1
XT
A
XT
A
L2
GND
AT94 Training 2001
PORT A
1ست در ع1ینح1ا1ل1-
1ی و
هشتب111یتورود1یو خ1رو1ج ا
مبدل آنالوگ به دیجیتال می باشد
PORT A
ATMEGA32
AT94 Training 2001
Slide 18
PORT B
هشت 1بیت 1داده ورودی 1خروجی ودر عین حال هر
بیت 1از B0تا B7کاربردی 1دارد که بعضی از آنها
B0 1و B1دو تایمر-کانتر 8بیتی (MOSI)B52-و (MISO)B6برای ارتباط سریال
PORT A
PRT B
ATMEGA32
AT94 Training 2001
Slide 19
PORT C
هشت 1بیت 1داده ورودی 1خروجی ودر عین حال هر
بیت 1از C0تا C7کاربردی دارد که بعضی از آنها
C2 1و C5برای 1برنامه ریزی FLASHو EEPROMوط1ریقر1ت1باطJTAG
ا
FUSE BITSو LOCK BITاز
(SDA) C12-و (SCL) C0برای ارتباط سریال دو سیمه یا
PORT A
I2C
AT94 Training 2001
ATMEGA32
PRT B
PORT C
Slide 20
PORT A
PORT D
هشت 1بیت 1داده ورودی خروجی ودر عین حال هر
بیت 1از D0تا D7کاربردی دارد که بعضی از آنها مثال
ATMEGA32
PD2و PD3دو وقفه خارجی برای میکرو می باشند
PRT B
PORT C
PORT D
AT94 Training 2001
Slide 21
PORT A
PRT B
ATMEGA32
PORT C
XTAL 1 & XTAL 2
Slide 22
L1
XT
A
XT
A
L2
PORT D
کریستال خارجی برای تولید پالس ساعت که
MEGA32L 8ی1را11بMHZ 0 ا11تMHZ
MEGA32 16ی1را11بMHZ 0 ا11تMHZو
AT94 Training 2001
N
D
G
V
C
C
VCC & GND
تقضیه می شودVCCمیکروکنترلر توسط پایه
مربوط به زمین استGNDو پایه
MEGA32L
ی1را11تب1ل1وPORT
5/5 ا11 تA7/2یآن1ار11تاژ ک1ل1و
MEGA32ی1را11ب
ت1ل1 و5/5 ا11 ت5/4 و
PRT B
PORT C
ATMEGA32
PORT D
Slide 23
L1
XT
A
XT
A
L2
GND
AT94 Training 2001
N
D
G
V
C
C
AVCC
ADCی1را11بنا ب1تاژ م1ل1های و1ا1ت
کی ازل ح
11 یAVCC
1است.
PORT A
PRT B
PORT C
ATMEGA32
AVCC
PORT D
Slide 24
L1
XT
A
XT
A
L2
GND
AT94 Training 2001
N
D
G
V
C
C
RESET
PORT A
Bکه
برای دوباره راه اندازی میکروکنترلر است
PRT
______
RESET
AVCC
.می تواند چندین حالت داشته باشد
عالوه بر این از این پایه می توان به عنوان
کرد
.ورودی آنالوگ هم استفاده
ATMEGA32
PORT C
PORT D
GND
L1
XT
A
L2
XT
A
AT94 Training 2001
Slide 25
N
D
G
V
C
C
AREF
PORT A
PRT B
این پایه مرجعی برای تبدیل کردن آنالوگ به
آنالوگ می باشد1دیجیتال برای ورودی های
PORT C
ATMEGA32
AREF
______
RESET
AVCC
PORT D
Slide 26
L1
XT
A
XT
A
L2
GND
AT94 Training 2001
Slide 27
:ترکیب پایه ها
دارای سه ترکیب متفاوت زیر است
(40 PIN) PDIP _
(44 PIN) TQFP _
(44 PIN) MLF _
AT94 Training 2001
Slide 28
AT94 Training 2001
Slide 29
محيط برنامه نويسي
(( BASCOMAVR ))
AT94 Training 2001
Slide 30
*يم*نوهايم*حيط
*رف
م*ع
))BASCOM
•
•
•
•
•
•
•
•
FILE
FILE
FILE
FILE
FILE
FILE
FILE
FILE
NEW
OPEN
CLOSE
SAVE
SAVE AS
PRINT PREVIEW
PRINT
EXIT
((
:FILEم*نوي
AT94 Training 2001
*يم*نوهايم*حيط
*رف
م*ع
))BASCOM
•
•
•
•
•
•
•
•
•
•
•
•
•
Slide 31
EDIT
EDIT
EDIT
EDIT
EDIT
EDIT
EDIT
EDIT
EDIT
EDIT
EDIT
EDIT
EDIT
UNDO
REDO
CUT
COPY
PAST
FIND
FIND NEXT
REPLACE
GOTO
TOGGLE BOOKMARK
GOTO BOOKMARK
IDENT BLOCK
UNIDENT BLOCK
((
: EDITم*نوي
AT94 Training 2001
Slide 32
*رفيم*نوهايم*حيط
(( م*ع
))BASCOM
:PROGRAMم*نوي
PROGRAM COMPILE
PROGRAM SYNTAX CHECK
PROGRAM SHOW RESULT
PROGRAM SIMULATOR
SEND TO CHEIP
AT94 Training 2001
Slide 33
*يم*نوهايم*حيط
*رف
م*ع
))BASCOM
TERMINAL EMULATOR
LCD DESIGNER
LIB MANAGER
EXPORT TO RTF
GRAPHIC CONVERTOR
STACK ANALYSER
PLUGIN MANAGER
((
:TOOLSم*نوي
AT94 Training 2001
Slide 34
*يم*نوهايم*حيط
*رف
م*ع
))BASCOM
OPTION COMPILER
OPTION COMPILER CHIP
OPTION COMPILER OUTPUT
OPTION COMPILER COMMUNICATION
OPTION COMPILER 12C, SPI,1WIRE
OPTION COMPILER LCD
OPTIONS PROGRAM
((
: OPTIONSم*نوي
AT94 Training 2001
)) (( BASCOM
*سي
*ه ن*وي
*عم*حيطب*رنام
*ب
*تو ت*وا
*تورا
*س
د
شامل دستوراتي كه براي نوشتن يك برنامه مورد نياز است ( .بدنه يك برنامه )
.دستوراتي كه با اعداد و متغيير ها سر كار دارند
.دستورات توابع رياضي و محاسباتي
.دستورات و توابع تبديل كد ها و متغيير ها به يكديگر
.دستورات رجيستري و دسترسي به خانه هاي حافظه
.دستورالعملهاي حلقه و پرش
.دستوراتي براي ايجاد تاخير در يك برنامه
.دستورات زير برنامه و تابع
AT94 Training 2001
Slide 35
*حيط )) (( BASCOM
*ه در م
*ه ي*كب*رنام
ب*دن
بدنه يك برنامه بيسيك در محيط اختياري bascomشامل تعيين ميكرو مورد استفاده كريستال ,پايان و گزينه هاي
.ديگري است كه به معرفي آن مي پردازيم
:معرفي ميكرو
$REGFILE = AVR
كه مي تواند يكي از موارد زير به عنوان مثال باشد
:كريستال
:به عنوان مثال داريم
AT94 Training 2001
“ $regfile = “M32def.dat
“ $regfile = “M16def.dat
“ $regfile = “M8def.dat
$CRYSTAL = X
$CRYSTAL=14000000
$CRYSTAL=8000000
$CRYSTAL=1000000
Slide 36
*حيط )) (( BASCOM
*ه در م
*ه ي*كب*رنام
ب*دن
يGGاداGشGت(اGخGتيارGي) :
گاهي نياز است ياداشتهايي براي اطالعات بيشتر در برنامه اضافه كنيم كه اين كار با دستور
‘ يGGا REM
:به عنوان مثال
REM this sentence will not compiled
)‘ ‘(this sentence will not compiled
حGافظه : FLASH
$ROMSTART=ADDRESS
$ROMSTART= & H4000
:پايان برنامه
END
AT94 Training 2001
Slide 37
*ل
*داو
*عداد و م*تغييرها و ج
ا
(( LOOKUP ))
ديمانسيون متغيير:
DIM var AS [XRAM/SRAM/ERAM] data type [AT location] [OVERLAY]
Slide 38
DATA TYPE
STORES AS
VALUE RANGE
BIT
A BIT
0 OR 1
BYTE
UNSINGNED 8 BITS
0 TO 255
INTEGER
SIGNED 16 – BITS
-32767 TO 32767
WORD
UNSIGNED 16 –
BITS
0 TO 65535
LONG
SIGNED 32 - BITS
-2147483648 TO
214783647
SINGLE
SIGNED
32جدول
- BITS
انتخاب نوع داده
1.5 X10^45 TO 3.4 X
10^38
STRING
0- 254 BYTES
--------AT94 Training 2001
Slide 39
*ل
*داو
*عداد و م*تغييرها و ج
ا
(( LOOKUP ))
DIM S AS STRING * 10
‘Bit Can Be 0 or 1 ‘
AS Byte
‘ Byte Range From 0- 255 ‘
ريمG به عنوان مثال دا:
مثال
•
Dim B1 AS bit
Dim A
Dim C AS Integer
DEFLNG L
‘Dim
Dim W AS Word
‘Integer Range From -32767 to 32768’
L As Long’
Can Be Up To 11 Charactera’
Dim K AS Integer At 120 ‘You Can Specify The Address Of The Variabl ’
Dim S AS String * 11
‘Length
Dim KK AS Intger
B1 = 1
Set B1
A= 12
A=A + 1
C= -12
C= C+100
Print c
W =50000
Print w
L= 123456789
Print L
S= “Hello world “
Print S
END
AT94 Training 2001
Slide 40
*ل
*داو
*عداد و م*تغييرها و ج
ا
(( LOOKUP ))
: Const تورGسGد
Const Symbol = Numconst
Const Symbol = Stringconst
Const Symbol = Expression
مثال:
Const s = “ Test “
Const a=5
Dim B AS Byte
B= 6* a
: ALIAS تورGسGد
براي تغيير نام متغيير استفاده مي شود.
: CHR تورGسGد
براي تبديل متغيير عددي به كاركتري استفاده مي شود.
AT94 Training 2001
*ل
*داو
*عداد و م*تغييرها و ج
ا
)) (( LOOKUP
دGسGتور : INSTR
.محل و موقعيت يك زير رشته را در رشته ديگر وشخص مي كند
دGسGتور : INCR
.يك واحد به متغيير عددي مي افزايد
دGسGتور : DECR
.يك واحد از متغيير عددي كاهش مي دهد
دGسGتور : HIGH
.اين دستور پر ارزش ترين بايت يك متغيير را بر مي گرداند
دGسGتور : LEN
.طول يا تعداد كاركتر هاي يك رشته را بر مي گرداند
دGسGتور: SWAP
.اين دستور محتواي دو متغيير را جابجا مي كند
دGسGتور: SPACE
.اين دستور براي ايجاد فضاي خالي استفاده مي شود
.....................................و غيره
AT94 Training 2001
Slide 41
توابع رياضي و محاسباتي
عملگGر هايرGياضGي:
عالمت
عالمت ضرب
نماد
)* Asterisks (multiplication symbol
+ Plus sign
عالمت جمع
عالمت تفريق
- Minus sign
عالمت مميز
) . Priod (decimal point
عالمت تقسيم
) / Slash (division symbol
> Less than
عالمت كوچكتر از
= Equal sign
عالمت تساوي
< Greater than
عالمت بزرگتر از
Exponent
عالمت بتوان
^
عالمت كوچكتر يا مساوي با
=> Leess than or equal to
عالمت بزرگتر يا Gمساوي با
>= Greater than equal to
<> Inequality
عالمت مخالف
جGدوGلعملگGر هايرGياضGيمGحيط BASCOM
AT94 Training 2001
Slide 42
Slide 43
توابع رياضي و محاسباتي
عملگرهاي منطقي:
BASCOM نطقيدرGرهايمGماد عملگG ن
معرفي
AND
Conjunction
OR
Disjunction
XOR
Exclusive or
NOT
Logical complement
BASCOM دولعملگرهايمنطقيمحيطRج
AT94 Training 2001
Slide 44
توابع رياضي و محاسباتي
: ABS عGابGGGت
Dim A as Integer
Dim c as Integer
A= -100
C= Abs (a)
Print c
End
: LOG عGابGGGت
Dim X as Single
X= Log (100)
Print x
: RNDعGبGاG Gت
Dim I as Integer
Do I = Rnd (100)
print I
Wait 1
Loop
End
AT94 Training 2001
Slide 45
تبديل كدها و متغييرها به يكديگر
: ASC تورGسGد
Dim A As Byte ,s As string * 10
S= “ABC”
A= ASC (s)
Print a
End
Dim A as Byte , S as String
A= 123
S= Hex (a)
Print
Print Hex (a)
End
Dim A as Byte , S as String * 10
A= 123
S=Str (a)
Print S
End
: HEX تورGسGد
: STR تورGسGد
AT94 Training 2001
Slide 46
دستورالعملهاي حلقه و پرش
: JMP, GOTO تورGسGد
Start :
A= A +1
If A< 10 then
Goto Start
End if
End
: DO – LOOP تورGسGد
Dim A as Byte
Do
A= A +1
Print A
Loop Until A=10
Print A
AT94 Training 2001
Slide 47
دستورالعملهاي حلقه و پرش
: FOR- NEXT تورGسGد
Dim A As Byte, B AS Integer
FOR A=1 To 10 Step 2
Print “ This is A :
Next A
FOR B= 10 To -5 Step -1
Print “This is b “
Next B
End
: WHILE-WEND تورGسGد
Dim a as byte
A= 1
While A<= 10
Print A
Incr A
Wend
AT94 Training 2001
Slide 48
دستورالعملهاي حلقه و پرش
: IFلعملGGGتور اGسGد
Do
A= A+1
If A= 100 Then
Exit do
end if
Loop
End
دستور تاخير در برنامه
:
DELAY تورGسGد
WAIT ,WAIT ms ,WAI TusتورGسGد
Wait us 10
Wait ms
Wait 3
Print “ bascom”
End
AT94 Training 2001
فصل پنجم
چند مثال عملی
______________________________________________________________
____________________________________________
____________________________
___________
AT94 Training 2001
Slide 49
Slide 50
منابع
موسسه علمی فرهنگی نص، تالیف مهندس علی کاهه، AVR میکروکنترلر های
ATMEGA32 data sheet
WWW.Atmel.com
WWW.E.KTH.SE
WWW.SEMICONDUCTORS.philips.com
WWW.JTAG.com
AT94 Training 2001
Slide 51
AT94 Training 2001