اصول میکرو کامپیوترها.pdf

143
بسشذی وبیىش اك( شششویىش ) کلی اهید ترهی ش آزاد اسشگا دا هجلسی

Upload: sajjadfattah

Post on 03-Jan-2016

51 views

Category:

Documents


1 download

DESCRIPTION

micro computers.

TRANSCRIPT

Page 1: اصول میکرو کامپیوترها.pdf

اك یىش وبذیسشب(یىشوششش)

اهید تکلیداشگا آزاد اسالهی شر

هجلسی

Page 2: اصول میکرو کامپیوترها.pdf

ح اسصیبثی

5هیاى ترم

2حضور و غیاب

2تکالیف

3پروژ

10پایاى ترم

اهید تکلیداشگا آزاد اسالهی شر

cهجلسی

Page 3: اصول میکرو کامپیوترها.pdf

مراجع

ؿش ػبثش اذی AVRیىشوشششبی حؼ ػیذسضی :ؿش AVRیىشوشششبی

ذی وبظ ، ػیذذی حؼیی دػشؼشدی :پدیدآرد AVRدشط ثب 10( شدآسذ)حذكبح ب ثخؾ :پدیدآرد AVRصثب اػجی یىشوشششبی

(یشاػشبس)ػیذذی حؼیی، ؼ ـىجبسثخـبیـی :پدیدآرد AVRدشط ثب 11CodeVisionآصؽ AVR (یشاػشبس)ثذاد داذی، ػیذاثاحؼ سؼی حذص :پدیدآرد

(ششػ)آبیشب ؼیی :پدیدآردCثشب یؼی اػجی AVRیىشوشششبی

اهید تکلیداشگا آزاد اسالهی شر

هجلسی

Page 4: اصول میکرو کامپیوترها.pdf

دشداصذ

دشداصذ چیؼز ؟ .دد هی اجام خد در را هحاسثات کلی ک تاشد هی کچک الکتریکی تراش یک پردازشگر

تاشد تیشتر سرعت ایي رچقدر شد هی سجید MHz اساس تر پردازشگر سرعت.دد اجام تاد هی لحظ ر در را تیشتری هحاسثات

احذ اكی سیضدشداصذ بقثل از آک تراسیسترا هرد استفاد قرار گیرد . احد اصلی ریسپردازد ا تراسیستر هی تاشد

از الهپ ا استفاد هی شد ک طثیعتا حجن سیستن ا تسیار تسرگ تدساخت شد ک شاهل تیش از 1971در سال 4004الیي ریسپردازد تسط ایتل تا ام

.دالر داشت 200تراسیستر تد قیوتی حدد 2300

اهید تکلیداشگا آزاد اسالهی شر

هجلسی

Page 5: اصول میکرو کامپیوترها.pdf

رشد ریس پردازد ا

اهید تکلیداشگا آزاد اسالهی شر

هجلسی

Page 6: اصول میکرو کامپیوترها.pdf

رشد ریس پردازد ا

Page 7: اصول میکرو کامپیوترها.pdf

Z80

•Z80پردازد یا zilog استفاد هرد ک است اییریسپردازد هعرفتریي از یکی 80 پیدا اویت شد هی استفاد ا داشگا در ایراى در ک آجائی از ریسپردازد ایي . شد

از تعضی در هتاسفا لی شد هی استفاد هز در اکى ن ریسپردازد ایي .ودگردد هی تدریس عتیق ال اساتید تسط ز ا داشگا

اهید تکلیداشگا آزاد اسالهی شر

هجلسی

Page 8: اصول میکرو کامپیوترها.pdf

ـخلبر

Single 5 Volt power supply

4 MHz (Z80A)

6 MHz (Z80B)

8 MHz (Z80H)

اهید تکلیداشگا آزاد اسالهی شر

هجلسی

Page 9: اصول میکرو کامپیوترها.pdf

ایتل پیشر تکلشی ریس پردازد

اهید تکلیداشگا آزاد اسالهی شر

هجلسی

Page 10: اصول میکرو کامپیوترها.pdf

یىشوششش چیؼز؟آ دس حمیمز یه ذاس ؼشغ وچه اػز و داسای .یىشوششش یه وبذیسش وچه ی ثبؿذ•

.یه دشداصؿش، حبفظ اػضاء دیشای لبث ثشب سیضی ی ثبؿذػبدی و ضی ثد اػشفبد اص ای اثضاس ثبػض ؿذ اػز اص آ دس دشػ بی وششی خشف •

اػشفبد ؿد اسجی اػجبة ثبصیػیؼش بی دضؿىیاص خبی..

:تفات هیاى پردارد ا هیکرکترلر ا ایه ب امکان ایه ومد اضاف دیگر ای المان حافظ ای چیپ آن ب بایذ کار برای پردازد

می اضاف را ماوىذتایمرا قطعات دیگر مىاسب حافظ کارمان حسب بر ک باشذ می مىاسب جت

دلیل میه ب شد می بیشتر سیى م سیى لحاظ از شد می پیچیذي مذار صرت ایه در کىیم

حافظ با جذیذ ای کىترلر میکر اما میشد استفادي خاص کارای در میکرپرسسرا از امرزي

ب را مذارات دذ می را امکان ایه زیاد بسیار تىع مختلف ای پرت متعذد ای تایمر باال ایدیم تسع ساخت سرعت

اهید تکلیداشگا آزاد اسالهی شر

هجلسی

Page 11: اصول میکرو کامپیوترها.pdf

لؼز بی یىشوششش:یىشوششش ب اص ثخـبی صیش سـىی ؿذ اذ•CPU احذ دشداصؽI /O سدی ب خشػی بRAMحبفظ اكی یىشROMحبفظ ای و ثشب سی آ رخیش ی شددTIMER ثشای وشش صب بInterrupt لف ب

...

اهید تکلیداشگا آزاد اسالهی شر

هجلسی

Page 12: اصول میکرو کامپیوترها.pdf

خااد هیکرکترلر ای هعرف

•MCS-51

•PIC

•AVR

•ARM

•Freescale

اهید تکلیداشگا آزاد اسالهی شر

هجلسی

Page 13: اصول میکرو کامپیوترها.pdf

Intel MCS-51.سػظ ایش سیذ شدیذ1980ای یىشوششش دس ػب •ـخل بی اكی ای یىشوششش ػجبسسذ اص•

• 8-bit ALU, Accumulator and 8-bit Registers; hence it is an 8-bit microcontroller

• 8-bit data bus – It can access 8 bits of data in one operation• 16-bit address bus – It can access 216 memory locations – 64 KB (65536

locations) each of RAM and ROM• On-chip RAM – 128 bytes (data memory)• On-chip ROM – 4 Kbyte (program memory)• Four byte bi-directional input/output port• UART (serial port)• Two 16-bit Counter/timers• Two-level interrupt priority• Power saving mode (on some derivatives)

اهید تکلیداشگا آزاد اسالهی شر

هجلسی

Page 14: اصول میکرو کامپیوترها.pdf

ثن دیبشا

اهید تکلیداشگا آزاد اسالهی شر

هجلسی

Page 15: اصول میکرو کامپیوترها.pdf

PIC microcontroller

اوظش اػشفبد وذب اص . ای یىشوششش ب ػبخز ؿشوز یىشچیخ ی ثبؿذ•ای یشوششش ب اثشاص ی وذ مبز ثؼیبس بػجی دس ثشاثش یض داسد

عجم ثذی ی و(core)ای یىشوششش ب سا اص دیذب ع ؼش •

Baseline Core 12ست

Mid-Range Core 14ست

High End Core 16ست •

اهید تکلیداشگا آزاد اسالهی شر

هجلسی

Page 16: اصول میکرو کامپیوترها.pdf

PIC بئی اص ااع

اهید تکلیداشگا آزاد اسالهی شر

هجلسی

Page 17: اصول میکرو کامپیوترها.pdf

ATMEL AVR

داسای ؼخ بی . ػبخش ؿذ اػز ATMELای یىشوششش سػظ ؿشوز •خشفی ی ثبؿذ و ثشای وبسثشدبی شفبر عشاحی ؿذ اػز

...دبی 64دبی سب 8اص یىشوششش بی •ثیشی ی ثبؿذ 32 8،16داسای ؼخ بی •

ػشػز ای یىشوشششب ثب سػ ث ؼبسی داخی افضایؾ ػذ ای دیذا د اػز

اهید تکلیداشگا آزاد اسالهی شر

هجلسی

Page 18: اصول میکرو کامپیوترها.pdf

AVRخباد • tinyAVR — the ATtiny series

– 0.5–8 kB program memory– 6–32-pin package– Limited peripheral set

• megaAVR — the ATmega series – 4–256 kB program memory– 28–100-pin package– Extended instruction set (Multiply instructions and instructions for

handling larger program memories)– Extensive peripheral set

• XMEGA — the ATxmega series – 16–384 kB program memory– 44–64–100-pin package (A4, A3, A1)– Extended performance features, such as DMA, "Event System", and

cryptography support.– Extensive peripheral set with DACs

• Application-specific AVR– megaAVRs with special features not found on the other members of

the AVR family, such as LCD controller, USB controller, advanced PWM, CAN etc.

• FPSLIC™ (AVR with FPGA)– FPGA 5K to 40K gates– SRAM for the AVR program code, unlike all other AVRs– AVR core can run at up to 50 MHz [5]

• 32-bit AVRsاهید تکلی

داشگا آزاد اسالهی شر هجلسی

Page 19: اصول میکرو کامپیوترها.pdf

AVRؼبسی

اهید تکلیداشگا آزاد اسالهی شر

هجلسی

Page 20: اصول میکرو کامپیوترها.pdf

AT90S

داسای لیز ؼجشب ثبالئی ؼشذ •اىببر وششی ؼجز ث ػبیش ذ ب داسذ•بذ•

AT90S4434 , AT90S8535, AT90S4433, AT90S2323

AT90S1200, AT90S4414, AT90S8515, AT90S2343

اهید تکلیداشگا آزاد اسالهی شر

هجلسی

Page 21: اصول میکرو کامپیوترها.pdf

Atiny

دبی اسائ ؿذذ 24 16 8دس ثؼش بی •اىببر لبثیز بی ثیـششی ؼجز ث ػشی ا داسذ•ؼال ث دی وچه ثد دس ػیؼش بئی ثب دسر و اػشفبد ی ؿذ•

