View Single Post
Old 26-11-2012, 01:48 AM   #1
quanghuan299
Nhập môn đệ tử
 
Tham gia ngày: Mar 2012
Bài gửi: 3
:
Send a message via Yahoo to quanghuan299
Pic 16f877a nhận ký tự từ rs232 hiển thị trên led 7 thanh

đây là codec của mình, khi chạy tất cả các led đều tắt, khi nhập kí tự thì tất cả các led đều cho giá trị 0 , các bạn xem giúp mình với


#include <16f877a.h>
#include <def_877a.h>
#use delay(clock=20000000)
#FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP, NOCPD, NOWRT
#use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bi ts=9)


unsigned char dig[10]={
0b00001001,//0
0b00111111,//1
0b10010001,//2
0b00010011,//3
0b00100111,//4
0b01000011,//5
0b01000001,//6
0b00011111,//7
0b00000000,//8
0b00000010,//9
};

int8 count=0;
char string_in[8];

#INT_RDA
Receive_isr() {
int8 c;
count++;
c=getc();
putc(s);
if (s=='s' | s=='S') {Output_b (0) ;count=0;} //Clear Screen
if (count<=8) output_b (dig[10]);
else {count=0;Output_b( 0 );}
}


void main()
{
int led1,led2,led3,led4,led5,led6;
led1=getc()/100000;
led2=(getc() - led1*100000)/10000;
led3=(getc()- led1*100000 - led2*10000)/1000;
led4=(getc()- led1*100000 - led2*10000 - led3*1000)/100;
led5=(getc()- led1*100000 - led2*10000 - led3*1000 - led2*100)/10;
led6=(getc()- led1*100000 - led2*10000 - led3*1000 - led2*100 - led2*100000)%10;
set_tris_b(0);
set_tris_d(0);



output_high(pin_D0) ;
output_b(dig[led1]) ; //led1
delay_ms(100);
output_low(pin_D0);

output_high(pin_D1) ;
output_b(dig[led2]) ; //led2
delay_ms(100);
output_low(pin_D1);

output_high(pin_D2) ;
output_b(dig[led3]) ; //led3
delay_ms(100);
output_low(pin_D2);

output_high(pin_D3) ;
output_b(dig[led4]) ; //led4
delay_ms(100);
output_low(pin_D3);

output_high(pin_D4) ;
output_b(dig[led5]) ; //led5
delay_ms(100);
output_low(pin_D4);

output_high(pin_D5) ;
output_b(dig[led6]) ; //led6
delay_ms(100);



enable_interrupts(int_rda);
enable_interrupts(global);

while (1) {}
}
Hình Kèm Theo
File Type: png 111png.png (170.4 KB, 6 lần tải)

thay đổi nội dung bởi: quanghuan299, 26-11-2012 lúc 08:24 AM.
quanghuan299 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn