Technical Support Committee AZEX_2015

Σχετικά έγγραφα
ر ک ش ل ن س ح ن د م ح م ب ن ی ز ن. ل و ئ س م ه د ن س ی و ن ( ی ر ک ش ل &

دور مزاد العملة األجنبية يف حتقيق االستقرار يف قيمة الدينار العراقي للمدة

ی ا ک ل ا ه م ی ل ح ر

الوحدة الجا ية الفصن األوه الدزض 1-1 احلح الك سووغ اطيشي

محاسبه بهره وری کل عوامل تولیذ در بخص کطاورزی:

ح س ح ظؼ ٤ ح ؼخ ٢ ح زلغ ح ؼ ٢ ؿخ ؼش ح ز ٤ يس 2 ح ئ خص

ی ن ل ض ا ف ب ی ر غ ن ق و ش ه ی ض ر م ی ) ل و ئ س م ه د ن س ی و ن ( ا ی ن ل ض ا ف ب ی ر غ 1-

WDT και Power Up timer

Modbus basic setup notes for IO-Link AL1xxx Master Block

ΕΡΓΑΣΤΗΡΙΟ ΜΙΚΡΟΕΛΕΓΚΤΩΝ

AR_2001_CoverARABIC=MAC.qxd :46 Uhr Seite 2 PhotoDisc :έϯμϟ έϊμϣ ΔϟΎϛϮϟ ˬϲϠϨϴϛ. : Ω έύδθϟ ϰϡϋ ΔΜϟΎΜϟ ΓέϮμϟ

ΠΕΡΙΓΡΑΦΗ ΥΛΙΚΟΥ AVR 1. ΕΙΣΑΓΩΓΗ 1.1 ΓΕΝΙΚΗ ΔΟΜΗ 1.2 ΟΙΚΟΓΕΝΕΙΕΣ 1.3 ΤΥΠΟΙ 1.4 ΕΡΓΑΛΕΙΑ

يجهت جبيؼت ان جبح نألبحبث )انؼهىو اإل سب ت( ان جهذ 03)2( 2302

فشعذ سعي ل ىنو ػبثش ف عفش ؽضق به و ى ب ؼ غ ش الئق

Σπύρος Καζαρλής, Χειμώνας

ATLAS green. AfWA /AAE

ج ن: روحا خل ل ب وج یم ع س ن

Ενσωµατωµένα Υπολογιστικά Συστήµατα (Embedded Computer Systems)

BM1385. Bitcoin Hash ASIC Datasheet. Bitmain Technologies Limited

Εφαρμογές Arduino Σεμινάριο Ηλεκτρονικού Τομέα

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ. Μελέτη των επεξεργαστών 32 bit της εταιρίας Microchip Technology και ανάπτυξη σειράς υποδειγµατικών εφαρµογών

Πλακέτα Arduino. 1ο ΕΠΑΛ Περάματος - 7ο ΕΚ Πειραιά

FOSSCOMM ο Συνέδριο Κοινοτήτων Ανοιχτού Λογισμικού Σάββατο 20 Απριλίου Ομάδα Σχολής Ικάρων Εργαστήριο Arduino

BINOMIAL & BLCK - SHOLDES

EΘΝΙΚΟ ΚΑΙ ΚΑΠΟΔΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΕΙΔΙΚΟΣ ΛΟΓΑΡΙΑΣΜΟΣ ΚΟΝΔΥΛΙΩΝ ΕΡΕΥΝΑΣ ΓΡΑΜΜΑΤΕΙΑ ΕΠΙΤΡΟΠΗΣ ΕΡΕΥΝΩΝ ΑΝΑΡΤΗΤΕΑ ΣΤΟ ΚΗΜΔΗΣ & ΣΤΗ ΔΙΑΥΓΕΙΑ

ا ت س ا ر د ر ا ب غ و د ر گ ه د ی د پ ع و ق و د ن و ر ی ی ا ض ف ل ی ل ح ت ی ه ا ب ل و ت ب ن

ت خ ی م آ ر ص ا ن ع ز ا ن ا گ د ن ن ک د ی د ز ا ب ی د ن م ت ی ا ض ر ی س ر ر ب د

ن ا ر ا ن چ 1 ا ی ر و ا د ی ل ع د م ح م ر ی ا ف و ی د ه م ی

جبحج پیؾزفت و تز بی آیی ب ای عبس بی ف الدی در ETABS 2016

12. Διακοπές Interrupts (IRQ)

A 1. DDRA = 0b ; k = PINB; DDRC = 0xf0; PORTC = 0x0f;

ΠΕΡΙΦΕΡΕΙΑΚΑ ΤΟΥ PIC16F887

بررسی ف ت ل هی سا س ا سین ای اکسیدر ی رضد یافت ب ر ش اکسیداسی ى گرهایی

Οι 6 πυλώνες της πίστης: Μέρος 6 Πίστη Θειο διάταγμα (Κάνταρ Πεπρωμένο) اإليمان بالقدر. Άχμαντ Μ.Ελντίν

ΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ. Μύρων Ε. Μπουρλάκης ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ

ΑΝΙΧΝΕΥΣΗ ΓΕΓΟΝΟΤΩΝ ΒΗΜΑΤΙΣΜΟΥ ΜΕ ΧΡΗΣΗ ΕΠΙΤΑΧΥΝΣΙΟΜΕΤΡΩΝ ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ

د ا ر م د و م ح م ر ی ا ر ی ح ب د ی م ح ن ن ا م ر ه ق ا ر ا س د

Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων. Εξάμηνο 7 ο

Έλεγχος με Μικροϋπολογιστές Εργαστήριο ενσωματωμένων συστημάτων

!!! )!)(!,!! )!! )! (!!)!

و ر ک ش ر د را ن ندز ما ن تا ا س ی یا را

Instruction Execution Times

=fi Í à ÿ ^ = È ã à ÿ ^ = á _ n a f = 2 k ÿ ^ = È v 2 ح حم م د ف ه د ع ب د ا ل ع ز ي ز ا ل ف ر ي ح, ه ف ه ر س ة م ك ت ب ة ا مل ل ك ف ه د ا ل و

2. ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΤΩΝ ΘΥΡΩΝ ΕΙΣΟ ΟΥ/ΕΞΟ ΟΥ ΤΟΥ PIC16F877-ΑΡΙΘΜΗΤΙΚΕΣ ΕΝΤΟΛΕΣ

ΑΥΤΟΜΑΤΟΠΟΙΗΣΗ ΜΟΝΑΔΑΣ ΘΡΑΥΣΤΗΡΑ ΜΕ ΧΡΗΣΗ P.L.C. AUTOMATION OF A CRUSHER MODULE USING P.L.C.

ΕΛΕΓΧΟΣ ΑΝΤΛΙΟΣΤΑΣΙΟΥ ΜΕ ΔΕΞΑΜΕΝΗ ΜΕΣΩ GSM CHECK IN TANK PUMPING THROUGH GSM

کاو ا تبخ ش استان کشمان با وگا ي ژ ب ي ژگ ا ط ف کاو شىاس ي ديسسىج

555 TIMER APPLICATIONS AND VOLTAGE REGULATORS

Τέτοιες λειτουργίες γίνονται διαμέσου του

1. Περιβάλλον εργασίας παραδείγματα σύνταξης

بسم اهلل الرمحن الرحیم

Writing kernels for fun and profit

ΨΗΦΙΑΚΟ ΠΕ ΙΟΜΕΤΡΟ TRIMAX SM 2500

Electricity and Energy

دراست ا ثار الب ولوج ت وق اش درجاث لغ ا ف ١ ض ٠ بء /و ١ خ ا ؼ / عب ؼخ ا جظشح لغ ػ ا ؾ ١ بح / و ١ خ ا ؼ /عب ؼخ ا جظشح.

ه ش ر ا د ی ا پ ت ال ح م د ر ک ی و ر ر ب د ی ک ا ت ا ب ی ر ه ش ت ال ح م ی ر ا د ی ا پ ش ج ن س )

پژ م ی عل ام ه ص لن ف