داسد ADCحشی ثؼضی اص ذ بی وچه ا یض اىببسی چ •• ATtiny10, ATtiny12, ATtiny15, ATtiny25, ATtiny2313, ATtiny45

اهید تکلیداشگا آزاد اسالهی شر

هجلسی

Page 22: اصول میکرو کامپیوترها.pdf

ATmega

داسای اىببر ثیـششی ؼجز ث ػشی بی لجی اػز•ااع خشف اىببر ثشسی ا ػشی ػد اػز•...6440دس دبی بی خشف ػد ی ثبؿذ بذ •

• ATmega48, ATmega603, ATmega164, ATmega128,

• ATmega1280, ATmega8515

ATMELؿشوز 8051ث ظس ػبصبسی ثب ذ بی :ىش•سا ػشض د و دس ذاسار خد ATmega8515یىشوششش ذ

ی سا ثب ب ػبخشبس دبی دیبد ػبصی د

اهید تکلیداشگا آزاد اسالهی شر

هجلسی

Page 23: اصول میکرو کامپیوترها.pdf

ثشب یؼی

صثب ػغح دبئی•اػجی•

ػشػز ثبالسش–دیچیذی ثیـشش–

صثب ػغح ثبال••C ,C++

•Basic

•Pascal

•…

اهید تکلیداشگا آزاد اسالهی شر

هجلسی

Page 24: اصول میکرو کامپیوترها.pdf

CPU Cycle

دشداصؿشب ثشای اؼب ظبئف ح ث صبی یبص داسذ احذ ای صب •.ػیى بؿی ی ثبؿذ

دس حمیمز یه دبغ ػبػز ثشای دشداصؿش اػزCPUیه ػیى •ای ػیى ثب فشوبغ اػیالسس دشداصؿش ساثغ داسد•

اص ای س ش دػشس یىشوششش دس یه یب چذ ػیى اػشا یشدد•

frequencyosillatorcyclemachine

1

اهید تکلیداشگا آزاد اسالهی شر

هجلسی

Page 25: اصول میکرو کامپیوترها.pdf

ػشػز دشداصؿشب

Instructions per second

ؼال ث دی ثبال ثد ای ػذد اص احذبی . سؼذاد دػشسار اؼب ؿذ دس احذ صب یب طبی سا ـخق ی وذصیش اػشفبد ی ؿد

thousand instructions per second (KIPS),

million instructions per second (MIPS),

Giga instructions per second (GIPS),

Million Operations per Second (MOPS).

اهید تکلیداشگا آزاد اسالهی شر

هجلسی

Page 26: اصول میکرو کامپیوترها.pdf

شسی ثش ؼبسی دشداصذ ب

ثشای یىشوشششب اص د ؼبسی اػشفبد ؿذ اػز•

•CISC(Complex Instruction Set Compute)دس ای ؼبسی سؼذاد دػشسار ثیـشش ثد .اػشفبد ی ؿذ 1980اص ای ؼبسی لج اص ػب بی

دس ای ؼبسی ػشػز اػشائی . ی ػبدی ثیـششی دس وذبی اػجی آب ػد داؿش اػزدػشسار وشش ثد اػز

RISC(Reduced Instruction Set Compute)دس آ سؼذاد دػشسار وبؾ یبفز ی . اػشفبد شدیذ 1980اص ای ؼبسی ثؼذ اص ػب بی

صثب اػجی ث وبس سفش دیچیذ سش ؿذ ی اىب .ثشاثش افضایؾ دیذا د 10ػشػز اب سب فشا ؿذ cثشب یؼی ثب صثب بی ػغح ثبالسش بذ

اهید تکلیداشگا آزاد اسالهی شر

هجلسی

Page 27: اصول میکرو کامپیوترها.pdf

شسی ثش ااع حبفظ

• RAM (Random Access Memory)

• ROM(Read Only Memory)

• EPROM(Erasable Programmable Read only Memory)

• EEPROM(Electrically Erasable Programmable Read-Only Memory)

• Flash memory• NOR memories

• NAND memories

– MultiMedia Card (MMC)

– SD memory

اهید تکلیداشگا آزاد اسالهی شر

هجلسی

Page 28: اصول میکرو کامپیوترها.pdf

AVRثشب یؼی

اصصثب بی خشف اػشفبد AVRث ظس ثشب یؼی ثشای •ی وذ

اػجی دیچیذ سش اػز •

ػبد سش اػز Cصثب •اص ثشب بی خشف اػشفبد ی وذ Cثشای ثشب یؼی ث صثب –

AVRGCC

Codevision

اهید تکلیداشگا آزاد اسالهی شر

هجلسی

Page 29: اصول میکرو کامپیوترها.pdf

AVRGCC(winavr)

.ث كسر ش ثبص ثد ؼبی ی ثبؿذ•داسای وشبة خب بی ثؼیبس صیبدی اػز•

ث وبس ی سد AVRSTUDIOثشا ش افضاس •ی ثبؿذ Simulatorداسای

سا یض داسدcodevisionسابئی ؿجی ػبصی وذ بی ؿش ؿذ ثب

اهید تکلیداشگا آزاد اسالهی شر

هجلسی

Page 30: اصول میکرو کامپیوترها.pdf

codevision

وبس ثب آ ػبد سش اػز•داسای اىببر ابد ػبصی وذ بی دیؾ فشم ی ثبؿذ•اىب ثشب سیضی چی وبس ثب ثشدبی اػشبذاسد سا ث كسر دیؾ فشم سی •

خد داسد•....

اهید تکلیداشگا آزاد اسالهی شر

هجلسی

Page 31: اصول میکرو کامپیوترها.pdf

ATmega16ؼشفی

ی ثبؿذ AVRای یىشوششش یىی اص دبی ای سشی یىشوششش بی ػشی •ػد داسد ثشسی ای یىشوششش ػد ی ثبؿذ AVRغبت اىببسی و ثشسی •ػد داسد DIP SMDای یىشوششش دس ااع ثؼش ب ؿب •ػشػز ا لبث لج ثد ثؼیبسی اص یبص ب سا فشا ی وذ•ای یىش دس ذ بی خشف ػشض ؿذ اػز •

ATmega16L

ATmega16

ATmega16A

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 32: اصول میکرو کامپیوترها.pdf

ATmega16ـخلبر

سا لشفی ؼجشب دبئئ•RISCاػشفبد اص ؼبسی •

دػشساؼ ی ثبؿذ 131داسای –ثیشی اػز 8سػیؼشش 32داسای –16MHzػشػشی سب –

حبفظ غیش فشاس ثشب دیشب•–16k ثبیز حبفظFlash ثشای ثشبEEPROMثبیز حبفظ 512––1K حبفظRAM

یظی بی ػبجی•ثیشی 8وبشش /د سبیش –ثیشی 16وبشش /یه سبیش ––RTC–PWMثیشی 10وبب جذ آبي ث دیؼیشب 8– TWIاسسجبط ػشیب دػی–USARTػشیب لبث ثشب سیضی –SPIاسسجبط ػشیب –

–WATCHDOGمبیؼ وذ آبي داخی–

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 33: اصول میکرو کامپیوترها.pdf

ATmega16ؿى یىشوششش

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 34: اصول میکرو کامپیوترها.pdf

ATmega16 ااع ذ بی

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 35: اصول میکرو کامپیوترها.pdf

ATmega16ؼشفی دبی بی یىشوششش

Vccث شبطی دس حذد ATmega16Lای دبی شبط سغزی ی یىش اػز و ثبیذ دس یىشوششش

.شل شدد5.5Vسب 4.5Vث شبطی دس حذد ی ATmega16 دس5.5Vسب 2.7Vی

GNDای دبی ث صی شل ی ؿد

PA0) Port A سبPA7) دس.ؿد اػشفبد دیؼیشب ث آبي جذ ثشای آبي بی سدی ثؼا ساذ یAدسر

Iدبی 8 ثؼا دسر ای اص سا شدد،ی اػشفبد دیؼیشب ث آبي جذ اص و كسسی / Oد اػشفبد خبسػیPull-upمبز یه اص ساذ ی دسر بی دبی اص شیه.وشد اػشفبد عشف دسر ای بی دبی.داسد سا ثبال بی ػشیب داد یض دزیشؽ سابیی دسر ای،ای ثش ػال.وذ.یشد ی لشاس(Tri-state)ثبال اذذاغ حبز دسresetصب دس

