ไฟวิ่ง 5 แบบพร้อมจอ LCD แสดงชื่อ
อุปกรณ์
1.สวิท 2 ตัว
2.ตัว R 470 โอห์ม 8 ตัว
ตัว R 10K โอห์ม 2 ตัว
3.LED 10 ตัว
4.IC 877A 1 ตัว
5.LCD 1 ตัว
6.VR 50K 1 ตัว
8.คริสตัล 4m 1 ตัว
Code
char *text = "T"; ประกาศตัวแปร text เก็บข้อความ T
char *text1 = "A"; ประกาศตัวแปร text1 เก็บข้อความ A
char *text2 = "R"; ประกาศตัวแปร text3 เก็บข้อความ R
char *text3 = "P"; ประกาศตัวแปร text4 เก็บข้อความ P
char *text4 = "K";
char *text5 = "S";
char *text6 = "I";
char *text7 = "1";
void main() {
TRISC = 0xFF; พอตc ทั้งหมดเปน input
TRISB = 0; พอต b ทังหมดเปน output
TRISD = 0; พอต D ทั้งหมดเปน output
PORTC = 1 ; พอต b ทังหมดส่งค่าเปน 1
PORTD = 0 ; // พอต D ทั้งหมดส่งค่าเปน 0
Lcd_Init(&PORTB); // ฟังชั่น lcd กำหนดใช้พอต b
Lcd_Cmd(Lcd_CLEAR); //ฟังชั่นล้างหน้าจอ
Lcd_Cmd(Lcd_CURSOR_OFF); //ปิดเคอร์เซอ์
while(1) วนลูป
{
if(PORTC.F1==0) ถ้า พอตc ขา1 เปน 0
{
while(1) { ลูป
Lcd_Out(1, 2, text); แสดงข้อความ text แถว1 หลัก2
PORTD.F0 =1; พอต d ขา0 ส่งค่าเปน 1
delay_ms(400);
PORTD.F0 =0; พอต d ขา0 ส่งค่าเปน 0
delay_ms(100); หน่วงเวลา 100 มิลลิเซค
PORTD.F1 =1; พอต d ขา1 ส่งค่าเปน 1
delay_ms(400);
PORTD.F1 =0;
delay_ms(100);
Lcd_Out(1, 3, text1); เเสดงข้อความของ text1 แถว1 หลัก3
PORTD.F2 =1 ;
delay_ms(400);
PORTD.F2 =0 ;
delay_ms(100);
PORTD.F3 =1 ;
delay_ms(400);
PORTD.F3 =0 ;
delay_ms(100);
Lcd_Out(1, 4, text3);
PORTD.F4 =1 ;
delay_ms(400);
PORTD.F4 =0 ;
delay_ms(100);
PORTD.F5=1 ;
delay_ms(400);
PORTD.F5=0 ;
delay_ms(100);
Lcd_Out(1, 6, text4);
PORTD.F6 =1 ;
delay_ms(400);
PORTD.F6 =0 ;
delay_ms(100);
PORTD.F7=1 ;
delay_ms(400);
PORTD.F7=0 ;
delay_ms(100);
Lcd_Out(1, 7, text5);
PORTD.F7=1 ; //1
delay_ms(400);
PORTD.F7=0 ;
delay_ms(100);
PORTD.F6 =1 ;
delay_ms(400);
PORTD.F6 =0 ;
delay_ms(100);
PORTD.F5=1 ;
delay_ms(400);
Lcd_Out(1, 8, text6);
PORTD.F5=0 ;
delay_ms(100);
PORTD.F4 =1 ;
delay_ms(400);
PORTD.F4 =0 ;
delay_ms(100);
PORTD.F3 =1 ;
delay_ms(400);
PORTD.F3 =0 ;
Lcd_Out(1, 9, text7);
delay_ms(100);
PORTD.F2 =1 ;
delay_ms(400);
PORTD.F2 =0 ;
delay_ms(100);
PORTD.F1 =1;
delay_ms(400);
PORTD.F1 =0;
delay_ms(100);
PORTD.F0 =1;
delay_ms(400);
PORTD.F0 =0;
Lcd_Out(1, 10, text8);
PORTD.F0 =1;
delay_ms(400);
PORTD.F1 =1;
delay_ms(400);
PORTD.F2 =1 ;
delay_ms(400);
PORTD.F3 =1 ;
delay_ms(400);
PORTD.F4 =1 ;
Lcd_Out(1, 11, text9);
delay_ms(400);
PORTD.F5=1 ;
delay_ms(400);
PORTD.F6 =1 ;
delay_ms(400);
PORTD.F7=1 ;
delay_ms(400);
Lcd_Out(1, 12, text10);
PORTD.F0 =0;
delay_ms(400);
PORTD.F1 =0;
delay_ms(400);
PORTD.F2 =0 ;
delay_ms(400);
PORTD.F3 =0 ;
delay_ms(400);
PORTD.F4 =0;
Lcd_Out(1, 13, text11);
delay_ms(400);
PORTD.F5=0;
delay_ms(400);
PORTD.F6 =0 ;
delay_ms(400);
PORTD.F7=0 ;
delay_ms(400);
Lcd_Out(1, 15, text12);
PORTD.F6 =1 ;
delay_ms(400);
PORTD.F6 =0 ;
delay_ms(100);
PORTD.F1 =1;
delay_ms(400);
PORTD.F1 =0;
delay_ms(100);
PORTD.F3 =1 ;
delay_ms(400);
Lcd_Out(1, 16, text13);
PORTD.F3 =0 ;
delay_ms(100);
PORTD.F5=1 ;
delay_ms(400);
PORTD.F5=0 ;
delay_ms(100);
PORTD.F2 =1 ;
delay_ms(400);
PORTD.F2 =0 ;
delay_ms(100);
PORTD.F4 =1 ;
delay_ms(400);
PORTD.F4 =0 ;
delay_ms(100);
PORTD.F7=1 ;
delay_ms(400);
PORTD.F7=0 ;
delay_ms(100);
}
delay_ms(400);
Lcd_Cmd(Lcd_CLEAR); ฟังชั่นล้างหน้าจอ
while(PORTC.F1==0); พอต c ขา 1 เท่ากับ 0
}
}
}