اىشج خ ( SVD ) أ ب ظا اىج ؾ فال شغج ئال ثبىظالح اىظ «. Holy_bible_1. Mat 17:21 ( JAB ) ظا اىج ؾ اىش طب ال شغج ئال ثبىظالح اىظ ((.

Project: 296 File: Title: CMC-E-600 ICD Doc No: Rev 2. Revision Date: 15 September 2010

. ) Hankins,K:Power,2009(

ی ن ا م ز ا س ی ر ت ر ا ت ی و ه ر ی ظ ن ( ن ا ر ظ ن ب ح ا ص و

ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΑΥΤΟΜΑΤΙΣΜΟΥ. Σηµειώσεις στο µάθηµα ΜΙΚΡΟΕΛΕΓΚΤΕΣ

2 - Robbins 3 - Al Arkoubi 4 - fry

! " # $ &,-" " (.* & -" " ( /* 0 (1 1* 0 - (* 0 #! - (#* 2 3( 4* 2 (* 2 5!! 3 ( * (7 4* 2 #8 (# * 9 : (* 9

Λογικά σύμβολα των CPU, RAM, ROM και I/O module

ROBOARM II. β I f,/)! ο (^ U U- Πτυχιακή TEI ΚΑΒΑΛΑΣ ΤΜΗΜΑ ΒΙΟΜΗΧΑΝΙΚΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Λογισμικό Εφαρμογής. Γαβαλάς Φώτιος Χαραλαμττίδης Νικόλαος

3.9 SCORBOT-ER III ROBOT HOME... 31

Έλεγχος με Μικροϋπολογιστές Εργαστήριο ενσωματωμένων συστημάτων

Technical Specifications

R f<å< Úe ãñ Úe nü êm åø»ò Úe. R núe êm oòaúe Àg»ò Úe Rãûe Úe óè»ò Úe Ãóå e nü»ò Úe : / م

CYTA Cloud Server Set Up Instructions

2

ر گ ش د ر گ ت ع ن ص ة ع س و ت ر ب ن آ ش ق ن و ی ی ا ت س و ر ش ز ر ا ا ب ت ف ا ب ی ز ا س ه ب )


Chapter 3. Saturated Hydrocarbons: Alkanes Cycloalkanes. آلکان ها سیکلوالکان

Είναι το πρωτόκολλο RS232 που χρησιμοποιείται στις σειριακές θύρες COM με τη διαφορά ότι εκτελείται σε επίπεδο τάσεων TTL. 2

ΕΠΛ221: Οργάνωση Υπολογιστών και Συμβολικός Προγραμματισμός. Εργαστήριο Αρ. 2

ΕΡΓΑΣΤΗΡΙΟ 4 ΕΙΣΑΓΩΓΗ ΣΤΟN ARDUINO: ΨΗΦΙΑΚΗ ΕΙΣΟΔΟΣ/ΕΞΟΔΟΣ

ساختاری پارتوشیمی يغیرپارتوشیمی ری نویسندگان: مهدی یادگاری * شادمهر میردار و غالمرضا حمیدیان

Electrical Specifications at T AMB =25 C DC VOLTS (V) MAXIMUM POWER (dbm) DYNAMIC RANGE IP3 (dbm) (db) Output (1 db Comp.) at 2 f U. Typ.

م ش د ی ج م ن گ ر ب ه م ط ا ف ن ) ل و ئ س م ه د ن س ی و ن ( ی گ ر ز ب

Overview: Relay Modules

دساعخ رغش ج خ عض ئ خ نهجكزش ب ان ظبؽجخ نؾبالد انؾش ق يؾبفظخ ي غب

Διπλωματική Εργασία του φοιτητή του Τμήματος Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών της Πολυτεχνικής Σχολής του Πανεπιστημίου Πατρών

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Bacaan Doa dan Dzikir serta Taubat pilihan

UNIVERSITY OF CALIFORNIA. EECS 150 Fall ) You are implementing an 4:1 Multiplexer that has the following specifications:

TIME SWITCHES AND TWILIGHT SWITCHES


070-A

SMD Transient Voltage Suppressors

انض دخ TC يز بثم انض دخ انطبفش CC لذ ثهغ انزكشاس االن ه نالن م C نذ ان غبء ان ش ؼبد 0.44 اكثش ي ػعف يب ف

هللا ٠ ش ادذ لػ.االث ا د ١ ذ ا ز ف دع ا ٢ ة

ک ک ش و ک ن ا ی ن ا م ح ر ی د ه م ن

ت ي ق ال خ خ ر م ي ن ي ت ي ص خ ش خ ر م ي ن ي ش و ه خ ر م ي ن : ی د ی ل ک ی ا ه ه ژ ا و ن. managers skills (Tehran Sama University)

Οι 5 πυλώνες της πίστης: Μέρος 2 Πίστη στους αγγέλους

1 2 Marsick & Watkins 3. Saw, Wilday & Harte 4 -Chen & Kuo 5. Liao,Chang & Wu 6 -Garvin

First Sensor Quad APD Data Sheet Part Description QA TO Order #

Μαθαίνοντας το hardware του αναπτυξιακού

الركن الخامس من اركان االيمان اإليمان باليوم

Transcript:

1Page

2Page

ا ؾ ذ هلل ا ز ث ؼ ز رز ا قب ؾبد ثلن هللا رؼب ٠ ر ك ٤ و أ ٤ ب ؾ غ ا ذػ ا ل ٠ لش ٣ ن ؼشك األص ش زطج ٤ وبد ا ذع ٤ رؾن ٤ ش شاعؼ ز ا بد ا ؼ ٤ ا ز ٠ عؼ ب ذك ب األ ك ٤ ب اكبد ا طالة ا ز ٤ ث زا ا غب رو ٣ ا غب ت ا ؼ ٠ ذ ٣ ٤ قجؼ ذ ٣ ا وذس ػ ٠ ا بكغ ك ٠ ع م ا ؼ ا ؾبس ثب ؾبس ٣ غ ك ٠ ؼشك األص ش زطج ٤ وبد ا ذع ٤ ا ؼبسك ا خز ل ا ب شع هللا رؼب ٠ أ ر ػ ب أساد ه ت ػ ػب أ ٣ غؼ ؽشف ك ٤ ب ك ٠ ٤ ضا ؽغ بد ثز ع ذ ألخشاط زا ا ؼ. ز ا بد ا ؼ ٤ ث غ د هالث ٠ ثؾذ ؽ ٤ ش هب كشد ك ٠ غ ا ذػ ا ل ٠ ثزوذ ٣ ب ذ ٣ خجشح ك ٤ ب ثبإلمبكخ ا ٠ قبدس أخش ض ثؼل ا اهغ ا شاعغ ا ؾ س ك ٠ زا ا غب. ؾ ز ع ثخب ا ؾ ش ا زوذ ٣ ش كشد ك ٠ كش ٣ ن ؼشك األص ش زطج ٤ وبد ا ذع ٤ أػب ب ػ ٠ اخشاط زا ا ؼ عبئ ٤ ا ٠ ػض ع أ ٣ كو ب ٣ كن ع ٤ غ هالة ا ؼ أ ٣ غؼ ب عججب ك ٢ لؼ. ز ا بد ا ؼ ٤ غب ٤ ٣ غخ ب رذا ب ثذ ا شع ع ا ٤ ب زا ي ب رؾذ أع AZEX شع هللا أ ٣ غؼ زا خب قب ع ا ش ٣. Technical Support Committee AZEX_2015 technicalcommitteeazex2015@gmail.com 3Page

Table of Contents Introduction... 5 PIC18 series... 6 Timers & Interrupt... 9 Timers... 15 Timer 0...15 Timer1...30 Interrupt...40 Applications... 50 Real time clock...50 Ultrasonic...52 USB interfacing... 59 Communication protocols... 80 Serial Peripheral Interface...80 I²C protocol...103 SD card... 111 Touch screen... 141 LED matrix... 157 GPS... 183 GSM... 195 Zigbee... 208 Bluetooth... 225 4Page

بس هللا اىزص اىزص ػش ش اىقارئ... ع و ك ٠ زا ا زبة ثؾشػ ا ض ٤ ش ا زطج ٤ وبد ا زوذ خ ٤ ش زش ش ثبألخ ا ع. PIC16F877A & PIC18F4550 كب بدح ا ؼ ٤ خ ا وذ خ ك ٠ زا ا زبة رلزشك أ ي ؼشكخ غجوخ ثب mikroc PIC microcontroller ه ذ ثبعزخذا ع األه أؽذ أ اع PIC16F ك ٠ ػ سثو ث ٤ ب ث ٤.( Character LCD/GLCD/UART/Input& output devices ( ارا ر ػ ٠ ػ ث زح األ سأ ك ٠ ؽب خ ػذ رز ش ؽئ ب كؼ ٤ ي دساعخ ا غضء األ سط ا Microcontoller ا وذ أ ٣ نب رؾذ سػب ٣ خ ؼشك األص ش زطج ٤ وبد ا ذع ٤ خ ص ا ؾش ع ك ٠ زا ا زبة. ع ف زؾذس ػ ا ؼذ ٣ ذ ا زطج ٤ وبد ا زوذ ض ا GSM ا GPS ا Bluetooth ا, Zigbee ب أ ب ع و ثؼ ا ض ٤ ش ا جشا ظ ا شائؼ ض ػ عبػخ ر ه ٤ ذ ؽو ٤ و ٤ clock) (Real time ع زؼ اعزخذا ا ؼذ ٣ ذ االؽ ٤ بء ض. Ultrasonic sensor, touch LCD, LED matrix and SD card هج ا جذء ك ٢ ا ؾذ ٣ ش ػ ز االؽ ٤ بء ب الثذ ا ؾذ ٣ ش ا ال ػ ع ا ٤ ش زش ش ا غزخذ ك ٢ ؼظ ا زطج ٤ وبد ب ب ذ ا جذا ٣ خ... 5Page

٣ ضش اعزخذا PIC16F ك ٠ ا ؼذ ٣ ذ ا زطج ٤ وبد ر اػز ٤ بد ا ط جخ ػ ٠ اعزخذ ب ك ٠ ػ ؾبس ٣ غ خبفخ ث, زح ا series ػ ٤ ب ثؼل ا limitations ا ٠ زخ ٠ ٤ أ غؤ ك ٠ زا ا سط ا ٠ اعزخذا PIC18 series ك ٠ ثؼل ا زطج ٤ وبد. كؼ ٠ عج ٤ ا ضب غذ أ عؼخ ا program and data memory ؾذ دح ا ٣ نب ال رذػ ا advanced interfaces ض ا USB, CAN bus زا.... : PIC16F877A VS PIC18F4550 ا ع ا غزخذ ك ٠ زا ا سط ٣ ؾجخ PIC18F4550 ا ٠ ؽذ ج ٤ ش ا Configuration ا خبفخ ث PIC16F877A ر عذ ثؼذ االخزالكبد ا جغ ٤ طخ زا ا غذ ٣ مؼ أ ز االخزالكبد : Features PIC16F877A PIC18F4550 Operating Frequency DC 20 MHz DC 48 MHz Data Memory (Bytes) 368 2048 Data EEPROM Memory (Bytes) 256 256 Interrupt Sources 15 20 I/O Ports Ports A, B, C, D, E Ports A, B, C, D, E Timers 3 4 Capture/Compare/PWM Modules 2 1 6Page

Serial Communications MSSP, USART MSSP, Enhanced USART Universal Serial Bus (USB) 0 1 Module 10-bit Analog-to- Digital Module 8 input channels 13 Input Channels Analog Comparators 2 2 : Features of PIC18F-series microcontrollers ص ١ ػشك ب ا ا PIC 18F ك ٤ ب خقبئ ز ٤ ش, ػؾب ؼشف ا خقبئ د ١ ج ػ ٠ ا ذارب ؽ ٤ ذ ا خبف ث زا ا ع. ػ ذ كزؼ ا ذارب ؽ ٤ ذ اله ٢ ا ؽبع ج ػ ٤ ب ٤ ب ؽ ا ٤ ش زش ش ثزبػ ب رشر ٤ ت سع. 7Page

ثؼذ ٣ ج ػ ٠ ا خقبئ ثزبػز, ا ع ك ٠ ا ذارب ؽ ٤ ذ: د ا غضء ا خبؿ ثؾشػ ا خقبئ ث زا ا خبفخ ٤ اؽز ب د ١ ب ذ ظشح عش ٣ ؼ ػ ٠ أ ا Features ث ٤ ب ؼ ة PIC16F ا ا لش م ث ٤. ا ٢ ع د ك ٢ PIC18F 8Page

9Page

. برامج microcontroller 1 بدا ة الكورس فى هنراجع برنامج سر ع من فنزة اىبز ا ذ: كالؽش 8 leds ف ٤ ػ ٠ portb ا led ثؼذ قق صب ٤ خ rotation ع خ ا ٤ ٤. ا جذا ٣ خ ك ٠ ثزؼ rotation ع خ ا ٤ غبس م د اىبز ا ذ: اىذا زة: ا ٤ ذ ٤ ؾق خ shift left ػذح ك ٠ 11Page

ا ٤ جذء for loop 0b00000001 0b00000010 : : 0b10000000 ثؼذ قق صب ٤ خ ٤ ؾق خ shift right غ ػذح ك ٠ ا ٤ جذء for loop أخشػذح ك ٠ ا for ا ٠ هج ب 0b10000000 0b01000000 : : 0b00000001 زا... ارا أسدد ثش ب ظ كالؽش ث ٤ ؼ rotation ك ٠ ارغب اؽذ أك ش أخذ ا غضء األ ا جش ب ظ ا غبثن ٤ قجؼ ا جش ب ظ ث زا ا ؾ : الؽع ا ثؼذ أ لخ ا leds هلذ ا غجت ا أ ب ٣ ف ا portb=0b10000000 ؽق خ shift left ا ٤ register أفلبس ا ؾ ا ٠ أخ ٠ ا و ٤ خ األثزذائ ٤ خ portb األ portb=0b00000001; ٠ ثذاخ (1),,while ٣ قجؼ ا د ث زا ا ؾ : 11Page

.shift right button ذ ارا أسدد ػ ثش ب ظ كالؽش ػ هش ٣ ن ا نو ػ ٠ ٣ ؼ button shift left ٣ ؼ أخش م د اىبز ا ذ: ك ٠ ؾ ز ٤ ك ٠ ا د ا غبثن: 12Page

1 _أ ؽبعخ ا ا جش ب ظ مطذ ػ ٠ ا غ رؼ األ ؼ ث ٤ لن ٣ ؼleft shift ؾذ ب أمطذ ػ ٠ ا غ رؼ ا زب ٠ ث ٤ ق لخ اؽذح ٣ غ ذ, هت أ ب ػب صح ٣ لن ٣ ؼ rotation ؾذ ب أمطذ ػ ٠ ا غ رؼ ا زب ٠. 2_ رب ٠ ؾ خ مطذ ػ ٠ ا غ رؼ ا زب ٠ ه ب ا جش ب ظ ك ٠ for loop ا جش ب ظ ؼ ٤ غزغ ٤ ت ؿ ٤ ش ب ٣ ط غ ا for ؼ ٠ ذ ا ا جش ب ظ أمو ؼ ٣ ؾق shift right أ ٣ نب ا ؼش ف ا ا ٤ ش ؼ ث ٤ غزغ ٤ ت أل أ ش ه كزشح ا delayأل ا delay ػجبسح ػ loop ث ٤ لن ا جش ب ظ ٣ ق ك ٤ ب ؿ ٤ ش ب ٣ ؼ ؽبعخ ػؾب ٣ ؼذ ا هذ ا ٠ ا ب ؾذد. أ ؾ ؽ ب بألر ٠ : أمغ األ ش ا ثبألفلش ا ٠ ؼ ب ه ب portc ؼ ػ ٤ ٣ ؼ ٠ 1 ؾذػ مو ع ا غ رؾبد أكن أ ا. rotation ا غئا : ٤ ؼ ه ذ (portc==255)!!while ر ي إل ٠ ف ع رؾبد ػ ٠ rc0,rc1 كوو ثبه ٠ ا ج سد float ؼ ز ف ػ ٤ ؽبعخ ػؾب ذ ؽذدد أ 2.pins 13Page

ا ؾ م ػ ب.,, ا ؾ خ األ ٠ ؽ ٤ ب ا ؾ ا ٣ ا زب ٤ خ ا ؾ خ 14Page

Timer 0 ظ فت اه : timer ا timer ث ٤ ؾ ٠ ؾ خ ؽغبة ا هذ ك ٠ لظ ا هذ ا ٤ ش ؽب ك ٠ أداء ؼ ٤ خ, ث ؼ ٠ ا ٤ ش ضال ك ٠ for loop ث ٤ س ٤ ذاد ث ٤ ٤ ذ األخش صب ٤ خ ك ٠ لظ ا هذ ػب صا ٤ ش أ ب ؽذ ٣ نو ع ا غ رؼ ٣ ؼ ظ ٤ لخ أخش,, هز ب ؼ ٣ لغ اعزخذ delay ال ا delay ؼ ٤ خ ٠ ا ٤ ش ٣ ؾظ مو ع ا غ رؼ دا ػ ٤ ت ك ٠ ا د,, كالص أ ب أع ٤ ت ؽبعخ أخ ٤ ب رؼذ ا هذ ا ٤ ش ا ٠ ػ ٤ ٣ ؤد ب ٣ الؽع أؽذ مو ع ا غ رؼ ال ال ثؼذ ش س ا هذ ا ؾبعخ د ز ج ا ا هذ ػذ زا ب ٣ لؼ ا.timer ا IC7493 د ػجبسح ػ counter) 4) BIT binary ب أ أد ٣ (pulse) clk ث ٤ ؾق increment ث وذاس 1 0000 0001 : 1111 15Page

أ ب ٣ ف 1111 عذ ثؼذ ب clk ث ٤ ؾق roll over أ ب ٣ ؾق ذ ٣ ط غ ػ ٠ ا شع بؽ ٤ خ ا ٤ ٤ clock رؼجش ػ ؽب خ ا ز بء عؼخ ا ؼذاد. ٣ ز ؽغبة عؼخ ا ؼذاد ا ؼالهخ ا زب ٤ خ: Capacity=2^n Where n is no. of bits N=4 cap=2^4=16 ٣ ؼ ٠ ث ٤ ؼذ 0 ا ٠ 15 أ ب ا ٣ ؾق roll over ا ٣ زشكغ carry ٣ ز ذpulse ه جذ ا ٣ شكغ ا carry ؼ ثؼذ 16 clock ثؼذclock 10 هجؼب 10 clock < 16 clock ك ػب صح ٣ ؾ ثشه أه ا غؼخ هز ب الص أؽ ثو ٤ خ اثزذائ ٤ خ (initial value) IV=(2^N)-COUNT ؽ ٤ ش COUNT ا ؼذد ا ٠ ػب صح ٣ ؼذ (N^2) ٠ ا غؼخ. IV=16-10=6 ؼ ٠ ذ ا ٠ الص أؽ ثو ٤ خ اثزذائ ٤ خ,, 6 لظ ا ل شح ك ٠ ا timer ث ٤ ذflag 1 أ ب ث ٤ ؼذ ؾذ أخش عؼز. ػ ذ ف اى pic16f877a حالحت تا ز TMR0, TMR1 and TMR2 بتذ شزس ب.TMR0 Timer TMR0 Features: 8-bit timer/counter Capacity=2^8=256 Count from 0 to 255 16Page غ clk ٤ ؾق increment

00000000 00000001 : 11111111 ثؼذ زح ا و ٤ خ ث ٤ ؾق roll over هز ب ا timer ث ٤ شكغ flag ػؾب ٣ ج ٠ ا ا زب ٣ ش خ ػذ, ا flag اع. Tmr0if غ ث ٤ ؼذ, ه ٤ ز ب ة ٣ ؼ ٠ 1 اtimer timer ٣ ؼ ٠ ا zero ه ٤ ز ب ة Tmr0if ؽق. roll over زا ػب ص ا ٣ ؼ timer roll over ثؼذ ػذد ؼ ٤ أؽ ة IV Iv=256-count ػ ٠ عج ٤ ا ضب ػب صا زب ٣ ش ٣ ؼذ 156 ػذح هز ب ا و ٤ خ اإلثزذائ ٤ خ Iv=256-156=100 ػؾب أك ا ٤ ش ا ٣ ؾ ا و ٤ خ اإلثزذائ ٤ خ د اه tmr0=160; ؾزبط ب ٣ ؾق roll over الص أؽ خ ا initial value إل ا ٤ ش ؼ ر ٠ ثب ذسعخ ا بك ٤ خ ا ٠ رخ ٤ ٣ جذأ ػذ ٤ ؼذ 100 0. الصظاث: 1 _ثؼذ ب ا ٣ flag ة 1 ا ٤ ش ؼ ٤ قلش ؾذ ب ٣ زؤ ذ ا ٠ ؽلذ ا ثب ٠ أ ب ا ٠ أفلش. 2 _ا clk ا ٠ ثزض د ا ؼذاد ٤ ب قذس ٣ : flag 17Page

* clock) (internal ٠ : عبػخ داخ ٤ خ رشدد ب fosc/4 ؽ ٤ ش ٠ fosc ا ش ٣ غزب خ ا غزخذ خ ٠ ثزذخ ٠ train of pulses ثزشدد fosc/4 ب pulse رؼذ ا ؼذاد ٣ ض ٣ ذ اؽذ ك ٠ ا ؾب خ د ثغ ٤ خ mode) (timer ؼشف الؽوب عجت رغ ٤ ز ث زا االع. * (TOCKI) : ػجبسح ػ external clock أ ب ثذخ ػ ٤ ب 1 ثزؼذ ٣ ؼ ٠ ف ذ ػ ٤ ب proximity sensor ب ٣ ؼذ object ر ٤ غ ٠ ٣ ؼ ٠ pulse ا ٤ ش ٤ ذخ 1 ب ٣ ؼذ object, ك ه ٤ خ ا timer ب ذ 30 ؼ ٠ ر ي ػذ 30.object ؼ ٠ ر ي ا ٣ و ثؼذ ا جنبد ا خبسع ٤ خ ا ز ٠ ا أ ر ك ٠ ف سح. PRESS KEY الصع ا ا TMROCS ا ٠ ك ٠ ا ؾ ا غبثن ظ ٤ لز ٣ خزبس ا CLOCK source عب fosc/4 ٤ ال TOCKI أخزبس ٣ ؼ ٠ 0 fosc/4 ٣ ؼ ٠ 1.TOCKI أخزبسد fosc/4 أ ب غزخذ ش ٣ غزب خ 4MHZ هز ب 4MHZ/4 ٣ ؼ ٠ ٤ غ ٠. 1μs pulse ث ؼ ٠ ا ه ٤ خ ا register ا خبؿ ثب زب ٣ ش ٣ ؼ ٠ 100 ػذ 100μs ؼ ٠ ذ أ ؽب ػ ٠ ا عبػخ ٣ ؼ ٠ mode) (timer عبػخ ده ٤ وخ ب. أ ب أخزبسد TOCKI ب ٣ ذخ ٤ ؼذ 1 pulse د ثؼذ ب أػ select ث 1 MUX ث ب ا ا ٤ ش ثزبػ ٠ ٣ ؼ ٠ 8bit ٤ ؼذ ب ٣ خ 256. ىن ذا اىؼذد صغ زرذا أل اىش اىي ب قذر ؼذ,, 256μs ف ا اىضو ا ؾ ا ٠ أثطؤ ا clock هز ب جطؤ أداء ا cpu ك ق ؼ ٠ ا ٤ ش عذ ا ؽ اخش مؼ ا ثؼذ ا MUX ؽبعخ رو ا زشدد ك ٤ ض ٣ ذ ا ض prescaler ػجبسح ػ.frequency divider ا ٤ وج frequency divider ا وغ خ ػ ٠ 256...1,2,8,16. ث ذ ك ٠ ا ٤ ؼذ timer mode أ زش أل ٠ هز ب وغ ا زشدد ا ٠ MH1 ػ ٠ 18Page

256 نشة ا ض ك ٠ 256 كب ض ٤ جش,, ٣ ؼ ٠ أهق ٠ ص ٣ ؾغج : 256*256=65536μS=0.6sec الصع : أ ب ثزؾ ك ٠ ا prescaler ك ٠ ا ٤ ظ time mode ا. counter mode د ثوذس أرؾ ك ٤ خال register اع option_reg register د أؽذ ا ) special function register(sfr ٣ ؼ ٠ ث ٤ زت ٣ وشأ شك ؼ ٤ ٤ ظ غشد ا زخض ٣,, هت رؼب ا زؼشف ػ ٠ ا register د. تفاص و اه bits اىخاصت ب register اه : timer 19Page

RBPU - PORTB Pull-up enable bit هشف أهشاف ٣ PORTB ا ٣ زق داخ ٤ ب ة PULL UP RESISTOR ٣ ز ر ف ٤ ع ٤ غ وب بد ا port ػ هش ٣ ن مغ 0 ػ ٠ bit 7 ك ٠ زا ا. register ٣ ز اثطب ا pull up resistor ار بر ٤ ٤ ب ث غشد ر ٤ ئخ ا طشف خشط أ مغ 1 ك ٠ bit 7 ك ٠ زا ا ش ٣ غغزش. زح ا وب بد مؼ ٤ لخ عذا ز ي ك ٠ ا ب ت ال غؼ ب active أمغ ك ٤ ب 1 الؽظ ب اله ٠ ا و ٤ خ ا pin default ك ٠ األعبط 1 ب ز ة ك ٠ االه اط 1 ك م خب بد ا ش ٣ غغزش. 21Page

٣ ز ر ل ٤ ز ر ي ػ هش ٣ ن زبثخ Rbpu=0; INTEDG - Interrupt Edge Select bit ا interrupt زا نؼ ب ثب و ٤ خ ا default T0CS - TMR0 Clock Select bit ع ز ػ ب الؽوب ك ٠ ؽشػ أ 1 ا ٠ أ ٣ ؤر ٠ ر ش ب. T0SE - TMR0 Source Edge Select bit رغزخذ إلخز ٤ بس ا falling edge أ rising ا ز ٠ ع ف ٣ ز ػذ ب ثب ئهذ. counter mode ك ٠ ؽب خ ا RA4 / T0CKI خال ا طشف TMR0 ا و ٤ خ = 1 رضا ٣ ذ ػ ذ اإل زوب شرلغ ا ٠ خلل falling ػ ٠ ا طشف / RA4.T0CKI ا و ٤ خ = 0 رضا ٣ ذ ػ ذ اال زوب خلل ا ٠ شرلغ rising ػ ٠ ا طشف /.RA4 T0CKI ؼ ثزلشم ك ٠ ؼظ األؽ ٤ ب rising edge or falling edge ثزلشم ب ٣ ػ ذ ػذاد غشاط ا ٣ ؼذ counter أ ب ا غضء األ ب ٠ ا ؼشث ٤ خ ٣ ذخ ال ب ا غضء ا خ ل ٠ ا ٠ ٣ ذخ, أل هجؼب أػذ ب أرب ذ ا ا ؼشث ٤ خ دخ ذ ٣ ؼ ٠ ا غضء ا خ ل ٠ 21Page

,, register ا default دخ ػؾب ذ ثبعزخذ ا falling timer ؼ mode ٤ لشم ؼب ٣ ب. دا ؽب ػ ٠ PSA - Prescaler Assignment bit ا prescaler ؼب ا وغ خ ٤ 3 bit ار ٤ : prescaler rate اال timer/counter ا ضب ٠ WDT أ watch dog ػ ٠ TMR كب ٣ وذس ٣ وغ ا CLOCK ػ ٠ 2 أ 4 أ..., ا ٠ 256 ارا ب ػ ٠ مغ ٣ وذس WDT ٣ وغ ا 1:1 CLOCK ا ٠.1:12 زا ك ٠ pic 16 أ ب prescaler timer pic 18 ؽذ, ع اء WDT.TMR0 غزخذ زؼ ا prescaler ؼ وذس أػذ ؿ ٤ ش ؾذ 256μs كوو. أ PS2, PS1, PS0 - Prescaler Rate Select bit 22Page

٣ ز أخز ٤ بس ا prescaler ز 3 bits ب ك ٠ ا غذ. ه ٤ خ ؼب ا وغ خ رؼز ذ ػ ٠ اخز ٤ بس رخق ٤ ق ئهذ TMR0 ا ئهذ ا ؾشاعخ ٣ جو ٠ WDT أ ب ذ ؾز ػ ٠ ا option_reg register ك ٤ خ ا و ٤ د ال ٠ أؿ ت ا زطج ٤ وبد ا ٠ ؾزبع ب ز ك ٠ ا timer mode option_reg=0b11010xxx... PRESCALER ؽغت ه ٤ خ ا X EXAMPLE: Setup TIMR0 for 100μs delay, fosc=4mhz??? Ans: _ Timer mode (TOSC=0) _100μs < 256 μs (no need prescaler) _fosc=4mhz _Ftimer=4/4=1MHZ _ T pulse=1/(10^6) = 1 μs _ no. of pulses=100μs/1 μs=100 pulse _ option_reg= 0b11010000 23Page

_ initial value =256-100=156 _ TMR0=156 ا ٤ شكغ timer ا flag ثؼذ ش س.100μs --------------------------------------------------------------------------- EXAMPLE: Setup TIMR0 for a delay 10ms delay, fosc=4mhz??? Ans: _ timer mode (TOSC=0) _10000μs > 256 μs (need prescaler) أ ب ػ ذ ص ا pulse ا اؽذح 1μs ثذ prescaler ث ٤ ؾق over flow ثؼذ ش س 256 μs هت أ ب ػب ص أؽق ػ ٠ ص هذسح 10000μs كالص أمشة ك ٠ prescaler its value is =10000μs/256 μs=39.06 روش ٣ جب 64. count =10000μs/64 μs=156.25 روش ٣ جب ٤ 156 ك ٠ غجخ error ه ٤ خ ه ػؾب ا غشػ ذ error سثغ ػذح وذاس _ option_reg=0b11010101 _ initial value =256-156=100 _ TMR0=100 ثؼذ. 10ms. ذ ا خطؤ 0.25/64 ذ ا timer ٤ ؼذ 156 ػذ ٤ شكغ ا flag EXAMPLE: Setup TIMR0 for a delay 50ms delay, fosc=4mhz??? Ans: _ timer mode (TOSC=0) 24Page

_50000μs > 256 μs (need prescaler) prescaler its value is =50000μs/256 μs=195.3125 روش ٣ جب. 256 _count =195 _ option_reg=0b11010111 _ initial value =256-195=61 _ TMR0=61 ا ؾ خ ا count>256 هز ب TMR0 ؼ ٤ لغ. أ اع ٠ variable ب ٣ ؾق flag ا ٣ ض ٣ ذ variable ٣ 1 ا ض ا ون ٠.50ms * variable اى شار غ : اى شز ع األ ه: ػب ص أػ ا جش ب ظ ا ٠ أر ب ػ ك ٠ األ ثش ب ظ ا ٤ ذاد ا غ رؾبد ثظ ثؼذ ب ؽ ٤ ذ ؾ خ ا DELAY ثبعزخذا اtimer. م د اىبز ا ذ: 25Page

شزس اىن د : ك ٠ ا جذا ٣ خ أػشف ا timer register أد ٣ ا, IV هجؼب أ ب مجط أ ٣ flag ش ص هذس, ms50 ثؼذ ٣ مو ع ا غ رؼ األ ٣ غؼ ز ٤ ش اع dir=1 مطذ ع ا غ رؼ ا زب ٠ أعؼ dir=2, ثؼذ ٣ ا flag=1 ص د ٣ ؼ ٠ tick ػذ flag عذ ٣ ذ فلش ا IV ثزبػ ٠, ثشد ؽ ا time base د ا ms 50 ػؾب ٣ شعغ ٣ ؼذ رب ٠ أ عذ ٣ ذ ب tick=10 ٣ ؼ ٠ ػذ ص هذسح ms50*10 ٣ ؼ ٠ صب ٤ خ أثذء ؽ ف ا user مطذ ع ا غ رؼ األ ال ا زب ٠, مو 26Page

ع األ ٣ ؼ ٠ dir=1 أػ shift left مو ع ا غ رؼ ا زب ٠ ٣ ؼ ٠ dir=2 أػ shift right ثؼذ ٣ فلش tick ػؾب ٣ ؼذ األ. ه ٤ ت ك ٠ األ مو ع ا غ رؼ األ ٤ خ ٠ ه ٤ خ dir=1 ٣ غز ٠ ا صب ٤ خ رؼذ ٣ ؼ shift left مو ػ ٠ ا غ رؼ ا زب ٠ ؽز ٠ هج ب ٣ خ one rotation ٤ خ ٠ dir=2 هز ب أ ب صب ٤ خ رؼذ ٣ و ػب ٣ ؼ ٠ shift right ذ رخ قذ ؾ خ ػذ اعزغبثخ ا ٤ ش نو ع ا غ رؼ أص بء كزشح ا for loop أ أص بء كزشح ا delay ال ا زب ٣ ش ث ٤ ؼذ ا ٤ ش ث ٤ ؾ ف ؽب خ ا button أ ب رز ٤ ش ٣ و لز action ؼ ٤ خ. ا ٣ ا ؾ ؽق ا ا زب ٣ ش خ ػذ ش صب ٤ خ هج ب األ ش if (tick==10) ٣ غ ٠,,, ٤ ك ٠ error ثغ ٤ و ك ٠ ؽغبة ا هذ ثظ ٤ ف ٤ ش ه أل ا ٤ ش ث ٤ لز األ ا شثغشػ عذا. زا ا جش ب ظ ٣ عذ ثؼل األخطبء ا ز ٠ ال رغؼ ٣ ؼ ث لبءح, ػذ ضال أفجؾذ tick=9 غ ٤ ػذ ه ذ مطذ ع ا غ رؼ ا زب ٠ ذ ٤ خ ٠ tick=0 ٣ جذأ ٣ ؼذ عذ ٣ ذ رقجؼ tick=10 ٣ ؼ ٠ ؼ ٤ ذ action ؿ ٤ ش ثؼذ 19* ms50 ٣ ؼ ٠ أ زش صب ٤ خ زا ؼ خ ٠ tick=0 أص بء ا نو ػ ٠ ا غ رؼ ػ ذ اخزجبس ش س ا صب ٤ خ ك ػذ صب ٤ خ لز األ ش ثؼذ ٣ خ ٠ tick=0. ك ٠ ؾ خ رب ٤ خ ك ٠ ا د أ أ ب ٣ ف ;portb=0b10000000 هز ب ؽق shift ا اؽذ ٤ ن ٤ غ ٣ جو ٠ ا register أفلبس. ض د األ ش dir==1 ؾ ف ا portb ال 27Page

٣ غب 0b10000000 هز ب أهذس أػ shift ػبد, ؿ ٤ ش ذ ٣ ؼ ٠ ث ٤ غب 0b10000000 أعؼ ٣ جذأ األ ٣ ؼ ٠ أد ٣ ا و ٤ خ 0b00000001,, زا ا ؾب ثب غجخ. right shift الؽع: الثذ أ أمغ dir ه ٤ خ اثزذائ ٤ خ ػؾب ؼ مطذ ع ا غ رؼ ٣ ك ٤. rotation 28Page

29Page

Block diagram of the PIC Timer1 ع ٤ ب ثق ٤ ب ك ٠ ا block diagram ثزبع رب ٣ ش 1 الؽع ثؼل ا لش م ث ٤ ث ٤ رب ٣ ش : 0 1 _ا 16-bit timer/counter ال ػجبسح ػ 2 س ٣ غ ٤ غزش TMR1L) Registers (TMR1H and ال ا ٤ ش ثزبػ ٠ س ٣ غغزشار ػجبسح ػ 8 ث ٤ ذ,, ؼ ٠ ذ ا ا غؼخ ػجبسح ػ Capacity=2^16=65536 ٣ ؼ ٠ ٤ لن ٣ ؼذ 0XFFFF to 0X0000 هز ب ث ٤ شكغ. TMR1IF <<< flag ثؼذ ٣ ٣ ؾق overflow 31Page

2_ ا ك ٤ control ٣ ؼ ٠ أهذس أؽ خ أهل ٤ كوو,, ا AND gate ػ ٤ ب ٣ ؼ ٠ 1 ا زب ٣ ش ٣ ؾز, ػ ٤ ب ٣ ؼ ٠ 0 ؼ ٣ ؾز. _3 ا prescaler ػجبسح ػ 1, 2, 4 or 8 divisions of the clock input ال ٠ جشد عؼخ ا زب ٣ ش كو ذ ا. prescaler 4_ ص رب ٣ ش 0 ك ٤ Timer mode (0) Counter mode (1) كؼ ذ ا RC0/T1OSO and RC1/T1OSI pins أهذس اعزخذ ا ٣ ؼ ا peripheral electronics ا ٠ عب ٣ خ أ pulses count ب ٤ ظ ٤ لخ رب ٤ خ : ا ٠ أهذس أعزخذ RC1) (pin input LP quartz oscillator (low output (pin RC0) power) هز ب رب ٣ ش ٤ ض ٣ ذ 1 رجغ ا زشدد ثزبع ا ش ٣ غزب خ ا ٠ ؽطز ب. 31Page

ا circuit د ؼ ثزؾز ؿ ٤ ش ػ ٠ KHz) low frequencies (up to 200 ه ٤ ت أ ب أعزخذ ا ش ٣ غزب خ د أ ا ذا ٣ شح د ك ٠ ا ٣ ثغزخذ ب ا ٠ أػ عبػخ ) clock (real time ا ش ٣ غزب خ د رشدد ب 32,768 KHz و ٤ ث غزخذ ب ٤ ل ٤ خ اعزخذ ب اصا ؼ عبػخ الؽوب. Timer 1 register (T1CON Register) Bit 7 & bit 6 : ؿ ٤ ش غزخذ خ Bit 5 & bit 4 : Prescaler rate Bit 3: ػب ص ضال أؽ ش ٣ غزب خ ص ثزبػ ا غبػخ 32Page

ؼ ؽب خ ا default ا ب ؼ ؽب خ,, أؽ ب ب ػ ٤ ب 1 رجو ٠ ؽب خ, 0 خ ٤ ب ع ا. default Bit 2:. ؼ ؼب ٣ ب أؽو ك ٤ ب أ ؽبعخ,, خ ٤ ب ع ا default Bit 1: Bit 0: 33Page

Example1: for a 100ms delay Fosc=4Mhz? Sol.: TMR1L=? TMR1H=? T1CON=? IV=? 100,000>65536 Setup timer1 Pres= TMR1 count = =50,000 IV=65536-50,000=15536 أؽ ا شه ا ٠ أمغ ا األ ٢ ك ٠ ا L ا جبه ٤ ك ٠ ا H. 8 bit binary 15536 IV=0X3CB0=0B0011110010110000 TMR1L=0XB0 TMR1H=0X3C T1CON=0B00010001; 34Page

ا ٣ خ أه time delay أهذس أػ ة timer1 أ ب ػ ذ أ جش 8 prescaler Longest period = 8*(2^16)=524288µs =0.5 s ٣ جو ٠ ذ ا time base ثزبػ ٠ 0.5s Example2: Setup timer1 for a 500ms delay Fosc=4Mhz? Sol.: 500,000>65536 Pres= TMR1 count = =62,500 IV=65536-62500=3036=0X0BDC IV=0B0000101111011100 TMR1L=0XDC TMR1H=0X0B T1CON=0B00110001; 35Page

Real time clock ب ار ب عبثوب ػ ا ب ؾو ش ٣ غزب خ خبس ٣ غ ٤ خ ا زب ٣ ش ٣ ض ٣ ذ ث بء ػ ٠ رشدد ا ش ٣ غزب خ, ا ا م ع د ل ٤ ذ ا ب ؼ عبػخ ب ده ٤ وخ ػ هش ٣ ن اعزخذا ش ٣ غزب خ رشدد ب 32,768 KHz ا ز ف ٤ خ ز ث زا ا ؾ ه ٤ ت اؽ ؼ ٠ ا زشدد د ا ٠ اعزخذ ز ؼ ا غبػخ Flag= ٣ ؼ ٠ ا flag ٤ زشكغ صب ٤ ز ٤ صب ٤ ز ٤, ه ٤ ت ػب ص flag ه ٤ ت ا ش ٣ غغ ٤ زش زؾ ة 2^16 flag صب ٤ خ ث ٤ ذ ٤ ؾق 36Page

Count= 1 sec *3276HZ=32768 IV=2^16-32768=32768 =0X8000=0B1000 0000 0000 0000,, ذ ؾ ا IV ػ هش ٣ ن مغ TMR1H 1 ك ٠ ث ٤ ذ 7 ؽق Over flow IV: set TMR1H.7=1; T1CON=OB00001011; Real time clock code 37Page

الؽع ا األ ش ا ٠ ث ٤ ؾ byte ا ٠ string ثزؼشك ا ز ٤ ش ك ٠ 3 خب بد ب الؽع ا ا غ رؾ ٤ ا ٠ ثنجو ث ٤ ا ذهب ٣ ن ا غبػبد دخ ز ػ ٠ portd ػؾب ػ ذ portb زؼشف ػ ٤ ا ؾبؽخ ب ٤ لؼؼ اعزخذ RC0, RC1 ال خبف ٤ ثب ش ٣ غزب خ. 38Page

Circuit diagram ه ٤ ت أ ب ذ ا ع ٤ خ ا ٠ ثؼشف ث ٤ ب ا زب ٣ ش خ ال أل ٠ ا,, flag ه ٤ ت ا ٣ CPU ؾ ا زب ٣ ش ٣ شكغ ا flag ؼ أخذ ثب ٠ ؿ ٤ ش ثؼذ ذح رو غجخ ا ذهخ,, ػؾب ذ ػب ص ا CPU رغزغ ٤ ت ثغشػخ flag أعزخذ ا interrupt 39Page

ب ػ ذ ب ؾ خ ا ا زب ٣ ش flag ارشكغ ا CPU ؼ ؽبكز,, ػؾب ذ غزخذ ا interrupt ػؾب أ ب ا زب ٣ ش ٣ زشكغ flag ا CPU روق ب ب رغ ٤ ت ا ٠ ثزؼ رش ػ ر لز ا Interrupt function ثؼذ ب رخ ق ب رشعغ ب ب هلذ ( ب ٠ ثؼ call ) function,, ثؼذ ب ٣ غزغ ٤ ت flag ث ٤ ؼ. automatic clear ػشا مذ ب ؼزف اى interrupt ػي إ : Interrupt is meant to branch to a subroutine usually known as interrupt services routine, when an interrupt flag is raised due to a change in coming data. ػ : Internal interrupt External interrupt ه ٤ ت د هز ٢ أ ب ػ ذ زا source, interrupt ؼ ذ ٣ ؼ ؿ ٤ ش interrupt services routine اؽذ,, ؼ ٠ ذ ا أ ٤ ؾق interrupt ٤ ش ػ لظ ا, function ػؾب ذ الص أػ check ػ ٠ قذس ا interrupt أ لز أ ش ؼ ٤ ٣ ؼ ٠ و خ ا flag عب رب ٣ ش 0 أػ ؽبعخ ؼ ٤ خ, عب رب ٣ ش 1 اػ ؽبع رب ٤. 41Page

How to enable interrupt global interrupt enable (GIE) Prefral interrupt enable (PEIE) External interrupt (INTOIE) Timer0 interrupt (TOIE) UART TX interrupt enable TXIE UART RX interrupt enable RCIE A/D interrupt ADIE TMR1 INT T1IE 41Page

ا شع د ١ اهذس اػشف هش ٣ وخ رلؼ ٤ ا ١ قذس, interrupt ك ضال ػب ٣ ض اؽ ا timer0 interrupt الص اخ ٢ GIE_bit = TMR0IE_bit=1; ثب ض ػب ٣ ض أؽ TIMER1 interrupt الص GIE_bit =PEIE_bit=TMR1IE_bit=1; Interrupt register (INTCON): ا غغ INTCON هبث وشاءح ا زبثخ, ظ ٤ لز ا ث ٤ ؾ (ث ٤ ؼ (enable غ ٤ غ قبدس ا interrupt,,ثبالمبكخ ا ث ٤ ؾز ػ ٠ ا flags ا خبفخ ث قبدسا وبهؼخ. Global Interrupt Enable GIE : Bit 7. رزؾ ك ٠ ع ٤ غ قبدس ا interrupt ا خ ك ٠ لظ ا هذ ا ز ٠ ع ؼشف أعجبث ب الؽوب. GIE(7): set to 1 to enable global interrupts 42Page

ه ٤ ز ب )1( = Enables ع ٤ غ قبدسا interrupt ه ٤ ز ب )0( = ػذ رؾ ٤ Disables ع ٤ غ قبدسا interrupt PEIE : Bit 6 PEIE(6): to enable/disable other peripheral interrupts ه ٤ ز ب )1( = interrupts enable peripheral ه ٤ ز ب )0( = interrupts disable peripheral T0IE : Bit 5 TOIE (5): to enable/disable TMR0 interrupt ا و ٤ خ )1( = interrupt enable TMR0 ا و ٤ خ )0( = interrupt disable TMR0 ك ٠ ؽب خ اعزخذا ٣ ز TMR0 interrupt اخز ٤ بس ظب ا internal clock ػ هش ٣ ن ا ٠ أخ ٠ bit 5 ٠ TOCS _ bit ثب OPTION_REG ه ٤ ز ب ثقلش أ TOCS=0. ب ٣ ؾق overflow زب ٣ ش ٣ ز سكغ ا Interrupt Flag رقجؼ Interrupt ا Interrupt ٣ ؾق TMR0 overflow ب ٣ ؾق, T0IF=1 د ا ٠ ٤ ل ٠ ا ا timer0 flag ارشكغ,, الص بخذ ثب ب ا ب ؼ clear خب خ TOIF ك ٠ ا subroutine interrupt ػؾب ٣ لغ ٣ ؾق interrupt عذ ٣ ذ TOIF=0 43Page

Bit 4 : INTE : ت ن RB0 خا ت / INT INTE(4): disable/enable interrupts on pin RB0 رغزخذ ك ٠ ا زؾ ك ٠ ا interrupt ا برظ ػ ر ٤ ش ا ؾب خ ا طو ٤ خ طشف RB0/INT أ ا. external interrupt ا و ٤ خ )1( = RB0 enable interrupts on pin ا و ٤ خ )0( = RB0 disable interrupts on pin RBIE : T0IF Bit 3 ػ ذ ر ٤ ئخ أهشاف PORT B ذاخ ٣ ز االهشاف أ رغجت interrupt ػ ذ ر ٤ ش ؽب ز ب ا طو ٤ خ ( ع اء شرلغ ا ٠ خلل أ ا ؼ ظ ). :. Bit 2 ا و ٤ خ )1( = ر ٤ ا وبهؼخ ػ ذ ؽذ س ر ٤ ش ك ٠ ؽب خ ا لز PORT B ا و ٤ خ )0( = ػذ ر ٤ ا وبهؼخ. رج ٤ ؽذس overflow زب ٣ ش 0 أ ال,, كبرا ؽذس overflow رقجؼ ه ٤ ز ب ث,, 1 ٣ ا زؾ ك ٠ ر ٤ ب ا ػذ ر ٤ ب ػ هش ٣ ن عؼ )T0IE ( Bit 5 ا ب set أ. clear ثش ٣ غ ٤ غزش ٣(TMR0 غت ػ clear ٣ ق ثؼذ ا ٠. overflow خب خ ك ٠ ا و ٤ خ )1( = ؽذ س overflow ا جش ب ظ ) ا و ٤ خ )0( = س ٣ غ ٤ غزش رب ٣ ش 0 44Page

INTF : Bit 1 ا و ٤ خ )1( = ؽذ س وبهؼخ خبسع ٤ خ ثب طشف ( RB0 ٣ غت غؼ ا خب خ ثب جش ب ظ ). ا و ٤ خ )0( = ػذ ؽذ س وبهؼخ خبسع ٤ خ ثب طشف. RB0 RBIF : Bit 0 أؽذ أهشاف ٣ ب PORTB ا وبهؼخ ػ ذ ر ٤ شؽب ز ب ب RB4( ) RB7 :. ثؾ ٤ ش ٣ ز وبس خ ( RB4 ) RB7 : ثب و ٤ خ ا وذ ٣ خ ا خض خ آخش هشاءح. PORTB ك ب ذ ا و ٤ ؿ ٤ ش زطبثوخ ) ٣ ؼ ٠ ؽب ز ار ٤ شد ) ٤ ؾق,, interrupt ث ؼ ٠ ا ٠ مجطذ ا configuration portb ػ ٠ ا ب رؼ interrupt هجوذ ع ذ ػ ٠ ا pins rb7:rb4 أ اؽذح ك ٤ كزؾذس وبهؼخ رظ ش ز ٤ غخ ز ا وبهؼخ ػ ٠ ؽ عؼ خب خ RBIF ثب و ٤ خ 1 أ. set ا و ٤ خ )1( = ػ ذ ر ٤ ش ػ ٠ االه ؽب خ اؽذ ا خب بد ا خب خ RB4 ا ٠ ا خب خ RB7 ) ٣ غت غؾ ب clear ثب جش ب ظ ). ا و ٤ خ )0(= رز ٤ شؽب خ ا ا خب بد ا غبثوخ. ارا ب ذ خب خ ر ٤ ا وبهؼخ ا بظشح ؿ ٤ ش خ أ )0( كال رؾذس وبهؼخ أعبعب. أ ب ا ب ذ خ أ )1( كزؾذس ا وبهؼخ ػ ذ سكغ ا. flag 45Page

Example: (portb interrupt) ا جش ب ظ ث ٤ جذأ ػ ذ main رلن ا ٤ ذ ر س رطل ٠ ث ٤ ا on & off ص ا زظبس ٠ 100 صب ٤ خ أ ب ا ٣ نو user ع ا ٣ وق switch ا جش ب ظ ػ ٠ ؽب ز ٣ ؼ ٠ مطذ led1 سح زلن سح مطذ led1 طل ٤ خ زلن طل ٤ خ ؾذ ب ٣ ش ػ ذا خ ٤ لز interrupt ا ٠ ك ٤ ب ٣ شعغ جش ب ظ االف ٠ رب ٠ ٤ ش ػ وبهؼخ ٣ س ٣ لن led 2 3 ص ا ٠ ص ٣ طل ٤ ب ٣ ش ػ جش ب ظ االف ٠ زا ثظ ػ ذ ؽذ س وبهؼخ ٣ شكغ ػ ا وبهؼخ ا خبؿ ة portb رقجؼ bit0=1 زا الثذ ثؼذ ب ٣ خ ا interrupt ا ٠ أفلش bit0 ػؾب أهذس أػ وبهؼخ رب ٠ ر ي ػ هش ٣ ن اال ش intcon.f0=0; ب ج ٤ ثب د. 46Page

ت ص و اىذائزة : Example (RB0 interrupt): Switch is pressed RB0 goes from 0 to 1 causing an interrupt which calls the interrupt() routine. The interrupt routine increment the value of PORD by one. 47Page

48Page

49Page

ك ٢ ا غضء د طجن ا ٢ ارؼ ب ك ٢ ا timers ا interrupt ا اؽ ب ؼ رطج ٤ وبد ػ ٤ Real time clock-1 Ultrasonic sensor-2 جذأ ثب Real time clock عجن ػ ب real time clock ك ٢ دسط timer1 ب ك ٢ ػ ذ ب ؾ ا ا flag ثزبع ا زب ٣ ش ٣ زشكغ ا ٣ CPU ؾ ك ٢ ر ل ٤ ز ا ش رب ٢ كغبػز ب ا CPU ؼ ٤ غزغ ٤ ت ال ش ثزبػ ٢ اال ب ٣ خ ر ل ٤ ز األ ش ا ٢ ؼب د ب ث ٤ ؤصش ك ٢ دهخ ا جش ب ظ.د هز ٢ ثؼذ ؤخذ ب ا interrupt وذس ز ت ػ ٠ ا ؾ د ١ شنو اىبز ا ذ ن ك االت : 51Page

ا جش ب ظ د ٣ لشم ػ ا جش ب ظ ا ٢ ػ ب هج ذ ك ٢ دسط timer1 ا اؽ ب ب ا ٣ زشكغ ا ٤ ؾق flag ػ ط interrupt ا جش ب ظ ٤ ش ػ ذا خ ثزبػخ ا ٤ لز interrupt ا ك ٤ ب ث ذ اثو ٠ ار جذ ػ ٠ ا ؾ ا ٢ ب ذ ك ٢ ا جش ب ظ هذسد اػ اص د دهخ ا جش ب ظ ػؾب رجو ٠ كؼال Real time clock 51Page

Ultrasonic أؽذ ا د ٣ الد )ا غ غ ساد( ا ز ٠ ٣ ز ك ٤ ب اعزخذا ا زب ٣ ش ثؾ اعبع ٠ د ٣ ا. Ultrasonic :Ultrasonic د ٣ ٣ ط ن عبد ػب ٤ خ ا زشدد ك م ذ ع غ اال غب ا ز ٢ ػ ذ افطذا ب ثغغ ب رشرذ ز ا عبد ػ ٠ ؽ فذ ٣.Echoز sender ا ز ٣ شع ا عخ receiver ا ز ٣ غزوج ا ٣.Echoغزخذ و ٤ بط ا غبكخ ث ٤ ا غ غ س ث ٤ أ ػبئن زا ٣ ز اعزخذا ا غ غ س ث ضشح ك ٠ رطج ٤ وبد ا ش ث د ا ز ٠ ؾزبط ك ٤ ب زغ ت ا ؼ ائن أ ؼشكخ ث ؼذ ؼ ٤ أ ٣ نب ٣ ز اعزخذ ب ك ٠ ػقب أ هلبصاد ا ل ك ٤ ٤ ز ا ؼشكخ أ بى ػبئن ػ هش ٣ ن ا زاس ضال, ب ٣ اعزخذا غ بص و ٤ بط ا غشػخ ػ ثؼذ ب ز ١ ٣ غزخذ سعب ؽشهخ ا غ ٤ ش ؼشكخ ا غ ٤ بساد ا ز ٢ رغ ٤ ش ثغشػخ أػ ٠ ا وشس أ ٣ نب automatic door opener ا ٠ ؿ ٤ ش ب ا زطج ٤ وبد... عشػخ ا عبد ك ٢ ا لشاؽ 345 زش\صب ٤ خ ٢ ػ ذ 25C رخز ق عو ألخش ؽغت ا عو ا به ب غ ائ ا بصاد األعغب ا ق جخ. ؼشكخ ا غبكخ, ٣ ل ٢ أ ؼشف عشػخ ز ا عبد, أ ؼشف ا لشم ث ٤ ص االسعب ص األسرذاد قذ ث زا ٣ ب ؼشكخ ا غبكخ ؽغت هب ٤ ر : ا غبك = ا غشػ ا ض ص اسعب ا عخ اسرذاد ب ٣ ه ٤ بع ػ هش ٣ ن رب ٣ ش, ا غشػ ؼ خ ذ ٣ ب ثز ي ٣ ه ٤ بط ا غبكخ ثغ خ. 52Page

PING Ultrasonic Distance Sensor (#28015) ٣ وذس ٣ و ٤ ظ غبكخ رزشا ػ ب ث ٤, 3 meters:2 cm ػجبسح ػ 3 pins ا شع األ ٠ ر ف ثب GND ا زب ٤ خ ث 5v ا شع ا ضب ضخ ٠ ا signal pin ٣ ز ر ف ٤ ب ثب ٤ ش زش ش I/O pin. ظز ت اىؼ و : ا PING sensor ث ٤ وذس ٣ ؾذد ثؼذ ا ؼبئن ػ هش ٣ ن اسعب عبد اال زشاع ٤ ي ا ٠ ثوذس اسع ب ػ هش ٣ ن ا ٠ اسع trigger pulse ا ٤ ش زش ش ثزبػ ٠ delay ثؼذ ٣ ا غ غ س ٤ ؼ 2µsec :5 µsec ذر ب رزشا ػ signal pin ذح µsec750 هز ب ٣ و األ زشاع ٤ ي ثز ئ ٤ خ لغ ٤ ؼ, receiver أ ب ٣ جذأ اال زشاع ٤ ي ٣ ؼ ٤ خشط receiver high output pulse ػ ٠ ا signal pin 53Page

٤ زظش أ ٣ ق فذ Echo output pulse ا خبسعخ ا ا output pulse د ١ ذر ب ثز ب ث ٤ ا ز ٢ هطؼز ب أ اط ا ق د. جنبد ا ز ٢ أسع ب ثؼذ افطذا ب ثؼبئن هز ب ا. low ا ٠ high ز ز ٠ ر زو signal pin 115us -18.5 ms اػز بدا ػ ٠ ا غبكخ األص خ د ؽ ا عخ ػشك ب ا ذارب ؽ ٤ ذ ثزبػذ ا غ غ س ا ٠ ك ٤ ب االؽ ب االر ٤ خ ا ٠ ثز مؼ جذأ ا ؼ. ا ض هذ ب ا output signal ب ذ high ؾذ ب ثوذ low ا ض ا ٠ اعزشهز ا عخ أ ب ه ؼذ ا غ غ س ؾذ ب خجطذ ك ٠ ا ؼبئن سعؼذ رب ٠ ٣ ؼ ٠ ا ض د مؼق ا ض ب ث ٤ ب ا عخ ه ؼذ خجطذ ك ٠ ا ؼبئن ا غشػخ 0.5. *speed*time أهذس اؽغت ا غبكخ= 340m/sec 54Page

Practical Considerations for Use Object Positioning 1_ الص ا ؼبئن ٣ ػ ٠ ثؼذ أه 3 زش ال ا غبكخ ب ذ أ جش ا غ غ س ؼ ث ٤ وذس ٣ ؼ هز ب. detect 2 -ال نغ ا غ غ س ثضا ٣ خ ال رؼ ظ ا ن ء ا غبهو ػ ٠ ا ؼبئن. 3_ ا ؼبئن ال ٣ ف ٤ ش عذا ال هز ب ا غ غ س ؼ ٤ ؾظ ث ٤. تطب ك ظز ت اىؼ و باستخذا اى نز م تز ىز: 1_ ف ا signal pin ال زشاع ٤ ي ثب ٤ ش زش ش pin ا ٠ ك ٠ ا هذ د ثز o/p pin اه غ ػ ٤ ب trigger pulse ا ٤ ش ذح. t_out=5µsec 2_ أخشط ا ٤ ش zero أخ ٠ ا micro pin رؾز input ػؾب روذس رغزوج. t_hold_off=750 µsec ث وذاس delay اػ signal enable for loop 3_ اػ 4_ أػ.echo زب ٣ ش. ؾذ ب ا signal _ 5 أؽغت ا ض ا غبكخ ا ؼالهخ ا زب ٤ خ رقجؼ fall down ٣ ؼ ٠ ا غ غ س اعزوج ا time_elapsed= TMR0 + ( count*250); 55Page

x = (0.034 * time_elapsed )/2 ; 6_ أهل ا زب ٣ ش أسعؼ ب output رب ٠. ا micro pin م د اىبز ا ذ: 56Page

57Page

58Page

ا اى USB اخزقبس ٠ Universal Serial Bus أؽ ش ا بكز ا غزخذ خ شثو 2 devices غ ثؼل ص ا ج ٤ رش ا ب ط أ ا ٤ ج سد ا.mp3 player ب ص ب ث غزخذ ا UART زا ا شك ؽب ٤ ب أفجؼ األؽ ش ا usb ك ٠ ثؼل ا serial to USB converter ب نطش ٣ غزخذ serial port ل ٤ بػ laptops ك ٠ ثذا ٣ خ سط ا ٤ ش ب ث غزخذ ا شثو ػ هش ٣ ن ا UART ال ثش غز أع ك ٠ زا ا غز ا زوذ ؾشػ هش ٣ وخ ا شثو ػ هش ٣ ن ا USB ال عشػخ و خ ج ٤ ب بد رل م ث شاؽ عشػخ ا غش ٣ ب.. ؼ ا زش شص ثز كش ا شثو ػ هش ٣ ن ا construction ٣ عذ ك ٠ ا PIC18f4550 ا زش ش PIC18F2550 USB ا خبؿ ث ٤ ب USB د ٣. USB Speed,, األهذ USB1.0 ٠ ٣ خز ق Low speed 1.5Mb/sec Full speed 12Mb/sec ا three versions ٤ USB bus specification ؼذ و ا ج ٤ ب بد ث ؽغت ا غشػ ا غزخذ خ ض االفذاس USB 2.0 ب ؼذ و ث ٤ ب بد High speed 480Mb/sec االفذاس األعذد USB 3.0 ؼذ و ث ٤ ب بد.Super speed 5Gb/sec 59Page

ا ٤ ش زش ش ٣ ذػ PIC18F2550/4550 ا غشػخ ا خلنخ )1.5 ( Mb/s ا غشػخ ا ب خ Mb/s) 12) زا كب أ ؽ ٠ ء ػ ٤ ي أ رؼشك ٤ ل ٤ خ مجو ا غبػخ.USB الرقب ػجش clockا ط ثخ Oscillator Configurations ػ ذ ب غزخذ ا ٤ ش زش ش الرقب خال ٣ غت USB اعزخذا عبػخ ثزشدد 6 MHz غشػخ ا خلنخ أ 48 MHz غشػ ا ب خ ال ه ٤ ا ش ٣ غزبالد ثز standard دا ٣ شح ا clock ع ا ك ٤ ب prescaler ث ٤ خ ٠ ٤ أهذس أهغ ا زشدد ػ ٠ 1 أ 2 أ 4 أ. 8 ا ؾ خ ا ب غشػ ا ب خ غزخذ ش ٣ غزب ثزشدد MHz 48 د رشدد ػب ٠ عذا ٣ ؼ ٠ ٤ ك ٠ noise ػب ٤ خ ؿ ٤ ش ا ب ؿ ٤ ش زبؽخ ث كشح لخ,, ؾ ا ؾ خ د هذ ذ ؽش خ ٤ ش ؽ ٤ ت ػ سائغ ٠ دا ٣ شح نبػق رشدد ( ػ هش ٣ ن دائشح (PLL) (Phase Lock Loop ا ز ٣ ؼط ٠ ٤ ا زشدد ا ط ة ا غزخذ غشػ ا ب خ ػ هش ٣ ن ش ٣ غزب خ رزشا ػ ه ٤ ز ب MHz 4 ا ٠ 48, ب رز ا ؼب غخ إل بء ا ن مبء داخ ب. ز ي ع ف غزخذ ز ا ٤ ضح إل زبط ا غشػخ ا ب خ الرقب ػجش. USB ك ٠ ا ؾ ا ز ثؤعل ع الؽع ا ب ٣ ب اعزخذا ا PLL option أ غزخذ ػ غزخذ ش ٣ غزب خ جبؽشح ثب زشدد ا ط ة االػذداد د ٣ ز مجط ب خال ا ٤ ش ع ٠ ز ػ ب ك ٠ ا section ا وبد. ك ٠ ؽب خ اعزخذا ا PLL option الؽع ا رشدد ا ش ٣ غزب خ ث ٤ ذخ ػ ٠ prescaler )1,2,3,4,5,6,10,12( كؼ ٠ كشك ا ب اعزخذ ب ش ٣ غزب خ 4MHZ خزبس prescaler ه ٤ ز ث اؽذ ٣ ؼ ٠ (000 = (PLLDIV ٤ خشط ا MUX هز ب رشدد ه ٤ ز ٣ ذخ 4MHZ ػ ٠ نبػق ا زشدد ك ٤ زظ ثب لؼ MHz 96 ثؼذ ا وغ خ ػ ٠ 2 ر,,, MHz48 ارا اعزخذ ب ش ٣ غزب MHzػ ذئز 20 ٣ غت أ ٣ ا ؼب CPU ثب غجخ, USB clock زا. أؽ ب ذ ار ب ػ ا prescalerثخ غخ 61Page

٣ clock اعزخذا ا ب خشط PLL أ ٣ جبؽشح اعزخذا خشط ا ش ٣ غزب ب ك ٠ ا شع خ. ك ٠ ؽب خ اعزخذا ش ٣ غزب خ ٤ غب 20 شرض غزخذ هز ب PLL prescaler ثب و ٤ خ. 5 ا ٤ ش زش ش ؾ خ ػ ٠ MHz 20 ا ؼب ٤ postscaler ث اؽذ 00] = [CPUDIV. يض ظت : ا ؾ ٤ ئب األ ضش أ ٤ خ ا زا ٣ غت أ ٣ ب فؾ ٤ ؾب ر ب ب ب : اػذاداد ا ٤ ش زش ش configuration ا USB device descriptor ؽز ٠ ب بى ؽ ٠ ء ف ٤ ش عذا ؿ ٤ ش فؾ ٤ ؼ ؽ ب كب االرقب ٣ زؾون. Microcontroller Configuration 61Page

هج ثش غخ ا ٤ ش زش ش رؤ ذ أ اػذادار فؾ ٤ ؾخ. ه ثب ؾبء ثش ب ظ ٤ ش زش ش. P18F4550 ار ت ا ٠ ا وبئ خ:, Project Edit Project ع ف رظ ش ي ر ي ا بكزح: 62Page

خزبس PLL Prescaler Selection إل ب غزخذ ش ٣ غزب MHz 20 كب ا ؼب ٣ غت أ 5. ٣ خزبس ا اؽذ : ب ر ش ب. System Clock Postscaler Selection : خزبس PLL USB Clock Selection 63Page

: خزبس Speed) HS (High Oscillator Selection ظ ا غ ذ USB voltage regulator ٣ عذ م ث بء ا ٤ ش زش ش ظ ع ذ ٣ غت ر ٤ : ا م ع أ غز ا غ ذ خو ث ٤ ب بد (-D volt 3.3 USB +D) and ظشا أل ا ٤ ش زش ش ٣ ؼ ػ ذ volt 5 ز ي ٣ عذ ظ ا غ ذ v 3.3 ا خبؿ ثؼ.) enable ( ٣ غت ػ ٤ ي ر ٤ USB ٣ عذ هشف ك ٠ ا VUSB (pin14) pic18f4550 ارا ذ ال رش ٣ ذ اعزخذا ظ ا غ ذ v 3.3 ا ذاخ ٠ ٣ ي, ا زز ٣ خ ث قذس v 3.3 ػ ٠ زا ا طشف. ارا اعزخذ ذ ا ظ ا ذاخ ٠ ػ ذئز ٣ ز امبكخ ضق nfػ ٠ 220 زا ا طشف ثب غجخ ألسم ٠ ؼ اعزوشاس قذس ا ذاخ ٠. 64Page

USB Descriptor ػ ذ ب ٣ ز ا ؾبم usb device عذ ٣ ذ,, USB bus ا USB HOST ث ٤ ؾزبط ٣ ؼشف ثؼل ا ؼ بد ػ ا device ا ؾن.ك ٤ غزخذ أص بء ػ ٤ خ رؼش ٣ ق ا peripheral device ػ ٠ ا host ض ػ ٤ خ رؼش ٣ ق ا ٤ ش زش ش ػ ٠ ا PC ا غ بص زؼشكؼ ػ ٠ ا PC ػ ٤ خ ا شثو ؼ ز ٤ زجؼذ سعب خ خطؤ. ا غجت ا األع ضح ا ٠ ث ٤ ز سثط ب ػ هش ٣ ن ا USB روغ رؾذ ثش ر ٣ غ ٠ HID (Human HID خبؿ ثبألع ضح ا driver ك ٠ ظب ٣ ذ ص ٣ ز رغط ٤ ت Interface Device) كبرا ب ع بصى ٣ زق غ ظب ا زؾ ٤ غ بص HID ػ ذئز رؾزبط رغط ٤ ت أ دسا ٣ لش غ بصى ض األع ضح ا ٠ ثززؾ ػ هش ٣ ن اال غب ص ا Keyboards include الص ؼ HID ارا ب ع بصى ال ٣ ؼ م كئخ.joysticks,,mouse ق قذس فق ا ز ٣ ؾز ػ ٠ سه ا ٣ خ ID اع ا جبئغ (VID), سه ا ٣ خ اع ا زظ (PID), ه ا زوش ٣ ش) ) Report Length ا ؼ بد األخش راد ا ق خ,, ا ٤ ش ع ٠ ث ٤ و ثب ؾبء ا,, descriptor ؿ ٤ ش أ كش زجخ عب ضح ثزغ ػ ٤ خ سثو أ host device غ slave device ػ ٠ ا.USB bus 65Page

mikroc Pro Descriptor Tool USB HID Terminal ال ؾبء ا هبئ خ Tools خزبس Descriptor رظ ش زح ا بكزح: 66Page

ب ش ا ا ٣ ؾذد Descriptor ثؼل خقبئ ا device ض : Report length أ ا : buffer size ٣ ؼجش ػ ؽغ ا شعب خ. ا ٣ vendor ID & product ID ث ظب ا.hex ا : product name اع device ع ٤ ظ ش ك ٠ ا. device manger ا :bus powered خبف ٤ خ رؾذد ارا ب اdevice ع ٤ بخز power ا غ بص ػ هش ٣ ن لز ا usb أ ال. ارا ب ذ خبف ٤ خ ا bus powered=true زا ٣ ؼ ٠ ا ا ذائشح ال رؾزبط ا ٠ قذس power خبسع ٠ ك ٠ زح ا ؾب خ ٣ ز رؾذ ٣ ذ ه ٤ خ ر ٤ بس ا زز ٣ خ. أ ب ب ذ false زا ٣ ؼ ٠ ا ا ذائشح رؾزبط ا ٠ قذس power خبسع ٠. ٣ ي ر ٤ ش ا product name ا vendor name رشى ا جبه ٠ ب ص نو ػ ٠ Save Descriptor ؾلع ا ق ك ٠ ا ب ا ٠ ا ؾبئ ب ك ٤ ؾش ػ ب,, االع االكزشام ٠ ق ٣ ي USBdsc.c اػبدح رغ ٤ ز. 67Page

رؤ ذ ا ر ػ include ق غ ا ؾش ع ػ هش ٣ ن رج ٣ ت ا Project Project ػ ٠ ا غب ت األ ٣ ؽبؽخ ا ٤ ش ع ٠ ا وش ك م ا زج ٣ ت,, Manager Manager أ هبئ خ view أخزبسManager,, Project رؤ ذ أ ا ق ٣ ظ ش أعل Sources folder ارا ٣ ظ ش ا وش ثب ضس األ ٣ ب ط ػ ٠ غ ذ Sources ا وش ػ ٠ Add File to Project ص اخزبس ا ق Descriptor ا خبؿ ثي. 68Page

mikroc Language USB Bus Library Functions ٣ عذ زجخ ك ٠ ا ٤ ش ع ٠ خبفخ ا,, USB ؼشك أ األ ا ش ا غزخذ خ ثبه ٠ األ ا ش ٣ شاعؼخ ا زجخ ا ٤ ش ع ٠. Library Routines HID_Enable HID_Read HID_Write HID_Disable USB_Interrupt_Proc HID_Enable Description Parameters Enables USB HID communication. :ReadBuffer ا قل كخ ؽ ٤ ش رش ٣ ذ ؽلع ث ٤ ب بد USB ا ز ٠ رؤر ٠ 69Page

ا ج ٤ رش. WriteBuffer :ؽ ٤ ش رش ٣ ذ أ رخض ا ج ٤ ب بد ا ز ٠ ع ف رشع ب ا ٠ ا ج ٤ رش. Example Notes HID_Enable(&readbuff,&writebuff); ٣ غت اعزذػبء ز ا ذا خ هج اعزخذا ا ذ ا األخش ا زجخ.USB HID HID_Read Description Read Buffer اعزوجب ا شعب خ ا host رخض ٣ ب ك ٠ ا قل كخ Returns If the data reading has failed, the function returns 0. Otherwise, it returns number of characters received from the host. Example HID_Write Description // retry until success while(!hid_read()); Function sends data from Write Buffer (writebuff) to host. Parameters writebuff: Write Buffer, same parameter as used in initialization; see HID_Enable. len: specifies a length of the data to be transmitted. 71Page

Returns Example HID_Disable Prototype Description Example If the data transmitting has failed, the function returns 0. Otherwise, it returns number of transmitted bytes. // retry until success while(!hid_write(&writebuff,64)); void HID_Disable(void); Disables USB HID communication. HID_Disable(); USB_Interrupt_Proc Description This routine is used for servicing various USB bus events. Should be called inside USB interrupt routine. Example void interrupt() { USB_Interrupt_Proc(); } Pin-out of USB connectors 71Page

RC4 ث _D ب ثب ؾ : و ثز ف ٤ RC5 ث +D 72Page

اىن د: جذأ ثزؼش ٣ ق ز ٤ شاد ا ع unsigned char ا ز ٠ عز ث ضبثخ خبص ئهزخ buffers وشاءح ا زبثخ. ز ا ز ٤ شاد كوب ذارب ؽ ٤ ذ ٣ غت أ ر ك ٠ ا زا شح 400h رجذأ 1 Kbyte USB RAM ؽ ٤ ش أ ا ٤ ش زش ش ث,USB RAM ا ٠ 7FFh ك ٠ ا زش ش ا ٠ غزخذ. ا ؼ ا 400h ا ٠ ا ؼ ا 4FFh أع ا,, descriptor ذ ٣ ب كؼ ٤ ب ا ؼ ا 500h ا ٠ ا ؼ ا 7FFh زخض ٣ ا ج ٤ ب بد. ز ي ع ف ٣ ز اػال ا ز ٤ شا ب :٠ ٣ 73Page

Absolute ب ػجبسح ػ ٣ ؾذد Directive ػ ا ا جذا ٣ خ ك ٠ را شح RAM ز ٤ ش أ ػ ا ا جذا ٣ خ ك ٠ را شح ROM ضبثذ. ا ؼ ا 0x500 جذا ٣ خ ا خض ا ئهذ وشاءح. write جذا ٣ خ ا خض ا ئهذ زبثخbuffer 0x540 read ا ؼ ا buffer يض ظت : ا ا غزخذ خ data buffer رخز ق ؽغت زش ش: RAM area اىتطب ك األ ه : هشاءح ا ذارب ا ٠ عب ٣ خ ا HID Device ا ف ثب USB اسعؼ ب شح أخش. 74Page

اىن د: اىذائزة : األ ف ا ذا ٣ شح ػ ٠ ثش رظ زؼب غ ا USB ػ ٠ ثش رظ الثذ ر ض ٣ ثش ب ظ virtual USB driver ا ع د م ثش ب ظ ثش رظ,, غزخذ خ ػؾب ا غ بص ا دا ٣ شح ا جش رظ زق خ ث كؼ ٤ ب. 75Page

ثؼذ ا ز بء ا زغط ٤ ت رظ ش ػال خ فؼ ػ ٠ االخز ٤ بساد ا ٠ ك ٠ ا ق سح ك ٠ عب خ زظ ش زخجش ٠ ا ا زغط ٤ ت ر ث غبػ. 76Page

اىذا زة ػي بز تس: devices ػ ذ ػ run ذائشح الؽع ا ك ٠ ا control panel device عذ ٣ ذ ارؼشف ك ٠ هبئ خ ا ك ٠ 77Page

ؼ ٤ خ ا وشاءح ا زبثخ ا وش ب ب HID terminal ك ٠ ا ٤ ش ع ٠ زت ا ذارب ا ٠ ززجؼذ 78Page

79Page

ك ٢ Level 1 ب ث غزخذ UART ك ٠ سثو اع ض ا ٤ ش زش ش ثجؼل ا ٤ ش زش ش ثؤع ض ا ج ٤ رش, ثظ ا UART ب ذ ؾ ز ا ثطئ غج ٤ ب ب ؼ ث ٤ غ ؼ ٤ ب ا ٢ ا ف ا زش ار ٤ ٤ ش زش ش ثجؼل اال ص دد بسد ٣ ش خبسع ٢ د هجؼب ب ث ٤ ل ٢ ك ط ص ٣ بد. ػؾب ا ؾب د ١ ه غ زا protocol SPI-1 I²C-2 رب ٢ ز ب ػ ٠ ار ٤ Serial Peripheral Interface (SPI) ى ستخذ اه SPI ا ال :اSPI ا ضش عشػ ك ٠ و ا ج ٤ ب بد اUART صب ٤ ب :اSPI هبدس ػ ٠ سثو ا ضش ٤ ش زش ش ؼب 81Page

ط ب اه spi شغاه اسا : ػ ؾب ل ا spi ؽب اصا خ ب ؾ ف ا UART ؽب اصا ػجبسح ػ shift register ث ٤ زؾو ك ٤ ا ذارب ا ٠ اؽ ب ػب ص ٣ جؼز ب ثؼذ ذ ا baud rate ا ٠ ث ؾذد ب ك ٠ ا CLK د ث ٤ ؾلذ ا ذارب ث بء ػ ٠ ا shift register د ك ٠ ا زشا غ ٤ زش ك ٠ لظ ا هذ ا pin ثزبػذ ا RX ز ف خ ة shift register ا ذارب ا ٠ ه ؼذ ا TX ثزذخ ػ ٠ ا RX ا ٠ ث ٤ ؾلذ ا ذارب ا ٠ دخال ب ث لظ ا baud rate ث ذ ا ذارب ثزز و ا TX ا ٠ ا RX transmitter ط ب ا اىي خي اه UART ش سز غ ا ؼي اه baud rate! ا ؾ خ ا ب ث ؼز ذ ا ا ٤ زظ receiver لظ ا زشدد ا ٠ ث ٤ ؾلذ ث ٤ ا ا ذارب ثظ د ث ٤ ك ٤ error ا error د ث ٤ ض ٣ ذ ا ب ص د ب ا زشدد. 81Page

ا ؾ خ د ؾ ب خ ٤ ب ا TX ا RX ث ٤ ؾلز ا ا ذارب ث لظ ا زشدد د ا ٠ ػ ا spi ا ب ثوب ك ٤ ا output) SDO(serial data ا SDI(serial data CLK(clock) input ) ص ب اؽ ب ؽب ٣ ل ٤ ك ٠ ا ضب د ثؼذ 8 clk ا ذارب ا ٠ ك ٠ ا shift register ثزبع ا TX ثوذ ع دح ك ٠ ا shift register ثزبع ا RX ا ؼ ظ ؼ ٠ ذ ا ب وذس جؼذ غزوج ك ٠ لظ ا هذ. 82Page

ا! ه ٤ ت ا CLK د ٣ برش ٤ ا ٠ ث ٤ زغ ب ا TX ال ا RX ال االر ٤ ا غئ ػ ا زبط ا CLK ث ٤ غ ا master د ال ا ٠ ث ٤ زظ ا CLK ب ك ٤ ا زش ٤ ش زش شص رب ٤ )slaves( ز ف ٤ ثب master ا ٠ ث ٤ ؾذد ٤ جؼذ ا ٤ غزوج دارب ٤ ك ٤ ػ هش ٣ ن ا (ss) slave select pin ا ع دح ك ٠ ا spi ا devices ز ز ف خ ثب master ػ هش ٣ ن SDI, SDO,CLK ب control pin ٤ ٤ device )ا pin ػبد ٣ خ( ا master ثزز ف ة ا slave select pin (ss) ا ع دح ا slave ا ٤ ش ا ب ٣ ؼ ص ٣ غزوج ا ٣ جؼذ دارب slave ك ٤ ث ٤ خ ٠ ا 83Page

ss = low ذ ا ٤ ش ث ٤ زق غ ا slave د ٣ جؼذ ا ٣ غزوج ػبد هجؼب ٤ لؼؼ ٣ زق غ ا slaves ب ك ٠ لظ ا هذ. ثالػ ال ز ٤ ش خ ب ؼ ا ثش ب ظ ػ ؾب ؾ ف ا ال ا ٠ ك م د ؽب اصا ثظ ك ٠ اال الص ؼشف اع بء ا registers ا ٠ ثززؾ ك ٠ ػ ا. spi spi اه ى اربغ ر ز ستزاث : 1 -ا (SSPBUF) : Serial Receive/Transmit Buffer Register دا ا ش ٣ غ ٤ غزش ا ٠ ث زت ك ٤ ا ذارب ا ٠ ػب ص اثؼز ب ا اهشا ا ذارب ا ٠ اعز ز ب : MSSP Shift Register (SSPSR)-2 د ا shift register ا ٠ ث ٤ ؾلذ ا ذارب ثؼذ ب ث زت ا ذارب ك ٠ ا SSPBUF register ا ذارب ثزش ػ SSPSR register ػ ؾب ٣ جذا ٣ ؾلذ ا ذارب ب ا ذارب ا ٠ ثؼذ ب ثغزوج ب ػ هش ٣ ن ا (SSPSR) Shift Register ث ٤ و ب SSPBUF register 84Page

-3 ا (SSPCON) : MSSP Control Register دا ا ش ٣ غ ٤ غزش ا غئ ػ ا زؾ ك ٠ اػذاداد ا SPP Module ث ؼ serial port enable ػ ؾب وذدس غزخذ ا SPP Module ب ث ؾذد ع ا master ٤ device ال master slave رشدد ا CLK ب ب ؽب خ ا pin ثزبػذ ا CLK ا ب ججؼزؼ ؽبع state( )ideal. low ال high ٤ 85Page

4 -ا (SSPSTAT) : MSSP Status Register 86Page

slave خاه : دا رطج ٤ ن عش ٣ غ ثجؼذ ا بعزش ث ٤ جؼذ slave االسهب 0 ا ٠ 9 ا ث ٤ جؼز ا ؾش ف A to Z اؽذ ث ٤ جؼذ ا ٠ اعزوج ػ ٠ UART Master code //...master code... void main() { volatile char c='0',rx ; TRISC.F5=0; //config SDO as output TRISC.F4=1; //config SDi as input TRISC.F3=0; //config CLK as output SSPSTAT=0; //Input data sampled at end of data 87Page

output time && Data is transmitted on falling edge of clock pulse SSPCON=0B00100000; //master mode fosc/4,idel state for clk low,enable serial port UART1_Init(9600); Delay_ms(100); // Wait for UART module to stabilize UART1_Write_Text("...master..."); UART1_Write(10); UART1_Write(13); SSPBUF=c; // send 0 to the slave while(1) { while(bf_bit==0); //wait Receive complete RX= SSPBUF; //receive data UART1_Write(RX); if(c<'9') c++; else c='0' if(rx=='z') { UART1_Write(10); //new line UART1_Write(13); } delay_ms(1000); SSPBUF=c; 88Page

} //end supper loop } // end main Slave code //... slave... void main() { volatile char c=65,rx; //assci value for char A TRISC.F5=0; //config SDO as output TRISC.F4=1; //config SDi as input TRISC.F3=1; //config CLK as input SSPSTAT=0; SSPCON=0B00100101; //SLAVE MODE,SS CONTROL dis,idel state for clk low,enable serial port UART1_Init(9600); Delay_ms(100); // Wait for UART module to 89Page

stabilize UART1_Write_Text("...slave..."); UART1_Write(10); UART1_Write(13); SSPBUF=c; // send A to the slave while(1) { while(bf_bit==0); //wait Receive complete RX= SSPBUF; //receive data UART1_Write(RX); if(c<90) c++; //assci value for char Z else c=65; if (RX == '9') { UART1_Write(10); //new line UART1_Write(13); } SSPBUF=c; } //end supper loop } //end main 91Page

د ز ٤ غخ ا غ ٤ ٤ ٤ ؾ ب اعزخذ ب االع ٤ غ ة ػ ؾب ؾ ف ؽ ا ذارب ثززجؼذ اصا. 91Page

د ب رطج ٤ ن عش ٣ غ ثظ ػ ؾب زخ ٤ ا ذ ٤ ب ؽ ب اصا ثظ ثؼذ ذ غزخذ زجخ ٤ ش ع ٠ ػ ؾب ا د ٣ ظ ؽ ٣ خ اع ك ٠ ا ل. د ا ذ ا االعبع ٤ خ ا ٠ ؾزغ ب : 92Page

روش ٣ جب ذ ا ذ ا ا ٠ ك م جو ٠ ػبسك ٤ ل ا فق ثزؼ ب غزخذ ب اصا خ ب ثظ لز ش ؽبع اؽ ب ب ك ٠ اال ث ؼ SPI initialization ثؼذ ذ ا ذارب ا ٠ ب ث ؼ ص جؼز ب ب ث ؾط ب ك ٠ ا SSPBUF register ث غشد ب ا ذارب د 93Page

ر ف ا slave ث اعز ذ ا ذارب ا ٠ ب ذ ع دح ك ٠ ا SSPBUF register ثزبع ا. slave ؼ ٠ ذ ا ٠ ػ ؾب اخذ ا ذارب ا ٠ ك ٠ shift register ثزبع ا slave الص ا بعزش ٣ جؼذ slave byte ه ٤ ت ب ا بعزش ل ٤ ؼ دارب ػب ص ٣ جؼز ب slave ك ٠ ا ؾب خ د ا بعزش ث ٤ جؼذ byte ث ٤ غ dummy byte ال ا byte د ج ٤ ض ؼ ؼ خ slave ه ٤ ت ا dummy byte ه ٤ ز ا ٣ ا و ٤ خ ا ٠ رخزبس ب ؼ زلشم. ا! اصا ا ٠ ا ذ ثزو خ د هت اكشك ضال ا ٠ ثؼذ سه ٣ ؼشف slave 125 ثوب ٤ ارا ب د دارب ػب ص ٣ غزوج ب ػ ؾب ٣ لزا ؽبع ث بء ػ ٤ ب ال dummy byte ك ٠ ا اهغ د اؽذ ا disadvantage ثزبػذ ا spi ثظ ػ ب ا ذ ا ٠ ثزج ٠ ا slave اخزبس سه ز ؼ غزخذ ك ٠ ا system د ا ذا خ االخ ٤ شح 94Page

خي ا ؼ و ابي ن ش سز غ غ بؼط ظش اىفنزة : لزشك ا ٠ ػ ذ 2 push button ز ف ٤ ػ ٠ ا بعزش اؽذ ك ٤ ث ٤ زؾ ك ٠ ٤ ذ ع دح ػ ٠ slave ا جش ب ظ :د ا جش ب ظ ثزبع slave 1 ثشم لظ ا جش ب ظ ثزبع slave 2 Slave.c void main() { unsigned short rrx=0; TRISD=0; PORTD=0; SPI1_Init_Advanced(_SPI_SLAVE_SS_ENABLE, _SPI_DATA_SAMPLE_MIDDLE, _SPI_CLK_IDLE_LOW, _SPI_LOW_2_HIGH); while(1) { rrx=spi1_read(0); if(rrx=='a') { portd.f0=1; 95Page

} else if(rrx=='b') { portd.f0=0; } rrx=0; } } ك ٠ ا جذا ٣ خ ػشكذ ز ٤ ش ػ ؾب اعزوج ك ٤ ا ذارب ا SPI ثؼذ ذ ػشكذ ا port ا ٠ ف ث ٤ ا ٤ ذ ػ ٠ ا output ثؼذ ٣ ػ ذ spi initialization ػشكز ا slave ػ ذ ss enable ؽذد ؽب خ ا. clk 96Page

ثؼذ ذ ثذاد اعزوج ا ذارب ثب ذا خ SPI1_Read(0) ا 0 د ا dummy byte ص ب ارلو ب ا سه, ثؼذ ذ ث بء ػ ٠ ا ٠ اعزوج ز ث س ا اهل ٠ ا ٤ ذ. م د اى استز : Master.c #define button1 PORTB.F0 #define button2 PORTB.F1 #define SS1 PORTB.F2 #define SS2 PORTB.F3 void main() { unsigned short f0=0,f1=0; //store button state TRISB=3; //CONFIG RB0,RB1 AS INPUTS SS1=1; //DISABLE SLAVE 1 & 2 SS2=1; NOT_RBPU_bit=0; //ENABLE PULL-UP RESISTORS SPI1_Init(); //// Initialize the SPI1 module with default settings delay_ms(100); 97Page

while(1) { if(button1==0) { if(f0==0) { f0=1; SS1=0; //ENABLE SLAVE 1 SPI1_Write('a'); // on led SS1=1; } } else if (f0==1) { f0=0; SS1=0; //ENABLE SLAVE 1 SPI1_Write('b'); // of led 98Page

SS1=1; } if(button2==0) { if(f1==0) { f1=1; SS2=0; //ENABLE SLAVE 2 SPI1_Write('a'); // on led SS2=1; } } else if (f1==1) { f1=0; SS2=0; //ENABLE SLAVE 2 SPI1_Write('b'); // of led SS2=1; 99Page

} } } 111Page

ك ٠ ا جذا ٣ خ ػشكذ ز ٤ ش ٣ ػ ؾب اخض ك ٤ ؽب خ button1,button2 ن ه ػ ٤ ال ال ػشكذ ث ز ٤ ػ ٠ ا input ػ ؾب ا push button ار ٤ output ػ ؾب ا ss1,ss2 ثؼذ ذ ػ ذ spi initialization ػ ٠ ا بعزش ثذاد اهشا ؽب خ ا buttons ا ضساس اال ثوب low ثخ ٠ ا ss1=0 ث ذ ا ذارب ا ٠ جؼز ب ثب spi زش ػ slave اال ثؼذ ذ ثجؼذ ا ذارب ا ٠ ا ب ػب ص ضال ب ثؼذ a د ػ ؾب اه slave ا ا ضساس ؽذد داط ػ ٤ ؽشف b ػ ؾب اه slave ا ؾذػ دا ٣ ظ ػ ٠ ا ضساس ثجؼذ بثجؼذ ا ذارب ثخ ٠ ا ss=1 رب ٠. زا ثب غجخ button ا زبر ٠. 111Page

112Page

تؼز ف اىبز ت م ه : I²C اخزقبس ؼجبسح ( Communications ) Inter Integrated Circuit أ ب ٣ ؼشف ثبع ثش ر اإلرقبالد ا ذاخ ٤ خ ث ٤ ا ذ ائش ا ز ب خ )IC( ر رط ٣ ش ا جش ر ث اعطخ ؽش خ ك ٤ ٤ جظ إل زش ٤ بد,, ٣ غزخذ زا ا جش ر شثو ث ٤ ا ٤ ش زش ش ا ؼ بفش اال زش ٤ خ ا خز لخ ب ا ؾب ك ٠ ا UART ا USB زا ا جش ر ٤ ضار ٤ اعزخذ بر. أ ت ذا اىبز ت م ه استخذا ات : رز ض س ػخ ز ا زو ٤ خ ك ٢ ا ب ٤ خ ر ف ٤ ػذد ج ٤ ش ا بد اإل زش ٤ خ ) ظش ٣ ب ٣ ز ا 7bits I²C ا ١ ٣ ػ خ 128 ع بص ال ٣ ب اال ر ف ٤ 112 ع بص كوو ر ي ال ثبه ٢ ا ؼ ا ٣ ) Reserved ثجؼن ب ا جؼل ثبعزخذا ع ٤ وب ز ٤ كوو - ك ضال ٣ ي ر ف ٤ ؽغبط ؽشاسح ؽغبط م ئ ٢... ر ي ػجش ع ٤ كوو. ثب زب ٠ ٣ غزخذ ك ٠ ا زطج ٤ وبد ا ز ٠ رؾزبط ا ٠ ض ٤ ش ا بد اال زش ٤ خ ال ٣ كش ػذد األهشاف ا الص خ ز ف ٤ ثز ي ٣ ز ر كشػذد بكز ا زؾ ا غزخذ خ ك ٢ لظ ا هذ ٣ غ ؼ ب ثبعزخذا ػؾشاد ا بد ك ٢ لظ ا هذ. 113Page

