一、复位介绍

复位为单片机提供了一条从已知初始条件启动处理的途径。复位期间,大部分控制和状态寄存器被迫使用初始值,单片机的外围模块被禁止,单片机用于复位的复位源有加电复位、外部RESET管脚复位、看门狗复位等。

我们实验对应的硬件复位电路,如下图所示。

这个图中集成了51单片机和AVR单片机的复位电路,对于51单片机,将J12上的跳线帽跳到左侧,则左侧的电路与单片机的复位引脚相连,正常情况由于R14的下拉作用,单片机的复位引脚为低电平,单片机正常工作,如果按下按键,VCC与单片机复位引脚相连,单片机产生复位。

二、例程测试

1、硬件复位

这个实验我们来测试硬件复位功能,测试代码的主要部分如下所示,完整代码可以从本文资源中下载。

void main (void)
{unsigned char j;for(j=0;j<5;j++)       //LED灯闪烁5次{LED1=0;            //将P00口赋值0,对外输出低电平,灯点亮。delay(30000);      //调用延时函数LED1=1;            //将P00口赋值1,对外输出高电平,灯熄灭。delay(30000);      //调用延时函数}for(;;);
}

在这个代码中,LED1闪烁5次,然后进入死循环。将代码烧写到单片机中并运行,LED1闪烁5次,按下复位按键,则LED1重新闪烁5次,说明单片机产生了复位,程序重新从头开始运行。

2、软件复位

这个实验的代码如下所示

void main (void)
{unsigned char j;for(j=0;j<5;j++)       //LED灯闪烁5次{LED1=0;            //将P00口赋值0,对外输出低电平,灯点亮。delay(30000);      //调用延时函数LED1=1;            //将P00口赋值1,对外输出高电平,灯熄灭。delay(30000);      //调用延时函数}delay(60000);    //延时delay(60000);     //延时delay(60000);   //延时ISP_CONTR=0x20;  //软件复位for(;;);
}

从代码中可以看到,上电之后LED1闪烁5次,然后延时,之后通过ISP_CONTR=0x20;语句将单片机软件复位。
将代码烧写到单片机中,LED1闪5下之后熄灭。过几秒之后,又闪5下,如此反复。

51单片机(十二)—— 单片机复位相关推荐

  1. 单片机笔记(1)--单片机概述

    目录 一.单片机概述 二.单片机结构原理 三.单片机硬件系统结构 1.运算部件 2.控制部件 四.存储器结构 1.程序存储器 2.数据存储器 1.程序计数器PC 2.累加器A 3.B寄存器 4.程序状 ...

  2. 51单片机(二十五)—— 独立按键控制LED

    在51单片机的前面的文章中,我们主要讲述了单片机IO口的输出功能的应用,如LED控制.数码管控制等.这篇文章我们来讲解如何用单片机的IO口读取按键的状态,并根据按键的状态来控制LED.关于51单片机按 ...

  3. AS608指纹模块于51单片机的二次开发

    AS608指纹模块于51单片机的二次开发 前言提要 一.初识AS608: 二.设计 1.思路 2.上原理图: 3.程序设计中需要注意的几个点: 串口: 总结 前言提要 记得好久之前听老师说:你们有一个 ...

  4. arduino数码管显示0到9_少儿Python程序第十二讲:单片机控制数码管

    本讲继续学习用Python控制单片机,并用单片机连接和控制其它硬件,具体目标是利用开发板控制四位数码管,显示指定的数字.实验效果如图12.1所示: 图12.1 单片机控制四位数码管显示数字 注意:请先 ...

  5. 51单片机生成二维码

    最近搞了个单片机生成二维码,步骤如下 1.下载QRCode生成的驱动源代码,这个驱动是c语言编写的可以移植到各种c语言写的工程上去,下面附上下载链接: https://download.csdn.ne ...

  6. python编辑七段数码管引脚图_少儿Python程序第十二讲:单片机控制数码管

    本讲继续学习用Python控制单片机,并用单片机连接和控制其它硬件,具体目标是利用开发板控制四位数码管,显示指定的数字.实验效果如图12.1所示:图12.1 单片机控制四位数码管显示数字 注意:请先把 ...

  7. 【连载】物联网全栈教程-从云端到设备(十二)---最简单的单片机上云方法!...

    2019独角兽企业重金招聘Python工程师标准>>> 物联网全栈教程-从云端到设备(十二) 一 经过前面的铺垫,你已经学会了在LinkDevelop上新建一个项目,然后通过使用MQ ...

  8. 从零开始的单片机学习(十二)

    十二.直流电机和步进电机     1.直流电机         a.什么是电机             电机就是一种将电能转化为动能和热能的装置. b.常见电机             (1)交流电机 ...

  9. 51单片机(二)成功点亮LED

    ❤️ 专栏简介:本专栏记录了从零学习单片机的过程,其中包括51单片机和STM32单片机两部分:建议先学习51单片机,其是STM32等高级单片机的基础:这样再学习STM32时才能融会贯通. ☀️ 专栏适 ...

最新文章

  1. 深入理解 RPC 之集群篇
  2. 解决KeyError: ‘acc‘ 和KeyError: ‘val_acc‘错误
  3. 软件测试女孩学适合吗
  4. ext文件系统机制原理剖析
  5. Google Project Zero挖洞经验整理
  6. 最新最全产品删除页代码
  7. Java与正则表达式
  8. 称对方攀附使用近似商标 “汽车之家”起诉索赔500万
  9. javascript精雕细琢(二):++、--那点事
  10. scratch课程案例——猜拳游戏
  11. 【数模】模糊综合评价模型
  12. 打印工资条怎么做到每个人都有表头明细_一键批量生成工资条并群发,操作步骤详解...
  13. NKOI 3539 移棋子游戏[6月月赛题A]
  14. QPalette类详细使用方法
  15. 四电极体脂称解决方案——测量原理
  16. javascript入门及基础语法结构
  17. 小白必看:三层交换机实现VLAN互通实验(图文并茂)
  18. 一只青蛙一次可以跳一级或二级台阶,请问跳n级台阶有多少次跳法之斐波那契数列的非递归写法
  19. root的小米如何升级,小米开发版怎么刷root
  20. C语言第十一章课后程序设计题

热门文章

  1. 概率DP,递推(麻球繁殖,UVA 11021)
  2. 民族企业家周景川:凡事勤则易,凡事惰则难
  3. 叶荣添给你的11条投机建议!
  4. send()函数recv()函数详解
  5. IOS系统通话录音功能的实现方案
  6. 防止你的WP7手机偷跑流量——系统设置篇
  7. phpstorm快速编辑模板技巧
  8. 快乐AK场2 E 删删删越小越好 单调栈
  9. 常用政务网络查询单打印地址
  10. 高通平台WIFI-去掉信号标识上面的叹号和叉叉issue