PB0 )Port B تا(PB7:/ Iای دسر ب،دسر بی O ثیشی،ثب مبز بی 8د عشف یPull-up ثبفش .داخی ی ثبؿذ

خشػی ای دسر ب سابیی دزیشؽ یض داد ػشیب بی ثبال سا داسد دبی بی آب دس صبreset ش وذا اص دبی بی ای دسر ظبئف دیشی یض داسد .دس حبز اذذاغ ثبال لشاس ی یشد

و ث سشسیت ػجبسسذ اص(XCK/TO)یا PB0پای

و اگر اگر از کاتر صفر استفاد شود ب عواى ورودی کاتر صفر هحسوب هی شود

USART در هود سکروى استفاد شود خروجی کالک وسهاى کذ است

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 36: اصول میکرو کامپیوترها.pdf

(T1)یب PB1دبی •اگر از کاتر یک استفاد شد ت عاى ردی کاتر یک هحسب هی شد–

(INT2/AIN0)یب PB2دبی •. اػشفبد ؿد 2ای دبی ی ساذ ث ػا سدی لف خبسػی–

یؼی مبیؼ وذ اػشفبد ی وذ OPAMPاصای دبی ث ػا سدی ظجز

(OC0/AIN1)یب PB3دبی •

دس كسسی و اص ذ مبیؼ سبیش كفش اػشفبد ؿد خشػی ذ مبیؼ–

خاذ PWMاػشفبد ؿد ث ػا خشػی PWMاش دس ذ .خاذ ثد

اػز OPAMPاش مبیؼ وذ آبي فؼب ثبؿذ ای دبی ث ػا سدی فی . ثد

(SS)یب PB4دبی •(MOSI)یب PB5دبی •

(MISO)یب PB6دبی •

(SCK)یب PB7دبی •ث وبس ی سذ و دس ایذ ث عس وب ثیب ی ؿذ SPIای دبی ب ثشای اسسجبط •

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 37: اصول میکرو کامپیوترها.pdf

•PC0 )Port C تا(PC7:

.دس حبز ػبدی ث ػا سدی خشػی اػشفبد ی ؿذ

PC0 (SCL)دبی •ث ػا والن اػز TWIثشای اسسجبط دی د ػی –

PC1 (SDA)دبی •ث ػا خظ دیشب اػشفبد ی ؿد TWIثشای اسسجبط دی د ػی –

PC2(TCK)دبی •PC3 (TMS)دبی •PC4 (TDO)دبی •PC5 (TDI)دبی •

اػشفبد ی ؿذ JTAGای دبی ب ثشای –PC6 (TOSC1)دبی •

وی شسض اػشفبد وی ای دبی دبی ا اػیالسس 32.768سبیش د اػشفبد ؿد ثبیذ اص وشیؼشب RTCاش اص –اػز

PC7 (TOSC2)دبی •وی شسض اػشفبد وی ای دبی دبی د اػیالسس 32.768سبیش د اػشفبد ؿد ثبیذ اص وشیؼشب RTCاش اص –

اػز

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 38: اصول میکرو کامپیوترها.pdf

•0 )Port D سب(PD7:.دس حبز ػبدی ث ػا سدی خشػی اػشفبد ی ؿذ–

PD0 (RXD)دبی •دساسسجبط ػشیب ث ػا سدی دس ظش شفش ی ؿد–

PD1 (TXD)دبی •دساسسجبط ػشیب ث ػا خشػی دس ظش شفش ی ؿد–

PD2 (INT0)دبی •ث ػا سدی لف خبسػی كفش دس ظش شفش ی ؿد–

PD3 (INT1)دبی •ث ػا سدی لف خبسػی یه دس ظش شفش ی ؿد–

PD4 (OC1B)دبی •دس كسسی و اص ذ مبیؼ سبیش یه اػشفبد ؿد خشػی د ذ مبیؼ–

خاذ ثد PWMاػشفبد ؿد ث ػا خشػی PWMاش دس ذ .خاذ ثد PD5 (OC1A)دبی •

مبیؼخشػی ا ذ دس كسسی و اص ذ مبیؼ سبیش یه اػشفبد ؿد –

خاذ ثد PWMاػشفبد ؿد ث ػا خشػی PWMاش دس ذ . خاذ ثد PD6 (ICP)دبی •PD7 (OC2)دبی •

دس كسسی و اص ذ مبیؼ سبیش د اػشفبد ؿد خشػی مبیؼ ای سبیش د –

خاذ ثد PWMاػشفبد ؿد ث ػا خشػی PWMاش دس ذ . خاذ ثد

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 39: اصول میکرو کامپیوترها.pdf

•RESETیه ػیى دبغ یىش یه دبی ی سدی اػز و اش ثشای حذال

حشی اش والوی ث سشاؿ اػب ـد،ثب ٬ثـد( غمی)كفش

.ی شدد resetای ػد یىش

•XTAL1ای دبی ،یه دبی ی سدی اػز و ث سمیز وذ ی اػیالسس شل ی ؿد ث ذاس سیذ والن سشاؿ یض

.اسد ی شددXTAL2

ای دبی،یه دبی ی خشػی اػز و اص سمیز وذ ی .اػیالسس خبسع ی ؿد

•AVCC ADC جذ آبي ث دیؼیشب ی ثبؿذ حشی دس كسسی و اصAای دبی جغ سغزی ی شثط ث دسر

اػشفبد ی ؿد ثشش اػز ای دبی ثب یه ADCاش اص.شل شددVccث״ اػشفبد ـد، ثبیذ حشبشل ؿدVccفیشش دبیی زس ث

•AREF..ای دبی شبط شػغ آبي ثشای جذ آبي ث دیؼیشب ی ثبؿذ

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 40: اصول میکرو کامپیوترها.pdf

دبغ ػبػز

دبغ ػبػز چیؼز•ثش اػبع آ شػؼی ثشای ػؼؾ داسی .دبغ ػبػز یه ػیب ب وذ دس ػیؼش ب ی ثبؿذ –

دس ای ؿى بغس و دیذ –ی ؿد یه ضب وذ ثی–

د فیخ فالح ػد داسد–

ATmega16بثغ دبغ ػبػز دس •دبغ ػبػز ثب وشیؼشب خبسػی–دبغ ػبػز ثب وشیؼشب فشوبغ دبئی–

خبسػی RCػب ػبص ثب –وبیجش ؿذ داخی RCػب ػبص ثب اػیالسس –ػب ػبص ثب والن خبسػی–

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 41: اصول میکرو کامپیوترها.pdf

سظی جغ دبغ ػبػز

ثشای سظی جغ دبغ ػبػز ثبیذ اص فیص ثیز بی شثط ث ا اػشفبد د•فیص ثیز چیؼز ؟•

.ظال سظی جغ دبغ ػبػز. فیص ثیز ب ثشای اؼب سظیبر خبف دس یىش وششش اػشفبد ی ؿذ –ای فیص ثیز ب ثب لغغ ثشق یىش دبن ی ؿذ–. ثبیذ ب دششا وشد یىش اب سا مذاس داد. ثب ثشب یؼی ی سا اب سا سغییش داسد–

هعرفی فیز تیت ای تعییي کد پالس ساعت•ترای تعییي هثع پالس CKSEL0 , CKSEL1 , CKSEL2 , CKSEL3فیز تیت ای –

.ساعت وچیي فرکاس پالس ساعت استفاد هی شد

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 42: اصول میکرو کامپیوترها.pdf

وشیؼشب خبسػی

و ثشاػبع ػشػز سد ظش خد مذاس سا CKSEL3..0 = 1111 1010 ~مذاس فیص ثیز ب•سظی ی وی

سا سظی ی وی CKSEL3..0 = 1111ؼال مذاس •دبی بی وشیؼشب سا غبثك ؿى سثششل ی وی •ثذ وشیؼشب سا یض ؼال ث صی شل ی وذ•سب 12خبص ب ث ظس حزف یض اىشش غبعیؼی سد اػشفبد لشاس ی یشذ مذاس آب ثی •

دیى فبساد اػز 22

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 43: اصول میکرو کامپیوترها.pdf

دبغ ػبػز ثب وشیؼشب فشوبغ دبئی

CKSEL3..0 = 1001مذاس فیص ثیز ب •

وی شسض اػز 32.768وشیؼشب فشوبغ دبئی وشیؼشبی ثب فشوبغ •

شل ی ؿد XTAL1 XTAL2ای وشیؼشب یض ث ب دبی بی •

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 44: اصول میکرو کامپیوترها.pdf

خبسػی RCػب ػبص ثب

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 45: اصول میکرو کامپیوترها.pdf

وبیجش ؿذ داخی RCػب ػبص ثب اػیالسس

دس ای سؽ فشوبغ بی طبثز •

1MHz 2MHz4MHz8MHz

سا خای داؿزدسػ اثؼش اػز25ز دبی 5دبیذاسی ای فشوبغ ؿذیذا ث مذاس سغزی •دسكذ ثبؿذ 10سب 3مذاس خغبی ای ػب ی ساذ ثی •

سظی ؿذ اػز1MHzیىش ث عس دیؾ فشم ثشسی فشوبغ •غبثك ثب ػذ صیش اػز CKSEL3..0مذاس فیصبی•

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 46: اصول میکرو کامپیوترها.pdf

ػب ػبص ثب والن خبسػی

دس ای حبز دبغ ػبػز سا اص یه جغ دبغ خبسػی اػشفبد یىذ•دسكذ داؿش ثبؿذ 2ای جغ جبیذ خغبئی ثیؾ اص •

سظی ی ؿد CKSEL3..0; 0000مذاس فیص ثیز •

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 47: اصول میکرو کامپیوترها.pdf

ATmega16بثغ سیؼز دس

.سی ػز سا بب یه لف ی بذ•گام ری ست کلی رجیسترای ردی خرجی ت هقادیر پیش فرض در ظر گرفت شد تغییر هی یاتد•

.ؿشع ی ؿد 0x0000ث كسر دیؾ فشم ثؼذ اص سی ػز ثشب اص ثشداس •ی سا ثشداس سی ػز سا ثب اػشفبد اص فیص ثیز ب ث حی سؼیی د و اص آدسع دیشی دس حبفظ •

Flash آغبص ؿد•ATmega16 سا اص عشیك دغ جغ ی سا سی ػز وشداػشفبد ی وذ MCUCSRثشای سؼیی جغ سی ػز اص سػیؼشش •

: PORF :POWER ON RESET: 0ثیز•یه ؿذ یىش PORFدبئی سش سد ثیز VPOTدس كسسی و شبطسغزی اص شبط آػشب

سی ػز ی ؿد

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 48: اصول میکرو کامپیوترها.pdf

ATmega16بثغ سیؼز دس

(:EXTERNAL RESET) سیؼز خبسػی•دس EXTRFدس كسر كفش ؿذ دبی سیؼز یىش ثشای ثیؾ اص یه ػیى ثیز

.یه ؿذ یىش وششش سی ػز ی ؿد MCUCSRسػیؼشش ویذ فـبسی خبص دید ثشای ثی . ذاس صیش ثشای سیؼز اػشفبد ی ؿد•

دبی سی 10K اضای ی ثبؿذ ی ثبیذ ثب یه مبز .ػبصی اػشفبد ی ؿذػز سا ث سغزی شل د

دید خبسػی ثشای حزف •اطش اىششیؼش ػبو اػز

ثشا ی حزف یض اػشفبدخبص •

ی ؿد

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 49: اصول میکرو کامپیوترها.pdf

ATmega16بثغ سیؼز دس

•Watchdog:یه ؿذ MCUCSRدس WDRFسبیش جب صب دس كسسی و ػشسیض وذ ثیز

یىش سیؼز ی شدد

•Brown-out Reset : دس كسر فؼب ثد ذاسBrown-out سػظ فیص ثیز. وشش ؿد ذاس سی ػز ی ؿد 4/5یب 2/7اش شبط سغزی اص BODENبی

.سؼیی ی ؿد BODLEVELمذاس ای شبط ثشاػبع فیص ثیز .یه خاذ ؿذ MCUCSRدس BORFچی ثیز

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 50: اصول میکرو کامپیوترها.pdf

سا اذاصی ای ػخز افضاس

ثشای دیبد ػبصی یه ذاس ثبیذ ػخز افضاس سا ثبیبع د حذال بی •سد یبص ثشای دیبد ػبصی ػخز افضاس غبثك ؿى اػز

ثؼش ث ع ذاس دیبد ػبصی ی سا ااع سؽ بی ثبیبع سا داؿز•دس ثؼضی اص ذاسار یبص ث وشیؼشب ذاسی دس ثؼضی داسی•

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 51: اصول میکرو کامپیوترها.pdf

یه ذاس ػبد

سا LEDدس ای لؼز كشفظش اص ثشب یؼی ی خای ذاس سا اذاصی یه •طبی یض 1ثب ػشػز LEDای ثشای چـه صد ای عشاحی وی دس آیذ ثشب

.خای ؿز

دس ای ذاس اص •وشیؼشب اػشفبد

ث ػبیش. د ایاسلبالر یض اذوی

دلز ویذ

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 52: اصول میکرو کامپیوترها.pdf

AVRثشب یؼی ثشای

اص د صثب ؼشف اػشفبد ی وذ AVRثشای ثشب یؼی یىشوششش•BASCOMثیؼیه ثب اػشفبد اص ش افضاس ••C ثب اػشفبد اصCodevision Winavr

وبس وبس دس فشػی سؿش یه ػا ث سا یىشوششش و وذ ی اػشفبد وؼبی ؼال BASCOM اص آ اص داسد یىشوششش ثب ای دشط ث یبص و ىبیه ذع یه ظب ثشای .وذ ی اػشفبد خد

.وذ ی اػشفبد

:هسایاػبدی

داؿش وذ ب دشط بی آبد:هعایة

سیذ وذ صیبد دس ثشاثش چذ خظ ثشب یؼیػشػز دبئی سش

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 53: اصول میکرو کامپیوترها.pdf

اسیش

لج اص ؿشع ثشای ثشب یؼی ثبیذ اسیش فچبسر ثشب سا ثػی•ثب اػشفبد اص ای اىب اص ػشدسی ب ثشب یؼی ػیشی خاذ ؿذ•اسیش سؼیی ی وذ ثؼذ اص ش شح ثبیذ ث ػشاؽ وذا شح یب شاح سفز• یؼز و دس ؿش اسیش یب سػ فچبسر اصچ سؽ یب بدبئی اػشفبد •

وی داؼش كحیح شاح لجی ثؼذی اػز

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 54: اصول میکرو کامپیوترها.pdf

Cثشب یؼی ثب

ث ػا یىی اص ثششی لذسسذ سشی صثب بی ثشب Cصثب ثشب یؼی •.یؼی ی ثبؿذ

سمشیجب سبی یىشوشششب ای صثب سا دـشیجبی ی وذ•دسای كسر اش ثخای اص یه یىشوششش ث یىشوششش دیش ػئیچ وی •

سا یبد ثیشی ... وبفی اػز سب سػیؼششب

اػشفبد ی وذ codevision winavrثشای ثشب یؼی اص د حیظ •اك ثشب یؼی ثشای شوذا اص د حیظ یىؼب اػز •

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 55: اصول میکرو کامپیوترها.pdf

cلؼیز صثب

سا اشچ صثبی ػغح ثبال ی داذ ی ثؼیبسی آ سا صثب یب ی داذ cصثب •صیشا اشچ خلكیز صثب بی ػغح ثبال سا داسد ی بذ اػجی سابئی وبس ثب

ثیز ب دػششػی ؼشمی ث حبفظ سا یض داسد

ث ىبر صیش سػ ویذ cب ثشب یؼی دس •ث حشف ثضسي وچه حؼبع اػز cصثب –دس ب ثشب یؼی جبیذ اص وبر ویذی اػشفبد د–

خش ی ؿد ;ش خظ دػشسار ث –//لشاس ی دذ یب ثؼذ اص */ /* سؼبسیف ثشب سا دس –

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 56: اصول میکرو کامپیوترها.pdf

فبی بی ػشآیذ یب دیؾ دشداصذ

ح لت ش افضاس الغ ؼشذ INCای فبی ب ث كسر آبد دس دؿ •

ای فبی ب دس اثشذای ثشب ؼشفی ی ؿذ•ؼشذ h.ای فبی ب داسای دؼذ •اص عشیك ای فبی ب یىشوشششی و لشاس اػز اػشفبد ؿد ؼشفی ی شدد•

وشبثخب بئی و لشاس اػز اػشفبد ؿذ یض ؼشفی ی ؿذ•

اػشفبد ی ؿد include#ثشای سؼشیف ػشایذ ب اص •#include<atmega16.h>

#include<stdio.h>

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 57: اصول میکرو کامپیوترها.pdf

cااع داد ب دس صثب

ششی لؼز ثشب یؼی دس ش صثبی داد ب ی ثبؿذ•داد ب اعالػبر سدی یب ػد دس ػیؼش ی ثبؿذ و ثش اػبع آب •

ااع دشداصؽ ب كسر ی یشدیىی اص خلكیبر داد ب ع آب اػز•اص آؼبئی و ای داد ب فضب اؿغب ی وذ سظی دسػز آب ثؼیبس •

ضشسی اػز ع داد اكی اػز 5داسای داسای cصثب •

–Int char float double void

ثشای سؼشیف شغیشب ث كسر صیش داسی–ع شغیش ب شغیش مذاسشغیش

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 58: اصول میکرو کامپیوترها.pdf

cااع داد ب دس صثب

•int : ای ع داد یىی اص ؼششی ااع داد اػز و ثشایثیز یب د ثبیز اػشفبد ی ؿد16دخیش داد بی ثب ع

اػشفبد intثشای سؼشیف شغیشی اص ع كحیح اص و ویذی •.ی وی

• int var_test =50;

ثب intسااصع var_testبغس و ـبذ ی ؿد شغیش •سؼشیف دی 50مذاس

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 59: اصول میکرو کامپیوترها.pdf

cااع داد ب دس صثب

•Char از وع یک بایتی است

•Float بایتی است 4برای رخیر اعذاد اعشاری استفاد هی شود و

•Double بایت استفاد هی شود ب جذول زیر 8برای رخیر اعذاد صحیح تا

توج کیذ

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 60: اصول میکرو کامپیوترها.pdf

ااع مبدیش

اش لج اص ػذد سد ظش ػالشی زاسی ف آا ػذد دػیب اػز•Char x=15;

ثیبیذ ف آ ضا اػز 0xاش لج اص ػذد •Char x = 0x15;

ثیبیذ ف آ ثبیشی اػز 0bاش لج اص ػذد •char x= 0b11100011;

اشو ای ثی د داث وسیـ ثبؿذ مذاس سؿش اػز• char x*+ = “tehran”;

اش وبساوششی ثی د ػالز وسیـ ثبؿذ مذاس اػىی داسد•char x = ‘s’;

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 61: اصول میکرو کامپیوترها.pdf

شغیشب ث كسر حی یب وی سؼشیف ی ؿذ•

:ب زاسی شغیشب•دس ب زاسی شغیش ب اص حشف وبساوششبی یظ اػشفبد ی وذ

a-z A-Zحشف

اػذادحشف سثظ

ای حشف جبیذ ػذد ثبؿذحشف ثبؿذ 31جبیذ ثیؾ اص

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 62: اصول میکرو کامپیوترها.pdf

:مذاس دی شغیشب•اص ػ سؽ ی سا ث شغیش ب مذاس داد

ب سؼشیف;دغ اص سؼشیف ثب اػشفبد اص

ثب اػشفبد اص دػشسار سدی

:طاثزاص طاثز .مبدیش ؼشذ و دس ثشب سؼشیف ی ؿذ ی مذاس آب سغییش ی وذ.بی و ثخای اص مذاسی شبثب اػشفبد وی اػشفبد ی ؿد

#define ب طبثز مذاس

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 63: اصول میکرو کامپیوترها.pdf

عملگرها

ػشب بدبی خبكی ؼشذ و ثشاػبع آب ػیبر بی خبكی كسر ی •دزیشد

ااع ػشب •:حبػجبسی –

ای اص آب ؼشذ* / -+ ای ػشب ػیبر بی حبػجبسی سا اؼب ی دذ •

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 64: اصول میکرو کامپیوترها.pdf

غمی–ثشسی ػجبسار غمی ػ ی وذ مبدیش دسػز یب بدسػز داسذ•

ساثغ ای–اسسجبط ثی ػذب سا ـخق ی وذ•

ثیشی–ثشسی ثیز ب ػ ی وذ بذ ؿیفز داد ، سؼز وشد ثیز ب•

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 65: اصول میکرو کامپیوترها.pdf

if-elseدػشس ؿشط

ثشای اسصیبثی یه ؿشط وششی دس ثشب سد اػشفبد لشاس ی یشد•ػبخشبس آ ث كسر صیش اػز•

If(ؿشط){1دػشساؼ بی

{else{2دػساؼ بی

{سؼز ی ؿد دس كسسی و كحیح ثبؿذ ifدس ایؼب ؿشط

اػشا ی ؿذ دس غیش ای كسر دػشساؼ بی 1دػشساؼ بی اػشا ی ؿذ 2

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 66: اصول میکرو کامپیوترها.pdf

ظب

unsigned char a,b;

If(a > b){

a++;

b+=10;}

else{

a--;

b-=10;

}

unsigned char zx,sd;

If(zx==sd) zx++;

else sd++;

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 67: اصول میکرو کامپیوترها.pdf

forحم سىشاس

بی و ثخای ؼػ ای اص دػشسار سا ثب سػ ث ؿشایغی ث سؼذاد •ـخلی سىشاس وی اص ای دػشس اػشفبد ی وی

ح اػشفبد اص ای دػشس ث كسر صیش اػز•

• for( مذاس دی ای }(ؿبسذ حم;ؿشط حم;

;دػشساؼ ب

}

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 68: اصول میکرو کامپیوترها.pdf

unsigned char i;

unsigned int w;

for(i=0;i<25;i++){

W+=5;

}

unsigned char I,j,z=2;

for(i=10;i>0;i--){

for(j=0;j<=50;j++){

z*=10;

if(z==140) z=2;

}

}

for(;;){دستورالعول ا

{

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 69: اصول میکرو کامپیوترها.pdf

whileدػشس ثبػض سىشاس ؼػ ای اص دػشسار خاذ ؿذ

ثذ دس ظش شفش ؿبسذ

while(ؿشط){

;دػشساؼ ب

}

unsigend char a,b;

while(a>b){

a=(a/b*2);

}

do-whileدػشس ای دػشس یض بذ دػشس لج اػز ثب ای سفبر

و حذال یىجبس اػبص سىشاس سا ی دذ

do{

;دػشساؼ ب

}while (ؿشط);

unsigned char I,sw,y;

do{

i++;

y=sw*i;

}while(i<10);

while(1){;دستورالعول ا

}

do{;دػشساؼ ب}while (1);

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 70: اصول میکرو کامپیوترها.pdf

هثال• 10سا ثشاثش ثب zثد 1ثشاثش ثب xدس كسسی و •

دس غیش 20سا zثد 26دس كسسی و ثشاثش ثب .ثزاس 50سا ثشاثش zای كسر

unsigned char x,z;switch(x){case ‘1’ : z=10;break;case ‘26’ : z=20;break;default :z=50;}

switchدػشس •اػز ای مبیؼ دػشس یه دػشس ای• طبثز اػذاد سؼذادی ثب سا ػجبسر یه دػشس ای•

وذ ی مبیؼ ثبؿذ ؼبی طبثز مذاس ثب ػجبسر و كسسی دس•

.یىذ اػشا سا ب دػشساؼاص ای لؼز خبسع ی ؿد breakدس بیز ثب دػشس •سا زاؿز سب defaultی سا دس اشبی ای دػشس لؼز •

اش دػشسی دیذا ـد آ اػشا شددی سا غیش اص طبثز caseثؼبی ػجبسر دس لؼز •

.چیضی زاؿزSwitch(ػجبسر){

case 1مذاس :;دػشساؼبی اbreak;case 2مذاس :

ددػشساؼبی ;break;

default:دیؾ فشمدػشساؼبی ;

}

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 71: اصول میکرو کامپیوترها.pdf

اسد جبؿذ كفش x اش ثشب ای دس .یبثذ ی افضایؾ یىی ؿد ی حم ثب ثؼذ ؿد ی سؼز یض n شغیش

ؿشط اثشذای ث continue ث سػیذسد ی

goto دػشس

goto label;ثب اػشفبد اص ای دػشس ث ثشچؼت

goto دشؽ ی ویloop:;دػشس اؼ

goto loop;

break دػشس• اص ؿذ خبسع ؿىؼش ثشای دػشس ای اص•

وذ ی اػشفبد ؿشط ثذ حم ادا فؼی حم اص ثؼذ دػشس اص ػجبسسی ث•

یبثذ یBreak;

continue دػشس• اثشذای ث ثشب دػشس ای ث ثشب سػیذ ثب

وذ ی دشؽ حمContinue;

unsigned char x=1,i,n;While(x){i++;if(n==10){

x=0;continue;}

}

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 72: اصول میکرو کامپیوترها.pdf

cساثغ دس صثب

دس ؼال .اػز main ث ػ اكی سبثغ یه داسای حذال c صثب دس ثشب ش• .ؿذ ی فشاخای دیش ساثغ سبثغ ای

سا دشداصؿی یىذیش وبس دس و ثبؿذ ی دػشسار اص ای ؼػ حمیمز دس ساثغ• ب فمظ جد دػشسار ای سه سه ؿش ث یبص س ای اص دذ ی اؼب.ؿذ خاذ صد كذا سبثغ

شسبثغ ث فش صیش سؼشیف ی ؿد•

والع رخیش ػبصی ع ثشـشی سبثغ }(آسب بی سبثغ)ب سبثغ ;دػشساؼ ب

return شغیش یب ػذد;

}

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 73: اصول میکرو کامپیوترها.pdf

:هثال•

void display(){

;دػشساؼ ب

}

void main(){

display();

;دػشسار

}

ع سبثغ ؼال یىی اص ااع سؼشیف ؿذ بذ •char یبint اػز...یب

voidاش سبثغ مذاسی ثبص شداذ آ سا اص ع • voidدس ظش ی یشذ دس ػی سبثغ و

ث وبس ی ثشذ

مذاس returnاش سبثؼی ثشـشی ثبؿذ ثب •خد سا ثبص ی شداذ

فشاخای سؼشیف داصسبثغ سا ثبیذ لج : ىش •

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 74: اصول میکرو کامپیوترها.pdf

توابع استانذارد

کتابخا ای•

• ctype.hثبص ی شداذ 0یب 1ثؼش ث ع وبساوشش سدی مذاس

• stdlib.h

ثشسی شغیشب سؿش بی سدی ػ ی وذ

• math.h

ساثغ سیبضی سا اسائ ی وذ

• string.h

ػیبر سی سؿش ب اؼب ی دذ

• bcd.h

دشداصؽ ی وذ bcdسی سدی بی

• delay.h

ثبػض ایؼبد سبخیش ی ؿد

ساثغ اػشبذاسد اىببر سد یبص ثشای ثشب •یؼی لؼز بی خبف سا ث ب اسائ ی

وذثشای اػشفبد اص شوذا اص ای ساثغ ثبیذ •

وشبثخب ا سا كذا ثضی:ىبر •ش وشبثخب سا ث كسر صیشاضبف ویذ•

#include< ام کتابخا.h>

زاؿز ;دس اشبی ب ش سبثغ ثبیذ

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 75: اصول میکرو کامپیوترها.pdf

• delay.h

• void delay_us(unsigned int n)اػز ث ی مذاس ثشحؼت 65535سب 0ثی nمذاس

یىشطبی سبخیش ی دذ

• void delay_ms(unsigned int n)یی ثشحؼت اػز ث ی مذاس 65535سب 0ثی nمذاس سبخیش ی دذطبی

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 76: اصول میکرو کامپیوترها.pdf

دسر بی یىشوششش

.دبی بی یىشوششش ی ساذ ث كسر سدی یب خشػی ثبؿذ•ثشب یغ ی ساذ سؼیی وذ وذا دسر سدی وذا خشػی ثبؿذ•ث عس وی سب دسر بی یىشوششش داسای ػ سػیؼشش ؼشذ•

• DDRx.n

اش ای سػیؼشش ثشای شدبی یه ثبؿذ آ دبی خشػی اش كفش ثبؿذ سدی اػز

• PORTx.n

ای سػیؼشش ثشای اسػب اعالػبر ث خبسع یىش اػز ث ػجبسسی داد ای سا و ی خای اص یىش خبسع وی سی آ ی سیضی

• PINx.n

ای سػیؼشش ثشای خاذ اعالػبر اص ثیش ث داخ یىش اػز

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 77: اصول میکرو کامپیوترها.pdf

.سا دس حبز خشػی لشاس دیذ Aدسر •

DDRA = 0xFF;

.دیذسدی لشاس سا دس حبز Aدسر •

DDRA = 0x00;

.سا دس حبز سدی لشاس دیذ PC.0دسر •

DDRC.0 = 0;

ثشیضیذ Bسا سی دسر 50ػذد •

DDRB=0xFF;

PORTB=50;

ثشیضیذ SYSTEMسا دس شغییش Cمذاس دسر •

DDRC = 0X00;

SYSTEM = PINC;

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 78: اصول میکرو کامپیوترها.pdf

وقفه

لف چیؼز ؟•ب ػجبسر اػز اص لغغ لز ثشب ب ی دس حب اػشا اؼب ػیبر

دػشس اؼ بی شثط ث لف

:ثشسػی دشػ ب بی و ی خای دشػ ب سا شست چه وی د سؽ داسای

خبف بی صب دس سؽ ای دس .خبف صبی دس ثب صد ػش ػجبسسی ث یب شبة یشی دی-1 ظش سد دشػ ثبؿذ افشبد اسفبق و كسسی دس صی ی ػش ـخق ىب ث ؿذ سؼییدزیشد ی اؼب

ؿد ی شػ اسبسیه ػیؼش سیذاد، آ اؼب ثب و لف اص اػشفبد -2

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 79: اصول میکرو کامپیوترها.pdf

ساختار وقفه

براه اصلی

براه وقف

براه وقف

یىش ػبدی حبز دس وی عس ث بی آدسع دس ػد بی ثشب .وذ ی اػشا سا اكی ثشب

دذ ی سی ای لف و بی دشؽ لف بی آدسع ث ثشب

آ ػدس بی ثشب وذ یوذ ی اػشا سا ب آدسع

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 80: اصول میکرو کامپیوترها.pdf

ح اػشای لف

اػشای دػشس ػبسی رخیش آدسع دػشس ثؼذی دس حبفظ•دشؽ ث لف شثع اػشای آ•

ثؼذ اص اػشای لف ثبصـز ث سا ثشب لشاسداد آدسع رخیش ؿذ دس سذ اػشا•

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 81: اصول میکرو کامپیوترها.pdf

سػیؼشش بی لفSREGسػیؼشش ضؼیز •

اش ای. ویذ فؼب ػبصی سػیؼششباػز SREGاص سػیؼشش 7ثیز •ثیز فؼب ثبؿذ ثب فؼب ػبصی لف ب آب وبس ی وذ دس غیش ای •كسر ثب فؼب ػبصی لف ب اب وبس ی وذ •ثشای فؼب ثد مذاس یه غیش فؼب مذاس كفش•

غیش فؼب یـد asm(“cli”)#فؼب ثب دػشس asm(“sei”)#ثب دػشس •ای سػیؼشش ثیشی فؼب یب غیش فؼب ی ؿد•

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 82: اصول میکرو کامپیوترها.pdf

لف خبسػی

ای لف دبغ بی خبسػی سػیذ سا سـخیق داد ؼجز ث اب ػیبسی سا اؼب •ی دذ

ثشػذ.... ای دبغ ب ى اػز اص یه یىشػئیچ یب اص یه ػؼس یب •

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 83: اصول میکرو کامپیوترها.pdf

فؼب ػبصی لف ب-1ثشای فؼب ػبصی لف بی خبسػی ثبیذ اص سػیؼشش شثط ث ا اػشفبد د–

PD2 PD3PB2ػ لف خبسػی داسی و دس دبی بی atmega16دس –

.ظبش ی ؿذ2ثشای فؼب ػبصی لف خبسػی 5ثیز •

0ثشای فؼب ػبصی لف خبسػی 6ثیز •1ثشای فؼب ػبصی لف خبسػی 7ثیز •

لف ب فؼب ی ؿذ SREGاص سػیؼشش 7فؼب ثد ثیز GICRثب یه وشد ای ثیز ب دس سػیؼشش

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 84: اصول میکرو کامپیوترها.pdf

GIFRرجیستر

بی و لف بی خبسػی فؼب ی ؿذ دشچ شبظش ثب ش لف •.دس ای سػیؼشش یه ؿذ ؼذد كفش ی ؿد

ثؼضی الغ ث كسر دػشی خد مذاس ای سػیؼشش ب سا یه ی •وی سب لف شبظش ثب ا فؼب ؿد

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 85: اصول میکرو کامپیوترها.pdf

MCUCRسػیؼشش

ثب چ ػیبی ی سای لف سا فؼب و: ػا •:ااع ػیب•

ج–ثبالسذ•دبئی سذ•

ػغح–ػغح دبئی•

ش سغییش غمی•

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 86: اصول میکرو کامپیوترها.pdf

MCUCRسػیؼشش سػیؼشش•

:لف خبسػی یه•(ISC10 ISC11) 23ثیز بی –

خبسػی كفشلف –(ISC00 ISC01) 01ثیز بی –

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 87: اصول میکرو کامپیوترها.pdf

MCUCSRرجیستر

2وقف خارجی •

(ISC2)6بیت –

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 88: اصول میکرو کامپیوترها.pdf

codevisionح ؿش وذ لف ب دس

اص فش وی صیش اػشفبد ی ویcodevisionثشای ؿش ساثغ لف دس •

• interrupt [ؿبس ثشداس یب ب ؼبد] void ب سبثغ (){

ثشب بی لف

}

ؿبس ثشداس دس حمیمز ؿبس لف یب ب ا غبثك ثب ػذ ثؼذی ی ثبؿذ

interrupt [2] void ext_int0_isr(void) {دػشسار}

interrupt [EXT_INT0] void ext_int0_isr(void) {دػشسار}

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 89: اصول میکرو کامپیوترها.pdf

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 90: اصول میکرو کامپیوترها.pdf

LEDفـشد یه ویذ سا سـخیق داد یىی 0ثشب ای ثیؼیذ و ثب لف خبسػی سا ؼىع ویذ

#include<mega16.h>

interrupt [EXT_INT0] void ext_int0_isr(void){

while(PIND.2 ==0);

PORTA.0 =!(PORTA.0);

}

Void main(){

PORTA.0 = 0;

DDRA.0 = 1;

GICR|=0x40;

MCUCR=0X02;

GIFR = 0x40;

#asm(“sei”)

While(1);

} اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 91: اصول میکرو کامپیوترها.pdf

شل بیذ و ثب صد یه ویذ یه ػذد ث 1 0ثشب ای ثیؼیذ و د ویذ سا ث لف بی خبسػی مذاس بیـش فز لؼشی اضبف وذ ثب صد ویذ دیش یه احذ و وذ

#include<mega16.h>Flash unsiened char number[]={0x3f,0x06,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};Unsigned char i=0;interrupt [EXT_INT0] void ext_int0_isr(void){if(i<9) PORTA = number[++i];while(PIND.2 == 0);}interrupt [EXT_INT1] void ext_int1_isr(void){if(i>0) PORTA = number[--i];while(PIND.3== 0);}Void main(){PORTA =number[0];DDRA.=0xFF;GICR|=0xC0;MCUCR=0X0A;GIFR = 0xC0;#asm(“sei”)While(1);}

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 92: اصول میکرو کامپیوترها.pdf

codevisionبرنامه نویسی در

codevisionاىببر ش افضاس •

داسی سیذ وذ وذ اسبسیه–

ث وذ بی سد لج یىش cسجذی ثشب –لبثیز افضایـی ػشػز ثشب یب وبؾ حؼ وذ ب ایؼبد ––.....

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 93: اصول میکرو کامپیوترها.pdf

codevisionایجاد برنامه در

سا ثضیذ newاثشذا اص ی فبی ضی •دؼش ای غبثك ثب ؿى صیش ثبص ی ؿد•

سا اشخبة ویذ سب دشط ػذیذی ثبص شدد projectضی •

دس ای كسر ػا ی ؿد و آیب ی خایذ اص ایؼبد وذ وذ اػشفبد ویذ •یب ث كسر دػشی ػ ویذ

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 94: اصول میکرو کامپیوترها.pdf

كفح ای ث فش صیش ثبص ی ؿد و وذبی اسبسیه ایؼبد ی وذ yesثب صد •

generate ,save and exitثؼذ اص اؼب سظیبر اص ی فبی ضی •

cدس ای كسر اص ؿب ػ ب ی دشػذ و ثشای فبی . سا ثضیذب دشط سظیبر یضاسد اػز

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 95: اصول میکرو کامپیوترها.pdf

سا ثضیذ سب ثشب compileضی projectبی و وذب ؿش ؿذذ اص ی وذبی ؿذ دس كسر ػد خغب اػال وذ

دس كسر ثشص خغب ا ب سفغ ویذ

وذبی بئی سا ایؼبد ویذ buildثب صد

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 96: اصول میکرو کامپیوترها.pdf

chipضی toolsدس بیز ثشای اشمب وذ ایؼبد ؿذ ث سی چیخ اص ی •program سا اشخبة ی وی

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 97: اصول میکرو کامپیوترها.pdf

شبیه سازی برنامه

اػشفبد ی وی avrstudioػز ؿجی ػبصی ثشب اص ش افضاس •ایؼبد ؿذ coffفبی codevisionثب اػشای ای ش افضاس اص داخ •

ثشای ؿجی ػبصی فشاخای ی شدد

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 98: اصول میکرو کامپیوترها.pdf

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 99: اصول میکرو کامپیوترها.pdf

LCD

یىی اص دش اػشفبد سشی اثضاسب دس دشط ب ثب یىشوششش اػز LCDبیـش••LCD ب ثب ؿى ب فشز بی خشف دس ثبصاس ؼشذ و دس ایؼب ااع شی اسائ

ی ؿذ

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 100: اصول میکرو کامپیوترها.pdf

16*2ذ LCDػبخشبس

ػش ی ثبؿذ 16داسای د سدیف LCDای •ػبخشبس دبی بی ا ث كسر صیش اػز•

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 101: اصول میکرو کامپیوترها.pdf

ث د كسر اػز LCDاعالػبر اسػبی ث •(ثشای بیؾ) داد ب •(ثشای اػشا)دػشسار •

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 102: اصول میکرو کامپیوترها.pdf

LCDکتابخانه ساثؼی سا ایؼبد د اػز و ثب اب ی سا ث ساحشی ث codevisionش افضاس LCDثشای وبس ثب •

LCD دػششػی داؿز• void lcd_clear(void)• clears the LCD and sets the printing character position at row 0 and

column 0.• void lcd_gotoxy(unsigned char x, unsigned char y)• sets the current display position at column x and row y. The row and

column numbering starts from 0.• void lcd_putchar(char c)• displays the character c at the current display position.• void lcd_puts(char *str)• displays at the current display position the string str, located in RAM.• void lcd_putsf(char flash *str)• displays at the current display position the string str, located in FLASH

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 103: اصول میکرو کامپیوترها.pdf

• unsigned char lcd_read_byte(unsigned char addr);

• reads a byte from the LCD character generator or display RAM.

• unsigned char lcd_init(unsigned char lcd_columns)

• initializes the LCD module, clears the display and sets the printing character position at row 0 and column 0. The numbers of columns of the LCD must be specified (e.g. 16). No cursor is displayed.

• The function returns 1 if the LCD module is detected and 0 if it is not.

• This is the first function that must be called before using the other high level LCD Functions.

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 104: اصول میکرو کامپیوترها.pdf

• void lcd_write_byte(unsigned char addr, unsigned char data);

• writes a byte to the LCD character generator or display RAM.

• void _lcd_ready(void)

• waits until the LCD module is ready to receive data.

• This function must be called prior to writing data to the LCD with the _lcd_write_data function.

• void _lcd_write_data(unsigned char data)

• writes the byte data to the LCD instruction register.

• This function may be used for modifying the LCD configuration

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 105: اصول میکرو کامپیوترها.pdf

#include<mega16.h>

#asm

.equ__ lcd_port=0x1b

#endasm

#include<lcd.h>

Void main(){

Lcd_init(16);

Lcd_clear();

Lcd_gotoxy(2,0);

Lcd_putsf(“LCD TEST”);

Lcd_gotoxy(5,1);

Lcd_putsf(“atme16”);

Lcd_gotoxy(14,0);

Lcd_putchar(‘*’);

Lcd_gotoxy(14,0);

_lcd_ready();

_lcd_write_data(0x0f);

While(1);

}

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 106: اصول میکرو کامپیوترها.pdf

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 107: اصول میکرو کامپیوترها.pdf

اسلب كفح ویذث یىش

كفح ویذ یىی اص لؼز بی دبی ثشای اسد د اعالػبر اػز•ی اكال ػبخشبس اب ث كسر . كفح ویذ ب داسای ااع خشفی ی ثبؿذ•

بسشیؼی اػزبی و .ظس اص بسشیغ آ اػز و داسای ػش ب ػغش بئی ؼشی •

اص ای اسلب ثشای .ویذی صد ی ؿد یه ػغش یه ػش ث شل ی ؿذدی ثشد ث ویذ فـبس داد ؿذ سد ظشاػشفبد ی ؿد

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 108: اصول میکرو کامپیوترها.pdf

كفح ویذ بسشیؼی

ویذ فـبس داد ـذ اػز•

ویذ فـبس داد ؿذ اػز•

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 109: اصول میکرو کامپیوترها.pdf

#include <mega16.h> #include <delay.h>#define c1 PINB.4#define c2 PINB.5#define c3 PINB.6#define c4 PINB.7flash char row[]={0xfe,0xfd,0xfb,0xf7};flash char data_key[]={'1','2','3','A‘,'4','5','6','B','7','8','9','C‘,'*','0','#','D'};char ac,table;int r;//_________________________________void keypad(){ while (1){for (r=0;r<4;r++){

ac=4;PORTB=row[r];DDRB=0x0f;

if (c1==0) ac=0; if (c2==0) ac=1; if (c3==0) ac=2; if (c4==0) ac=3; if (!(ac==4)){ table=data_key[(r*4)+ac]; while (c1==0){} while (c2==0){} while (c3==0){} while (c4==0){} delay_ms(50); }

}}}

//_________________________________void main(){ PORTB=0xff;DDRB=0x0f;keypad(); while(1){ };}

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 110: اصول میکرو کامپیوترها.pdf

سبیشب ؿبسذ ب

سبیشب ػز صب ػؼی اػشفبد ی ؿذ•اص صب ... دس وبسثشدبئی بذ ػبػز دیؼیشب ، صب وبس یه دػشب •

ػؼی اػشفبد ی وی

(counter)ؿبسذ •. ؿبسذ ؿبسؽ وذ اسفبلبر ی ثبؿذ•

ؿبسذ سشیش خد سا اص ثیش دسیبفز ی وذ•

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 111: اصول میکرو کامپیوترها.pdf

مبدیش دس سبیشب ؿبسذب•(:Bottom)مذاس ای–

یب 0x00ای مذاس ی ساذ . مذاس حذال سبیش ب ؿبسؽ سا یذ•0x0000ثبؿذ یب مذاسی غیش كفش ثبؿذ

(:MAX)مذاس حذاوظش–ثیشی سا یذ 16دس سبیش 0XFFFFثیشی مذاس 8دس سبیش 0XFFمذاس •

ثبسػیذ ث ای مذاس ثب آذ دبغ ػذیذ سبیش یب ؿبسذ ػشسیض ی وذ

:TOPمذاس •

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 112: اصول میکرو کامپیوترها.pdf

ااع دبی ػىشد سبیشب ؿبسذب

:د شب•ؿشع ث (bottom)صب ػغ اص مذاس ای .اص ای د ثشای صب ػؼی دلیك اػشفبد ی ؿد•

ثشػذ ػشیض سخ دذ دشچ سبیش یه ؿد 0XFFFFیب 0XFFث مذاس ؿبسؽ ی وذ سب

:د مبیؼ •دس ای د مذاس حظ ای سبیش ثب مذاس خبكی مبیؼ ی ؿد ثالفبك و ای د مذاس ؼبی •

. ؿذ سبیش ػىغ اؼ ـب ی دذ

:د ذالػی ػشم دبغ ػشیغ•دس ای د سبیش اص مذاس ای ؿشع ث ؿبسؽ ی وذ بی و ث مذاس خبكی سػیذ دبی •

ای خبف اص یىش داسای ضؼیز ؼىع ی شدد

:د ذالػی ػشم دبغ كحیح دبغ•دس ای د سبیش اص مذاس ای ؿشع ث ؿبسؽ ی وذ سب ث مذاس بئی خد ثشػذ•

ػذغ ؿشع ث ؿبسؽ ؼىع ی وذ اص مذاس حذاوظش خد ث مذاس ای

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 113: اصول میکرو کامپیوترها.pdf

ثیشی كفش 8سبیش، ؿبسذ

اثشذا سػیؼششبی آ سا ؼشفی ی وی.ؿبسذ اػز /ش چبس د دسای سبیش•

(ؿبسذ/ سػیؼشش وشش سبیش : ) TCCR0سػیؼشش

(CS00 CS01CS02)012ثیز بی (ػذ صیش)ای ثیز ب ثشای ضؼیز سبیش یب ؿبسذ شفبر ؼشذ

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 114: اصول میکرو کامپیوترها.pdf

(WGM00WGM01:)36ثیز بی •ثب ای ثیز ب د ػىشد سبیش سؼیی ی ؿد

غبثك ثب سؼبسیف اؼب ؿذ ش وذا اص دبی فش ؿذ سا اشخبة ی وی

(4,5ثیز بی)COM00 COM01ثیز بی •ؿبسذ كفش چ ػ وذ ثبیذ ای ثیز ب /ثشای آى سؼیی ؿد دبی خشػی سبیش

ؿبسذ یض ثؼشی داسد/اجش ای خشػی ث د ػىشد سبیش. سا سظی د غبثك ثب ػذ صیش ای دبی ب سؼشیف ی شدذ

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 115: اصول میکرو کامپیوترها.pdf

COM00 COM01ثیز بی

CTCثشای د شب •

FASTPWMثشای د •

PHASE CORRECT PWMثشای •

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 116: اصول میکرو کامپیوترها.pdf

TCNT0سػیؼشش •

ؿبسذ كفش سا داسد/ای سػیؼشش مذاس سبیش–

OCR0سػیؼشش•

ؿبخش ی ؿد داسیTOPیبص ث مذاسحذاوظشی و ثب ب CTCدس د –یض مذاسی ثشای مبیؼ یبص داسی PWMدس د –

مبدیش سد یبص ای دب دس ای سػیؼشش لشاس داد ی ؿد•

TIMSKسػیؼشش •

اص ای سػیؼشش اػشفبد ی 01اص ای سػیؼشش ثشای فؼب د لف سبیش كفش اػشفبد ی ؿد د ثیز –شدد

ثب یه ؿذ ای ثیز اش سبیش كفش ػشسیض بیذ لف آ فؼب ی شدد( TOIE0) 0ثیز –ثب یه ؿذ ای ثیز اشمبیؼ دس سبیش كفش اؼب یشد لف اػشا ی ؿد( OCIE0)1ثیز –

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 117: اصول میکرو کامپیوترها.pdf

TIFRسػیؼشش •

ای سػیؼشش دشچ بی ػىشد سبیش كفش سا دس خد داسد–اش لف یض فؼب ثبؿذ ػب .یه ی شددTOV0اص ای سػیؼشش ثب ب 0ثب ػشیض سبیش كفش ثیز •

اش ثخای ای ثیز سا دػشی یه وی ثبیذ یه غمی دس ا .ثبصـز ای ثیز كفش ی شدد.ثیؼی

ؿبسذ كفش ای ثیز ثب /ؿبسذ كفش ثب سػیؼشش مذاسسبیش /ثب ؼبی ؿذ سػیؼششمبیؼ سبیش•اش لف فؼب ثبؿذ ث كسر اسبسیه كفش ی ؿد. یه ی ؿدOCF0ب

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 118: اصول میکرو کامپیوترها.pdf

سی دبی 1KHZثشب ای ثیؼیذ و ثب سبیش كفش ع شثؼی PA.0 (بشسض اػز8فشاغ وشیؼشب )ایؼبد وذ

اثشذا دس سبة ای ػیب سا حبػج ی وی•T=1/F----------T=1000µS

ثبؿذ OFFدس حبز ON500µSدس حبز 500µS ثبثشای ای ػیب ثبیذ ػذغ ثبیذ سؼیی وی و سبیش ثب چ ػشػشی ثـبسد

ای ػشػز سؼیی ی ؿد CS02:0ثب اػشفبد اص ثیز بی Ftimer = Fosc/N = 8MHz/64 = 0.125MHz

Ttimer = 1/Ftimer = 8µSیىشطبی لز ی یشد 8اص ای س ش ؿبسؽ ای سبیش

دس شح ثؼذی سؼیی ی وی ثشای ایؼبد دبغ بی سد ظش سبیش چمذس ثـبسد ث ػجبسسی چ ػذدی دس لشاسدی TCNT0سػیؼشش

یىشطبی 500سؼذاد ؿبسؽ ثشای سػیذ ث 500/8 ;62.5

اػز ثبیذ ث مذاس256یب FFدغ اص اؼبئی و ػشسیض سبیش دس 62.5–256 ;193.5

ػشسیض وذ 256یب FFلشاس داد سب دس TCNT0دس

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 119: اصول میکرو کامپیوترها.pdf

#include<mega16.h>

void main(){

PORTA.0 = 0;

DDRA.0 = 1;

While(1){

TCNT0 = 0xc1;

TCCR0 = 0X03;

While(!(TIFR & 0x01));

TCCR0 =0x00;

PORTA.0=!(PORTA.0);

TIFR |=0X01;}}

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 120: اصول میکرو کامپیوترها.pdf

ظب لج سا ثب اػشفبد اص لف ح ویذ

#include<mega16.h>Interrupt [TIM0_OVF] void timer0_ovf_isr(void){TCCR0=0X00;TCNT0=0XC1;PORTA.0=!(PORTA.0);TCCR0=0X03;}Void main(){PORTA.0 = 0;DDRA.0 = 1;TCNT0 = 0xC1;TIMSK = 0x01;TCCR0 = 0x03;#asm(“sei”)While(1);}

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 121: اصول میکرو کامپیوترها.pdf

ثیشی 16سبیش ؿبسذ

TCCR1Aسػیؼشش •

TCCR1Bسػیؼشش •

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 122: اصول میکرو کامپیوترها.pdf

1سؼیی د ػىشد سبیش

TCCR1AاصWGM10WGM11ثیز بی •TCCR1BاصWGM12WGM13ثیز بی •

ػذ صیش دبی خشف سا اسائ ی وذ. اػشفبد ی ؿذ 1اص ای ثیز ب ثشای سؼیی د ػىشد سبیش

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 123: اصول میکرو کامپیوترها.pdf

1سؼیی ضؼیز دبی بی خشػی سبیش

ای سبیش یب ؿبسذ داسای د دبی خشػی اػز و ػجبسسذ اص •OC1AOC1B

ثؼش ث ضؼیز ػىشد سبیش ای دبی ى اػز سغییش ضؼیز ثذذ •یب ذذ

COM1A0COM1A1COM1B0COM1B1ثیز بی •

.ثشای سؼیی ضؼیز ػىشد ای دبی ب مذاس دی ی ؿذ

دسحبز ػىشد شب ای ثیز ب كفش ؼشذ

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 124: اصول میکرو کامپیوترها.pdf

CS10 CS11CS12ثیز بی

وظائف فعال کردى تایور و شوارذ 0هاذ تایور •

تقسین پالس ساعت ورودی•

و فعال ب لب باال روذ یا پائیي روذ را دارد

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 125: اصول میکرو کامپیوترها.pdf

1رجیسترهای مقذار تایمر

.سا دس خد داسذ 1ای سػیؼششب دسحمیمز حشای سبیش •

ؿبخش ی ؿذ TCNT1ای سػیؼششب ثب ب •

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 126: اصول میکرو کامپیوترها.pdf

سػیؼششلف

ػز لف اػشفبد ی وی TIMSKدسایؼب یض اص سػیؼشش •ثشای ااع لف ب اػشفبد ی ؿذ 5سب 2ثیز بی •

TOIE1یب 2ثیز •

لف سخ ی دذ 1ثب فؼب ؿذ ای ثیز ػشسیض ؿذ سبیش لف وی یض ثبیذ فؼب ثبؿذ

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 127: اصول میکرو کامپیوترها.pdf

TIFR

1دشچ ػشسیض سبیش •

ػىشد .یه خاذ ؿذ TOV1دس د شب ثب ػشیض ؿذ سبیش ثیز •اػز TOV0وبسی آ بذ

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 128: اصول میکرو کامپیوترها.pdf

1اص سبیش . ش یه طبی یىجبس چـه ثضذ PC0شل ث LEDثشب ای ثیؼیذ و ثذ اػشفبد اص لف. اػشفبد ویذ

• Tpulse = 1000000us

• Ftime = Fosc/N = 4/256 = 0.015625Mhz

• Ttime = 1/Ftimer = 64us

• TCNT1 = 65536 – 1000000/64 = 49911 = 0xc2f7

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 129: اصول میکرو کامپیوترها.pdf

#include<mega16.h>

Void main(){

PORTC.0 = 0;

DDRC.0 = 1;

TCCR1A = 0X00;

While(1){

TCNT1H = 0xc2;

TCNT1L = 0xf7;

TCCR1B = 0X04;

While(!(TIFR&0X04));

TCCR1B = 0X00;

PORTC.0 = !(PORTC.0);

TIFR |= 0x04;

}

}

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 130: اصول میکرو کامپیوترها.pdf

ثؼش ػجسی اص ػ ػؼس سا ؿشد دس 1000ثشب ای ثیؼیذ و طبی اػال بیذ 5ثشای BUZZERاشب ثب ث كذا دسآسد یه

• TCNT1 = 65536 -1000 = 64536 = 0XFC18

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 131: اصول میکرو کامپیوترها.pdf

#include<mega16.h>#include<delay.h>Interrupt [TIM1-OVF] void timer1_ovf_isr(void){TCCR1B = 0X00;TCNT1H = 0XFC;TCNT1L = 0X18;PORTC.0 = 1;delay_ms(5000);PORTC.0 = 0;TCCR1B = 0x06;}Void main(){PORTC.0 = 0;DDRC.0 =1;TCNT1H = 00xfc;TCNT1L = 0x18;TIMSK =0x04;TCCR1A = 0x00;TCCR1B = 0x06;#asm(“sei”)While(1);}

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 132: اصول میکرو کامپیوترها.pdf

اسسجبط ػشیب

اشمب اعالػبر•اصی–ػشیب–

ای سؽ دس ؼبفز بی . دس اصی داد بدس چذ ؼیش اصی شم ی ؿد•عالی ضی ثش ثبػض ایؼبد ضؼیز خبصی ی ؿد

دس سؽ ػشیب اعالػبر سی یه ػی یب د ػی ث كسر ثیز ث ثیز اسػب ی •ؿد

سؽ ػشیب •

سؽ ػىش–سؽ اػىش–

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 133: اصول میکرو کامپیوترها.pdf

اسسجبط ػشیب

:سؽ ػىش ثشسی یه خظ داد ثشسی خظ دیش دبغ ضبی اسػب ی شدد

ثؼضی اص یىش وشششبی . ع وی ثسد اص ای سؽ اػشفبد ی وذAVR اص ای سؽ حبیز ی وذ

:سؽ آػىشدسیبفز ی RXDاسػب ی ؿد سی دیش TXDاعالػبر سی یه خظ

دس ایؼب ثب سؼیی مذاس دبغ، سظی ثی فشػشذ یشذ اؼب ی . ؿدثشای اسسجبط ثب ایضاسبئی بذ .ی یذBaudrateای سظی دبغ سا .یشد

.اصای ع اسسجبط اػشفبد ی وذ... gsmبط

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 134: اصول میکرو کامپیوترها.pdf

سػیؼششبی ػشیب

ثشای وبس ثب دسر ػشیب ثبیذ سػؼششبی ا سا سظی د•یذ و دس UDRثبفش اسػب دسیبفز ػشیب سا : UDRسػیؼشش •

.داسای ادسع یىؼبی اػز USARTدشسى

(Aسػیؼشش وشش ضؼیز ػشیب :)UCSRAسػیؼشش

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 135: اصول میکرو کامپیوترها.pdf

•MPCM:ثشای اسسجبط ػشیب چذ دشداصذ ای ث وبس ی سد.•U2X :دس حبز ػىش ثشای دثشاثش وشد ػشػز اػشفبد ی ؿد•PE(Parity Error :) ب مذاس . ثب ػد خغبی ساص دس داد یه ی ؿد

خاذ ـذ اػشجبس داسدUDRسب صبی و . دی ثبیذ آ سا كفش وشد•DOR(Data OverRUN:) اش ثبفش دسیبفز دش ؿد دس كسر آذ وبساوشش ػذیذ

. خغبی فق سا ایؼبد ی وذ.اعالػبر ػذیذ اص ثی ی سد•FE(Frame Error:)دس كسر ثشص خغب دس لبت داد دسیبفشی ای ثیز یه ی ؿد•UDRE: ثب یه ؿذ ای ثبیز ـب ی دذ و ثبفشUDR اسػب ،خبی ؿذ ابد اسػب اػز•TXC :دس كسر خبی ؿذ ثبفش اسػب ػذ ػد داد ثشای اسػب یه ی ؿد•RXC : دس كسر دش ؿذ ثبفش دسیبفزUDR ػذ خاذ آ یه ی ؿد

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 136: اصول میکرو کامپیوترها.pdf

UCSRBسػیؼشش

•TXB8 : سا ح ی وذ 9ثیشی ای ثیز 9دس كسر اسػب داد ب ث كسر•RXB8: سا دسخد ػبی ی دذ 9ثیشی، ای ثیز 9دس كسر دسیبفز اعالػبر ث كسر•UCSZ2: ثب سشویت ثب ثیز بیUCSZ1,0 دس سػیؼششUCSRC سؼذاد ثیز بی داد دس فشی ػشیب ـخق

ی ؿذ

•TXEN :دبی . ثب یه ؿذ ای ثیز اسػب فؼب ی ؿدPD1 اص حبزI/O ث ػشیب ی سد•RXEN: ثب یه ؿذ ای ثیز دسیبفز فؼب ی ؿد ، دبیPD0 اصحبزI/O ث ػشیب ی سد•UDIRE: اش ای ثیز یه ؿد لف خبی ثدUDR لف وی ثیز .)فؼب ی ؿدUDRE دس

UCSRA ثبیذ فؼب ثبؿذ)•TXCIE:لف وی ثیز .)لف وب ؿذ اسػب فؼب ی ؿدTXC دسUCSRA9ثبیذ فؼب ثبؿذ•RXCIE::لف وی ثیز .)لف وب ؿذ دسیبفز فؼب ی ؿدRXC دسUCSRAثبیذ فؼب ثبؿذ

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 137: اصول میکرو کامپیوترها.pdf