ز ي ٣ ي ر ف ٤ ا ٤ ش زش ش ا خبؿ ثي ث زؾ بد أ أ ١ زؾ ٣ ذػ رو ٤ خ ٣ ؼشف I²C ر ي ثب.Nodes آسد ٣ ؽبد ض أخش بذأ ػ و اىبز ت م ه : زؾ ٤ ا جش ر ؾزبط ا ٠ ؽ ٤ ئ ٤ : األ ا :Master ا ز ١ ٣ و ثب زؾ ثؼ ٤ خ ا و ثؾ ػب ا غئ ػ ر ٤ ذ ا CLK ا الص خ ؼ ٤ خ و ا ذارب خال ا ؾشػ ع ٤ ا زؾ ا ز ١ ٣ و ث ز ا ظ ٤ لخ ع غزخذ ك ٢ ا ؾشػ PIC16F877A ا ز ١ ٣ ؾز ١ ػ ٠ بسد ٣ ش داخ ٢. I2C ا ضب ٢ ا :Slave ع ٤ ا زش ٢ ٣ ؼ خبد ٣ و ث ب ٣ ط ت خال ا بعزش. ٣ شع ا 7 Master أعضاء ا ج ٤ ب بد Bits ب زب ٢ : slaves ٣ ز اسعب ): رلؼ ٤ ا جش ر زا ٣ غؼ ع ٤ غ ا bit (أ START 1_ ر زج أ بى ا ش ب ع ٤ قذس ا ٠ اؽذا ب ك ٢ ا ؾظبد ا زب ٤ خ. 2_ Address 7): bits) Slave ػ ا ا خبد ا ز ١ ٣ ش ٣ ذ ا ٤ ش زش شا زؾذس ؼ. 3_ Read/Write )ا جذ ا زبعغ ): ا ب فلش ا ز ٢ رؼ ٢ أ ا ٤ ش زش ش ع ٤ ط ت ث ٤ ب بد ا غ بص( ض ا روشأ دسعخ ؽشاسح ( ا ب اؽذ ا ز ٢ رؼ ٢ ا ا ٤ ش زش ش ع ٤ شع ث ٤ ب بد ض ( أ ش رؾ ٤ ؾشى أ اهلبء ؾشى.). ACK_4 ) ا جذ ا ؼبؽش(: ٣ شد ا خبد ثبؽبسح ACK ا ز ٢ رؼ ٢ ثب ػ ٤ خ االعزوجب هذ ر ذ ث غبػ. 5_(1) Data :٠ ػجبسح ػ byte رؾز ػ ٠ األ ش ا شاد ر ل ٤ ز أ ا و ٤ خ ا شاد هشائز ب. 114Page

ACK_6 : ٣ شد ا خب ث ACK زا ٣ ؼ ٢ ا ز بء األ ش. 7_(2) Data : ٠ ػجبسح ػ byte رؾز ػ ٠ ر ل ٤ ز أ ش صب ٢. ACK_8 : اال ز بء اسعب األ ش ا ضب ٢. ( STOP ) ػ ٤ خ اسعب ا ذارب ثبسعب اؽبسح ب ٣ خ االسعب -ر ز ٢ : STOP_9 هج ا بعزش. : تذػi2C اىت اى ن اث أ اع Digital-to-analogue converters (DACs) Analogue-to-digital converters (ADCs) LCD displays OLED Screens Keyboards Motor drivers LED drivers Memory chips and cards (EEPROM, RAM, FERAM, Flash) Bus expanders/extenders (chips with 8 or 16 I/O pins controllable via I2C) Other microcontrollers (Arduino based, genral AVR families, PIC). ت ص الث اى نز م تز ىز : 115Page

٣ ي ر ف ٤ ا ٤ ش زش ش ا خبؿ ثي ث زؾ بد أخش أ ا ١ ع صب ٣ ذػ رو ٤ خ I²C رغ ٠ ز األعبصح ثب Nodes رزق ك ٤ ب ث ٤ ب ػجش لز ١ رؾ األ ٣ غ ٠.)SCL( Serial clock line ا ضب ٢ )SDA( Serial data line : SDA ا طشف ا ز ١ ٣ ز و ا ج ٤ ب بد ػ ٤. : SCL ا طشف ا ز ١ ٣ ز اسعب جنبد ا ز ه ٤ ذ )Clock( ػ ٤, ٣ ز اسعب ز ا جنبد ا غ بص ا بعزش )Master(. ب ع غذ عئا ب : ارا ر ر ف ٤ ػؾشاد ا بد اإل زش ٤ خ ػ ٠ لظ ا غ ٤ ٤ ق عزز اف ك ٤ ب ث ٤ ب ٤ ق ع غؼ ا ٤ ش زش ش ا خبؿ ث ب ٣ ز اف غ ؼ ٤ عو ػؾشاد ا بد ا زق خ ػ ٠ لظ ا خط ه ا ؾ ثغ ٤ و بص ؾج بد ا ؾبعت ا ٢ ٥ ؽ ٤ ش ٣ عذ ػ ا ؼ ٤ ا زش ٢ ٣ غaddress(٠ )I²C ك ضال ا زا شح ا خبسع ٤ خ ا زغ غ ٤ خ EEPROM ب سه ٤ ض ٣ خز ق ػDS1307. 116Page

٣ غت شاعؼخ ا ذاربؽ ٤ ذ ؼ قش ؼشكخ زا ا شه ؽز ٠ ز و ا ذارب اال كب ػ ٤ خ ا شثو عز ثذ عذ. ع ؤخز ضبال اال ػ ٠ ر ف ٤ PIC16F877a ة.External EEPROM أ ت اى قا ت اى تصيت ػي خط اه SDA اه : SCL ال لز ١ االرقب ٣ SCL SDA ا خشط ػجبس ػ open drain/collector ر ي غ بػ ثبمبكخ أ اصا خ اع ضح بكز االرقب د ؾب ك ٢ ا وبث ٣ غت امبكخ بر ٤ ا وب ٤ ز ) resistors (Pull up. 117Page

متابت اىبز ا ذ : ك ٢ زا ا جش ب ظ ٣ و ا ٤ ش زش ش ثبسعب ٤ ز 5 رخض ٣ ب ك ٢ ا EEPROM ك ٢ ا ؼ ا سه 0x01 ص و ثؼذ ر ي ثوشائخ ر ي ا ؼ ا ػشك ا و ٤ ػ ٠ PortB زؤ ذ ا ر ؽلع ا و ٤ ا قؾ ٤ ؾ ك ٢ ا ؼ ا ا شاد. ز م ٤ ؼ ػ ٤ خ زبثخ رغ غ ػ ٤ خ ا زبثخ: ا ٠ ا eeprom ك ظش ا ٠ ا ق سح ا زب ٤ خ ا ز ٢ ر مؼ byte اىن د : اى ضناة: 118Page

٣ سإ ٣ خ ا و ٤ خ ا ز ٢ ر اسعب ب ا ٠ ا EEPROM خال رؾ ٤ ق ا جش رظ ص ا ٣ وبف ا جش ر ط ئهزب ثب نو ػ ٠ ( ) ػ ذ ب رظ ش بكزح I2C internal memory ب ك ٢ ا ؾ ا زب ٢ : ك ٢ ا جذا ٣ خ و ثؼ ٤ خ ٤ ؼ I2C PORTB initialization ػ ٠ عشػخ,100KB ص ثؼذ ر ي و ثبسعب ا ج ٤ ب بد ثب زشر ٤ ت ب عجن ك ٢ ا ؾشػ ك ٢ ا غضء ا خبؿ ثؾشػ جذأ ػ ا جش ر. ؽ ٤ ش رو I2C1_Start() ثزلؼ ٤ ا جش ر اسعب ا Start byte ص ثؼذ ر ي و ثبسعب ا slave address ا R/W ص ثؼذ ر ي و ثبسعب DATA(1) ؽ ٤ ش شع ك ٤ ب ا ؼ ا ا شاد رخض ٣ ا و ٤ ك ٤ ص ثؼذ ر ي ك ٢ (2) DATA و ثبسعب ا ج ٤ ب بد لغ ب ا شاد رخض ٣ ب, ك ٢ ا ب ٣ خ ر I2C1_Stop() ا ز ٢ رو ثوطغ االرقب اسعب ا,, Stop bit ثب ض ك ٢ ا خط اد ر ػ ٤ خ ا وشاء. 119Page

111Page

أ ت : ا م ع د عذا ٠ ؽبثت ٣ غزخذ ك ٠ ؾش ػ video, audio,... graphics, data logging ال هز ب ا ٤ ش زش ش ثزبػ ٠ ؼ ٤ وذس ٣ ذ ٠ ٣ ا غبؽخ ا بك ٤ خ ال limited built-in storage ال ؽز ٠ ا EEPROM storage ز ل ٠ هز ب مش س عذا رغزخذ removable storage option دا م ػ ب. ا SD card ػجبسح ػ flash memory storage ق زطج ٤ وبد ا ز ٠ رؾزبط ا ٠ غبؽخ رخض ٣ ػب ٤ خ ا ض ٤ ش ا ج ٤ ب بد ا لبد ث ٤ ذ ٠ ٣ ا ب ٤ خ رغغ ٤ ب ؽزك ب ب ا ٠ ر ي ا ؼ ٤ بد... ٣ ز ٤ ض ثؤ non-volatile, High-capacity أ. rewritable storage in a small size ٣ غزخذ ؽب ٤ ب ك ٠ ز ٤ ش األع ضح ص ا ب ٤ شاد ا ذ ٣ غ ٤ زب ا ث ٤ الد ا mp3 player ا ج ٤ رش ؿ ٤ ش... ٣ عذ أؽغب خز لخ ثغؼخ ز ٤ شح ك ٠ 1 ع ٤ غب ك ٠ 2 ك ٠... 4 ٣ عذ ك ٠ 3 أؽغب.standard, mini, and micro د عذ ث ٤ مؼ ا افلبد ا خبفخ ثب micro SD ا standard SD 111Page

د افلبد زلن ػ ٤ ب ث ٤ ا ؾش بد ا ق ؼ, ٣ رؾ ٣ ال ا MiniSD and microsd cards ا ٠ standard SD cards ػ هش ٣ ن ا ٠ امغ ا بسد ع اء ا ٠ ٤ أ ا ٤ ش ك ٠ standard card slots ثاله ٤ ك ٠ ؾالد ا ث ٤ ث ذ ٣ زؾ standard SD card ث لظ ا افلبد ٣ ؼ ٠ أهذس أػ write standard زا... ك ٠ ا لق د أ ك ٠ ؾبس ٣ ؼ ب غزخذ ا 9 pins protect card slot ػؾب ذ رغزخذ ا بسد ا ٠ ك ٠ ث ٤ ي رؾزش ٣ SD cards أ ؾ ث ٤ ة 2 أ 3 ع ٤. Structure of the SD Memory Card ا ٤ س بسد ػجبسح ػ sectors ؽذاد ا data ثوذس أػ ب access ػؾب أهشا ب أ أ زت ك ٤ ب أ أػ ب format زا... ب ب غبؽخ ا sector ا اؽذ ف ٤ شح ب ب أكن أل ضال عؼخ ا sector ا اؽذ 10kbyte هز ب خض ذ ق ٤ زخض 1kbyte ك ٠.10kbyte غ ػخ ا sectors غ ثؼل ثز ٠ ا Data Area ا خبفخ ثب بسد ثزبػ ٠ ا ٠ خ أسثغ أعضاء سئ ٤ غ ٤ خ : 1- Boot Sector. 2- Root Directory. 3- File Allocation Table 4- User data space. 112Page

System Area ك ٠ ا sector خض ك ٠ أ :Partition Boot Sector _1 ال ؼ م ػ ب زل ٠ ا ب ؼشف ا ث ٤ ؾز ػ ٠ ؼ بد رخ ا بسد ص ػذد ا sectors ػذد ا FAT ا ٠ ز ػ الؽوب ب ا ٠ ر ي... boot ثؼذ ا sector د زخض ك ٠ رب ٠ : File Allocation Table (FAT) _2 data ك ٠ ا directories ث ٤ ك ٤ ؼ بد ػ ب رخض ٣ ا لبد ا sector.space 99 % ا زطج ٤ وبد ثزؾزبط file system ا ع FAT16 or 32 ال ج ٤ خذ ػ غبخخ ج ٤ شح ا ٤ س directories_3 :File زخض ثؼذ ا FAT ث ٤ ك ٤ ؼ بد ػ ا ق ث ؼ ٠ أخش ا خ اؿ ثزبػز ص اع, ؽغ ب ا ٠ ر ي... space_4 user data : د ا غبؽخ ا ٠ ث ٤ غزخذ ب ا user ك ٠ ا زخض ٣ ٣ وذس ٣ زت ك ٤ ب أ ٣ وشأ ب زا... : Standard SD card pin layout هج ب ز ػ ا, pin layout الص ؼشف األ ا ا SD card ث ف ثب ٤ ش ػ هش ٣ ن اؽذ 2 ثش ر ا ب ا SDIO protocol SD card )mode) أ ا SPI protocol ا SDIO mode أعشع ؼوذ ك ٠ اعزخذا أؽ ب ك ٠ ؾبس ٣ ؼ ب غزخذ ا SPI أثطؤ ؽ ٣ خ ع اعزخذا ا زؼب ؼب. ك 9 أسع سع خبفخ ثب write protect رزؾ ك ٠ ػ interface protocol ع ا بسد رخز ق ظ ٤ لز ب ؽغت ا enable/disable زبثخ ا غزخذ. 113Page

