หน้าเว็บ

วันเสาร์ที่ 6 กุมภาพันธ์ พ.ศ. 2564

การใชงานฟังก์ชั่น PIC16F877 เบื้องต้น

 การใชงานฟังก์ชั่น PIC16F877 เบื้องต้น





   อุปกรณ์ที่ใช้ทดลอง

                  1.PIC16F877
2.

สำหรับการทดลองโปรเจคนี้ใช้
 IDE 


สำหรับทดลอง simulate ใช้    poteus   



ตัวอย่าง ภาพ 1


                                                             ตัวอย่าง ภาพ 2




การทำงานโค๊ด

/* basic output pic 16f877  hs4qwc 6/2/2021*/
#include <16F877.h>
#fuses HS,NOWDT, NOPROTECT, NOLVP
#use delay(clock=20000000)

#define  LED_1  PIN_B5 //กำหนดขา output
#define  LED_2  PIN_B4 
#define  LED_3  PIN_B3 

#use fast_io(b)
#byte PB =6


int a;
int const i[]={0x08,0x10,0x20 };// กำหนดอาเรย์ port_B 00010000,00001000,00000100


//ฟีงก์ชั่น LED วิ่งสลับกัน
int SHIFT()
{
   for(a=0; a<3; ++a){
   PB = i[a];
   delay_ms(250);
   }      
}


// function LED กระพริบ 5 ครั้งกำหนดตัวเลขได้ตามต้องการ
void flash_led() {

  for(int i=0;i<5;++i)
     {
      output_high(LED_1);
      output_high(LED_2);
      output_high(LED_3);
      delay_ms(150);
      
      output_low(LED_1);
      output_low(LED_2);
      output_low(LED_3);
      delay_ms(150);
     } 
}


//  ***  MAIN ****----
int b;
void main()
{
   set_tris_b(0); // output B

 while(TRUE) {
   delay_ms(200);
   for(b=0;b<=5;++b){
  if(b==5){
   
     flash_led();
     
   }else{
     SHIFT();
   }
   }
 } 
}


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

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