UCSRCسػیؼشش

•UCPOL:دس د اسسجبط ػىش اػشفبد ی ؿد.•UCSZ1:0 : دس سشویت ثب ثیزUCSZ2 غبثك ػذ.سؼذاد ثیز بی فشی داد سا ـخق ی وذ

•USBS: سؼذاد ثیز بیSTOP 9یه ثیز یه د ثیز 0)سا ثشای فشػشذ سؼشیف ی وذ

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 138: اصول میکرو کامپیوترها.pdf

•UPM1:0 :ثیز ساص اسػب سا سؼیی ی وذ غبثك ػذ

•UMSEL:: اػىش 0ػىش 1.ـخق وذ اسػب اعالػبر ث كسر ػىش یب اػىش اػز•URSEL: ثشای اشخبة دػششػی ث یىی اص سػیؼششبیUCSRC یبUBRRH ثشای دػششػی ث .ث وبس ی سد

UCSCR دس آ ثبیذ یه زاؿز

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 139: اصول میکرو کامپیوترها.pdf

UBRRHوUBBRL

اص یه ىب حبفظ اػشفبد ی وذ UCSRC UBBRHىش •

اػز دس ایؼب ثبیذ كفش ؿد UBBRHیب UCSRCثشای سؼیی اػشفبد اص URSELثیز •

