基于STC8H系列单片机的看门狗复位系统功能调试

STC8H4K64TL单片机介绍

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

STC8H4K64TL单片机管脚图(48个引脚)

在这里插入图片描述在这里插入图片描述在这里插入图片描述

STC8H4K64TL单片机串口仿真与串口通信

在这里插入图片描述在这里插入图片描述在这里插入图片描述

STC8H4K64TL单片机管脚图(32个引脚)

在这里插入图片描述在这里插入图片描述在这里插入图片描述

STC8H4K64TL单片机管脚图(20个引脚)

在这里插入图片描述在这里插入图片描述

STC8H系列单片机管脚说明

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

STC8H系列单片机I/O口

在这里插入图片描述在这里插入图片描述

STC8H系列单片机I/O口相关寄存器

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

STC8H系列单片机配置I/O口

在这里插入图片描述在这里插入图片描述在这里插入图片描述

STC8H系列单片机I/O口结构图

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

STC8H系列单片机如何设置I/O口对外输出速度

在这里插入图片描述

STC8H系列单片机如何设置I/O口电流驱动能力

在这里插入图片描述

STC8H系列单片机如何降低I/O口对外辐射能力

在这里插入图片描述

STC8H系列单片机看门狗复位系统介绍

在这里插入图片描述

STC8H系列单片机看门狗寄存器(WDT_CONTR)

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

基于STC8H4K64TL单片机的串口1打印看门狗复位系统不复位(没喂狗 即看门狗定时器没复位)功能调试编程

main.c

#include <STC8H.h>
#include "Uart1.h"
#include "Timer0Mode0.h"
#include "stdio.h"
#define uchar unsigned char//自定义无符号字符型为uchar
#define uint unsigned int//自定义无符号整数型为uint	
 void PortModeSet()//单片机端口模式设置函数
{
   
  P_SW2 |= 0x80;//允许访问XSFR(扩展特殊功能寄存器)	
  P0M0 = 0x00;//设置P0.0~P0.3为准双向口
  P0M1 = 0x00;//设置P0.4~P0.7为准双向口
  P1M0 = 0x00;//设置P1.0~P1.3为准双向口
  P1M1 = 0x00;//设置P1.4~P1.7为准双向口
  P2M0 = 0x00;//设置P2.0~P2.3为准双向口
  P2M1 = 0x00;//设置P2.4~P2.7为准双向口
  P3M0 = 0x00;//设置P3.0~P3.3为准双向口
  P3M1 = 0x00;//设置P3.4~P3.7为准双向口
  P4M0 = 0x00;//设置P4.0~P4.3为准双向口
  P4M1 = 0x00;//设置P4.4~P4.7为准双向口
  P5M0 = 0x00;//设置P5.0~P5.3为准双向口
  P5M1 = 0x00;//设置P5.4~P5.7为准双向口
 }
 
 void main(void)
{
   
  PortModeSet();//单片机端口模式设置函数
  Uart1Init();//串口1初始化函数
  Timer0Mode0Init();//晶振为12MHz的定时器0的16位自动重装定时模式0的12分频定时1ms初始化函数
  printf("STC8H4K64TL WatchDog No Reposition Test!\r\n");//串口1打印字符串
  WDT_CONTR = 0x24;//看门狗溢出标志位清0 启动看门狗定时器 IDLE模式时看门狗停止计数 设定看门狗定时器时钟分频系数为32 晶振为12MHz主频时溢出时间是大约是1.05秒 即启动看门狗定时器后 看门狗定时器计时 如果看门狗定时器计时1秒内没有清0看门狗定时器 就是让看门狗控制寄存器WDT_CONTR中的清零看门狗定时器寄存器位CLR_WDT置1 否则系统会不断复位 程序会不断重新运行   
  while(1)//主循环
 {
    
   if(SecondFlag == 1)//判断秒标志位变量是否置1
  {
   
    SecondFlag = 0;//秒标志位变量清0 
    LED = ~
  • 7
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值