MAX232和AT89C2051相连,怎么编写看门狗程序(c语言)?

MAX232和AT89C2051相连,怎么编写看门狗程序(c语言)?,第1张

标题写错了,MAX232是常用的232驱动芯片,和MAX1232完全不搭界。

MAX1232的看门狗复位信号取自ST信号的下降沿,要复位MAX1232的看门狗,需要把ST信号接到任意的CPU管脚,然后写毁顷程序在管脚上输出前余粗一个脉冲就慧镇可以了,程序很简单。

sbit wdt_clr = P1^0

void cleanWDT( void )

{

wdt_clr = 0

_nop()

_nop()

wdt_clr = 1

}

需要注意的就是在程序执行过程中,要严格的保证最小的调用间隔,比如每隔100ms就要调用一次cleanWDT,否则一旦超时,看门狗就会复位CPU。

加入函数:兄陵

void SendData(BYTE dat)

{

while (!TI) //Wait for the previous data is sent

TI = 0 //Clear TI flag

SBUF = dat //Send current data

}

void InitUart()

{

SCON = 0x5a //8 bit data ,no parity bit

TMOD = 0x20 //T1 as 8-bit auto reload

TH1 = TL1 = -(FOSC/12/32/BAUD) //Set Uart baudrate

TR1 = 1 //T1 start running

}

然后在main函数中 :

加入 InitUart();

之后 想发串口数据调用函数:SendData();

如向羡空戚串亏雀口发送0X55 就 SendData(0x55)

这个问题你应该查看一下硬件。

当然,如果说你把单片机的TXD和RXD端口搞反了。导致MAX232负载相当于睁亮迟短路是有可能导致发热。键档但51单片机的这种可悉李能性应该不会很大。当然,最好检测一下,你把单片机去掉,如果MAX232还是发热就和这边没关系了。

MAX232有两种电平,一种是232电平,一种是TTL电平。如果电平搞反了。芯片就会发热不工作。你对下资料再看一下吧。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8235050.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存