如何从单片机的一个引脚接收串行数据

来源:百度知道 编辑:UC知道 时间:2024/05/23 12:22:18
计划用单片机接收传感器采集的数据。采用的是传感器集成电路,上电即工作,每采集一次数据就从输出“引脚”发送一组串行数据:波特率9600,一个起始字节(@的ASCII码:40H)和三个字节的数据(每个字节都是一个十六进制数)。请问,如何用C51单片机的一个“引脚”(而不是R232串行接口)接收这组串行数据?传感器上电即工作,如何正确获得采集的数据?请用C语言或汇编语言举例说明。

这个是没有问题的,任意一个IO口都可以接收串行数据,当然最好是用标准串口接收(也就是RXD)。

这个简单的很,你不用现成的TXD口,你模拟一个不就完了吗?模拟一个串行口其实只要一个小函数就OK,帮你写写也成。
我只写发送的,收你自己写。
假设你用P0^0口做发送
void series(uchar byte)
{
uchar j=8;
do
{
byte= (byte<<1);
P0^0=CY;
}while(--j);
}
你要求BAUD率的话,就看你晶振了,自己算下需要多少延时,加进去就行。
这个挺简单的。你要几个字节就往里填好了,模块化程序是你该学的,否则以后怎么能写出好程序呢。