![]() |
|
Tài trợ cho PIC Vietnam |
||||||||
| Cơ bản về vi điều khiển và PIC Những bài hướng dẫn cơ bản nhất để làm quen với vi điều khiển PIC |
|
|
Ðiều Chỉnh | Xếp Bài |
|
|
#11 | |
|
Đệ tử 7 túi
Tham gia ngày: May 2005
Bài gửi: 258
: |
Trích:
set_tris_b(0);//các chân portb là chân xuất dữ liệu.(nên phím không có tác dụng) set_tris_d(0xff);//các chân portd là chân nhập dữ liệu. sửa bài này như sau: Code:
#include <16F877A.h>
#include <def_877a.h>
#device adc=8
#FUSES NOWDT, HS, PUT, PROTECT, NODEBUG, NOBROWNOUT, NOLVP, NOCPD, NOWRT
#use delay(clock=20000000)
//#use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8)
#use fast_io(b)
int8 i=0;
void densang();
void reset();
#int_rb
void ngatngoai()
{
if((RBIF)&&(RBIE))
{
if(RB4==0)
{
delay_ms(10);//chong rung phim
if(RB4==0)
{
i++;
if(i==10)
{
i=0;
densang();
}
while (RB4==0)//chờ phím nhả
{
}
delay_ms(10);//chong rung phim
}
}
//*******************************
else if(RB5==0)
{
delay_ms(10);//chong rung phim
if(RB5==0)
{
reset();
while (RB5==0)//chờ nhả phím
{
}
delay_ms(10);//chong rung phim
}
}
}
void main()
{
set_tris_b(0xf0);//rb4...rb7 là pin nhập
set_tris_d(0xfe);//pinD0 là pin xuất dữ liệu
enable_interrupts(int_rb);
enable_interrupts(global);
ext_int_edge(H_to_L);
reset();
while(true)
{
}
}
void densang()
{
output_high(PIN_D0);
}
void reset()
{
i=0;
output_low(pin_d0);
}
__________________
viết chương trình cho vdk chạy ổn định là cả một vấn đề. thay đổi nội dung bởi: tdm, 30-10-2010 lúc 10:26 PM. |
|
|
|
|
|
|