51单片机第27步_单片机工作在睡眠模式
重点学习51单片机工作在睡眠模式。
1、进入“睡眠模式”的方法
通过将PCON寄存器中的PDWN置1,则CPU会进入“睡眠模式”。在“睡眠模式”中,晶振将停止工作,因此,定时器和串口都将停止工作,只有外部中断继续工作。如果单片机电源引脚VCC有2.0伏以上,则RAM 中的数据仍将保存。
退出“睡眠模式”(低功耗模式),有两种方法:
1)、外部中断会让CPU退出“睡眠模式”。
2)、CPU复位引脚出现高电平,引起CPU复位,也会让CPU退出“睡眠模式”。
2、外部中断会让CPU退出“睡眠模式”
程序如下:
#define Enter_PDWN_Mode() PCON=PCON|0x02 //进入“睡眠模式”
#define Exit_PDWN_Mode() PCON &= ~0x02; //CPU退出“睡眠模式”
sbit LED = P1^0; //低电平点亮LED
//函数功能:设置int0和int1为下降沿中断方式;
void EXT_int0_and_int1_initialization()
{ IT0=1; //设置int0为下降沿触发方式;
IT1=1; //设置int1为下降沿触发方式;
//IT0=0; //设置int0为低电平触发方式;
//IT1=0; //设置int1为低电平触发方式;
EX0=1; //允许int0中断;
EX1=1; //允许int1中断;
EA=1; //开总中断允许位;
}
#define OSC_FREQ 12000000L //定义晶振频率为12MHz;
#define T0_Load_Value (65536-50000) //配置T0为50000us中断一次;
//函数功能: Timer0初始化;
void timer0_initializtion(void)
{ TMOD&= 0xF4; //设置GATE0=0,即不允许外部INT0脚控制Timer0;
TMOD|= 0x01; //配置Timer0为方式1(16位定时器);
TL0=T0_Load_Value; //手动装载初值;
TH0=T0_Load_Value>>8;
TR0=1; //当GATE0=0时,TR0=1,表示启动T0开始工作;
ET0=1; //允许Timer0中断;
EA=1; //开总中断允许位;
}
//函数功能:int0中断服务函数,在双击P3.2脚时会进入int0中断服务函数;
void int0_interrupt_service_function() interrupt 0
{
LED=0;//点灯
Exit_PDWN_Mode();//CPU退出“睡眠模式”
}
//函数功能:int1中断服务函数,在双击P3.3脚时会进入int1中断服务函数;
void int1_interrupt_service_function() interrupt 2
{
LED=0;//点灯
Exit_PDWN_Mode();//CPU退出“睡眠模式”
}
//函数功能: Timer0的中断服务函数,每50000us中断一次;
void timer0_interrupt_program() interrupt 1 using 1
{ TL0=T0_Load_Value; //手动装载初值;
TH0=T0_Load_Value>>8;
LED=~LED;
}
}
//函数功能:11.0592MHz延时100us
void Delay100us(void)
{
unsigned char i;
i = 50;
while (i>0){i--;}
}
void Delay_ms(unsigned char x)
{
unsigned char i;
while (x)
{
for(i=0;i<10;i++)Delay100us();
x--;
}
}
void main(void)
{
EXT_int0_and_int1_initialization();
timer0_initializtion(); //Timer0初始化;
LED=1;//关灯
Delay_ms(1000);Delay_ms(1000);Delay_ms(1000);
Enter_PDWN_Mode();
//进入“睡眠模式”
//等待外部中断
while(1)
{
Delay100us();
}
}
相关文章:
51单片机第27步_单片机工作在睡眠模式
重点学习51单片机工作在睡眠模式。 1、进入“睡眠模式”的方法 通过将PCON寄存器中的PDWN置1,则CPU会进入“睡眠模式”。在“睡眠模式”中,晶振将停止工作,因此,定时器和串口都将停止工作,只有外部中断继续工作。如果单片机电源…...
互联网应用主流框架整合之SpringCloud微服务治理
微服务架构理念 关于微服务的概念、理念及设计相关内容,并没有特别严格的边界和定义,某种意义上说,适合的就是最好的,在之前的文章中有过详细的阐述,微服务[v1.0.0][Spring生态概述]、微服务[设计与运行]、微服务[v1.…...
超快的 Python 包管理工具「GitHub 热点速览」
天下武功,无坚不破,唯快不破! 要想赢得程序员的欢心,工具的速度至关重要。仅需这一优势,即可使其在众多竞争对手中脱颖而出,迅速赢得开发者的偏爱。以这款号称下一代极速 Python 包管理工具——uv 为例&…...
网络基础:OSPF 协议
OSPF(Open Shortest Path First)是一种广泛使用的链路状态路由协议,用于IP网络中的内部网关协议(IGP)。OSPF通过在网络中的所有路由器之间交换路由信息,选择从源到目的地的最优路径。OSPF工作在OSI模型的第…...
1456.定长子串中元音的最大数目
思路: 首次是滑动窗口, 然后遍历子字符串,这样复杂度太高,没过测试 改进,滑动窗口先求出第一个窗口中元音数量, 然后利用滑动式,一进一出方式判断首尾是否是原因即可 给你字符串 s 和整数 k 。 …...
基于xilinx FPGA的GTX/GTH/GTY位置信息查看方式(如X0Y0在bank几)
目录 1 概述2 参考文档3 查看方式4查询总结: 1 概述 本文用于介绍如何查看xilinx fpga GTX得位置信息(如X0Y0在哪个BANK/Quad)。 2 参考文档 《ug476_7Series_Transceivers》 《pg156-ultrascale-pcie-gen3-en-us-4.4》 3 查看方式 通过…...
JAVA小知识30:JAVA多线程篇1,认识多线程与线程安全问题以及解决方案。(万字解析)
来 多线程,一个学起来挺难但是实际应用不难的一个知识点,甚至在很多情况下都不需要考虑,最多就是写测试类的时候模拟一下并发,现在我们就来讲讲基础的多线程知识。 一、线程和进程、并发与并行 1.1、线程和进程 线程&am…...
Python数据分析案例47——笔记本电脑价格影响因素分析
案例背景 博主对电脑的价格和配置一直略有研究,正好最近也有笔记本电脑相关的数据,想着来做点分析吧,写成一个案例。基本上描述性统计,画图,分组聚合,机器学习,交叉验证,搜索超参数…...
【加密与解密】【09】GPG Client签名流程
什么是GPG客户端 GPG客户端是实现PGP加密协议的一套客户端程序,可用于加密或签名 下载GPG客户端 建议安装命令行工具,图形工具一般不具备完整功能 https://gnupg.org/download/index.html生成私钥 此时会要求你输入名称,邮箱,…...
“2024软博会” 为软件企业提供集展示、交流、合作一站式平台
随着全球科技浪潮的涌动,软件行业正迎来前所未有的发展机遇,成为了全球新一轮竞争的“制高点”,以及未来经济发展的“增长点”。在当前互联网、大数据、云计算、人工智能、区块链等技术加速创新的背景下,数字经济已经渗透到经济社…...
【Zoom安全解析】深入Zoom的端到端加密机制
标题:【Zoom安全解析】深入Zoom的端到端加密机制 在远程工作和在线会议变得越来越普及的今天,视频会议平台的安全性成为了用户关注的焦点。Zoom作为全球领先的视频会议软件,其端到端加密(E2EE)功能保证了通话的安全性…...
7 动态规划
下面的例子不错: 对于动态规划,能学到不少东西; 你要清楚每一步都在做什么,划分细致就能够拆解清楚! xk. - 力扣(LeetCode) labuladong的算法笔记-动态规划-CSDN博客 动态规划是…...
.net 快速开发框架开源
DF.OpenAPI开源系统 前后端分离,开箱即用,java经典功能.net也具备 系统介绍 DF.OpenAPI是基于Admin.NET二开的,是一个开源的多租户后台管理系统。采用前后端分离技术(前端使用vue.js,后端使用.net 3~.net6ÿ…...
《昇思25天学习打卡营第06天|网络构建》
网络构建 神经网络模型由神经网络层和Tensor操作构成 #实验环境已经预装了mindspore2.2.14,如需更换mindspore版本,可更改下面mindspore的版本号 !pip uninstall mindspore -y !pip install -i https://pypi.mirrors.ustc.edu.cn/simple mindspore2.2.…...
【链表】- 两两交换链表中的节点
1. 对应力扣题目连接 两两交换链表中的节点 2. 实现案例代码 public class ExchangeLinkedListsPairwise {public static void main(String[] args) {// 示例链表:[1, 2, 3, 4]ListNode head new ListNode(1);head.next new ListNode(2);head.next.next new L…...
java设计模式(四)——抽象工厂模式
一、模式介绍 改善在工厂方法模式中,扩展时新增产品类、工厂类,导致项目中类巨多的场面,减少系统的维护成本,且一个工厂可以生成多种产品,而不是同一种的产品,比如一个工厂既可以生产鞋子又可以衣服,而不是只能生产鞋子。 二、工厂方法模式 1、实现步骤 第一步: 定义…...
动物检测yolo格式数据集(水牛 、大象 、犀牛 、斑马四类)
动物检测数据集 1、下载地址: https://download.csdn.net/download/qq_15060477/89512588?spm1001.2101.3001.9500 2、数据集介绍 本数据集含有四种动物可以检测,分别是水牛 、大象 、犀牛 、斑马四类,数据集格式为yolo格式,…...
昇思25天学习打卡营第05天 | 数据变换 Transforms
昇思25天学习打卡营第05天 | 数据变换 Transforms 文章目录 昇思25天学习打卡营第05天 | 数据变换 TransformsCommon TransformsCompose Vision TransformsText TransformPythonTokenizerLookup Lambda Transforms数据处理模式Pipeline模式Eager模式 总结打卡 通常情况下的原始…...
Springboot+MySQL 公寓报修管理系统源码
功能结构图 效果图:...
jenkins 发布服务到linux服务器
1.环境准备 1.1 需要一台已经部署了jenkins的服务器,上面已经集成好了,jdk、maven、nodejs、git等基础的服务。 1.2 需要安装插件 pusblish over ssh 1.3 准备一台额外的linux服务器,安装好jdk 2.流程描述 2.1 配置jenkins,包括p…...
著名学者、顶尖大学教授近期失联
点击下方卡片,关注“CVer”公众号AI/CV重磅干货,第一时间送达点击进入—>【顶会/顶刊】投稿交流群添加微信号:CVer2233,小助手拉你进群!扫描下方二维码,加入CVer学术星球!可以获得最新顶会/顶…...
SEO_10个提升网站排名的实用SEO技巧分享(220 )
<h1 id"seo10seo">SEO:10个提升网站排名的实用SEO技巧分享</h1> <p>在当今互联网时代,搜索引擎优化(SEO)已经成为提升网站流量和吸引潜在客户的关键手段。百度作为中国最大的搜索引擎,其优化规则对整…...
AI虚拟员工平台完整搭建教程:从源码获取到正式上线,全流程记录
温馨提示:文末有资源获取方式最近AI赛道又火了一个新方向,很多人都在讨论,但真正能用起来的没几个。技术门槛摆在那,普通用户想上手确实不容易。今天这篇教程,我把从源码部署到正式上线的完整过程整理出来,…...
当Navicat密码遗忘时:开源解密工具如何重建数据库连接通路
当Navicat密码遗忘时:开源解密工具如何重建数据库连接通路 【免费下载链接】navicat_password_decrypt 忘记navicat密码时,此工具可以帮您查看密码 项目地址: https://gitcode.com/gh_mirrors/na/navicat_password_decrypt 数据库连接中断的三大痛点场景 场…...
LeetCode 2946. 循环移位后的矩阵相似检查【数学周期性+原地比较】简单
本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章…...
别再手动搬虚拟机了!vSphere DRS全自动负载均衡保姆级配置指南(附规则避坑)
别再手动搬虚拟机了!vSphere DRS全自动负载均衡保姆级配置指南(附规则避坑) 想象一下这样的场景:凌晨三点,你被监控告警惊醒——某台ESXi主机CPU负载飙升至95%,而同一集群内其他主机资源利用率不足30%。你不…...
小红书数据采集系统深度探索:从技术原理到实战落地
小红书数据采集系统深度探索:从技术原理到实战落地 【免费下载链接】XiaohongshuSpider 小红书爬取 项目地址: https://gitcode.com/gh_mirrors/xia/XiaohongshuSpider 在当今数据驱动的时代,小红书作为内容丰富的社交平台,其数据价值…...
Surface硬盘不够用?教你用cfadisk把SD卡变本地硬盘(附详细图文)
Surface硬盘扩容实战:用cfadisk将SD卡完美变身本地存储 每次打开Surface的存储设置,看到那根触目惊心的红色容量条,相信不少用户都会感到焦虑。作为微软旗下最受欢迎的移动生产力工具,Surface系列在便携性和性能上表现出色&#x…...
零基础玩转VideoFusion:高效视频批量处理全攻略
零基础玩转VideoFusion:高效视频批量处理全攻略 【免费下载链接】VideoFusion 一站式短视频拼接软件 无依赖,点击即用,自动去黑边,自动帧同步,自动调整分辨率,批量变更视频为横屏/竖屏 项目地址: https://gitcode.com/gh_mirrors/vi/VideoFusion 在数字内容创…...
手把手教你用STM32实现BLDC电机的SPWM控制(附代码调试心得)
STM32实战:无刷直流电机SPWM控制全解析与代码优化指南 从理论到实践:BLDC电机控制的核心逻辑 第一次接触无刷直流电机(BLDC)控制时,我被它优雅的工作原理所吸引——没有电刷的火花和磨损,却能实现高效的能量转换。在工业自动化、无…...
