Programming for hardwarians
Upcoming SlideShare
Loading in...5
×
 

Programming for hardwarians

on

  • 256 views

البرمجة للعتاديين

البرمجة للعتاديين

Statistics

Views

Total Views
256
Views on SlideShare
256
Embed Views
0

Actions

Likes
0
Downloads
6
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Programming for hardwarians Programming for hardwarians Presentation Transcript

  • ‫للعتاديين‬ ‫البرمجة‬
  • ‫اليوم‬ ‫محتوى‬ ( ‫الذواكر‬ ، ‫السجل ت‬ ، ‫المخارج‬ ‫و‬ ‫)المداخل‬ ‫الردوينو‬ ‫عن‬ ‫مراجعة‬ ) ‫العتادية‬ ‫البرمجة‬ ‫لغا ت‬HDL – parallel languages – C -ROTS( . ‫برمجي‬ ‫حل‬ ‫و‬ ‫لغة‬ ‫ل ي‬ ‫الساسية‬ ‫المكونا ت‬ ‫مثال‬ – ‫القاطعة‬ : ‫أول‬ ‫)مثال‬ ‫عتادية‬ ‫مشكلة‬ ‫لحل‬ ‫العتادية‬ ‫البرمجة‬ ‫استخدام‬ ‫قيادة‬ : ‫الثاني‬seven segment( . ‫العتاد‬ ‫في‬ ‫البرمجي‬ ‫الكود‬ ‫كتابة‬ ‫عند‬ ‫عملية‬ ‫نصائح‬
  • Digital PINs Analog digital converter ADC PINs crystal Atmega328 Bootloader Programme d with hex file
  • PinMode(10,INPUT); ‫التعليمة‬ ‫هذه‬ ‫داخل‬ ‫العادية‬‫السي‬‫بلغة‬ DDRB |= 0X08 ;
  • Flash ‫التنفيذي‬ ‫البرنامج‬ ‫لتوضع‬ ‫ذاكرة‬ ‫المتحكم‬ ‫على‬
  • x SRAM ‫بعض‬ ‫و‬ ‫المتحولت‬ ‫لتوضع‬ ‫ذاكرة‬ ‫التنفيذ‬ ‫أثناء‬ ‫المتغيرة‬ ‫الأمور‬
  • ‫الذواكر‬ ‫كتابة‬ / ‫قراءة‬ ‫التستخدام‬ ‫التليشي‬ ‫قابلية‬ ‫الذاكرة‬ ( )‫تنفيذ‬ ‫قراءة‬ ( )‫البرنامج‬ ‫حرق‬ ‫كتابة‬ ‫التنفيذي‬ ‫البرنامج‬ ‫متلشية‬ ‫غير‬ flash ( )‫تنفيذ‬ ‫قراءة‬ ( )‫البرنامج‬ ‫حرق‬ ‫كتابة‬ ‫الثابتة‬ ‫المعطيات‬ ‫متلشية‬ ‫غير‬ EEPROM ‫كتابة‬ ‫و‬ ‫قراءة‬ ‫المتحولت‬ ‫متلشية‬ SRAM
  • ‫الرخرى‬ ‫العتادية‬ ‫البرمجة‬ ‫لغات‬ Assembly . HDL . Parallel languages . C language . Embedded systems & RTOS . http://concurrency.cc/ Hex + avrdude http://www.bertos.org/
  • ‫برمجية‬ ‫لغة‬ ‫ل ي‬ ‫الرئيسية‬ ‫المكونا ت‬
  • const int buttonPin = 2; int buttonState; int lastButtonState = LOW; long lastDebounceTime = 0; long debounceDelay = 50; void setup() { pinMode(buttonPin, INPUT); } lastButtonState = reading; } void loop() { int reading = digitalRead(buttonPin); if (reading != lastButtonState) { lastDebounceTime = millis(); } if ((millis() - lastDebounceTime) > debounceDelay) { if (reading != buttonState) { buttonState = reading; } }
  • #define a 8 byte seven_seg_digits[10][7] = {//a,b,c,d,e,f,g { 1,1,1,1,1,1,0 }, // = 0 { 0,1,1,0,0,0,0 }, // = 1 { 1,1,0,1,1,0,1 }, // = 2 { 1,1,1,1,0,0,1 }, // = 3 { 0,1,1,0,0,1,1 }, // = 4 { 1,0,1,1,0,1,1 }, // = 5 { 1,0,1,1,1,1,1 }, // = 6 { 1,1,1,0,0,0,0 }, // = 7 { 1,1,1,1,1,1,1 }, // = 8 { 1,1,1,0,0,1,1 } // = 9 }; void setup() { //debug led pinMode(9,OUTPUT); //7 seg outputs pinMode(a,OUTPUT); //a pinMode(7,OUTPUT); //b pinMode(6,OUTPUT); //c pinMode(5,OUTPUT); //d pinMode(4,OUTPUT); //e pinMode(3,OUTPUT); //f pinMode(2,OUTPUT); //g //switch input pinMode(9,INPUT); } } void segdisply(byte num) { byte pin=2 ; for (byte segCount = 6; segCount < 0; --segCount) { digitalWrite(pin, seven_seg_digits[num][segCount]); ++pin; } /* } void loop() { delay(10000); segdisply(2); 7 seg driver
  • H-bridge
  • # ‫نصيحة‬1. ‫التنفيذ‬ ‫قبل‬ ‫التخطيط‬ # ‫نصيحة‬2. ‫النمطية‬ # ‫نصيحة‬3. ‫الأجايل‬ # ‫نصيحة‬4. ‫التطوير‬ ‫و‬ ‫التعديل‬ ‫قابلية‬ # ‫نصيحة‬5. ‫الملحظات‬ ‫و‬ ‫التوثيق‬