当前位置: 首页 > news >正文

STC12C5A系列单片机片内看门狗的应用

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
wdt.c

#include "wdt.h"void wdt_init(void)
{WDT_CONTR = 0x24; // 0010 0100 - 1.1377s
}void wdt_feed(void)
{WDT_CONTR |= 0x10; // 喂狗
}

wdt.h

#ifndef _WDT_H_
#define _WDT_H_#include "stc12c5a60s2.h"// 函数声明
extern void wdt_init(void);
extern void wdt_feed(void);#endif

time.c

#include "time.h"extern unsigned char wdt_flag;void Timer0_Init(void)		//1毫秒@11.0592MHz
{TMOD &= 0xF0;			//设置定时器模式TMOD |= 0x01;			//设置定时器模式TL0 = 0x66;				//设置定时初始值TH0 = 0xFC;				//设置定时初始值TF0 = 0;					//清除TF0标志ET0 = 1;TR0 = 1;					//定时器0开始计时
}void timer_isr() interrupt 1
{static unsigned int wdtcnt;TR0 = 0;				//定时器0开始计时wdtcnt++;if(wdtcnt >=1000)       // 1s钟喂狗一次{wdtcnt = 0 ;wdt_flag = 1;}TL0 = 0x66;				//设置定时初始值TH0 = 0xFC;				//设置定时初始值TR0 = 1;				//定时器0开始计时
}

main.c

#include "stc12c5a60s2.h"
#include "time.h"
#include "wdt.h"unsigned char wdt_flag;void main()
{wdt_init();while(1){if(wdt_flag){wdt_flag = 0;wdt_feed();} }
}
http://www.lryc.cn/news/100796.html

相关文章:

  • C语言指针详解
  • RTPS规范v2.5(中文版)
  • LeetCode102.Binary-Tree-Level-Order-Traversal<二叉树的层序遍历>
  • yolov8系列[五]-项目实战-yolov8模型无人机检测
  • Redis 笔记,基本数据类型、持久化、主从、集群等等问题
  • JDK,JRE,JVM三者的关系
  • 行为型-命令模式(Command Pattern)
  • 总结942
  • MFC自定义控件使用
  • 【学习笔记】「ROI 2018 Day 2」无进位加法
  • 分布式I/O,IT和OT融合少不了它
  • 主干网络篇 | YOLOv8 更换主干网络之 VanillaNet |《华为方舟实验室最新成果》
  • AD20. 如何给元器件设计、添加3D模型
  • C++笔记之vector的底层实现和扩容机制
  • JavaSE - Sting类
  • zotero+overleaf插入参考文献
  • C语言每天一练----输出水仙花数
  • Linux-Shell
  • Python读取csv、Excel文件生成图表
  • 虚拟机中Linux的IP地址配置详解
  • Codeforces Round 889 (Div. 2) 题解
  • 系统学习Linux-MySQL用户权限管理(三)
  • 【雕爷学编程】MicroPython动手做(02)——尝试搭建K210开发板的IDE环境4
  • 阿里云NVIDIA A100 GPU云服务器性能详解及租用费用
  • 数字身份、分布式存储、跨链技术等将如何推动Web3数据的发展?
  • Ubuntu 新增2T 硬盘,配置自动挂载
  • Windows下安装HBase
  • 在家构建您的迷你 ChatGPT
  • Cisco IOS操作(红茶三杯CCNA)
  • 在Linux中用strsignal函数输出对各种信号的描述