Cho mình hỏi vậy nếu ta truyền một dữ liệu 8bit qua cổng nối tiếp thì làm thế nào vậy?
[code/]
#include <16F877.h>
#device *=16 adc=8
#fuses HS,NOWDT,NOPROTECT,NOLVP
#use delay(clock=20000000)
#use fast_io(a)
#use fast_io(d)
#use rs232(baud=19200,parity=n,xmit=pin_C6,rcv=pin_c7,b its=8)
int8 led[] ={0,1,2,3,4,5,6,7,8,9},k=0;
int8 so[4];
int8 quet[]={128,64,32,16};
int32 a,b,value;
#int_rtcc
void rtcc()
{
set_timer0(99);
b=a;
so[0]=a%10; a/=10;
so[1]=a%10;a/=10;
so[2]=a%10; a/=10;
so[3]=a; a=b;
portd=led[so[k]]+ quet[k]; k++;
if(k==4); k=0;
}
void main()
{
trisa=255;
trisd=0;
setup_adc(adc_clock_internal);
setup_adc_ports(all_analog);
set_adc_channel(0);
set-timer_0(rtcc_internal|rtcc_div_128);
enable_interrupts(int_rtcc);
enable_interrupts(global);
set_timer0(99);
while(true)
{
delay_ms(10);
value=read_adc();
a=value;
}
}
[/code]
Bây giờ để truyền dữ liệu qua cồng nối tiếp , mình phải làm sao đây ?
Bình thường phải tốn hết 8 chân VDK ở port d , nếu truyền qua cổng nối tiếp thì chỉ cần tốn có 2 chân con VDK hà . Rất mong các huynh chi giáo giúp đệ...
Thanks
thay đổi nội dung bởi: LeDuc, 16-11-2007 lúc 01:11 AM.
|