ความรู้พื้นฐานทางด้านอิเล็กทรอนิกส์ การเขียนโปรแกรม Arduino และ หุ่นยนต์เบื้องต้น ที่เคยลงไว้แล้ว
นำมาปรับปรุง ในเนื้อหาที่เพิ่มขึ้น
สามารถติดตามได้ในส่วนนี้ ครับ


กลับหน้าหลัก บทความ

ตอนที่ 80ขับ 7 เซ็กเม้นด้วย IC 4511

 

ในตอนนี้จะมาเขียนคำสั่ง แสดงผล 7 เซ็กเม้น ด้วย IC เบอร์ 4511
ซึ่งจะต่อใช้งานเพีึยง 4 ขาเท่านั้น

บทความก่อนหน้านี่ที่เกี่ยวข้องกัน


ตอนที่ 41 เขียนโปรแกรมขับ 7-Segment

ตอนที่ 73 การเขียนโปรแกรมแบบเลขฐาน16


รูปแบบการทำงาน

IC4511

 
 

Datasheet
IC 4511



วงวจรและการใช้งาน


การต่อขาใช้งานทั่วไป ที่ยังไมไ่ด้ต่อกับ Aruino


ต่อวงจรตามรูป


ตารางแสดงการาเข้ารหัสและ การแสดงผลของ 7เซ็กเม้น
ตัวอย่าง ที่ต้องการเลข

การเขียน code แบบทั่วไป และแบบฐาน 16

คำสั่งให้แสดงเลข 3 และ 7

ดูจากตางราง ตัวเลข3
ขา 8 =1
ขา 9 = 1
ขา 10 = 0
ขา 11 =0
เขียน code ได้
---------------------------
digitalWrite(8, HIGH); //3
digitalWrite(9, HIGH);
digitalWrite(10,LOW);
digitalWrite(11,LOW);

---------------------------
เขียนแบบฐ.าน 16 ได้
PORTB=0X03



ดูจากตางราง ตัวเลข 7
ขา 8 =1
ขา 9 = 1
ขา 10 = 1
ขา 11 =0
เขียน code ได้
---------------------------
digitalWrite(8, HIGH); //3
digitalWrite(9, HIGH);
digitalWrite(10, HIGH);
digitalWrite(11,LOW);

---------------------------
เขียนแบบฐ.าน 16 ได้
PORTB=0X07


เขียนทั่วไป
---------------------------
void setup()
{
pinMode(8,OUTPUT);
pinMode(9,OUTPUT);
pinMode(10,OUTPUT);
pinMode(11,OUTPUT);
}

void loop()
{
digitalWrite(8, LOW); //0
digitalWrite(9, LOW);
digitalWrite(10,LOW);
digitalWrite(11,LOW);
delay(1000);

digitalWrite(8, HIGH); //1
digitalWrite(9, LOW);
digitalWrite(10,LOW);
digitalWrite(11, LOW);
delay(1000);

digitalWrite(8, LOW); //2
digitalWrite(9, HIGH);
digitalWrite(10,LOW);
digitalWrite(11, LOW);
delay(1000);

digitalWrite(8, HIGH); //3
digitalWrite(9, HIGH);
digitalWrite(10,LOW);
digitalWrite(11,LOW);
delay(1000);

digitalWrite(8, LOW); //4
digitalWrite(9, LOW);
digitalWrite(10,HIGH);
digitalWrite(11,LOW);
delay(1000);

digitalWrite(8, HIGH); //5
digitalWrite(9, LOW);
digitalWrite(10,HIGH);
digitalWrite(11,LOW);
delay(1000);

digitalWrite(8, LOW); //6
digitalWrite(9, HIGH);
digitalWrite(10,HIGH);
digitalWrite(11,LOW);
delay(1000);

digitalWrite(8, HIGH); //7
digitalWrite(9, HIGH);
digitalWrite(10,HIGH);
digitalWrite(11,LOW);
delay(1000);

digitalWrite(8, LOW); //8
digitalWrite(9, LOW);
digitalWrite(10,LOW);
digitalWrite(11, HIGH);
delay(1000);

digitalWrite(8, HIGH); //9
digitalWrite(9, LOW);
digitalWrite(10,LOW);
digitalWrite(11,HIGH);
delay(1000);
}

เขียนแบบ ฐาน 16
-----------------------

void setup()
{
DDRB=0xFF;
}

void loop()
{
PORTB=0x00;
delay(1000);

PORTB=0x01;
delay(1000);

PORTB=0x02;
delay(1000);

PORTB=0x03;
delay(1000);

PORTB=0x04;
delay(1000);

PORTB=0x05;
delay(1000);

PORTB=0x06;
delay(1000);

PORTB=0x07;
delay(1000);

PORTB=0x08;
delay(1000);

PORTB=0x09;
delay(1000);
}



แสดงการจำลองการทำงานบนเว็บ
ลองดูกันนัครับคงจะไม่ยากเกินไป

เขียนเมื่อ 16 กพ 66 / ติดตามตอนต่อไปครับ