Chào các bạn trong bài đăng này mình sẽ hướng dẫn các bạn bài đầu tiên là lập trình sáng tắt 1 con led đơn sử dụng PIC16F877A và trình biên dịch CCS.
- Ảnh mô phỏng protues.
- Đây là code cách 1.
#include <16f877a.h>
#fuses NOLVP,NOWDT,PUT,XT
#use delay(clock=4000000)
void main (void)
{
set_tris_b(0x00);
output_b(0x00);
while(true)
{
delay_ms(100);
output_b(0xff);
delay_ms(500);
output_b(0x00);
}
}
- Đây là code cách 2.
#include <16f877a.h>
#include <def_877a.h> // thư viện do người dùng viết
#fuses NOLVP,NOWDT,PUT,XT
#use delay(clock=4000000)
void main (void)
{
trisb=0x00;
portb=0x00;
while(true)
{
delay_ms(100);
portb = 0xff;
delay_ms(500);
portb=0x00;
}
}
Cách 1 và cách 2 khác nhau ở 1 số lệnh thôi do cách 2 có sử dụng thư viện người dùng viết nên lệnh ngắn hơn. Các bạn có thể chọn 1 trong 2 cách nha cách nào dễ hiểu thì làm !
- Ảnh mô phỏng protues.
- Đây là code cách 1.
#include <16f877a.h>
#fuses NOLVP,NOWDT,PUT,XT
#use delay(clock=4000000)
void main (void)
{
set_tris_b(0x00);
output_b(0x00);
while(true)
{
delay_ms(100);
output_b(0xff);
delay_ms(500);
output_b(0x00);
}
}
- Đây là code cách 2.
#include <16f877a.h>
#include <def_877a.h> // thư viện do người dùng viết
#fuses NOLVP,NOWDT,PUT,XT
#use delay(clock=4000000)
void main (void)
{
trisb=0x00;
portb=0x00;
while(true)
{
delay_ms(100);
portb = 0xff;
delay_ms(500);
portb=0x00;
}
}
Cách 1 và cách 2 khác nhau ở 1 số lệnh thôi do cách 2 có sử dụng thư viện người dùng viết nên lệnh ngắn hơn. Các bạn có thể chọn 1 trong 2 cách nha cách nào dễ hiểu thì làm !
EmoticonEmoticon