基于单片机按键控制看门狗仿真设计

news/2024/4/19 17:01:22/

**单片机设计介绍,基于单片机按键控制看门狗仿真设计

文章目录

  • 一 概要
  • 二、功能设计
  • 三、 软件设计
    • 原理图
  • 五、 程序
  • 六、 文章目录

一 概要

  基于单片机按键控制看门狗仿真设计概要主要涉及利用单片机上的按键来控制看门狗的功能,从而实现系统故障的及时检测与处理,提高系统的稳定性和可靠性。以下是该设计的一个概要:

一、设计背景与目标

在实际应用中,单片机系统可能会因软硬件问题或外界干扰而导致死机。为了解决这个问题,我们引入了看门狗机制。看门狗能够在系统出现故障时自动复位单片机,使其恢复正常工作。而基于单片机按键控制看门狗的仿真设计,旨在通过按键方便地控制看门狗的工作状态,简化系统调试过程,并提高系统的可靠性。

二、系统组成与工作原理

该系统主要由单片机、看门狗芯片、按键以及其他外设(如显示器)组成。单片机作为控制核心,负责接收按键输入并根据输入控制看门狗的工作状态。看门狗芯片则负责监测系统的运行状况,并在系统出现故障时自动复位单片机。

工作原理如下:当系统正常运行时,看门狗芯片会按照设定的时间间隔进行喂狗操作,以保持其工作状态。当系统出现故障导致单片机死机时,看门狗芯片将无法接收到喂狗信号,从而触发复位操作,使单片机重新启动。而通过按键控制,用户可以方便地启动或关闭看门狗功能,以及设置看门狗的定时时间和喂狗周期等参数。

三、仿真设计流程

确定单片机型号和看门狗芯片型号,根据设计要求选择适合的型号。
设计并搭建仿真电路,包括单片机、看门狗芯片、按键以及其他外设的连接。
编写程序实现按键控制看门狗的功能。在程序中,可以添加一个按键中断函数,通过按下按键触发中断,从而启动或停止看门狗。同时,设置看门狗的定时时间和喂狗周期等参数。
在程序中增加一些提示信息,将看门狗的状态和剩余时间等信息在显示器上显示出来,方便用户了解系统状态。
进行仿真测试,检查程序是否符合要求,是否正常运行。在仿真环境中模拟系统故障情况,验证看门狗是否能够正确触发复位操作。
在实际硬件上进行测试,验证程序的可行性和稳定性。
四、优化与扩展

优化看门狗的参数设置,使其更加符合实际应用需求。
增加更多的外设和功能,如温度传感器、湿度传感器等,扩展系统的应用范围。
引入更高级的控制算法和智能技术,提高系统的控制精度和智能化水平。
综上所述,基于单片机按键控制看门狗仿真设计是一种有效的解决方案,能够提高系统的稳定性和可靠性,简化系统调试过程。通过合理的设计和优化,可以实现更高效、更智能的控制系统。

二、功能设计

1. 89S51的看门狗必须由程序激活后才开始工作。所以必须保证CPU有可靠的上电复位。否则看门狗也无法工作。
2. 看门狗使用的是CPU的晶振。在晶振停振的时候看门狗也无效。
3. 89S51只有14位计数器。在16383个机器周期内必须至少喂狗一次。而且这个时间是固定的,无法更改。
当晶振为12M时每16个毫秒需喂狗一次。

三、 软件设计

本系统原理图设计采用Altium Designer19,具体如图。在本科单片机设计中,设计电路使用的软件一般是Altium Designer或proteus,由于Altium Designer功能强大,可以设计硬件电路的原理图、PCB图,且界面简单,易操作,上手快。Altium Designer19是一款专业的整的端到端电子印刷电路板设计环境,用于电子印刷电路板设计。它结合了原理图设计、PCB设计、多种管理及仿真技术,能够很好的满足本次设计需求。

————————————————

仿真实现
本设计利用protues8.7软件实现仿真设计,具体如图。

Protues也是在单片机仿真设计中常用的设计软件之一,通过设计出硬件电路图,及写入驱动程序,就能在不实现硬件的情况进行电路调试。另外,protues还能实现PCB的设计,在仿真中也可以与KEIL实现联调,便于程序的调试,且支持多种平台,使用简单便捷。
————————————————

原理图

在这里插入图片描述

在这里插入图片描述

五、 程序

