การ ทดลองนี้เป็นการทดลองของเอาต์พุตทั้งพอร์ตโดยกำหนดให้ขาพอร์ต B เป็นเอาต์พุต โดยต่อขาพอร์ต B ใช้งานตั้งแต่ RB0 - RB7 โดยที่ LED จะดับเรียงไปเรื่อยๆ และวนกลับมาใหม่
ฟังก์ชั่น rotate_left() เป็นฟังก์ชันการหมุนบิตของข้อมูลไปทางช้าย ของตัวแปร
รูปแบบการใช้งาน: rotate_left(address,bytes);
พารามิเตอร์:
address : แอดเดรสของหน่วยความจำที่พอยน์เตอร์ชี้
bytes : จำนวนไบต์ที่ต่องการหมุน
ฟังก์ชั่น rotate_right()เป็นฟังก์ชันการหมุนบิตของข้อมูลไปทางขวา ของตัวแปร
รูปแบบการใช้งาน: rotate_left(address,bytes);
พารามิเตอร์:
address : แอดเดรสของหน่วยความจำที่พอยน์เตอร์ชี้
bytes : จำนวนไบต์ที่ต่องการหมุน
/*1*/ #include <16F877A.h>
/*2*/ #FUSES NOWDT,HS,NOPROTECT,NODEBUG,NOLVP,NOWRT
/*3*/ #use delay(clock=20000000)
/*4*/ int i=0b00000001;
/*5*/ void main()
/*6*/ {
/*7*/ set_tris_b(0b00000000);
/*8*/ while(TRUE)
/*9*/ {
/*10*/ output_b(i);
/*11*/ delay_ms(500);
/*12*/ rotate_left(&i,1) ;
/*13*/ }
/*14*/ }
ที่ มา : อ. กิตติศักดิ์ แสนประสิทธิ์ ไมโครคอนโทรลเลอร์ เบอร์ PIC18F4550 ฟังก์ชันยูเอสบีการประยุกต์ใช้งาน สาขาเทคโนโลยีอิเล็กทรอนิกส์และคอมพิวเตอร์ คณะเทคโนโลยีอุดสาหกรรม 2555
วีดีโอการทำงาน
วีดีโออธิบายการทำงาน
แสดงความคิดเห็น
Click to see the code!
To insert emoticon you must added at least one space before the code.