
在单片机只有一个硬件Uart的情况下,想要复用这个串口通信设备,就得先确保与WiFi模块和RS485模块的通信是由单片机主动发起的,这样才可以分时控制与两个模块的通信;
如果有被动接收数据的情况下,是不能复用的,那么只能通过软件来仿真一个串口了;
Uart不是IIC,没有独占通信总线的功能,要扩展为双UART,需要解决中断接收问题,才能知道接收到的数据是谁发的,比较繁琐,还是建议采用软件来仿真UART好了;51单片机WiFi模块发烫可能是因为以下原因:
1 工作环境温度过高或过潮湿,导致WiFi模块过热。
2 WiFi模块驱动电路不稳定,可能是因为电压不稳定或电路板设计不合理等因素导致的。
3 WiFi模块质量问题,如材料不良、制造工艺不精密等。
解决方法:
1 检查工作环境,避免使用在高温、潮湿等恶劣环境下。
2 对比原理图检查电路设计的合理性,尽量选择稳定的电源和优质的元器件。
3 更换WiFi模块,购买有质量保证和可靠性的产品。采用RS485方式连接和模拟信号方式连接。
1、RS485方式连接是通过RS485总线连接,在变频器和51单片机之间搭建一种网络通信系统。
2、模拟信号方式连接则是通过变频器的模拟信号接口输出对应的模拟信号,由51单片机进行采集和控制。
需要快速数据传输和较高的抗干扰能力,则优先考虑使用RS485方式连接,而对于控制精度要求不是特别高的场合,则可采用模拟信号连接。;显示 Good
ORG 0000H
JMP MAIN
ORG 0080H
MAIN:
MOV P0, #3DH ;显示G
CLR P20 ;选中第一个数码管
LCALL DELAY ;调用延时
SETB P20 ;关显示
MOV P0, #5CH ;显示o
CLR P21 ;选中第二个数码管
LCALL DELAY
SETB P21 ;关显示
MOV P0, #5CH ;显示o
CLR P22 ;选中第三个数码管
LCALL DELAY
SETB P22 ;关显示
MOV P0, #5EH ;显示d
CLR P23 ;选中第四个数码管
LCALL DELAY
SETB P23 ;关显示
AJMP MAIN ;重新开始
DELAY: ;延时子程序
MOV R7, #20H
D1: MOV R6, #30H
D2: DJNZ R6, D2
DJNZ R7, D1
RET
END
;----------------------------------------
;显示 HELLO
ORG 0000H
JMP MAIN
ORG 0080H
MAIN:
MOV P2, #0FFH
MOV P0, #76H ;显示H
CLR P20 ;选中第一个数码管
LCALL DELAY ;调用延时
SETB P20 ;关显示
MOV P0, #79H ;显示E
CLR P21 ;选中第二个数码管
LCALL DELAY
SETB P21 ;关显示
MOV P0, #38H ;显示L
CLR P22 ;选中第三个数码管
LCALL DELAY
SETB P22 ;关显示
MOV P0, #38H ;显示L
CLR P23 ;选中第四个数码管
LCALL DELAY
SETB P23 ;关显示
MOV P0, #3FH ;显示O
CLR P24 ;选中第五个数码管
LCALL DELAY
SETB P24 ;关显示
DELAY: ;延时子程序
MOV R7, #20H
D1: MOV R6, #30H
D2: DJNZ R6, D2
DJNZ R7, D1
RET
END
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)