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)


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

原文地址:https://54852.com/yw/11126006.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存