อุปกรณ์
1.Pic16f877
2.Pic7448
3.Resistor
4.Crystal 4MHZ
5.Capacitor
6.ทรานซิสเตอร์
7. 7เซ็กเม้น
8.Led
9.IR เซ็นเซอร์แสง
โค้ด
void main() {
unsigned char dice[]={0b00000001,0b00000010,0b00000011,0b00000100,0b00000101,0b00000110,0b00000111,0b00001000,0b00001001,0b00000000, ประกาศตัวแปร dice เก็บข้อมูลตัวเลข
0b00010001,0b00010010,0b00010011,0b00010100,0b00010101,0b00010110,0b00010111,0b00011000,0b00011001,0b00100000,
0b00100001,0b00100010,0b00100011,0b00100100,0b00100101,0b00100110,0b00100111,0b00101000,0b00101001,0b01000000,
0b01000001,0b01000010,0b01000011,0b01000100,0b01000101,0b01000110,0b01000111,0b01001000,0b01001001,};
unsigned char i; ประกาศตัวแปร i
TRISC=0x0F; กำหนดให้ RC0-3 เป็น INPUT RC 4-7 เป็น OUTPUT
TRISD=0; พอต D เป็น OUTPUT ทั้งหมด
PORTD=0; พอต D ส่งค่าเปน 0 ทั้งหมด
PORTC=0x0F; พอต C ส่งค่า RC 4-7 เป็น 0 RC 0-3 เป็น 1
while(1)
{
if(PORTC.F0==0) ถ้าขา RC0 เท่ากับ 0 ให้ทำในปีกกาล่าง
{
PORTD=dice[i]; พอตD เเสดงข้อมูลใน dice โดยใช้ i ระบุตำแหน่งของ dice
i++; i บวกทีละ1
PORTD.F7=1; พอต D ขา 7 ส่งค่าเป็น 1
delay_ms(500); หน่วงเวลา 500 มิลลิเซค
PORTD.F7=0; พอต D ขา 7 ส่งค่าเป็น 0
while(PORTC.F0==0); ตรวจสอบ พอต C ขา 0 เท่ากับ 0
}
if(i>38) i=0; ถ้า i มากกว่า 38 ให้ i เท่ากับ 0
}
}
คริปวีดีโอ
https://youtu.be/yAYwLYI1tQo