C8051关闭看门狗汇编语言,STC系列单片机 看门狗一旦启动,就无法关闭
[C] syntaxhighlighter_viewsource syntaxhighlighter_copycode#include
#include"STC12C5AXX.h"
#define TM_BASE 100
sbit K1=P2^0;
sbit K2=P2^1;
sbit LED1=P1^0;
sbit LED2=P1^1;
sbit LED3=P1^2;
unsigned char T_BASE=100;//1s基准
unsigned char WDT_TAG=0;
void Delay10ms( ); //延时10ms
void Timer0Init(void);//10毫秒@12.000MHz
void WDTInit(void);//看门狗初始化
void WDTFeed(void);//喂狗函数
/*******************************************************************************
* 函 数 名 : main
* 函数功能 : 主函数
* 输 入 : 无
* 输 出 : 无
*******************************************************************************/
void main(void)
{
unsigned int i,j;
EA=1;
i=0;
j=0;
WDT_TAG=0;
LED1=0;
LED2=0;
WDT_CONTR = 0x07;//把看门狗寄存器设置为关闭状态
/
//让LED3亮3秒,表示程序开始启动
LED3=1;
for(i=0;i<300;i++)
{
Delay10ms();
}
LED3=0;
i=0;
LED3=0;
K1=1;//把按键的电平先拉高,之后再去判断是否按下
Timer0Init();
while(1)
{
if(K1==0)//检测按键K1是否按下
{
Delay10ms();//消除抖动
Delay10ms();//消除抖动
Delay10ms();//消除抖动
if(K1==0)
{
if(LED1==0)
{
LED1=1;
WDTInit();//开启看门狗
WDT_TAG=1;//看门狗标志置1,表示在定时器里面开始喂狗
}
else
{
LED1=0;
WDT_TAG=0;//看门狗标志置0,表示在定时器里面不喂狗
}
while((i<50)&&(K1==0)) //检测按键是否松开
{
Delay10ms();
i++;
}
i=0;
}
}
}
}
void Delay10ms()//@12.000MHz 延时10ms
{
unsigned char i, j;
_nop_();
_nop_();
i = 117;
j = 183;
do
{
while (--j);
} while (--i);
}
void Timer0Init(void)//10毫秒@12.000MHz 定时器0初始化
{
AUXR &= 0x7F;//定时器时钟12T模式
TMOD &= 0xF0;//设置定时器模式
TMOD |= 0x01;//设置定时器模式
TL0 = 0xF0;//设置定时初值
TH0 = 0xD8;//设置定时初值
TF0 = 0;//清除TF0标志
TR0 = 1;//定时器0开始计时
ET0=1;
}
void tm0_isr() interrupt 1 using 1//定时器0中断
{
TL0 = 0xF0;//设置定时初值
TH0 = 0xD8;//设置定时初值
T_BASE--;
if(T_BASE==0) //到1秒后才执行以下操作
{
T_BASE=TM_BASE;
LED2=!LED2;
if(1==WDT_TAG) //看门狗标志为1则喂狗
{
WDTFeed(); //喂狗
}
}
}
void WDTInit(void)
{
WDT_CONTR = 0x37;//使能看门狗,预分频256 理论上喂狗周期为5秒钟以内
}
void WDTFeed(void)
{
WDT_CONTR = 0x37;//喂狗
}
C8051关闭看门狗汇编语言,STC系列单片机 看门狗一旦启动,就无法关闭相关推荐
- STC89系列单片机看门狗的使用及应用程序
转载:STC89系列单片机看门狗的使用及应用程序 "看门狗"概念及其应用在由单片机构成的系统中,由于单片机的工作有可能会受到来自外界电磁场的干扰,造成程序的跑飞,从而陷入死循环,程 ...
- 【摘要】STC系列单片机ISP编程器/烧录器的说明
[摘要]STC系列单片机ISP编程器/烧录器的说明 STC-ISP编程工具 STC-ISP下载编程烧录软件目前版本:STC-ISP软件V6.88K版 在系统可编程(ISP)原理使用说明流程图 STC系 ...
- KEIL中怎样添加STC系列单片机
我们有时在KEIL中新建工程时需要添加STC系列单片机,但就是找不到. 这是因为你安转的Keil软件中没有STC的数据库,所以需要你手动添加.这就需要在STC-ISP软件(这个软件可以在STC网htt ...
- 有关利用PL2303HX USB到RS232 TTL转换器适配器模块把STC89C52RC等STC系列单片机与计算机连接、向Keil添加STC库及hex文件考录方法小结
有关利用PL2303HX USB到RS232 TTL转换器适配器模块把STC89C52RC等STC系列单片机与计算机连接.向Keil添加STC库及hex文件考录方法小结 PL2303HX转换器适配器模 ...
- 单片机 spwm c语言程序,基于STC系列单片机的SPWM波形实现
摘要:文章在比较了多种生成SPWM波的技术基础上,给出了利用等效面积法来产生SPWM波形的工作原理,详细介绍了由单片机STCl2C5410AD的可编程计数器阵列PCA实现SPWM控制软件的编写过程,并 ...
- Keil环境添加STC系列单片机
Keil中一般默认使用AT89系列单片机代替STC系列,虽兼容两者程序,引脚.但由于性能不同,有时需做区分. 使用STC-ISP将STC型号添加到Keil环境 重启Keil 软件,进入魔术棒选项,作如 ...
- STC系列单片机内部EEPROM 测试程序
硬件电路: P1口接8个LED到VCC. 适用硬件: STC12C2052系列(杜洋工作室改进部分) STC12C5AxxAD系列单片机 STC12C52xxAD系列单片机 STC11xx系列单片机 ...
- STC系列单片机软件延时,ms级较精确
#include <reg51.H>#define STC_Y1 97560U // 89C/LEXX.90C/LEXX #define STC_Y3 14050U // 10F/Lxx. ...
- Keil4添加STC系列单片机
俗话说:工欲善其事,必先利其器. 在学习一门编程语言之前,我们必须先安装好它的开发环境,由于工作需求不得不去研究C51单片机的知识.下面就开始安装我们的开发环境keil4. 1,.打开keil的官网h ...
最新文章
- Leangoo 6.2.6 版发布
- java class 生成对象_Java反射机制(创建Class对象的三种方式)
- 人生的抉择-创业纪录片(二)-起步期
- Java中实用类:Date、Calendar、Math、Random、String、StringBuffer的用法
- js 中 document.createEvent的用法-转载
- Maven的基本应用
- apache mysql 密码_apache2 – 无法为mysql“root”用户设置密码
- (转)什么是DevOps?阿里专家为你来解读
- 如何看旷视南京负责人魏秀参跳槽高校工作?
- Android 测试点归纳总结
- 淘宝返利微信公众号怎么使用微信返利机器人查淘宝优惠券及淘宝购物返利?
- 【C语言】扫雷游戏(包含递归展开、手自动标记功能)
- OA流程 工作流设计
- Hexo NexT主题中添加百度分享功能
- vue引用echarts柱形加折线统计图(周月年动态切换数据)
- 笔记本模拟android,适用于PC的顶级7个免费Android模拟器在计算机PC笔记本电脑上运行Android应用...
- 数字接龙 用计算机完成318,微信报名接龙数字如何排列对齐传递
- Ubuntu 16.04 系统 gflags glog 安装
- python打印等腰三角形_Python 打印各种三角形
- 干货 | Reactive模式在Trip.com消息推送平台上的实践
热门文章
- java中选择性插入数据库,选中java数据
- VR工地安全虚拟现实体验:多种事故模拟,第三人称回看
- 华为电视鸿蒙系统最新版本,华为解决互联网电视痛点:鸿蒙系统首发设备欲屏蔽开机广告...
- 如何利用计算机计算高血压患病率,远程西安交通大学17年3月课程考试《流行病与卫生统计(高起专)》作业考核试题...
- 华为机试python需要需要当时编译通过吗_华为校招软开算法岗历年机试编程题77道C++代码详解(五)...
- IOS OpenGL ES GPUImage 差值混合 GPUImageDifferenceBlendFilter
- Flink 源码解析--Stream、Job、ExecutionGraph的生成示例
- 【独家直播】2010 跨界实践 绿色增长 第五届中国互联网站长年会
- MySQL日期格式化函数 DATE_FORMAT
- 手把手教学编写gitlab-ci.yml文件以及应用(最简单易懂实践)