سصس ؼشذ 121314ثیز بی •

ثیز ثشای سؼیی شخ اشمب UBRR11:0 12ثیز بی •

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 140: اصول میکرو کامپیوترها.pdf

نرخ انتقال

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 141: اصول میکرو کامپیوترها.pdf

دستورات

Data =getchar()یه وبساوشش سا دسیبفز ی وذ pollingث سؽ

putchar(char c) putchar(‘a’)

یه وبساوشش اسػب ی ؿد pollingث سؽ Void puts(char *str)

شی ؿذ سا اسػب ی وذnull (\0 )اػز ث وبساوشش ramیه سؿش سا و دس char name*+=“micro”;

puts(name);

void putsf(char flash *str)شی ؿذ سا اسػب ی وذnull (\0 )اػز ث وبساوشش flashیه سؿش سا و دس

Flash char chip*+=“micro avr”;

Putsf(chip);

Char gets(char *str ,char len)یه سؿش وبساوشش سا و ع ـخلی داسد اص سدی ی یشد

وبساوشش سا اص سدی ثخایذ10Char input[10];Gets(input,10);

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 142: اصول میکرو کامپیوترها.pdf

printfسبثغ

ی ساذ یه سؿش سا اسػب .یىی اص دشوبسثشدسشی ساثغ اسػب ػشیب اػز و داسای حؼ صیبدی اػز وذ چی ثب دبساششبی وششی ی سا خشػی سا سظی د

Printf(“ سؿش وششی دس حبفظ“, , 1شغییش 2شغییش ,…)

Printf(“avr micro”);

اهید تکلیداشگا آزاد اسالهی شر هجلسی

Page 143: اصول میکرو کامپیوترها.pdf

pollingث سؽ 2400سا ثب ػشػز microثشب ای ثیؼیذ و سؿش (بشسض8وشیؼشب )ث دسر ػشیب اسػب بیذ

• UBRR=Fosc/16*Baud =(8000000/(16*2400))-1

• 207=0xcf

• Baudrate=Fosc/(16*UBRR+1) = 2403.84

• ERORR = ((2043.84-2400)/2400 )*100 = 0.2%

#include<mega16.h>

#include<stdio.h>

Void main(){

UCSRB=0X08;

UCSRC=0X86;

UBRRL=0XCF;

Printf(“micro”);

While(1);

}

اهید تکلیداشگا آزاد اسالهی شر هجلسی