Home work
งานที่ 11
16F877
จากรูปการเชื่อมต่อวงจรด้านบนนี้ เป็นการเชื่อมต่อ Microcontroller PIC เบอร์ 16F877 ซึ่งเป็นไมโครคอนโทรลเลอร์ขนาด 40 ขา โดยต่อออกพอร์ต B ตั้งแต่ RB0-RB7 ผ่านไอซีบัฟเฟอร์เบอร์ 74LS245 เพื่อขยายกระแสไปขับโหลดแสดงผล LED ทั้ง 8 หลอด โดยต่อสัญญาณไฟ 5V เข้าที่ขา 11 และกราวน์เข้าที่ขา 12 ของไมโครคอนโทรลเลอร์
เขียนโค๊ตใช้งานจริง
#include <16F877.h>
#fuses HS, NOPUT, NOWDT, NOPROTECH
#use delay (Clock = 4000000)
void main()
{
while(1)
{
output_high(pin_B0);
delay_ms(500);
output_low(pin_B0);
delay_ms(500);
}
}
อธิบายโปรแกรม
บรรทัดที่ 1 เป็นการเรียกไฟล์ 16F877.h มาร่วมในการคอมไพล์ ทำให้การเขียนโปรแกรม
สามารถใช้รีจิสเตอร์ของ PIC ได้
บรรทัดที่ 2 การกำหนดคุณสมบัติของอุปกรณ์
HS หมายถึง โหมดสัญญาณนาฬิกา แบบ High Speed Crystal/Resonator
คือทำงานที่ความถี่ 4 - 20 MHz
NOPUT หมายถึง ไม่ใช้งานวงจรเพาเวอร์อัพไทเมอร์
NOWDT หมายถึง ไม่ใช้งานวงจรวอตช์ดอกไทเมอร์
NOPROTECH หมายถึง ไม่ป้องกันการกอปปี้โปรแกรม
บรรทัดที่ 3 การเรียกฟังก์ชัน delay และกำหนดค่าสัญญาณนาฬิกาให้มีค่าความถี่เท่ากับ 4 MHz
บรรทัดที่ 5 การวนรอบส่งข้อมูลออกพอร์ต B0 และ while(1) หมายถึงวนรอบตลอดการ
บรรทัดที่ 6 ส่งข้อมูล หรือ ลอจิก "1" ออกที่พอร์ต B0
บรรทัดที่ 7 หน่วงเวลา 500ms หรือ 0.5 วินาที
บรรทัดที่ 8 ส่งข้อมูล หรือลอจิก "0" ออกที่พอร์ต B0
บรรทัดที่ 9 หน่วงเวลา 500ms หรือ 0.5 วินาที
ไม่มีความคิดเห็น:
แสดงความคิดเห็น