没有这种单片机,只有带usb功能的单片机,而pic也有带usb功能的单片机,一般都是pic18(8位)、pic24(16位)、pic32(32位)系列的。
如果想要usb转串口,那就买个pic18单片机来做数据转换即可。但要自己写程序和搭电路。
#include<stdioh>
#define port 0x3f8 /利用串口 1 进行通信/
int ch[15];
main ()
{
int a;
int i,j;
int b[6]={88,15,38,26,20,0};
char c;
clrscr();
outportb(port+3,0x80); /准备设置波特率/
outportb(port,0x0C); /波特率设置为 9600bps/
outportb(port+1,0x00);
outportb(port+3,0x03); /8 位数据,无奇偶检验,1 位停止位/
outportb(port+1,0x00); /关中断/
inportb(port+5); /读一次线路状态寄存器,使其复位/
for(;;){
printf("\t\tsend data or receive data: (s or r)\n\n\n");
c=getchar();
switch(c) {
case 's':
case 'S': {
while(!(inportb(port+5)&0x20));/发送保持器满则等待/
outportb(port,0x01); /否则发送数据 01,通知单片机准备接收/
for(i=0;i<6;i++){ /共发送 6 个数据/
a=b[i];
while(!(inportb(port+5)&0x20)) delay(100);/发送保持器满,等待/
outportb(port,a); /发送 a/
printf("%d\n",a); /显示 a/
while(!(inport(port+5)&1)); /接收单片机送回的数据/
ch[i]=inport(port); /保存/
}
delay(10);
for(j=0;j<8;j++) printf("\n%d\n",ch[j]);/显示接收的回送数据/
getch();
break;
}
case'r': /接收数据/
case'R':{
while(!(inportb(port+5)&0x20));
outportb(port,0x02); /发送数据 02,通知单片机发送数据/
for(j=0;j<9;j++) { /共接收 9 个数据/
while(!(inportb(port+5)&1));
ch[j]=inportb(port);
}
for(j=0;j<9;j++) printf("\n %d\n",ch[j]);
getch();
break;
}
}
}
}
大部分PIC单片机都有RS-232模块,按照单片机手册使用相应的TX/RX引脚,再加上RS-232电平转换芯片,一般用MAX202E,就可完成单片机端的电路。与电脑通信时需要做一根数据线,可采用DB9插接件,注意DB9默认第2芯为接收,第3芯为发送,第5芯为GND,用这三个芯就可以,第2芯和第3芯的连接线要交叉,即电脑端DB9的2芯连接单片机端DB9的3芯。台式机电脑都带DB9串口,新型的笔记本没有DB9串口,可配一个USB转DB9串口。单片机端编好程序,电脑上再装一个叫串口精灵的软件,就可收发数据了。
以上就是关于PIC单片机通过什么软件能利用串口转USB下载程序啊急急全部的内容,包括:PIC单片机通过什么软件能利用串口转USB下载程序啊急急、用PIC16F877单片机与PC串口通信,谁能帮忙写代码要用C语言编写的、PIC单片机与电脑串口通信等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)