ص ب امؼ ك ٠ ا غذ ظ ٤ لخ سع رخز ق ؽغت ا interface protocol ا غزخذ : Operation of the SD Card in SPI Mode ب ثؾ ا SD Card ا SPI Mode ثؾزبط 7 أسع كوو _ Two power supply ground (pins 3 and 6) _ Power supply (pin 4) 3.3v _ Chip select (pin 1)- connect to micro pin _ Data out (pin 7)- connect to SPI pin _ Data in (pin 2)- connect to data out from microcontroller _ CLK (pin 5) 114Page

ا بسد ث ٤ ؾز ػ ٠ power supply ه ٤ ز, 3.3 v ب ث ف ثب ٤ ش ث ٤ خشط o/p ٤ ش logic 1 input circuit وذاس ٤ ش 2.5 د بك ٠ ا ا voltage ا خبسط ا ٤ ش ث ٤ 4.3 ك ذ د ج ٤ ش ع ا بسد ال ا maximum voltage ا ذاخ بسد الص ٤ زؼذاػ ا,, 3.6 v ػؾب ذ غزخذ ا وب بد د ػؾب رؼ input voltage ٤ و ا 2.2 k & 3.3k ث غزخذ وب بد ث وذاس voltage divider ا ذاخ بسد ا ٠. 2.48 v Input voltage= The Card logic levels are: Maximum logic 0 output voltage, VOL = 0.4125 V Maximum required logic 0 input voltage, VIL = 0.825 V Minimum required logic 1 input voltage, VIH = 2.0625 V Maximum logic 1 input voltage = 3.6 V ا SD cards ثزغز ي ر ٤ بسؽ ا ٠ 200 100 ma أص بء ػ ٤ خ ا وشاءح ا زبثخ,, ا ز ٤ بس د ػب ٠ ا ؾق ػ ٤, voltage regulator رغز ي ؽ ا ٠ 150 pa ك ٠ ؽب خ ا sleep mode زا ٣ ؾذس ارا ٣ غز ا بسد أ أ ا ش خال 5 ص ا ٠. د دا ٣ شح ا power supply ا خبؿ ثب ذائشح: 115Page

