Ðề tài: help lỗi
View Single Post
Old 16-09-2011, 05:29 PM   #2
pstin
Đệ tử 7 túi
 
Tham gia ngày: Jul 2010
Nơi Cư Ngụ: TP HCM
Bài gửi: 190
:
Hic, bác davekieu này đúng là cao thủ võ lâm, sai chính tả nhiều quá, 100 lỗi là phải rồi!!!!!!!!!!!!!!.
Sửa lỗi cho bác đuối luôn, chạy hay không là do bác lập trình thôi!!!!!!!!!.
#include <16F877.h>
#fuses HS, NOWDT, NOLVP, NOBROWNOUT, NOPROTECT, NOPUT
#use delay(clock=12000000)
#use Fast_IO(B)
#use Fast_IO(D)

int dulieuthu=0x00;
int bitdo;
Void xulydulieu();
void xuat(n);
void main()
{
set_tris_d(0); // tat ca chan d deu la ngo ra gan led
set_tris_b(1); // b1 la ngo vao con lai la ngo ra
enable_interrupts(INT_EXT); //cho phep ngat ngoai
ext_int_edge(H_to_L);
enable_interrupts(GLOBAL); // ok ngat
while(1)
{
xulydulieu();
xuat(dulieuthu);
delay_ms(200);
}
}
void xuat(n)
{
if(n==0x00) {output_d(0b11000000);}
else if(n==0x01) {output_d(0b10100100);} //kenh 1
else if(n==0x02) {output_d(0b10110000);} //kenh 2
else if(n==0x03) {output_d(0b10011001);} //kenh 3
else if(n==0x04) {output_d(0b10010010);} //kenh 4
else if(n==0x05) {output_d(0b10000010);} //kenh 5
else if(n==0x06) {output_d(0b11011000);} //kenh 6
else if(n==0x07) {output_d(0b10000000);} //kenh 7
else if(n==0x08) {output_d(0b10010000);} //kenh 8
else if(n==0x09) {output_d(0b11000000);} //kenh 9
else {}; // do nothing
}


#INT_EXT
void xulydulieu()
{
int i;
i=1;
while(input(pin_b0))
{
delay_us(200);
i++;
}
if((i<14)&&(i>8)) //i*2~24. ~2400us
{
for(i=0;i<8;i++)
{
while(input(PIN_B0))
{delay_us(800);}
bitdo=input(PIN_B0);
if (bitdo)// bitdo = 1
{bit_set(dulieuthu,i);}
}
}
}
pstin vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn