STC89C5X单片机“看门狗”原理、详解和演示程序
时间:01-27
来源:互联网
点击:
076TR0=1;//启动定时器0077}078/*************************************************************************/079080/*************************************************************************/081//串行口初始化程序082voidInitCOM()083{084SCON=0x50;//SCON=(0101 0000)B,波特率不加倍,允许接收085TH1=0xFD;//设置波特率=9600bps086TL1=TH1;087TR1=1;//启动定时器1088}089/*************************************************************************/090091/*************************************************************************/092//定时器0中断服务程序程序,控制信号灯闪烁。如果系统正常运行,信号灯1.5秒闪一次093voidTimer0_isr() interrupt 1094{095TH0=0x4C;096TL0=0x00;097timer0_ctr++;098099if(timer0_ctr>=30)100{101TR0=0;//定时器0暂停,否则再次来中断会冲断程序102timer0_ctr=0;103LED=0;104delay_ms(100);105LED=1;106TR0=1;//定时器0重新启动107}108}109/*************************************************************************/110111voidmain()112{113WEIGOU;//上来第一步设置看门狗定时器,并且启动114InitMain();115InitCOM();116117//开机通过串口发送一次“I love MCU!”,使用串口调试助手可以查看118//由于在while大循环外边,所以只要系统不重新启动,则上电后只会发送一次,用于判断系统是否重启119i=0;120while(str[i]!='\0')121{122SBUF=str[i];123while(TI==0);124TI=0;125i++;126}127128//while大循环129while(true)130{131//约每隔800ms喂一次狗,可以通过调整这里的喂狗时间来验证看门狗是否有效132//我们设置的看门狗约1秒。所以可以用800和2000分别做一次试验,看是否会被看门狗复位133delay_ms(2000);134LED_busy=0;//第一次上电约延时800ms工作灯点亮,如果系统不重启,他将一直亮着,用于指示系统是否重启135WEIGOU;136}137}
单片机 51单片机 MCU 单片机视频教程 单片机开发 ARM单片机 AVR单片机 PIC单片机 Atmel stm32 单片机学习 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)