يض ظت: ا cards ا ؾذ ٣ ضخ أفجؾذ edged triggered ث ؼ ٠ ا ب ؾزبعخ 'square' very transitions ثب زب ٠ ا resistor dividers ا ؤعالى ا ط ٣ خ ٤ ٤ رؤص ٤ ش ع ج ٠ ػ ٠ ا transition speed ػؾب ذ ٣ لن اعزخذا االعالى ا وق ٤ شح رغ ت اعزخذا ا resistor dividers ػؾب ا,, 3.3V logic ص ب ك ٠ ا ق سح دا رؤص ٤ ش اعزخذا وب خ 10k ػ ٠ ا خشط: HEF4050, 74LVX245 or microsd breakout board زا ا اعزجذ ب ث logic shifter ص. 74AHC125 chips ك ٠ د ٣ الد عب ضح ا ٠ ك ٠ ا ق سح عب ضح ز ف ٤ ػ ط : ص كؼ ٤ ب اعزخذ ذ وب بد ػبد ؼ ٤ ؾق ؽبعخ. 116Page

أ اع اهcards : memory وجد أنواع من ال memory cards المشهور منها : --> Smart media (SM) card --> Multimedia card (MMC) --> Compact flash (CF) card --> Memory stick (MS) card --> Microdrive -> xd card --> Secure digital (SD) card ا SD cards أ زش األ اع ا غزخذ خ ك ٠ األعبط ٣ ؼز ذ ػ ٠ ا MMC ب ث ٤ ؤد ا لظ ا ظ ٤ لخ ب ػذا أ ا SD ك ٤ option ا ٠ أؽلش ا ج ٤ ب بد ا ٠ ػ ٤ ا SD أسكغ ا MMC ال ٣ مؼ ك ٠ ا MMC slot ا غ ادساط ا.SD card slots ك ٠ ا MMC 117Page MikroC Language SD Card Library Functions غذ أ ػ ٤ خ ا وشاءح ا زبثخ أ ك ٠ ا ٤ س بسد فؼجخ ؼوذح ر عذ زجبد عب ضح ك ٠ ا ٤ ش ع ٠ كب Multi Media Card Library ا ٠ ثزؼ SPI communication ػ هش ٣ ن ا Multi Media Card accessing data ا زجخ د ثزذػ أ ٣ نب ا SDHC.SD and زح ا زجبد cards ا ٠ formatted with FAT16 or FAT كوو ٠ ا ش د ا ٠ عؼز ب ؾذ 2GB ؼ أ زش ذ أ ب ا ش د ا ٠ formatted with FAT32 ش د ا ٠ عؼز ب أػ ٠ 2 ع ٤ غب ثب ٣ ذ ا زجبد ا خبفخ ث رؾ زا ا هغ. http://www.libstock.com/projects/view/108/fat32-library

PIC18 family الصظاث ا ت : كوو. 1_ ا MMC FAT 16 Library ال رؼ اال ػ ٠ 2_ ا زجخ رغزخذ ا SPI module for communication زا ٣ غت ػ initialize SPI module هج اعزخذا ا زجخ. ر ي ػ هش ٣ ن SPIx_Init_Advanced routine with the following parameters: SPI Master Primary prescaler 64 Data sampled in the middle of data output time Clock idle low Serial output data changes on transition from low to high edge. 3_ ٣ عذ ثؼل ا ز ٤ شاد ا ز ٠ الثذ رؼش ٣ ل ب ػؾب ا بسد ٣ ل ا ٤ ؾز ثب SPI ؼ protocol ثب SD card protocol ال by default ث ٤ ػ ٠ ا.SD card bus The following variable must be defined in all projects using MMC library: extern sfr sbit Mmc_Chip_Select; extern sfr sbit Mmc_Chip_Select_Direction; Description : Chip select pin. Direction of the chip select pin. Example : sbit Mmc_Chip_Selec at RC0_bit; sbit Mmc_Chip_Selec _Direction attrisc0_ bit; 118Page