本设计利用KEIL5软件实现程序设计,具体如图。作为本科期间学习的第一门编程语言,C语言是我们最熟悉的编程语言之一。当然,由于其功能强大,C语言是当前世界上使用最广泛、最受欢迎的编程语言。在单片机设计中,C语言已经逐步完全取代汇编语言,因为相比于汇编语言,C语言编译与运行、调试十分方便,且可移植性高,可读性好,便于烧录与写入硬件系统,因此C语言被广泛应用在单片机设计中。keil软件由于其兼容单片机的设计,能够实现快速调试,并生成烧录文件,被广泛应用于C语言的编写和单片机的设计。
在这里插入图片描述

————————————————

在这里插入图片描述

六、 文章目录

目 录

摘 要 I
Abstract II
引 言 1
1 控制系统设计 2
1.1 主控系统方案设计 2
1.2 传感器方案设计 3
1.3 系统工作原理 5
2 硬件设计 6
2.1 主电路 6
2.1.1 单片机的选择 6
2.2 驱动电路 8
2.2.1 比较器的介绍 8
2.3放大电路 8
2.4最小系统 11
3 软件设计 13
3.1编程语言的选择 13
4 系统调试 16
4.1 系统硬件调试 16
4.2 系统软件调试 16
结 论 17
参考文献 18
附录1 总体原理图设计 20
附录2 源程序清单 21
致 谢 25


http://www.ppmy.cn/news/1405475.html

相关文章

LeetCode-146. LRU 缓存【设计 哈希表 链表 双向链表】

LeetCode-146. LRU 缓存【设计 哈希表 链表 双向链表】 题目描述:解题思路一:双向链表,函数 get 和 put 必须以 O(1) 的平均时间复杂度运行。一张图:知识点__slots__ 解题思路二:0解题思路三:0 题目描述&am…

Maven入门指南:构建与管理Java项目的利器

引言 在Java开发领域,项目构建和管理是一个至关重要的环节。随着项目规模和复杂度的不断增加,有效地管理项目的依赖、构建过程以及部署流程变得尤为关键。在这样的背景下,Apache Maven作为一款优秀的项目管理工具应运而生,成为了…

STC8H8K64U 学习笔记 - 基础代码

STC8H8K64U 学习笔记 - 基础代码 环境说明引脚说明 基础代码电动马达蜂鸣器小蓝灯LED 灯走马灯来回灯流水灯流水逐灭灯相遇灯 独立按键 串口串口接收查询按键反馈 环境说明 该内容仅针对我自己学习的开发板做的笔记,在实际开发中需要针对目标电路板的原理图进行针对…

使用浏览器打开本地的exe程序并传递参数

使用浏览器打开本地的exe程序并传递参数 html文件 其中OpenProgramByBroswer: 为协议名称&#xff0c;名称后面要跟上英文的冒号。 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport&…

【讲解下Gitea】

&#x1f308;个人主页:程序员不想敲代码啊 &#x1f3c6;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f44d;点赞⭐评论⭐收藏 &#x1f91d;希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff0c;让我们共…

基于Springboot + MySQL + Vue 大学新生宿舍管理系统 (含源码)

目录 &#x1f4da; 前言 &#x1f4d1;摘要 &#x1f4d1;操作流程 &#x1f4da; 系统架构设计 &#x1f4da; 数据库设计 &#x1f4ac; 管理员信息属性 &#x1f4ac; 学生信息实体属性 &#x1f4ac; 宿舍安排信息实体属性 &#x1f4ac; 卫生检查信息实体属性 &…

使用vuepress搭建个人的博客(一):基础构建

前言 vuepress是一个构建静态资源网站的库 地址:VuePress 一般来说,这个框架非常适合构建个人技术博客,你只需要把自己写好的markdown文档准备好,完成对应的配置就可以了 搭建 初始化和引入 创建文件夹press-blog npm初始化 npm init 引入包 npm install -D vuepress…

docker安装rabbitMQ,并且创建账号

# 创建docker容器启动,挂到后台运行 docker run -d --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:3.13-management # 打开防火墙 sudo firewall-cmd --zonepublic --add-port5672/tcp --permanent sudo firewall-cmd --zonepublic --add-port15672/tcp --permanent s…

P2089 烤鸡——Python解答

题目背景 猪猪 Hanke 得到了一只鸡。 题目描述 猪猪 Hanke 特别喜欢吃烤鸡&#xff08;本是同畜牲&#xff0c;相煎何太急&#xff01;&#xff09;Hanke 吃鸡很特别&#xff0c;为什么特别呢&#xff1f;因为他有 1010 种配料&#xff08;芥末、孜然等&#xff09;&#xf…

