通信无非就是两种
加上两种方式:
发送
接收
单片机与电脑通讯原理图:
当我们的单片机向电脑发送数据时,并不是一下子全部发完,而是根据字节数一位一位的发送,每发送一位数据就需要一定的时间,发送两位数据相隔的时间就是通讯的波特率倒数,而一般波特率都非常高,所以发送的时间非常短,所以当单片机要发送数据时,肯定要用到P3.1引脚的TXD。
所以一开始TXD
为高电平
然后变为低电平
并且延时一小段时间
然后开始按位发送数据
每发送一次延时相应时间
然后开始发送下一位
直到八位全部发送完毕
直观图如下:
代码如下:
void main()
{
while(1)
{
UART_Send_Char('A');//不断发送字符A
}
}
void UART_Send_Char(unsigned int uartData)//要发送的数据
{
unsigened int i = 0;
uartTXD = 1;
delay();//延时一段时间
uartTXD = 0;//开始位置低0
delay();
for(i = 0;i<8;i++)
{
if(uartData&0x01)//判断要发送的数据的最低位是高还是低
{
uartTXD = 1;//
}
else
{
uartTXD = 0;//如果是0则置为0
}
//到此发送完所要发送数据的最低一位,然后开始向前移动
delay();//发完延时一段时间
uartData>>=1;//向前移动一位
}
}
然而容易让人忽略的是,并不是要发送的数据每一位都是高电平,需要我们判断。
上一篇:51单片机学习笔记———13.1DS1302实时时钟原理部分
下一篇:51单片机学习笔记———12.1UART串口通信
设计资源 培训 开发板 精华推荐
- LT1076CT 抽头电感降压转换器的典型应用
- WS2812点阵RGB
- L4972A 的典型应用电路,1A/24V 多电源,注意 L4972A 和 L4962 之间的同步
- PLC验证开发板
- DC675A-A,演示电路采用 LT1568CGN,4 阶宽带通滤波器
- 使用 Analog Devices 的 LT4276BIUFD 的参考设计
- FEBFAN48610-M00LPOLA-GEVB:具有直通模式的同步升压稳压器
- 【训练营】一只鸿蒙小狗
- DC679A,LT3463EDD 双路输出转换器演示板,Vin = 2.7V 至 6V,+/- 20Vout,2 个电路,Iout = 5mA 至 9mA 或 7mA 至 13mA
- 使用 Richtek Technology Corporation 的 RT8110A 的参考设计