4_ ٣ عذ ثؼل ا routines ا خبفخ ثب file handling ض )هشاءح ق_ؽزف ق...( ع دح ك ٠ ا زجخ. ا routines د رغزخذ كوو خال ا FAT16. file system MikroC Language SD Card Library Functions ٣ عذ ا ؼذ ٣ ذ األ ا ش ك ٠ ا زجخ ب ع زطشم جؼل األ ا ش ز ػ ظ ٤ لخ ب ػ ٤ ي ثوشاءح ا زجخ ل األ ا ش ع ٤ ذا. 119Page

Mmc_Init Description خبفخ ثؼ initialization MMC ػ هش ٣ ن ا,,SPI interface الثذ ا ٠ أػ call Mmc_Init هج اعزخذا أ functions ك ٠ ا زجخ. ا function ب ه ٤ return ث 0 ا بسد successfully detected.initialized ه ٤ return ث 1 ؽذس ؿ ٤ ش ر ي. 1 _رؼش ٣ ق ا ز ٤ شاد ا خبفخ ثب Requires.Chip_Select Mmc_Chip_Select: Chip Select line Mmc_Chip_Select_Direction: Direction of _2 ػ Initialize.SPI module SPI1_Init, SPI1_Init_Advanced routines. Example Mmc_Init(); Mmc_Fat_Init Returns 0 - if MMC/SD card was detected and successfully initialized 1 - if FAT16 boot sector was not found 255 - if MMC/SD card was not detected ٣ ؼ ٠ 255 ا بسد ؼ ؾط ه أفال. Descriptio n ث ٤ ؼ Initialize ٣ وشأ MMC/SD card ا reads ٣ غزخشط MMC/SD FAT16 boot sector ا ذارب ا ٠ ا زجخ ؾزغب ب.. 121Page

ن أستخذ Mmc_Fat_Init بذال init routine ى Example ضتاد أػ و formatting تنتب ف اىن د ب ذا اىشنو. if (Mmc_Fat_Init()==0) { // if MMC/SD card was detected and initialized SPI1_Init_Advanced(_SPI_MASTER_OSC_DIV4, _SPI_DATA_SAMPLE_MIDDLE, _SPI_CLK_IDLE_LOW, _SPI_LOW_2_HIGH);} Mmc_Fat_Assign Prototype Unsigned short Mmc_Fat_Assign(char *filename, char file_cr e_attr); ظ ٤ لز ب ثزؼ Assign ق ا ٠ ؾزبط أهشا أ أ زج أ أؽزكخ Description... األ ش ث ٤ ؾزبط. Parameters 2 1- :filename اع ا ق ثب زذاد (file_name.extension) ض (file1.txt) ا ٠ ؾزبط أػ ػ ٤ ػ ٤ خ ؼ ٤ ع اء هشاءح زبثخ... file creation and attributes اخزقبس :file_cre_attr -2 ثنغ ك ٤ ب أؽذ ا bits ا زب ٤ خ ا ٠ ثز مؼ ا file attribute ٠ خ اؿ ا ق ع ص خل ٠ أ وشاءح كوو ث ؼ ٠ ا ؿ ٤ ش هبث زؼذ ٣... د ثؼل ا bits ا ٠ ثبعزخذ ب ث ضشح ؼ بد أ زش أهشأ ا زجخ ا خبفخ ثب.MMC 121Page

Example // create file with archive attribute if it does not already exist Mmc_Fat_Assign("MIKRO007.TXT",0xA0); أ unsigned char error; char file_name[] = "azex.txt"; error=mmc_fat_assign(&file_name,0xa0); Mmc_Fat_Rewrite Description ث ٤ لزؼ ا file ػؾب ٣ وشا ا ق ؼ كبم ٠ ٤ غؼ ؾز ٣ بر. Example Mmc_Fat_Rewrite(); لو عاوز أفتح ملف مكتوب ف ه وأكمل كتابة ف ه ممسحش المكتوب وقتها األول هجمع اللى كتبته عن طر ق Mmc_Fat_Append وبعد ن استخدم Mmc_Fat_Write الستكمال الكتابة فى الملف. Mmc_Fat_Append أسدد ا ٠ أم ٤ ق دارب ق ك زا األ ش ٣ لزؼ ا Description assigned file ب األ ش د ٣ ز لز ا file pointers ث ٤ وق ػ ذ أخش byte ك ٠ ا ق ث ذ ؽج ٤ ذ أص د ا ق أ أ زت ك ٤ جذأ أخش.byte Example // open file for appending Mmc_Fat_Append(); 122Page

Mmc_Fat_Write ٣ زت number of bytes ك ٠ ا ق ا لز ػ زبثخ ا ٠ ػ ز Description assign ث ٤ ؾزبط 2 parameters ب : : ا ذارب ا ٠ زج ب. fdata _1 2_ :data_len ػذد ا bytes ا ٠ زج ب. Example Mmc_Fat_Write(txt,255); Mmc_Fat_Write("Hello world",255); أ : char write_data[] = "azex 2015"; Mmc_Fat_Write(&write_data,11); Mmc_Fat_Read ث ٤ وشأ اؽذ byte كوو ا assigned file ا لز ػ ؽب ٤ ب Description وشاءح. ثؼذ هشاءح ا byte األ ٠ كب ا file pointers ر وبئ ٤ ب ث ٤ ؾق خ set ػ ذ ا character ا زب ٠ ك ٠ ا ق,, زا الثذ ؼشكخ ؽغ ا ق هج هشائز. ث ٤ ؾزبط Parameter اؽذ كوو : Example buffer :Bdata زخض ٣ ا read byte ث غشد ر ل ٤ ز زا األ ش كب ا read byte ثززخض ك ٠ ا buffer ه ٤ ز ب returned خال ا parameter د. char character; Mmc_Fat_Read(&character); لكن أنا محتاج أعرف حجم الملف عشان أقدر أقرى كل bytes اللى ف ه ودا ب تم عن طر ق Mmc_Fat_Reset عشان كده ال function دى الزم تسبق أمر القراءة. 123Page

Mmc_Fat_Reset ث ٤ ؼ reset file pointer ا ٠ ث ٤ ش ػ ٣ ؾب س ع ا ق ا ٠ Description وشا أ أ زج ص األ ش Mmc_Fat_Assign(&file_name, ;0x20) ا ؼال خ & ػجبسح ػ pointer ث ٤ ؾب س ع ا ق,, ب ث ٤ ؾق assign ث ٤ ز ت جذا ٣ خ ا ق ا ٠ ػ file pointer ا reset ػؾب ٣ وشا ث ٤ ؾزبط : 1 parameter size-1 buffer : ثخض ك ٤ ا. file size ؽ ٤ ش أ ثؼذ كزؼ ا ق كب ؽغ ا ق ه ٤ ز ثززخض ك ٠ اbuffer ث ٤ ؾق ب return ػ هش ٣ ن ا parameter د. Example أو ممكن معرفة الحجم من خالل هذة ال unsigned long size; Mmc_Fat_Reset(&size);.function Mmc_Fat_Get_File_Size زح ا function ثزوشا ؽغ ا assigned file ثب. bytes ا Description.bytes ػجبسح ػ ؽغ ا ق ثب return ب ه ٤ خ function ٠ لظ ظ ٤ لخ األ ش ا غبثن األ ش ا غبثن ٣ غزخذ ك ٠ ؽب خ اعزخذا ٣ ؾب س pointer ع ا ق ا ٠ ؼ assign أ ب زا األ ش ك ٠ ؽب خ ػذ اعزخذا pointer ػ ب assign ق ثبعزخذا اع. Example file_name = "MYFILEXXTXT"; Mmc_Fat_Assign(file_name); mmc_size = Mmc_Fat_Get_File_Size; 124Page

Mmc_Fat_Delete Returns 1 - if there are no assigned files 2 - if an error occurred during deleting 0 - if deleting was successful Description Example Deletes currently assigned file from MMC/SD card. filename[7] = 'F'; Mmc_Fat_Assign(filename, 0); Mmc_Fat_Delete(); Mmc_Fat_Set_File_Date Description Sets the date/time stamp. Any subsequent file write operation will write this stamp to the currently assigned file's time/date attributs. Parameters: year: year attribute. Valid values: 1980-2107 month: month attribute. Valid values: 1-12 day: day attribute. Valid values: 1-31 hours: hours attribute. Valid values: 0-23 mins: minutes attribute. Valid values: 0-59 seconds: seconds attribute. Valid values: 0-59 Requires The file must be previously assigned. Mmc_Fat_Assign. The file must be opened for 125Page

writing. Mmc_Fat_Rewrite or Mmc_Fat_Append. Example filename[7] = 'B'; Mmc_Fat_Assign(&filename, 0); Mmc_Fat_Set_File_Date(2014, 9, 15, 9, 20, 0); Mmc_Fat_Append(); Mmc_Fat_Write(" for mikroelektronika 2010n", 27); Mmc_Fat_Get_File_Date Description لو عاوز أعرف تار خ وساعة انشاء الملف تم عن طر ق: Reads time/date attributes of the currently assigned file. Parameters: year: buffer to store year attribute to. Upon function execution year attribute is returned through this parameter. month: buffer to store month attribute to. Upon function execution month attribute is returned through this parameter. day: buffer to store day attribute to. Upon function execution day attribute is returned through this parameter. hours: buffer to store hours attribute to. Upon function execution hours attribute is returned 126Page

through this parameter. mins: buffer to store minutes attribute to. Upon function execution minutes attribute is returned through this parameter. Requires Example The file must be previously assigned. See Mmc_Fat_Assign. // get Date/time of file unsigned yr; char mnth, dat, hrs, mins;... file_name = "MYFILEABTXT"; Mmc_Fat_Assign(file_Name); Mmc_Fat_Get_File_Date(&yr, &mnth, &day, &hrs, &mins); Mmc_Read_Sector Description ا MMC card ظ ٤ لز ث ٤ وشا bytes) one sector (512 ث ٤ ؾزبط : Parameters 2 sector ثنغ ك ٤ سه ا :Sector ا ٠ ؾزبط أهشا. buffer أ قل كخ ع األه ٣ ه ب 512 bytes ػؾب data ك ٤ ب. :Dbuff أخض ا ا function ب ه ٤ return ث 0 ا بسد reading.successfully ه ٤ return ث 1 ؽذس خطؤ. 127Page

Example unsigned char data[512]; unsigned short Sect; Sect = Mmc_Read_Sector(10,data); Mmc_Write_Sector Prototype unsigned char Mmc_Write_Sector(unsigned long sector, char *dbuff); Description ا MMC ظ ٤ لز ث ٤ زت bytes) (512 ك ٠ one sector : ث ٤ ؾزبط Parameters 2 card sector ثنغ ك ٤ سه ا :Sector ا ٠ ؾزبط أ زت ك ٤. 512. bytes أ قل كخ ع األه ٣ ه ب buffer :Dbuff ا function ب ه ٤ return ث 0 ا بسد writing.successfully ه ٤ return ث 1 ؽذس خطؤ ك ٠ اسعب ا. write command ه ٤ return ث 2 ؽذس خطؤ ك ٠ ا زبثخ. Example unsigned char data[512]; unsigned short Sect; Sect = Mmc_Write_Sector(10,data); لو مكنتش عارف رقم ال sector اللى هبدأ منه ممكن انشئ ملف أكتب ف ه أو أقرأ منه وهكون عارف رقم ال sector الخاص ب ه من ال function دى: 128Page

Mmc_Fat_Get_Swap_File Returns _ سه ا sector swap file بك ٤ خ ك ٠ ا.MMC/SD card _0 ارا ؽذس ؿ ٤ ش ر ي. ا ٠ ؾؤ ك ٠ غبؽخ Descriptio n رغزخذ ك ٠ ؽب خ ا ؾبء swap file ؽغ ؾذد اع ؼ ٤ ػ ٠ ا MMC/SD. ا شك ا ؾبء زا ا ق عؼ ػ ٤ خ ا وشاءح أ ا زبثخ ا بسد عش ٣ ؼخ ب أ ػ هش ٣ ن Mmc_Read_Sector() and Mmc_Write_Sector() functions Parameters: : ػذد ا sectors ا ٠ ؾزبط ا ق ٣ ز ب. sectors_cnt_1 2_ :filename اع ا ق ثب زذاد (file_name.extension) ض (file1.txt) ا ٠ ؾزبط أػ ػ ٤ ػ ٤ خ ؼ ٤ ع اء هشاءح زبثخ... file creation and attributes اخزقبس :file_cre_attr _3 ثنغ ك ٤ ب bit ثز مؼ ا ٠ file attribute خ اؿ ا ق ع ص خل ٠ أ وشاءح كوو ث ؼ ٠ ا ؿ ٤ ش هبث زؼذ ٣.... 129Page

Example char Buffer[512]; size = Mmc_Fat_Get_Swap_File(5000, "mikroe.txt", 0x20); //return value of no. Of sectors if (size <> 0) { for(i=0; i<5000; i++) { Mmc_Write_Sector(size++, Buffer); } } Mmc_Fat_QuickFormat Returns 0 - if MMC/SD card was detected, successfully formated and initialized 1 - if FAT16 format was unsuccessful 255 - if MMC/SD card was not detected Description Parameter initialize ث ٤ ؼ format اؽذ : بسد ا ٣ نب ث ٤ ؾزبط.11 characters ه label ػجبسح ػ :mmc_fat_label Example // Format and initialize MMC/SD card and MMC_FAT16 library globals if (!Mmc_Fat_QuickFormat(&mmc_fat_label)) {... } 131Page

اى شز ع األ ه : ثش ب ظ زبثخ ك ٠ ق ص هشاءر اظ بسح ع ا ؾبؽخ. شزس اىن د : رطج ٤ ن ثغ ٤ و العزخذا أ ا ش ا SD card ػ هش ٣ ن ػ initialization بسد ك ٠ ا جذا ٣ خ, ارا ب ا بسد ؿ ٤ ش ذسط عزظ ش سعب خ Card" " Plz Insert ػ ذ ب ٣ ز ادساط ا بسد عزظ ش سعب خ,, Init OK ص ا جذء ك ٠ ا ؾبء ق عذ ٣ ذ ػ هش ٣ ن األ ش assign file ػ ذ ا ؾبء ا ق رظ ش سعب خ ع ا ؾبؽخ file created ص جذء ث زبثخ ك ٠ ا ق azex 2015 ٤ ص هشاءر اظ بسح ع ا ؾبؽخ... ل ا د ٣ شع ٠ هشاءح ا main function أ ال ص ا ز بة ا ٠ functions ؽغت رشر ٤ ج ب ك ٠ ا main function أ ش شعغ ا ٤ MMC library ػؾب ؼشف األ ش د ث ٤ ؼ ا ٣ ث ٤ ؾزبط parameter ا ٣ ث ٤ شعغ value ال أل. 131Page

اىن د : 132Page

133Page

اىذا زة: ػ ٠ ثش رظ ؾ ٤ ا وب بد ػؾب ا غ ٤ ٤ ؾ ٣ ؾز. 134Page

ا simulation ؼ ٤ ؾز الص األ اعزخذ ثش ب ظ winimage د ثش ب ظ غئ ػ ػ ف سح هجن االف ا ٤ س ثزبػ ٠ أهذس أخض ك ٤ ب ا لبد ا ٠ ػب ص أهشا ب أ أ زج ب لزؼ ا جش ب ظ file أخزبس new زظ ش ا ؾبؽخ ا ز ٠ ثؤعل أخزبس االخز ٤ بس ا ٠ ػ ٤ ػال خ فلشاء أرب ذ أ ا file system ػ ٠ fat12/16 135Page

رؤ ذ ا ا زذاد ا ؾلع.mmc ص أمو ؽلع. 136Page

ثؼذ ٣ ا جش رظ امو right click ػ ٠ ا SD card أخزبس edit properties زظ ش ي ؽبؽخ ؽ ك ٠ ا card image file ا ق ا ٠ ا ذ ا ؾؤر ا ٠ ا زذادح.mmc أػ run simulation ؼ ك ٠ ا ؼ ٠. ٤ ؾز ؼبى,, ثظ ا ال د ك ٠ ا غ ٤ ٤ ؾ ثظ ؼ اى شز ع اىتا : زبثخ ك ٠ sector ص هشاءر ػشمخ ع ا ؾبؽخ. 137Page

138Page

139Page

141Page

ا اى Touch screen ٠ ػجبسح ػ, touch panel + graphical LCD ا touch panel ػجبسح ػ ػ سك ٤ غ ؽلبف ٣ مغ ػ ٠ ا GLCD زقجؼ ؽغبعخ ال ظ ٣ عذ ب أ اع ض ٤ شح ع ز ػ ب. أ اع اى :Touch panel اى ع األ ه Touch( :)Resistive اع ب رؼ ثزو ٤ خ ا وب خ ربص ٤ ش ب ك ٠ ه ٤ بط ا ل ذ ثبألخ ا وب خ ا ز ٤ شح, ك ٠ ا وب خ ا ز ٤ شح ا ؼبد ٣ خ ب ث ؾت و ٤ ظ ا ل ذ ػ ٤ ب ث و ٤ غخ ا طشف اال عو ػ ٠ ؽغت ب ا زساع ر ه ٤ خ ا وب خ ثب زب ٠ ه ٤ خ ا ل ذ ا ٣ نب. ز ي ؽخ ا ظ رؼ ث لظ ا طش ٣ وخ وطخ ػ ٠ عطؼ ا ؾبؽخ رخشط وذاس ؼ ٤ ا ل ذ. 141Page

٤ ضاد زا ا ع سخ ص خ, ا ذهخ, ع خ ا زق ٤ غ, ع خ ا زؾ ا زؼب ؼ كب ا ع اال ضش اعزخذا ب. ػ ٤ ة زا ا ع: 1_ ٣ ز ق غ ا هذ االعزؼ ب ثؾ اعشع ؿ ٤ شح. 2_ ارا ر لذ وطخ اؽذح خ ٣ ز ق خ. 3_ ال ٣ ؼ غ ا ضش غخ ك ٠ لظ ا هذ ثطش ٣ وخ جبؽشح. ٣_4 ؾزبط ا ٠ ا نو ػ ٤ خ ا ٠ ؽذ ب ٣ ز ٠ االؽغبط ثب ظ. ٣_5 غز ي ا ض ٤ ش ا شثبء ثب وبس خ غ ا اع اخش. 6 _ال ٣ شس ا ن ء ث غجخ 100% ث اه ر ي. زا اى ع اىخا : IR Touch ٣ ؼ ثزو ٤ خ االؽؼ رؾذ ؽ شاءRed Infra ػ هش ٣ ن ع د شعالد غزوجالد الؽؼ ا زؾذ ؽ شاء ا ب ثؼن ا جؼل زا ٣ غبسد االؽؼ ا زؾذ ؽ شاء ػ ذ ا وطبع اؽذ ز ا غبساد ك زا ٣ ؼ ٠ ا ر ا نو ك ٠ ز ا طوخ ب ٣ غجت ا وطبع ا ؾؼبع ثغجت افجغ ا ٤ ذ. 142Page ٤ ضاد زا ا ع : 1_ ٣ اعزخذا خ ػ ٠ اعطؼ خز لخ 2_ ٣ ا ٣ ؼ ثو ا ثبفجغ ا ا ؽ ٠ ء اخش

3_ ٣ ا ٣ زوو ا ضش ؽش خ ا مطخ ك ٠ هذ اؽذ اى ع اىخاىجTouch : Capacitive زا ا ع االكن االه ث ٤ ع ٤ ؼب ال رو ٤ برخ ب ٤ ضاد ػذح ك ٠ لظ ا هذ اال ضش رؼو ٤ ذا االػ ٠ ر لخ ث ٤ ا ٣ نب. رؼز ذ ػ ٠ كشم ا غ ذ ث ٤ عطؼ ا ؾبؽخ سأط افجغ ا ؾخ ا غزخذ ا ز ٣ غزخذ ز ٤ ذ ا ز ٤ بس ا شثبئ ٢ ا ؼجش ػ ب اإلفجغ ػ ٠ ا ؾبؽخ غزل ٤ ذح ا ؾؾ بد ا شثبئ ٤ خ ا ز ٢ ٣ ؾ ب عغ اإل غب. أ ا ٣ غبث ٤ بر ب دػ ب ظ ا زؼذد ا زقبف ب %10 كوو م ء ا ؾبؽخ األف ٤ خ ب ٣ ض ٣ ذ ثؾ ج ٤ ش ك ٢ م ؽ ب. ثغجت اػز بد ب ػ ٠ ا ؾؾ بد ا ؾ خ ك ٢ عغ اإل غب كب ب ال روج ا زؼب ؼ ب خال األهال. غزخذ ك ٠ ؾبس ٣ ؼ ب ا Touch( )Resistive ال ب سخ ٤ قخ ا ض,٣ اعزخذا ا ؽئ زؼب ؼ ب ض االفبثغ االهال ا ٠ اخشح, ده ٤ وخ ا ٠ ؽذ ب,ع خ االعزخذا ٣ رش ٤ ج ب قو ب ػ ٠ أ ؽئ, ب أ ب ال رزؤصش ثب بء. فنزة ػ و اى :Resistive Touch 143Page

رز 3 هجوبد هجوزب رؼ ال وب خ ز ٤ شح ؽلبكخ ٣ ز ا ا جالعز ٤ ي ا ط ٠ ث اد ف خ هجوخ ك ٠ ا عو رز شاد غبؽبد كبسؿ رؼ ػ ٠ كق ا طجوز ٤ ػ ثؼن ا جؼل ػ ذ ا نو ػ ٠ ا هجوخ االص ٤ ر زقن ثبالخش ٣ ز ه ٤ بط ا ل ذ ػ ذ ص ا ا نو رؼ ا شاد ك ٠ ا طجوخ ا عط ٠ ػ ٠ اػبدح ا طجوز ٤ ا ٠ مؼ ب زا رؼ ز ا زو ٤ خ غ ا ؽ ٠ ء ع اء ف اثؼ ب ا اهال ا ا ؽ ٠ ء ٣ خ ا نو ػ ٠ ا ؽخ. ب ش ػ ذ ا نو ر ض اؽذ ا طجوبد ظ االخش ٣ ز ه ٤ بط ا ل ذ ٣ ز رؾذ ٣ ذ ب ا نطخ ا ا غخ ػ ٠ ؽغت ه ٤ بط ا ل ذ كبئذح ا طجوزب ٠ ا ي ا ه ذ ثو ٤ بط ا ل ذ ا ؽخ هجوخ اؽذح ك زا ٣ ؼ ٠ ا ي ؽذدد ب ا غخ ك ٠ ارغبح اؽذح ا ك ٠ ثؼذ اؽذ زا ٣ ؼ ٠ ا ي ؽذدد ب ا غخ ك ٠ ا جؼذ االكو ٠ ا ا جؼذ ا شاع ٠ ث ؼ ٠ اخش ب ا غخ ثب ط ا ثب ؼشك زا ؿ ٤ ش ده ٤ ن ثب شح زا ٣ ل ٠ ال ب زا ؾذد ب ا غخ ب وطخ ؾذد ػ ٠ ا ؾبؽخ كوو وطخ ك ٠ ثؼذ اؽذ زا ال ٣ ل ٠ ث ٣ غت رؾذ ٣ ذ ب ب وطخ روغ ث ٤ 144Page

ؾ س ٣ ا اؽذاص ٤ بر ب ك ٠ ا ؾ س X ا ؾ س Y ا ب ا غخ ثب ط ب ب ثب ؼشك ؾذد ب ا وطخ ثب ظجو ػ ٠ ا ؾبؽخ ا ا ؽخ زا كب ؾ ا غزؼ هجوزب ك ٠ لظ ا هذ هجوخ و ٤ ظ خال ب ه ٤ خ ا غخ ك ٠ ؾ س ٣ غبسا ٤ ٣ ب هجوخ و ٤ ظ خال ب ه ٤ خ ا غخ ك ٠ ؾ س Y اػ ٠ اعل ب ذخ ا ل ذ ػ ٠ ا ؽخ و ٤ ظ ه ٤ خ ا ل ذ ؾذد االؽذاص ٤ بد ثب غجخ ٣ غبسا ٤ ٣ ب. ؾ سX ب ذخ ا ل ذ ػ ٠ ا ؽخ و ٤ ظ ه ٤ خ ا ل ذ ؾذد االؽذاص ٤ بد ثب غجخ ؾ سY. ػ ذ ع غ ا طجوز ٤ ؼب ب ٣ ب ه ٤ بط االؽذاص ٤ بد ال ا ؾ س ٣ ٣ ب اال رؾذ ٣ ذ ب ا غخ ثذهخ ػ ٠ ا ؽخ ع اء اػ ٠ ا اعل ا ٤ ٣ ب ا ٣ غبسا كبرا ب ا و ٤ بط ك ٠ اهق ٠ ا ٤ ٤ ع ؾزبط ؼشكخ ا ب ك ٠ االػ ٠ ا ك ٠ االعل ب ٣ ب رؾذ ٣ ذ وطخ ا غخ. 145Page

٣ ا ؾق ػ ٠ زا ا ع ػ هش ٣ ن ثؼل ا ؾالد ص ٣ ك ٢ ؽذ د 65 ع ٤ خ األسخ ار ت ا ٠ ا ؾ زق ٤ ؼ ا ثب ٣ أه ت ا زبرؼ ثزبع ا ثب ٣ ف ٠ ٤ ؼشكخ ا ٣ غت Resistive ا ٣ ؼ ثب و ا ثبالفجغ ا ا ؽ ٠ ء اخش ٤ ظ االفجغ ا جؾش كوو ا اهال خبفخ ثخ ك زا ع اخش زا ؼشف اال اع ا ز ٠ رؼ ث زا ا ع ا زبرؼ. عزغذ عؼش ا ق ٤ ش خ ة 5 ع ٤ خ ا جش ؽغ ج ٤ ش عذا ة 10 ع ٤ خ. ٣ عذ أ اع ب ب ع غزخذ ا ع ر األسثؼخ أهشاف ا هشف صب ش هشف خبف ٤ ثب طجوخ Y ا طشف ا ضب ٠ ا شاثغ خبف ٤ ثب طجوخX ب ك ٠ ا ق سح ا cable ا خبؿ ثب touch panel ث ٤ flat & soft ؾزبط connector ػؾب أهذس أ ف خ ثب ج سدح ص ا ٠ ع د ك ٠ ا ق سح: 146Page

:Connecting to microcontroller ع ف و ثبدخب عب ت عت ػ ٠ اهشاف ا طجوخ X ثؼذ ر ي و ثب و ٤ بط خال اؽذ اهشاف ا طجوخ Y ثؼذ ر ي و ثؼ ظ ا ؼ ٤ خ ا و ثبدخب عب ت عت ػ ٠ اهشاف ا طجوخ Y و ثب و ٤ بط خال اهشاف ا طجوخX زا ثبعز شاس ؾق ػ ٠ االؽذاص ٤ بد ا ؾ س ٣. لؼ ز ا خ بى هش ٣ وز ٤ اال ٠ ٠ االكن االدم االفؼ ا و ثق غ دائشح رز 5 رش غ ٤ ضر ساد غ ثؼل ا و بد ز ف سح ا ذائشح : زح ا طش ٣ وخ رؼط ٠ دهخ ر كش هشك ٤ 147Page

ا ٤ ش ثؾ ٤ ش ا ي ة 2 هشف رزؾ ك ٠ دخ خش ط ا شثبء ا ٠ ا ؽخ ا طشك ٤ االخش ٣ رو ٤ ظ خال ب ا ل ذ روذس االؽذاص ٤ بد ث ز ا طش ٣ وخ ع غز ي 4 اهشاف كوو ا جي. ر عذ ك ٠ ثؼل ا ؾالد زح ا ذائشح عب ضح. الؽع ع اء ك ٠ ا ذا ٣ شح أ ك ٠ ا د ٣ أ ا طشف DRIVEA ف غ دا ٣ شح ا زشا ضعز ساد ثؾ ٤ ش مؼذ ػ ٤ 1 رقجؼ : (LEFT drive on, RIGHT drive on, TOP drive off ) ارا مؼذ ػ ٤ 0 رقجؼ: (LEFT drive off, RIGHT drive off, TOP drive on) أ ب ا طشف DRIVEB ف غ دا ٣ شح ا زشا ضعز ساد ثؾ ٤ ش مؼذ ػ ٤ 1 رقجؼ on) (BOTTOM drive ٣ قجؼ 0 off).(bottom drive أ ب ا طشف read_x ف ثب ADC ثب و بح RA0 وشائخ ا X value أ ٣ نب ف ثؤؽذ أهشاف ا y_panel ا ( BOTTOM ). أ ب ا طشف read_y ف ثب ADC ثب و بح RA1 وشائخ ا Y value أ ٣ نب ف ثؤؽذ أهشاف ا X_panel ا ( LEFT ). 148Page

RAO& ك غذ أ ا طشك ٤ RC0& RC1 هشك ٤ ز ٤ ش ا غ ذ ػ ٢ ا panels.panels وشائخ ا ل ذ ال ا RA1 اىن د : ع و ثؼ دا ز ٤ void gety void getx ث ثغبهخ ػ ذ ه ٤ بط ا ؾ س X اه ثبخشاط 0 ك ذ ػ ٠ هشف 5 ك ذ ػ ٠ هشف اخش ؾ سX اه ثب و ٤ بط ا و بح اال ٠ ا ٠ ز ف خ ػ ٠ هشف اؽذ ا ؾ سY بالر ٠ : 149Page

ثؼذ ر ي اؽلع ا برظ ك ٠ ز ٤ ش x_coord اه ثؼذ ر ي ثز شاس ا ؼ ٤ خ ؼ عخ اه ثبخشاط 0 ك ذ ػ ٠ هشف 5 ك ذ ػ ٠ هشف اخش ؾ سY اه ثب و ٤ بط ا و بح ا ضب ٤ خ ا ٠ ز ف خ ػ ٠ هشف اؽذ ا ؾ سX بالر ٠ : اؽلع ا برظ ك ٠ ز ٤ ش. Y_coord االؽذاص ٤ بد ربر ٠ ػ ٠ ؽ سه ٣ وغ ث ٤ 0 ا ٠ ٠ 1023 رؼجش ػ 0 ك ذ ا ٠ 5 ك ذ,, كبرا ذ أمغ ا touch panel ػ ٠ GLCD ك هز ب ع ؾزبط زؼب ثب ج غ ؼ ر ي ؾذد ػشك ه ا ؾبؽخ ثب ج غ ك ٠ ؾش ػ ب غزخذ ؽبؽخ * 128 64 ز اسهب ث غ ا ؾبؽخ ا ط * ا ؼشك خال زح ا ؼبد خ غزط ٤ غ ا زؾ خال ا ج غ ا ثذ ا و ارا ب ا و ٤ بط ٣ وغ ث ٤ 0 ا ٠ 1023 ال ع و ضال ارا ب ٣ وغ ث ٤ 30 ا ٠ 100 ث غ ا ؼبد خ ر ثبعزخذ ػالهخ ا و: X_coord ------------------------ 1023 X_coord _pixel------------------ 128 151Page

هج ا جذء ك ٠ ا ؾش ع ػ ٤ ي شاعؼخ أ ا ش ا زجخ ٤ ش ع ٠. GLCD اى شز ع األ ه: امبءح. touch screen اهلبئ ب ػ هش ٣ ن 2 leds 151Page

152Page

الصظاث : 1 _ر عذ هش ٣ وخ اخش ز ف ٤ ا touch panel ثب ٤ ش رغز ي 6 اهشاف 4 شثبء ا خبفخ ثب ؽخ 2 و ٤ بط ا ل ذ طجوز ٤,, ٣ غت ر ف ٤ 2 وب خ ٤ ا 10 ػ ٠ االسم ٠ ػ ٠ ه ب ٠ رؼ ا ذائشح ثبعزوشاس. ك ٠ ا ذائشح ر ر ف ٤ أهشاف ا x_panel ب ا طشف 3 1 ػ ٠ RB1 &RB0 أهشاف ا y_panel ب ا طشف 4 2 ػ ٠. RB3 &RB2 153Page

ر ف ٤ هشف ا x_panel ا طشف اال ثطشف RA1 ا ز ٣ ض ا و بح ا ضب ٤ خ ADC ر ف ٤ هشف ا Y_panel ا طشف ا ضب ٠ ثطشف RA0 ا ز ٣ ض ا و بح األ ٠.ADC ك ٠ ا د ؼشكخ ع ذ ا وطخ X: ؼشكخ ع ذ ا وطخ Y: 2 _ارا ب ال ش ٣ ذ ا زؾ خال ؽبؽخ ث ف سح طج ػخ اعل ؽخ ا ظ هز ب ع ؾزبط ا زؾ ٣ ا ٠ ؽذح ا ٠ زش ث ثغبهخ ا زت ه ٤ بط ا ط ا خبؿ ثب ق سح ا طج ػخ ثب ى زش ا ا ؽذح رش ٣ ذ ب 128 ا ؼشك ا ٣ نب ب 64 ا ؼبد خ ا ٠ ار ب ػ ب عبثوب. ك ٠ 154Page

155Page

156Page

رغزخذ ا LED matrix ثؾ اعغ ك ٢ غب ا ذػب ٣ خ اإلػال إل ظ بس ؼ بد سع بد زبثبد ؿ ٤ ش ب ع اء ب ذ صبثزخ أ زؾش خ. ٠ ػجبسح ػ غ ػخ ا LEDS ا شث هخ غ ثؼن ب ػ ٠ ؽ قل كخ. طز قت ػ و شاشت اىؼزض : LED dot matrix رز ػ هش ٣ ن ر ف ٤ ا ٤ ذاد ػ ٠ ؽ فل ف rows أػ ذح columns ب ثب ؾ ثشك رو ٤ ػذد األهشاف ا ط ثخ زؾ ٤ ب. ك ضال ػب ص ؽذح ػشك 8X8 ؾزبط ا ٠ 64 هشف ذخ / خشط )هشف وطخ ٤ ذ. ثز ف ٤ ع ٤ غ ا anodes غ ثؼن ب ك ٠ ؽ فل ف ا قق األ R1 ا ٠ ا قق ا ضب,, R8 ر ف ٤ ا ا ٠ ا ؼب د ا ضب C8 غ ثؼن ب ك ٠ ؽ أػ ذح ا ؼب د األ C1 cathodes هز ب ؾزبط ا ٠ 16 هشف كوو. ٤ ذ ٤ ٤ ػ ا ثشه فل ػب د, روش ٣ جب لظ ك شح ا ٤ جبد كل ٠ ا ؾ ارا عؼ ب ا قق ا شاثغ R4 ك ٠ ا ؾب خ ا شرلؼخ ( 1 )logic عؼ ب ا ؼب د ا ضب ش C3 ك ٠ 157Page

ا ؾب خ ا خلنخ )0 (logic الؽع ا ا ٤ ذ ا ع د ك ٠ ا قق ا شاثغ ا ؼب د ا ضب ش ٠ ا ٠ ز س. الؽع ا ا led matrix ػجبسح ػ dots ػشكذ س أ ٠ ٤ ذاد ػؾب اسع ؽشف ؼ ٤ ا أػشك سه ؼ ٤ ا اؽبسح... هز ب ؼشف أػشك ا ا ا ؾئ ا ٠ ػب ص أػشمخ. م ف ت اىزبط غ اى نز م تز ىز: غزخذ ) 5X7 ( led matrix ؽ ٤ ش ٣ ز ا زؾ ك ٠ ا غجغ فل ف ا خ ظ أػ ذح خال أهشاف ا ٤ ش زش ش ٣ ز ػشك ا ؾش ف ثب غؼ ا غش ٣ غ أل ا قل ف أ األػ ذح scanning" "Column. ك ضال ارا أسد ب ػشك ؽشف ا A ب ع د ثب ؾ : 158Page

1_ خزبس أ ال ا ؼب د C1 ) زا ٣ ؼ ٠ عؼ ك ٠ ا ؾب خ ا خلنخ )logic 0 ك ٠ لظ ا هذ ػذ اخز ٤ بس ثبه ٠ األػ ذح ث غ ر ف ٤ ب ثبألسم ٠ ( ػ هش ٣ ن عؼ C2 ا ٠ C5 ك ٠ ا ؾب خ ا شرلؼخ (logic 1. 2_ ا ٥ أفجؼ ا ؼب د األ كؼب رؾزبط ا ٠ ر ف ٤ ON ا ٤ ذاد ثب قل ف R2 ا ٠ R7 ا ع دح ك ٠ ا ؼب د األ C1 ا ز ٠ ر ض ا غضء األ كوو ا ؾشف, ٣ ز ر ي ثز ف ٤ ا غ ذ ا عت )ا ؾب خ ا شرلؼخ( ز ا قل ف. 3_ ا خط ح ا زب ٤ خ اخز ٤ بس ا ؼب د ا ضب ٠ C2 ػذ اخز ٤ بس ثبه ٠ األػ ذح, ر ف ٤ ا غ ذ ا عت ا ٠ ا قل ف R5, R1 زا. ز ا ؼ ٤ خ رغ ٠ "ػ ٤ خ غؼ األػ ذح رز ٣ خ ه ٤ ا ج ٤ ب بد ا ٠ ا قل ف ) ٣ ؼ ٠ اخزبس ا ؼ د أؿز ا قل ف ثب و ٤ ا ٠ رنئ ا ٤ ذاد ا ٠ ؾزبع ب ). 4_ ز ٤ غخ ا غؼ ا غش ٣ غ خال األػ ذح )عشػخ ا غؼ ٣ غت أ ر أ جش 100 شح ث صب ٤ خ ) ر ف ٤ ا ٤ ذاد ا بظشح ك ٠ فق زا ا ؼب د كؤ ف سح ا ؼشك رجذ عب خ غزوش ؼ ٤ ال ا ؼ ٤ جز ؾوؼ رالؽع ا غؼ د. ا غذ ا زب ٠ ٣ ؼط ٠ ا غز ٣ بد ا طو ٤ خ ا ز ٠ ٣ غت رطج ٤ و ب ػ ٠ ا قل ف. A ػب د ثشك ػشك ا ؾشف ا ٠ R7 R1 159Page

الؽع أ ك ٠ فق هشف اؽذ أهشاف ا ٤ ش sourcing the current ٤ ذ اؽذ كوو هشف ا ٤ ش ا خبؿ ثب ؼب د ٣ قت sink the currents ا بسح خال أ ضش ٤ ذ. ػ ٠ عج ٤ ا ضب ا ؼب د األ ٣ غت C1 أ ٣ هبدسا ػ ٠ أ ٣ قت ك ٤ ر ٤ بس ٤ ذاد 6 ػ ذ ػشك ا ؾشف A أهشاف ا ذاخ / ا خبسط ٤ ش زش ش ال رغزط ٤ غ ر ب زا ا ز ٤ بس ا شرلغ, ز ي ؾزبط ا ٠ قل كخ )فق( ا زشا ضعز ساد. ٣ اعزخذا ا ذائشح 161Page

ا ز ب خ ULN2003A ا ز ٠ رؾز ػ ٠ فق 7 رشا ضعز ساد داس غز ب ك ٠ ا ؾ. ٣ غت ا ٣ ا input ULN2003 شرلغ (1) high ٣ ٠ active ا طشف ا خشط ا بظش فال ثبألسم ٠ (0.(active low ت ص و اىذائزة: و ثز ف ٤ وب بد 330 Ω ػ ٠ ا ز ا ٠ غ ا قل ف R1 ا ٠ R7 زو ٤ ا ز ٤ بس ا بس خال ا ٤ ذاد ص و ثز ف ٤ ا قل ف ثؤهشاف (RB0-RB6) PORTB ٤ ش, األػ ذح رزق ثخ غخ خبسط ULN2003A أهشاف ا ذاخ ا خ غخ ا بظشح ٣ ز ULN2003 ا زؾ ك ٤ ب خال RD4) ٤ ش. PORTD (RD0- ث ز ا طش ٣ وخ ٣ و ا ٤ ش زش ش ث غؼ األػ ذح ػ هش ٣ ن اسعب 1 ػ د رقل ٤ ش ا جبه ٠ PORTD ػ ٠ عج ٤ ا ضب رؾذ ٣ ذ ا خب خ RD0 ث اؽذ غؼ )رقل ٤ ش( ا خب بد RD1 ا ٠ ٣ ئد RD4 ا ٠ اخز ٤ بس ا ؼب د األ. ع ف ٣ زظش ا ٤ ش زش ش ؽ ا ٠ اؽذ ٠ صب ٤ خ هج ا زؾ ا ٠ ا ؼب د ا زب ٠. ػ ذ ػب د ع ف ٣ خشط ا ٤ ش زش ش ه ٤ ا قل ف ا بظشح ػ ٠ ا لز PORTB ز ف ٤ ا ٤ ذاد ا بظشح ك ٠ ا ؼب د ؼشك ا ؾشف ا ؾذد. 161Page

اىت ص و ػي بز تس: 162Page

اىبز ا ذ: ٣ غت ك ٠ ا جذا ٣ خ ا ؾبء عذ ثو ٤ ا قق ؼب د ؾذد ا الص خ ؼشك ا ؾش ف, ب ٣ غت رؼش ٣ ق رخض ٣ ز ا و ٤ ك ٠ را شح RAM أ رخض ك ٠ را شح ا جش ب ظ ك ٠ ؽب خ ب ارا ب ذ را شح RAM ؿ ٤ ش بك ٤ خ. ك ٠ ا ج ٤ ش mikroc رؾلع ا ز ٤ شاد ك ٠ را شح RAM ا ض اثذ ك ٠ را شح ا جش ب ظ. ز ي ارا ٣ ا ٤ ش زش ش ٣ ز ي را شح RAM بك ٤ خ ك ٤ ي رؼش ٣ ق قل كخ صبثذ constant array ؾلع ه ٤ ا قق ثؾ ٤ ش أ ا غضء را شح ا جش ب ظ ا ز اؽز ز ٣ ئد ا ٠ ر ك ٤ ش را شح RAM خ أخش. ث ب أ را شح ٤ ش زش ش RAM ٤ غذ PIC16F877A بك ٤ خ ؾلع ه ٤ ا قق ؼشك ا ؾش ف A ا ٠ Z ز ي ع ف غزؼ ٤ ثزا شح ا جش ب ظ ب ٠ ٣: أ ال : ا ؾش ف A ا ٠ : Z const unsigned short Alphabets[130]={ 0x7e, 0 09, 0 09, 0 09, 0x7e, // A 0x7f, 0 49, 0 49, 0 49, 0 36, // B 0x3e, 0 41, 0 41, 0 41, 0 22,//C 0x7f, 0 41, 0 41,0 22, 0x1c, //D 0x7f, 0 49, 0 49, 0 49, 0 63,//E 0x7f, 0 09, 0 09, 0 09, 0 01,//F 0x3e, 0 41, 0 41, 0 49, 0x7a,//J 0x7f, 0 08, 0 08, 0 08, 0x7f, 0 00, 0 41, 0x7f, 0 41, 0 00, // I 0 20, 0 40, 0 41, 0x3f, 0 01, 0x7f, 0 08, 0 14, 0 22, 0 41, 0x7f, 0 40, 0 40, 0 40, 0 60, 0x7f, 0 02, 0 04, 0 02, 0x7f, 163Page

0x7f, 0 04, 0 08, 0 10, 0x7f, 0x3e, 0 41, 0 41, 0 41, 0x3e, 0x7f, 0 09, 0 09, 0 09, 0 06, 0x3e, 0 41, 0 51, 0 21, 0x5e, 0x7f, 0 09, 0 19, 0 29, 0 46, 0 46, 0 49, 0 49, 0 49, 0 31, // S 0 01, 0 01, 0x7f, 0 01, 0 01, 0x3f, 0 40, 0 40, 0 40, 0x3f, 0x1f, 0 20, 0 40, 0 20, 0x1f, 0x3f, 0 40, 0 30, 0 40, 0x3f, 0 63, 0 14, 0 08, 0 14, 0 63, 0 07, 0 08, 0 70, 0 08, 0 07, 0 61, 0 51, 0 49, 0 45, 0 43 // Z }; const unsigned short characters[30]={ 0 24, 0x2A, 0x7f, 0x2A, 0 12, // $ 0 08, 0 14, 0 22, 0 41, 0 00, // < 0 41, 0 22, 0 14, 0 08, 0 00, // > 0 14, 0 14, 0 14, 0 14, 0 14, // = 0 36, 0 49, 0 55, 0 22, 0 50, // & 0 44, 0x3c, 0 04, 0x7c, 0 44, // PI }; بز ا ذ ىؼزض صزف اى A: 164Page

الؽع ب ؾ ا simulationػ ٠ ثش رظ ا ا ٤ ذاد ؼ ثز س, ر ي ز ٤ غخ ػذ اعزغبثخ Proteus ذائشح ا ز ب خ ULN2003 غ ا ٤ ذ برش ٣ ظ ) هج غ ا غل ع ٤ غ ذ ) ػ ذ ا ز ل ٤ ز ا ؼ ٠ ٣ ؼ ا جش ب ظ ثطش ٣ وخ فؾ ٤ ؾخ. ؾ ا ؾ خ د ؾ ٤ دا ٣ شح ا ULN2003 غزؼ ٤ ل ػ ب ثؾ ٣ و ثؼ ب ػ ظ ا خبسط ا عجخ ألػ ذح أهشاف ا لز PORTD زق ا ٠ بص داد قل كخ ا ٤ ذاد عب جخ ػ هش ٣ ن امبكخ دائشح not gate أ ؼ ظ ا خشط ا خبسط portd ك ٠ ا جش غخ ػ هش ٣ ن مغ ~ ا ز ٠ رؼ inverting خشط. يض ظت: غزخذ قل كخ رؾز ػ ٠ ا ؾش ف ا ٠ ػب ص ٣ ؼشم ب ال ب ؼ ؼشك ؿ ٤ ش ؽشف اؽذ, ؽبث ٤ ؼشك زا ؽشف ث ذخ ك ٠ قل كخ ك ط س ػ ٠ ؽ ا جش ب ظ ثبعزخذا صبثذ ع ا قل كخ.for loop 165Page

٤ ش ك ٠ ا د ثذ عزظ ش أخطبء ػ ٠ ثش رظ ؾ ٤ دا ٣ شح ا ULN2003 PORTD = ;column نغ PORTD =. ~column; اىبز ا ذ األ ه: ػشك ا ؾش ف Z ا ٠ A ػ ٠ ا led.matrix 166Page

ا ذائشح 167Page

حا ا:م ف ت ػزض ص تضزك :Scrolling text message ا ل شح األعبع ٤ خ ؤخ رح ك شح ػشك ؽش ٣ و ا غ ٤ ٤ ب, ؽ ٤ ش رؼشك ؾب ذ ززبثؼخ ؾ ذ ر ا ٥ خش ثغشػخ بك ٤ خ ثؾ ٤ ش ٣ زؾون ا خذاع ا جقش ٣ ؾؼش ا ؾب ذ ثب ؾش خ ا ذائ خ. بز ا ذ ىتضز ل اىضزف "A" اى إى اى سار : ٣ وغ ا جش ب ظ ا ٠ ؾب ذ غزؼ ٤ ك ٠ ػ ؾ ذ ث سهخ شثؼبد. ا ؾ ذ األ ع ٤ غ ا ٤ ذاد طلئخ ع ٤ غ ا قل ف ر ثؤفلبس ػب د 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ا ؾ ذ ا ضب ٠ ثذء ظ س ه ٤ فل ف أ ػب د ع خ ا ٤ ٤ أل ا زؾش ٣ ي ٣ غ خ ا ٤ غبس ػ ذ ػشك سعبئ ا خ اإل غ ٤ ض ٣ خ ػ ذ رؾش ٤ ب 168Page

ث ٤ ب بد ه ٤ ا قل ف ػب د ثب ؾ ذ ا ضب ٠ 0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0xFC, ا ؾ ذ ا ضب ش صؽضؽخ ه ٤ ا ؼ د األ خط ح ا ٠ ا ٤ غبس ص امبكخ ه ٤ فل ف ا ؼ د ا زب ٠ ك ٠ ا ؾشف ث ٤ ب بد ه ٤ ا قل ف ػب د ثب ؾ ذ ا ضب ش 0x00,0x00,0x00,0x00,0x00,0x00, 0xFC,0x12, ا ؾ ذ ا شاثغ اصاؽخ ث وذاس خب خ ا ٠ ا ٤ غبس امبكخ فل ف ا ؼ د ا ضب ش x00,0x00,0x00,0x00,0x00, 0xFC,0x12,0x12, //view no 4 ا ؾ ذ ا خب ظ: 169Page

x00,0x00,0x00,0x00, 0xFC,0x12,0x12,0xFC, //view no 5 ا ؾ ذ ا غبدط ثؼذ ا ز بء ا ؾشف أ ا شعب خ زشى كشاؽ غ بػ ثزؾش ٣ خ. 0x00,0x00,0x00, 0xFC,0x12,0x12,0xFC,0x00, //view no 6 ا ؾ ذ ا غبثغ 0x00,0x00, 0xFC,0x12,0x12,0xFC,0x00,0x00,//view no 7 ا ؾ ذ ا ضب 0x00,0xFC0x12,0x12,0xFC,0x00,0x00,0x00,//view no 8 171Page

ا ؾ ذ ا زبعغ 0xFC,0x12,0x12,0xFC,0x00,0x00,0x00,0x00,//view no 9 ا ؾ ذ ا ؼبؽش 0x12,0x12,0xFC,0x00,0x00,0x00,0x00,0x00, //view no 10 ا ؾ ذ ا ؾبد ػؾش: 0x12,0xFC,0x00,0x00,0x00,0x00,0x00,0x00, //view no 11 ا ؾ ذ ا ضب ٠ ػؾش: 171Page

0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //view no 12 ا ؾ ذ ا ضب ش ػؾش: x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}; //view no 13 اىبز ا ذ : ؼشك ا ؾب ذ ا غبثوخ ثب غشػخ ا بك ٤ خ إلؽغبط ثب ؾش خ. 172Page

173Page

اىذا زة: بز ا ذ ىؼزض صزف A B& تضزم : ا ز ٤٤ شاد رجذأ ا ؾ ذ ا غبثغ 0x00,0x00,0xFC,0x12,0x12,0xFC,0x00,0xFE; ا ؾ ذ ا ضب 174Page

0x00,0xFC,0x12,0x12,0xFC,0x00,0xFE,0x90; ا ؾ ذ ا زبعغ: 0xFC,0x12,0x12,0xFC,0x00,0xFE,0x90, 0x90; ا ؾ ذ ا ؼبؽش: 0x12,0x12,0xFC,0x00,0xFE,0x90, 0x90,0x60; ا ؾ ذ ا ؾبد ػؾش: 0x12,0xFC,0x00,0xFE,0x90, 0x90,0x60,0x00; 175Page

ا ؾ ذ ا ضب ٠ ػؾش: 0xFC,0x00,0xFE,0x90, 0x90,0x60,0x00,0x00; ا ؾ ذ ا ضب ش ػؾش: 0x00,0xFE,0x90, 0x90,0x60,0x00,0x00,0x00; ا ؾ ذ ا شاثغ ػؾش: 0xFE,0x90, 0x90,0x60,0x00,0x00,0x00,0x00; ا ؾ ذ ا خب ظ ػؾش: 176Page

0x90, 0x90,0x60,0x00,0x00,0x00,0x00,0x00; ا ؾ ذ ا غبدط ػؾش: 0x90,0x60,0x00,0x00,0x00,0x00,0x00,0x00; ا ؾ ذ ا غبثغ ػؾش: 0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00; ا ؾ ذ ا ضب ػؾش ا ز ثؼذ ٣ جذأ ا ذ سا أ ا ق عذ ٣ ذ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00; اىبز ا ذ: 177Page

اىذا زة: 178Page

هت ػب ص أػشك ج ٤ ش ؽ ٣ خ ؾزبط اعزخذ led matrix أ جش ؽ ٣ خ. بز ا ذ: اعزخذا 8 16 LED dot matrix ؼشك زؾشى. أ ب اعزخذ ار ٤ 8 8 LED dot matrix زو ث لظ ا ظ ٤ لخ ص ا 8 16 أ ب ػ ذ 16 ػب د ؾزبط 16 I/O pins ا ٤ ش ػؾب أػشف اؽ,, ثظ د ٤ خ ٠ ٤ وذسػ اعزخذ ا ٤ ش ثزبػ ٠ ك ٠ أ ؽبعخ رب ٤ خ ؽج ٤ ذ ا ٠ أ جش ا ؾش ع ك اعزخذ ٣ ؼ 2 shift register اصاؽخ ج ٤ ب بد ا ٠ خبسعخ ث ذ أ كش pins ا ٤ ش. بعزخذ (74HC595) shift register ػجبسح ػ 8-stage serial-in, serial or parallel-out shift register ثذخ ا ذارب عش ٣ ب ٣ ط ؼ ب parallel ث ب ا 8 179Page

أ ب ؾزبط 16 ك بعزخذ ار ٤ )74HC595) ث ذ و ػذد أسع ا ٤ ش ا ٠ ؾزبع ب 16 ا ٠, 3 كزؾ ب ا ذارب ؽ ٤ ذ )74HC595) اله ٠ :.8 parallel output _ 7 &) 15 :ػجبسح ػ ا 1 )pin storage register ؼب shift register ػ & 12 :ا 74HC595 ػجبسح 11 pin اؽذ clock ٤ لق 11) SH_CP (pin storage register. shift register ST_CP (pin 12) الؽع ا ا ذارب ؼ ثزخشط ػ ٠ ا output pin ؿ ٤ ش ب رش ػ األ ػ ٠ ا storage register د ج ٤ ؾق ؼ ؿ ٤ ش ب أدخ positive-going transition ػ ٠ ا. ST_CP input (14) pin :DS د ا ذخ ا ٠ ا serial data ثزذخ ث ٤ ؾق ب shift غ.SH_CP input ا positive-going transitions pin ثغزخذ زح ا cascade غ ثؼل ب ث ف زا 74HC595 Q7: (pin (9 ال ب رؼ serial standard output ثبخذ ا ذارب ا shift register األ أ ف ب غ ا pin) serial input (DS shift register ا زب ٠. ث ذ ا -16 181Page

shift register DS pin ا ٠ ثز ث ٤ أػ ذح ا برش ظ ثبخذ ا serial bit األ. 10) :(MR) (pin ػجبسح ػ active low pin ٠ reset ػؾب ذ ثنغ ػ ٤ ب 1 ػؾب اػ ب.deactivate 13) OE :ػجبسح (pin ػ active low pin ٠ output enable ػؾب ذ ثنغ ػ ٤ ب 0 ػؾب اخ ٤ ب.activate ا خالفخ ا ٠ ؾزبط 16 clock pulses ا SH_CP ػؾب أؽق ع ا ذارب ب خ ثؼذ ٣ أه غ clock pulse ا ST_CPػؾب ا ذارب رزخض أهذس أه ؼ ب ع ا خشط. 181Page

182Page

ا اى :GPS اخزقبس Global Positioning System اع ع بص ٣ غزخذ و ٤ بط د ائش ا ؼشك خط ه ا ط ا خبفخ ثؾئ ب ٤ ػشث ٤ خ, عل ٤ خ, هبئشح, ث ٤ ثب زب ٠ ٣ غ رؾذ ٣ ذ ب زا ا ؾئ. تطب قات : ٣ غزخذ ث ضشح ك ٠ ا ؾبس ٣ غ ا ز ٠ رؾزبط رؾذ ٣ ذ ا ب ٣ غزخذ ث ضشح ك ٠ ؾبس ٣ غ ا automotive ال ٠ خال ثوذس أػشف ب ػشث ٤ ز ٠ ؽق ػ ٤ خ عشهخ أ ٣ نب ك ٠ رطج ٤ وبد ا navigation كؤهذس أؽذد ب ػشث ٤ ز ٠ خال ػ هش ٣ ن Google map أهذس أػشف ا ٣ ا غبس ا ٠ ؾزبط أ ؾ ٤ خ ػؾب أس ػ ب ؼ ٤... أ ٣ نب ٣ غزخذ ك ٠ ا طبئشاد ا ز ٠ رؾذد ب األ ب ا طبئشاد ا خبفخ ثؼ drive test ؿ ٤ ش ب ا زطج ٤ وبد... فنزة ػ ي : ٣ ز رؾذ ٣ ذ ب ا ؾئ ػ هش ٣ ن 24 ه ش ف بػ ٠ ر اهاله ك ٠ ا لنبء زط ٤ خ ب ت األسك ثؾ ز اف هذ ر مؼ ع ٤ ؼب ثؾ ٤ ش أ ٣ ب ال ٣ و ػ 4 أه بس ف بػ ٤ خ ظب شح أ ١ وطخ ػ ٠ عطؼ ا شح األسم ٤ خ. زح األه بس ا ق بػ ٤ خ رشع ٣ ز very low power radio signals اعزوجب بػ هش ٣ ن ذ ٣ ع بص ا GPS receiver ا ز ٣ ع د ثب ؼشثبد أ ػ ٠ ث ٤ ي كب ٣ و ثبعزوجب اؽبساد أسثؼخ أه بس ف بػ ٤ خ ػ ٠ األه. زح االؽبساد ر ػجبسح ػ اؽبساد ر و ثغشػخ ا ن ء رؾز ػ ٠ ب ا و ش ا ق بػ ٠ ث هذ ؾذد ا ز ٣ ز رؾذ ٣ ذ خال عبػبد رس ٣ خ ر عذ ثب و ش ا ق بػ ٠. 183Page

ا جذأ األعبع ٢ ب ا GPS ثذ ٢ ٣ عذا, كبرا ػ ب ا ب ا ذه ٤ ن و ش ف بػ ٢, S1 ػ ٠ عج ٤ ا ضب, ػ ب أ ص و اإلؽبساد ب T1, زا ٣ غؼ ب ع د ك ٢ وطخ ؾذدح غب ا و ش ا ق بػ ٢. ارا ه ب ا ٥ ثبمبكخ ه ش ف بػ ٢ آخش ب S2, ٣ ؤخز ؽ ا ٢ T1 ا هذ إل ٣ قب اإلؽبساد ا ٤ ب, ع غذ أ ػ ذ ب و ثبعزخذا ا ج ٤ ب بد ا ز ٢ أخز ب ب ا و ش ٣ ا ق بػ ٤٤ ع غزط ٤ غ رؾذ ٣ ذ ب ب ػ ٠ اؽذ ا وبه ا زب ٢ : L1 أ L2. 184Page

ا ٥ أفجؼ األ ش امؼ أ ضش, كبرا ر امبكخ ه ش ف بػ ٢ صب ش, ع غذ أ ب ع د ٣ ػ ٠ أؽذ ا وبه, ك ٢ ضب سه 3, ع غذ أ ب ػ ٠ وطخ L2, ارا أمل ب ه ش ف بػ ٢ ساثغ ع غزط ٤ غ ؽغبة اإلسرلبع ػ هش ٣ ن ا ؼالهخ ا زب ٤ خ ا غبكخ = عشػخ االؽبسح * ص ا ف ا ٠ ا GPS receiver كب غشػخ ٠ عشػخ ا radio wave ا ز ٠ رج ؾ ٣ ز 186,000 miles per second ثز ي ؽغبة ا غبكخ ا ز ٠ رلق ػ األه بس ب ٣ غؼ خ هبدسا ػ ٠ رؾذ ٣ ذ ب وبس خ ث ب. طاق ػ و اى : GPS ٣ ؼ ا GPS ثذهخ ك ٠ األ ب ا لز ؽخ ا غزؾ ٤ أ ٣ غزوج ا GPS receiver االؽبسح ا transmitter ك ٠ األ ب ا وخ ض ا ف, underground garage ؿ ٤ ش ر ي األ ب ا وخ أ ٣ نب ػ ذ ب ٣ عذ ػ ائن رؼ ٤ ن اعزوجب االؽبسح ض ا غجب ا جب ٠ ا ؼب ٤ خ. :GPS receiver 185Page

٣ ز ر ف ٤ ا GPS receiver ثب ٤ ش ك ٠ األؿ ت ػ هش ٣ ن ا غش ٣ ب ث سد, ٣ ؼ ا GPS receiver ػ ٠ power supply ه ٤ ز. 3.3v أؽذ أ اع ا GPS receiver ا د ٣ skylab ر عذ kit اع ب SKM53 ثز ا غزخذ ا ٣ ؼ ب interface غ ا UART ػؾب ٣ ف ا د ٣ غ PC أ microcontroller ب ثؾ خ ػ ٠ 5 power supply ك ذ ػ ط. Features of SKM53 module Ready pin for UART interface, TTL 5V. NMEA protocols (default speed: 9600bps). One serial port. Pin 5 ظ ٤ لز بالر ٠ : ك غذ أ د ٣ ا GPS receiver 186Page

م ف ت ت ص و اى د ه غ اى نز م تز ىز: ٣ ز ر ف ٤ ا ٤ ش زش ش UART pins ثب UART pins د ٣,, ك ٤ ز ر ف ٤ ا ٤ ش زش ش RX pin ثب SKGPS s TX pin ا ؼ ظ ك ٤ ز ر ف ٤ ا TX ا ٤ ش RC7 ٠ RX pin ا.SKGPS's RX pin ٤ ش ثب TX pin ٤ ش PIN. RC6 ٠ ا Reset pin ر ف ٤ ب أخز ٤ بس ف ب أل ؽبثت أػ صس reset SKGPS-53 أص بء ا زؾ ٤ ف ب ا ز ف ٤ ب ثب ؾ. 187Page بز زت اى د ه:

ا ٤ ش زش ش ٣ غزوج ا ذارب ا GPS receiver ك ٠ ف سح NMEA.ا format NMEA protocol ث ٤ جؼذ string strings ث ٤ جذأ ث $ sign ا ز ٠ ر بكئ ) 36 ٣ (ASCII ز ٠ ث ث غ ػخ اsigns ا ز ٠ رجذأ عطش عذ ٣ ذ ض CR ا ز ٠ ر بكئ 13) LF (ASCII ا ز ٠ ر بكئ 10).(ASCII ؼ ٠ ا string ا جؼ ر ٣ ز هق ػ ٠ أ ثؼذ ا $ sign كؼ ٠ عج ٤ ا ضب ا string ا جذ ءح ث خ $GPGLL رؼط ٠ ٤ ؼ بد ػ خط ه ا ؼشك Latitude خط ه ا ط longitude ا ض checksum data validity exact time ا ٠ ثز ٠ ا ٠ أػشف ا ذارب ر اعزوج ب ال ال. دارب لق ث ٤ ب ث ٤ ا ٠ سا ب ث, comma ص ب امؼ ك ٠ ا ضب : ا ٣ ذػ SKM53 module ا NMEA-0183 messages ا زب ٤ خ:.GGA, GLL, GSA, GSV, RMC VTG, ZDA, DTM NMEA output Sequence 188Page

Option Description GGA Time, Position and fix type data. GSA GSV GPS receiver operating mode, active satellites used in the position solution, and DOP values. The number of GPS satellites in view satellite ID numbers, elevation, azimuth, and SNR values. RMC Time, data, position, course and speed data. Recommended Minimum Navigation Information. VTC Course and speed information relative to the ground. GGA-Global Positioning System Fixed Data This sentence contains the position, time and quality of the navigation fix. $GPGGA,033410.000,2232.1745,N,11401.1920,E,1,07,1.1,107.14, M,0.00,M,,*64 Table 2: GGA Data Format 189Page

ك ٠ أؿ ت ا ؾبس ٣ غ ا ٠ ٠ ٣ ا Data Format ا position ا ٠ ثؾذد ػ هش ٣ ن ا,, longitude latitude ػؾب ذ زل ٠ ثز ش ا GGA Data Format ز ا غذ ا ٠ ك م ثب longitude latitude ز ي ا indictor ػؾب أؽذد ؽ ب ال ع ة ال ؽشم ال ؿشة. ارا أسدد ؼشكخ ؼ بد أ ضش ػ ا Data Format األخش, أ ظش ا ٠ ا ذارب ؽ ٤ ذ ا شكوخ ا ز ٠ ٣ رؾ ٤ ب ب أ ٣ نب: http://www.cytron.com.my/usr_attachment/skynav%20skm53%2 0Datasheet.pdf اىبز ا ذ: GPS ب ا ع د ث ا longitude latitude message ا ٠ عب ٣ خ ا ز ٠ ر ثب ؾ ا زب ٠ : 191Page ع و ثؼ ثش ب ظ ٣ ؼشك ا receiver ػ ٠ ؽبؽخ ػبد ٣ خ. اىن د: ٣ ؼز ذ ا د ػ ٠ ك رشر ٤ ت ا

$GPGGA,XXXXXX.XXX,XXXX.XXXX,X,XXXXX.XXXX,X,X, XX,X.X,XXX.XX,X,X.XX,X,,*XX ا X د رؼجش ػ ؽشف ب أ سه ب ؽغت ب ٠. 191Page

ا GPS ػ simulation ػ ٠ ثش رظ,, ك جؼذ ا data format ث ٤ ي أخش ػ هش ٣ ن ا غش ٣ ب ؾ ف ا جش ب ظ ثزبػ ب ػشك ا ج ٤ ب بد ا ٠ ثؼز ب ب ٤ ال أل. ػؾب ذ غ ٠ ا د ا غبثن RX ا د ا خبؿ ثب PIC ا خبفخ ثبالعزوجب,, ؼ د ف ٤ ش غ ٤ خ ٣ جؼذ TX ا ذارب ٤ ش األ. ك ٠ ا اهغ أص بء ا ؼ ٠ ٤ ػ ذ ا GPS ك ؼ ؾزبط أ ف ٤ ش رب ٠ أثؼذ ث ٤ دارب ٤ خ ))د كوو زؤ ذ أص بء ا غ ٤ ٤ ؾ ((. ٤ جؼذ زح ا ذارب ا ٤ خ : 192Page

"$GPGGA,985678.000,8765.8769,N,87467.8768,E,1,9,0.78,98.6,M,99.0,M,,*89" اىذائزة: 193Page

194Page

:GSM modem ع خق ا modem ا ز ٣ ؾجخ ك ٠ ػ ا ز ٤ ل ا ؾ. ك ٤ عذ ث SIM card أهذس أػ ث ٤ ب connection ث ٤ 2 ج ٤ رش ٣ جؼز ا ٣ غزوج ا دارب ثؼل ػ هش ٣ ن,,Serial communication protocol ٣ خز ق ف ثنؼخ اؽ ٤ بء ثغ ٤ طخ ضال ض أ ا ثب ٣ ٣ غزخذ ف ا ال اسعب ا شعبئ ؿ ٤ ش أ ب ا GSM.EMBEDED SYSTEM ٣ غزخذ ف ا زطج ٤ وبد ض رطج ٤ وبد ا MODULE أ ا features ا ٠ ث ٤ كش ب ٠ ا GSM اسعب اعزوجب سعبئ ق ٤ خ SMS ٠ د ؾ س ا ز ب ب ك ٠ زا ا م ع ال ب ػ هش ٣ ن زح ا خق ٤ خ غزط ٤ غ ا زؾ ك ٠ أ ؽئ ك ٠ ا ض أ أ ب ػ هش ٣ ن ا ث ٤ ػ هش ٣ ن اسعب سعبئ. ك ٤ اعزخذا ك ٠ رطج ٤ وبد ا home automation ػ هش ٣ ن ا زؾ ك ٠ ا ش ؽخ ا ز ٤٤ ق... ػ هش ٣ ن ا ث ٤. أ ٣ نب ك ٠ غب ا automotive ػ هش ٣ ن اسعب ا latitude ا longitude ك ٠ سعب خ user ثز ي ٣ غزط ٤ غ ؼشكخ ب ع ٤ بسر... ا ٠ ؿ ٤ ش ر ي ا زطج ٤ وبد. SIM900 AT Command Set 195Page

٣ ذػ ا ؼذ ٣ ذ ا functions ض making phone,sending text messages call ا ٠ ؿ ٤ ش ر ي ا زطج ٤ وبد. task ث ٤ ز ػ هش ٣ ن command ؼ ٤ غ ػخ األ ا ش د رط ن ػ ٤ ب AT Command Set ال ا commands ثزغجن ث خ.AT ا اعزجذا gsm module ثب ثب ٣ ثؾشه ا ٣ ا ثب ٣ الد ا وذ ٣ خ ا ز ٠ رذػ ا. AT COMMANDS الؽع أ ب ٣ ا غزوج سعبئ جؼ ر ث ٤ ػ ٠ ا GSM اسعب ب ٤ ش ث بء ع اال ا ش ٣ و ث action ؼ ٤, أ اسعب سعبئ ا د ٣ أل ث ٤ ص ضال ا زش ش ثزبػ ٠ ؽظ ث ع د ؽش ٣ ن ٣ خ ٠ ا ٣ جؼذ GSM سعب خ ث ٤ ا خبؿ ثقبؽت ا ض ٣ خجش ك ٤ ب ػ ع د ؽش ٣ ن. Interfacing GSM Modem with PC ٣ ز ر ف ٤ ا GSM ثب ج ٤ رش ػ هش ٣ ن ا,, PC serial port السعب ا AT commands ا ج ٤ رش ٣ ز ر ي خال ثش ب ظ hyper terminal زا ا جش ب ظ غزخذ ػ ذ ب ش ٣ ذ اسعب أ ا ا ش ا ٠ أ COMBUTER.INTERFACE Sending SMS هش ٣ وخ اسعب سعب خ ا ج ٤ رش ا ٠ ا :GSM 1_ مغ SIM card أ ؽش خ ؾ )ك اداك, ث ٤ ٤,ارقبالد ) ك ٠ ا SIM ٣ slot ك ٤ سف ٤ ذ. 196Page

ثب غجال ػ هش ٣ ن AC-DC adapter أ ٣ نب ف خ _2 ف ا GSM Modem ا.serial port of the PC 3_ رغط ٤ ت ا hyper terminal ؽغت ا ٣ ذ ص ا ٠ ثزغزخذ خ, أؽ ب غزخذ ٤ ك ٠ ا ؾشػ ثش ب ظ خبؿ ث ٣ ذ ص 7. رنجو ا parameters ثزبػز ص ب ع د ك ٠ ا ق س.. 197Page

4_ ؽ ا GSM Modem ا زظش ؽز ٠ ٣ جذأ ك ٠ ا ؼ,, initialize أص بء كزشح اال زظبس ث غزخذ األ ش ا زب ٠ زؤ ذ أ ا ٣ وذس GSM Modem ٣ ز اف غ أ ع بص أخش. ص ا نو ػ ٠,, enter ا GSM modem الص ٣ شد ث OK.ارا سد ػ ٤ ب ا GSM MODULEث OK ك زا ٣ ذ ػ ٠ ا ا ثب ٣ ا ٣ ؼ GSM MODULE أ ٣ نب ٣ زجغ ظب AT COMMANDS أل ك ٠ ؾ خ ٤ شد ػ ٤ ب ة.Error 5_ جذء ك ٠ اسعب ا AT command GSM Modem ا خبؿ ثبسعب ا شعبئ شع ػ هش ٣ ن ا Text Mode ك ٠ mode رب ٠ شع ث ٤ ثظ ؼ د ؾ س ا ز ب ب. ػؾب نجو االسعب ػ ٠ ا Text Mode جؼذ األ ش ا زب ٠ : ا GSM modem الص ٣ شد ث 198Page. OK 6_ و ثبسعب SMS message ػ هش ٣ ن األ ش ا زب ٠, غ الؽظخ ا ب نغ سه ا برق ا ٠ ػ ص ٣ ا شعب خ رزجؼذ ٤. هجؼب ا شعب خ ززجؼذ ا خو ا ع د ك ٠ ا.GSM

ا ٤٤ ؼ modem response 7_ زت ا شعب خ ا ٠ ػ ص ٣ جؼز ب, جؼز ب ػ هش ٣ ن مو <CTRL+Z> ا ٤ شد modem ثب message ID ا خبؿ ثب شعب خ ا جؼ ر,, د ؼ ب ا ا شعب خ ارشع ذ ثذ ؾب. ذ ا ز ٤ ب ػ ٤ خ اسعب ا شعبئ ا ج ٤ رش ا ٠ ا ثب ٣. GSM MODULE ا Interfacing GSM Modem with Micro 199Page

شع لظ األ ا ش ا غبثوخ ػ هش ٣ ن ا.UART ا ب ٤ ٤ ؼ ا response عب ا د ٣ لزشك ا اonnection ع ٤ خ ل ٤ ؼ.error اىن د: ا ٠ اىذا زة: ثش رظ ل ػ gsm ا ؾزبع ع بص ٣ ظ ش ٠ ا ذارب ا ٠ خبسع ا ٤ ش زش ش ك غزخذ virtual terminal ف RX ثزبع ا ٤ ش غ TX virtual terminal ا ؼ ظ. ؾ ف ا ذارب ٠ ثززجؼذ. ثزبع 211Page

د ك ٠ ا غ ٤ ٤ ؾ ك ٠ ا اهغ ا GSM ا ؾ. لز عش ٣ ب ك ٤ ا ز ف ٤ ب ك ٠ 211Page

ب ػجبسح ػ pin header ف ا RX & TX د ٣ ثب TX & RX ٤ ش, ا GND ثؤسم ٠ ا ذا ٣ شح ا VCC ثب غ ذ ا ع د ك ٠ ا ذارب ؽ ٤ ذ ا ٠ ػبدح ث ٤. 3.3V اىتطب ك اىتا : ظب ؽش ٣ ن ا ب دسعخ ا ؾشاسح رؼ ٠ ػ ؽبع ؼ ٤ خ ٣ جؼذ غذط ٣ و اىن د: ك ٤ ب ا ك ٠ ؽش ٣ ن. 212Page

Receiving SMS ؾشػ األ ػ ٤ خ اعزوجب GSM MODULE 1 _ شس لظ ا خط اد ا غبثوخ 1 ا ٠ 5. شعبئ ا شع هشائز ب. 213Page

2_ أ ب ٣ ا GSM Modem عب ض,, غزخذ ا ث ٤ السعب سعب خ د ٣. 3_ أ ب ا د ٤ زجؼز خ سعب خ ٤ ؼ response أخش character ث ٤ ؼجش ػ ا memory index number ا ٠ ث ٤ غزخذ ك ٠ هشاءح ا شعب خ أ ؽزك ب ك ٠ ا ضب ا غبثن ه ٤ ز 1. 4_ ػؾب اعزوج ا شعب ٣ ا ٠ ا GSM اعزوج ب زت األ ش د. SIM SMS messages ا modem.card ٤ جؼز ٠ هب ٣ خ ث ا ا ٠ ع دح ك ٠ ا responding messages ا غبثوخ رز : +CMGL: <index>,<status>,<from_address>,<mr>,<scts><crlf><data> Index The memory index number, use this index to read or delete this message. Status The status of this message. There might be "REC READ" or "REC UNREAD" for received messages depending on whether the messages have been read or listed before. ا 214Page

from_address The subscriber number of the sender. mr - The reference number of this message. Most modems keep this field empty. Scts - The time when the message is forwarded to this phone or modem. data The actual message data in plain text. CMGR-CNMA-CMGL-CNMI AT COMMANDS ب رؼ ٠ ع ٤ غ ا شعبئ MEANING ALL CNMI CMGL CMGR CNMA NEW message indication List message Read message New message aknowledgment أ ب ػب ٣ ض ع اؽذ ا شعبئ ؾزف ALL أ زت AT+command=memory index نو,, enter األ ش أخذ ا commands األسثؼخ ا ٠ ك م. 5_ ػؾب وش سعب خ اؽذح كوو, غزخذ ا, read command األ الص ؼشف ا index ا خبؿ ثب شعب خ, كؼ ٠ عج ٤ ا ضب ػب ص ٣ وشا سعب خ ك ٠ memory location 1 غزخذ زا األ ش. 215Page

ا GSM ٤ شد ث الؽع ا ؽب خ ا شعب خ ب "REC_READ" ال ب هش ٣ ب ا شعب خ. 6 _ث غشد ا ب هش ٣ ب ا شعب خ كش ب ك ٠ ا ٤ س ٠ ا شعب خ,, ػؾب ٠ ا شعب خ memory location 1 غزخذ زا األ ش. ا د ٤ ٠ ا شعب خ ٣ جؼذ. OK 216Page

217Page

تؼز ف اه : Zigbee ػجبسح ػ standard جش ر االرقبالد ا الع ٤ خ راد ا وذسح ا خلنخ. ٣ ؼز ذ ثش ر ا Zigbee ػ ٠ IEEE 802.15.4 ػجبسح ػ غ ػخ ا power management, addressing, error ا ز ٢ ر فق ػ ٤ خ standard, correction... ا الص خ الر ب ػ ٤ خ االرقب ث ٤ أع ضح االرقب ا شاد ٣ ٣ ثؼن ب ا جؼل. اىفزق ب اه ا : اه Zigbee Xbee Zigbee ب عجن رؼش ٣ ل ثش ر أ ب ا Xbee ك ػجبسح ػ RF module ث ٣ غزخذ microcontroller ثش ر ا Zigbee زؾو ٤ ن االرقب ا الع ٢ الؿشاك ا ز ٢ رؾزبط ا ٠ هذسح خلن سخ ا ز لخ. قار ت ب أ اع اىت ص و اىالسين : بى ا ؼذ ٣ ذ ا اع ا ز ف ٤ ا الع ٢ ا زؾشح ا ؼش ك ض ا Wi-Fi ا Blutooth ا ٤ ق Zigbee أػشف ب ع ا ز ف ٤ ا بعت ٢ ك ٢ رطج ٤ و ٢ ك ٢ زا ا غذ غزؼشك ا وبس ث ٤ ا اع ا ز ف ٤ ا الع ٢ ا زطج ٤ وبد ا ز ٢ ٣ غزخذ ك ٤ ب ع 218Page

: Xbee specification بى أ اع ا Xbee أؽ ش ك ٢ ا غ م ا Xbee ا Xbee-PRO ك ٢ زا ا غضء ا ؾشػ غزؼشك ٤ ل ٤ خ اخز ٤ بس ا Xbee ا بعت زطج ٤ و ٢ Specification XBee XBee-Pro Supply Voltage 2.8 VDC 3.4 VDC 2.8 VDC 3.4 VDC RF Power 0 dbm, 1 mw 18 dbm, 63 mw Outdoor 300 ft (90 m) 1 mile (1.6 km) 219Page

Distance (LOS) Indoor Distance 100 ft (30 m) 300 ft (90 m) Current Draw, Receive Current Draw, Transmit Current Draw, Sleep RF Data Throughput 45 ma 50 ma 50 ma 215 ma < 10 A <10 A 250 kbps 250 kbps Operating Frequency, Channels 2.4 GHz, 16 Channels 2.4 GHz, 12 Channels Receiver Sensitivity -92 dbm -100 dbm ارا ػ ٠ عج ٤ ا ضب ارا ذ أس ٣ ذ ك ٢ رطج ٤ و ٢ و اData غبك ج ٤ ش كب ٢ اعزخذ ا Xbee-PRO ٣ زا ػ ٠ ؽغبة ا وذسح ا غزخذ ا غؼش ثب طجغ ا ب ارا ذ اؽزبط ا ؾلبظ ػ ٠ ا طبهخ ) ض ك ٢ ا sensor network ا ز ٢ ر ك ٢ اال ب ا جؼ ٤ ذ ض ا بثبد ا... كب ٢ ك ٢ ز ا ؾب أؽزبط ؾلبظ ػ ٠ قذس ا طبه 211Page