【电路笔记】-逻辑与门

逻辑与门 文章目录 逻辑与门1、概述2、2 输入晶体管与门3、数字与门类型4、7408 四路 2 输入与门逻辑与门是一种数字逻辑电路,仅当其所有输入均为高电平时,其输出才会变为高电平至逻辑电平 1。 1、概述 数字逻辑与门的输出状态仅在其任何输入处于逻辑电平“0”时再次返回“低…

知识图谱在五大智能领域的应用

知识图谱是一种新型的图数据模型&#xff0c;其核心思想是&#xff1a;通过实体和关系来描述一个数据集&#xff0c;而不是像传统关系数据库那样&#xff0c;将数据存储在不同的数据库中&#xff0c;而是可以让用户对数据进行检索和分析。知识图谱通过三元组&#xff08;实体、…

Linux提权!!!

上一篇文章讲了Windows的提权&#xff0c;那么这篇文章就来讲一下Linux的提权 1.SUID提权 suid权限 作用&#xff1a;让普通用户临时拥有该文件的属主的执行权限&#xff0c;suid权限只能应用在二进制可执行文件&#xff08;命令&#xff09;上&#xff0c;而且suid权限只能设置…

《QT实用小工具·三》偏3D风格的异型窗体

1、概述 源码放在文章末尾 可以在窗体中点击鼠标左键进行图片切换&#xff0c;项目提供了一些图片素材&#xff0c;整体风格偏向于3D类型&#xff0c;也可以根据需求自己放置不同的图片。 下面是demo演示&#xff1a; 项目部分代码如下所示&#xff1a; 头文件部分&#xff…

linux设置Nacos自启动

前提&#xff1a;已经安装好nacos应用 可参考&#xff1a;Nacos单机版安装-CSDN博客 1. 创建nacos.service 1.1 在 /lib/systemd/system 目录底下&#xff0c;新建nacos.service文件 [Unit] Descriptionnacos Afternetwork.target[Service]Typeforking# 单机启动方式&#…

I2C总线与AT24C02

目录 I2C总线 I2C总线介绍 I2C电路规范 I2C时序结构 起始与终止 代码理解 发送字节 代码理解 接收字节 代码理解 数据应答 代码理解 I2C的数据据帧 发送数据帧 接收数据帧 发送接收数据帧 AT24C02芯片 AT24C02介绍 引脚及应用电路 内部结构图 AT24C02数据…

对【AI技术创业】有哪些机会进行分析和引导

文章目录 方向一&#xff1a;行业解决方案,以下是一些常见的行业解决方案&#xff1a;方向二&#xff1a;智能产品和服务,以下是一些智能产品和服务的示例&#xff1a;方向三&#xff1a;教育和培训 1.智能客户服务&#xff1a; 利用自然语言处理&#xff08;NLP&#xff09;和…

【Algorithms 4】算法(第4版)学习笔记 23 - 5.4 正则表达式

文章目录 前言参考目录学习笔记1&#xff1a;正则表达式1.1&#xff1a;表示1.2&#xff1a;快捷表示2&#xff1a;正则表达式与非确定有限状态自动机 REs and NFAs2.1&#xff1a;二元性2.2&#xff1a;模式匹配实现2.3&#xff1a;非确定有限状态自动机 Nondeterministic fin…

go: go.mod file not found in current directory or any parent directory.如何解决?

这个错误表明你正在执行 go get 命令&#xff0c;但是当前目录或任何父目录中都找不到 go.mod 文件。这可能是因为你的项目还没有使用 Go Modules 进行管理。 要解决这个问题&#xff0c;有几种方法&#xff1a; go mod init <module-name> 其中 <module-name>…

Quill文档(五):Delta格式

富文本编辑器缺乏一种表达其自身内容的规范。直到最近&#xff0c;大多数富文本编辑器甚至不知道它们自己的编辑区域中有什么内容。这些编辑器只是传递用户的HTML&#xff0c;以及解析和解释这些HTML的负担。在任何给定的时间&#xff0c;这种解释都会与主要浏览器供应商的解释…

OpenCV与AI深度学习 | OpenCV中八种不同的目标追踪算法

本文来源公众号“OpenCV与AI深度学习”&#xff0c;仅用于学术分享&#xff0c;侵权删&#xff0c;干货满满。 原文链接&#xff1a;OpenCV中八种不同的目标追踪算法 目标跟踪作为机器学习的一个重要分支&#xff0c;加之其在日常生活、军事行动中的广泛应用&#xff0c;受到…