การใชงานฟังก์ชั่น PIC16F877 เบื้องต้น
ตัวอย่าง ภาพ 1
/* 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();
}
}
}
}
ไม่มีความคิดเห็น:
แสดงความคิดเห็น