ا جطبس ٣ خ- ا ز ٢ ذ ١ أله كزش قؼ ثخ ػ ٤ خ ا ق ٤ ب خ( كب ٢ ك ٢ ز ا ؾب اعزخذ ر االعز الى االه ك ٢ ا وذسح زا ٣ رطج ٤ ن ع بعت العزخذا. شنو اىشبناث : ن ت ص و اىشبن بأصذ 211Page

أ اع اه Xbee ف اىشبنت : End point Router Coordinator مكن القول انه األم ف الشبكه. ال مكن ق ام الشبكة اال به وال مكن دخوله ف وضع ال Sleep ألنه هو الذي قوم بعمل ة الضبط للشبكه. Router End point End point البد من أن ستقبل ب انات ضبط الشبكة من ال coordinator ف البدا ة حتى دخل ف الشبكه. تم ز بأنه مكنه الق ام بعملة ال routing للمعلومات المرسله, مكنه إدخال افراد جد ده للشبكه, ال مكنه الدخول ف وضع ال sleep جب ان ستقبل ب انات ضبط الشبكه ف البدا ة حتى دخل ف الشبكة.ال رى من الشبكة اال الجهاز المتصل به. مكن وضعه ف وضع ال sleep End point End point 212Page

: Xbee modes ٣ أ ٣ ؼ ا : ك ٢ Xbee 2 modes mode-1 : AT ٣ غ ٢ أ ٣ نب ثب mode) (Transparent ٣ ؾج زا ا مغ ا ز ف ٤ ا ؼبد ١ ثب طش ٣ و ا serial ع ٢ Tranparent أل ا غزخذ ك ٢ ز ا ؾب ال ٣ ش ع ا ؼ بد ا ز ٢ ٣ و ث و ب أ ب ثش ر ا و ؽ ا ؼ بد خال ػ ٤ خ ا و كز خل ٤ ػ ا غزخذ mode-2 : API ك ٢ ز ا ؾب ٣ ش ا غزخذ ا ؼ بد ا ز ٢ ٣ و ث و ب ثبالمبك ا ثؼل ا ؼ بد االخش ١ ض ا source address ا Checksum value ؿ ٤ ش, أ ١ ا ٣ ش ا Packet ب خ ثب طجغ مغ ز ٣ ا مؼ ٤ اعزخذا بر, ع ج ٤ ر ي ث ؾ ٤ ئخ هللا خال اال ض. 213Page

: Xbee ت ص و اه microcontroller باه ثؤ ١ microcontroller ٣ ر ف ٤ ا Xbee ٣ ذػ ا,٣ UART ر ف ٤ ا Xbee ث ثز ف ٤ هشف ا Tx ك ٢ ا Xbee ك ٢ ا Din ثب طشف microcontroller ر ف ٤ هشف ا Rx ك ٢ ا microcontroller ثب طشف Dout ك ٢ ا Xbee : Xbee configration هج ا جذء ثؼ ٤ خ ا زؾذس الثذ ػ ثؼل ا Xbee configration ر ي خال software ػ ٠ ا ج ٤ رش ٣ غ ٠ X-CTU 214Page

: PC setting ك ٢ زا ا غضء ٣ ز مجو ا COM port زا ا غضء ا ز ١ ٣ زؾ ثزذكن ا ؼ بد ؽ ٤ ش ا غشػ ا ؾغ... ر ي خال مجو ا, Baud rate, Data bits,parity... PINs Xbee : Modem configration ك ٢ زا ا غضء ٣ ز اػذاد ع بص ا... ك ٤ ب ٢ ٣ ع ز ب ثؼل ز االػذاداد ثؾئ ا زلق ٤ ؽ ٤ ش ػ ك ٢ ا ؾج اػذاداد ا 215Page

End Router Coordinator ع اىز اس ف اىشبنت : ب عجن ك ٢ ا ؾشػ كب ٣ ا ٣ ا غ بص point ا ا API mode ا ٣ نب رؾذ ٣ ذ ب ارا ب ٣ ؼ ة AT mode ا ة اعزط ٤ غ رؾذ ٣ ذ زا خال هبئ خ Function set : Addressing هذ ٣ ذ ١ ا ؼذ ٣ ذ ا ؾج بد ا زغب سح ك ٤ ق اعزط ٤ غ ا زؼشف ػ ٠ االع ضح ا ز ٢ ك ٢ ا ؾج ا خبف ث ٢ ؽز ٠ اعزط ٤ غ ا زؾذس ؼ ب 216Page

ثلشك ا زؼشف ػ ٠ االع ض ا ز ٢ ك ٢ ا ؾج ا خبف ث ٢ اسدد ا اسع سعب خبف ا ٠ اؽذ االع ض د ا جبه ٢ ك ٤ ق اعزط ٤ غ كؼ ر ي ٣ ا م ع ثجغبه ب ك ٢ ؽب خ ارا اسدد اسعب سعب ا ٠ اؽذ افذهبئي, كب ي ر زت ػ ٠ ا غ اة ا ؼ ا ا شاد اسعب ا شعب ا ٤ زا ا ؼ ا ٣ ز ا ضش عضء ا ٤ ز ض اع ا طو ص اع ا ؾبسع اخ ٤ شا سه ا ض ثب ض ٣ ا م ع زا ك ٢ ا ؾج ا ز ٢ ذ ٣ ب : ٣ ع بص address )سه ا ض ( غ ػ االع ض ٣ غ ؼ PAN ID )اع ا ؾبسع( ص ٣ غت ا ٣ ا ػ ٠ لظ ا channel )اع ا طو ( ؽز ٠ ٣ غزط ٤ ؼ ا ا زؾذس ٣ ز ر ي ػ ٠ ا جش ب ظ خال 217Page

ثؼل ا ؾبالد ا خبفخ : ك ٢ ؽب خ مغ ا PAN ID ثقلش كب ا غ بص ٣ زؾذس ا ٢ ا ١ ؽج ٣ ك ٢ طبه ب ك ٢ ؽب خ مغ ا Destination address ثقلش كب ا غ بص ٣ ل ا ٣ شع ا ؼ بد ا Coordinator كوو ارا ر مؼ ة 0x0000000000FFFF كب ٣ و ثؼ ٤ خ Broadcasting ا ١ ٣ و ثجش ا ذارب االع ض ا ع د ػ ٠ ا ؾج خ. : PIN configration 218Page

ك ٢ زا ا غضء ٣ ز رؾذ ٣ ذ األهشاف ا غزخذ ا Xbee ب ارا ب ذ Input Digital ا Analog ب ارا ب ذ رغزوج ؼ بد Output ا بز زت اه : microcontroller 219Page

ثؼذ ر ف ٤ ا Xbee ثب ج ٤ رش ػ ػ ٤ خ ا ٣ ز configration ر ف ٤ ثب microcotroller ك ٢ ا ذائشح ب عجن ر م ٤ ؼ ا ا Xbee ا ا ٣ ؼ ا ب AT mode أ API mode ثش غ خز ل ع ف ز ش اال ضبال ز م ٤ ؼ ع : Simple chat program ك ٢ زا ا ضب ٣ ال Xbee ك ٢ مغ ا AT mode ك ٢ زا ا ضب ع ف و ثبسعب خ world" microcontroller "Hello ا ٠. Xbee أخش ػ هش ٣ ن ا microcontroller ك ٢ ا جذا ٣ خ و ثؼ ا configration ال ا Xbee s ب عجن ك ٢ ا ؾشػ ٤ ؼ ب ك ٢ ا AT mode ثب طجغ الثذ ا ٣ أؽذ ب Coordinator االخش ٣ ٣ غت Router مغ لظ ا PAN ID ال ا غ بص ٣ ب عجن ر م ٤ ؾ ك ٢ ا ؾشػ دائزة االرساه : رز ثجغبه ا جش غخ ا كوو ا ا ش ا UART microcotroller Xbee ا microcontroller ال ر عذ ا ا ش عذ ٣ ذ ا ؼزبد UART1_Write_Text("Hello world"); ر ي ثب طجغ ثؼذ ػ ٤ خ ا init. UART ث لظ ا و ٤ ا ز ٢ مؼز ب ك ٢ ػ ٤ خ ا Xbee configration 221Page

دائزة االستقباه : لظ دائشح االسعب غ ص ٣ بدح ر ف ٤ LCD ؼشك ا شعب ا غزوج ػ ٤ ب ثش غخ ا microcontroller ر ا ٣ نب ث لظ ا طش ٣ و ا ؼزبد ك ٢ ا UART ص رؼشك ا شعب ا غزوج ػ ٠ ؽبؽخ ا LCD اى ضاما : ا Zigbee ػ simulation ػ ٠ ثش رظ,, ك جؼذ ا شعب ثزبػز ب ث ٤ ي أخش ػ هش ٣ ن ا غش ٣ ب ؾ ف ا جش ب ظ ثزبػ ب ػشك ا شعب ا ٠ ثؼز ب ب ٤ ال أل. ؼ ثش ب غ ٤ اؽذ RX ا د ا خبؿ ثب PIC ا خبفخ ثبالعزوجب,, د ف ٤ ش رب ٢ غ ٤ خ ٣ جؼذ TX ا ذارب ٤ ش األ. ك ٠ ا اهغ أص بء ا ؼ ٠ ٤ ػ ذ ا zigbee ك ؼ ف ث ٤ االر ٤ PIC ثغ ي ٤ ثب zigbee ))د كوو زؤ ذ أص بء ا غ ٤ ٤ ؾ ((. اى خاه اىخا : Digital input from remote sensor ش ٣ ذ ك ٢ زا ا ضب هشاءح ؽب خ ص اسعب ب. sensor 221Page

٣ مؼ زا ا ضب مؼ ٤ خ ا, API mode كل ٢ ا جذا ٣ خ ٣ ز ػ ا Configration ال ا غ بص ٣ ثؾ ٤ ش ٣ ع بص ا ز ١ ٣ ؼ ى Router ك ٢ ا AT mode )ال ر غ ٠ أ ٣ نب مجو D4 زؼ ى ) Digital input ا غ بص ا Coordinator ك ٢ ا API. mode بز زت اى نز م تز ىز : ب ؽشؽ ب عبثوب ا ك ٢ ؽب خ ا ٣ ؽ ا API mode Xbee كب ا ٣ وشأ ا Packet Packet ا غز ى االر ٢ : ب ش كب ا Packet رؾز ١ ػ ٠ ػذح ؼ بد ا ز ٢ أ ب : Packet ا ز ١ ٣ ل ٤ ذ االؽبسح ا ٠ ثذا ٣ خ ا : start byte : Length ه ا ؾض خ ا غزوج 222Page : Address ٣ ؾز ١ ػ ٠ عضئ ٤ :

