วันอังคารที่ 19 มีนาคม พ.ศ. 2562

mini projector ไฟวิ่ง 5 แบบพร้อมจอ LCD แสดงชื่อ

ไฟวิ่ง 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 ตัว

7.คาปาซิเตอร์ 22pf  2 ตัว

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
  }

             }
              }





ไม่มีความคิดเห็น:

แสดงความคิดเห็น