1 -ػ ا ا غ بص ا شع 2 -ػ ا ا ؾج خ أ عضئ ٤ ب Digtal Channel Mask ا Analog Channel Mask ؼشكخ ٤ ل ٤ خ هشائز ظش شثؼبد ا ز م ٤ ؼ ثغب ت ا غذ : ٣ ز رؾ ٣ ا شه ا غزوج Hexa ا ٠ Binary ثؾ ٤ ش ٣ وبث ا Xbee Bit ب ك ٢ ا ضب : 0X13 0X00 ارا ا ٠ 0000 0000 0001 0011 High ٣ وشأ D0 & D1 &D3 ثبه ٢ األسع ٣ وشأ Low. سع ؼ ٤ خ ك ٢ ك ٢ ؽب خ ا ضب ا ز ١ و ث ر ثش غخ ا ٤ ش زش ش العزوجب ا ج ٤ ب بد ثب UART ثب طش ٣ وخ ا زو ٤ ذ ٣ خ ص ظش ك ٢ ا غضء ا خبؿ ثب Digital Channel Mask وشأ ؽب خ ا شع D4 و ثبرخبر ا وشاس ث بءا ػ ٠ ؽب ز ب 223Page

224Page

ػجبسح ػ ؽ أؽ ب ا digital communication standard زجبد ا ج ٤ ب بد ػجش غبكبد هق ٤ شح ثبعزخذا short-wavelength radio waves ا ز ٠ رؼ ك ٠ ا ISM band ا ز ٣ زشا ػ 2.402 ا ٠. 2.489 ظ ش ا ج ر س ك ٠ ػب 1994 ث اعطخ Ericson جذ ٣. RS232 serial communications ٣ ز االرقب ػجش ا ج ر س ك ٠ ف سح packets ؽ ٤ ش ر ا ذارب ا جؼ ص وغ خ ا ٠.Bluetooth ٣ ز اسعب ػ هش ٣ ن ه بح ه اد ا packet.packets ػجبسح ػ 79 ه بح اؽذ ب bandwidth وذاس 1MHZ اثزذاءا. Media Access Control (MAC) Bluetooth device 2.402 GHz address د ث ٤ خ ٠ ٤ ك ٠ ؽب خ ا شثو ث ٤ ع بص ٣ ثب ج ر س ٣ لن اؽذ ك ٤ كب ش ا زب ٠ ٣ ؼ ٤ ي ث ٤ ك ٠ ؽب خ ا شؿجخ ك ٠ ا شثو ث ٤ شح أخش. ٣ ؼزجش ا ج ر س هش ٣ وخ و أ خ ث ٤ األع ضح ثؼن ب. Architecture ا Bluetooth communication ث ٤ ز ك ٠ ف سح slave _ master structure ؽ ٤ ش ٣ سثو master اؽذ ثؤ زش ٣ ق slave ػذد ا ٠ عجؼخ,ػبدح ث ٤ master اؽذ ث ٤ slave اؽذ ا master ا ٠ ث ٤ ؾذد أ ٠ ٤ ؼ slave communication ؼب. ك ٠ ؽب خ ع د أ زش, slave ا master ث ٤ ؼ slave switch ا ٠ أخش. 225Page

Bluetooth Modules z اؽ ش اال اع HC-06 HC-05, built in regulator ث ٤ ك ٢ ػ ٤ اؽذ ث ٤ ك ٤ 3.3v ث ٤ ؾز ػ ٢ ك ٢ ا ع ا زب ٢ ال ٣ عذ. ث ٤ ك ٢ 6 pins روغ ٤ بالر ٢ : VCC GND Tx Rx ا 2pins ا جبه ٤٤ ث ٤ غزخذ ا ك ٢ ا configuration ثزبػخ ا BT module ز ٤٤ ش االع ا Password ا.Baud rate د ث ٤ ػ هش ٣ ن ر ف ٤ ا BT Datasheet اعزخذا ا ا ش ؼ ٤ خ ٣ ي سإ ٣ ز ب ك ٢ ا serial port ة Module اال ا ش ب زب ٢ : 226Page

Function Communications Test Change baud rate Baud rate setting can be save even power down. Change Bluetooth device name (device name is the name you want the device to be, and it will be searched with this name) Name setting can be save even power down. AT command Sent : AT receive : OK Sent : AT+BAUD1 receive : OK1200 Sent : AT+BAUD2 receive : OK2400 1---------1200 2---------2400 3---------4800 4---------9600 5---------19200 6---------38400 7---------57600 8---------115200 Sent : AT+NAME device name receive : OK name Change Pincode (xxxx is the pin code you set) Pin code can be save even power down Sent : AT+PINxxxx receive : OKsetpin 227Page

Device ث ٤ خز ق ػ ا زب ٢ كبالكن ا ي روشا ا ذارب ؽ ٤٤ ذ رؼشف اال ا ش ث ب ا ا خبفخ ث ٤ Default settings: Baud rate : 9600 Name : HC-06 or HC-05 Pin code : 1234 ا ؼبد ٣ خ. ثب غجخ ال ا ش ا microcontroller ك ٢ ا ا ش ا UART Connect with micro اىبي ت ث ف ت ص ي باى نز س اه GSM ف ضتاد اى Logic level converter ال اىخزد اىي ب طيغ اى نز ب ن 5v ب ا اىبي ت ث اىذخو بتاػ ب ن 3.3v ػشا مذ ا بستخذ اه level converter د بق اىت ص و باىشنو د 228Page