当前位置: 首页 > article >正文

【电机控制器】STC8H1K芯片——低功耗

【电机控制器】STC8H1K芯片——低功耗


文章目录

    • @[TOC](文章目录)
  • 前言
  • 一、芯片手册说明
  • 二、IDLE模式
  • 三、PD模式
  • 四、PD模式唤醒
  • 五、实验验证
    • 1.接线
    • 2.视频(待填)
  • 六、参考资料
  • 总结

前言

使用工具:
1.STC仿真器烧录器


提示:以下是本篇文章正文内容,下面案例可供参考

一、芯片手册说明

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

二、IDLE模式

IDLE模式的外设还会工作,例如定时器,串口等

#include "stc8h.h"
#include "intrins.h"
void INT0_Isr() interrupt 0 
{
	P34 = ~P34; //测试端口
}
void main()
{
	P_SW2 |= 0x80; //使能访问 XFR,没有冲突不用关闭
	P0M0 = 0x00;
	P0M1 = 0x00;
	P1M0 = 0x00;
	P1M1 = 0x00;
	P2M0 = 0x00;
	P2M1 = 0x00;
	P3M0 = 0x00;
	P3M1 = 0x00;
	P4M0 = 0x00;
	P4M1 = 0x00;
	P5M0 = 0x00;
	P5M1 = 0x00;
	EX0 = 1; //使能 INT0 中断,用于唤醒 MCU
	EA = 1;
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	PCON = IDL; //MCU 进入 IDLE 模式
	// PCON = PD; //MCU 进入掉电模式
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	P35 = 0;
while (1);
}

三、PD模式

PD模式的外设停止工作

四、PD模式唤醒

唤醒后继续工作,唤醒的方式

#include "stc8h.h"
#include "intrins.h"
void INT0_Isr() interrupt 0 
{
	P10 = !P10; //测试端口
}
void INT1_Isr() interrupt 2 
{
	P10 = !P10; //测试端口
}
void INT2_Isr() interrupt 10 
{
	P10 = !P10; //测试端口
}
void INT3_Isr() interrupt 11 
{
	P10 = !P10; //测试端口
}
void INT4_Isr() interrupt 16 
{
	P10 = !P10; //测试端口
}
void main()
{
	P_SW2 |= 0x80; //使能访问 XFR,没有冲突不用关闭
	P0M0 = 0x00;
	P0M1 = 0x00;
	P1M0 = 0x00;
	P1M1 = 0x00;
	P2M0 = 0x00;
	P2M1 = 0x00;
	P3M0 = 0x00;
	P3M1 = 0x00;
	P4M0 = 0x00;
	P4M1 = 0x00;
	P5M0 = 0x00;
	P5M1 = 0x00;
	IT0 = 0; //使能 INT0 上升沿和下降沿中断
	// IT0 = 1; //使能 INT0 下降沿中断
	EX0 = 1; //使能 INT0 中断
	IT1 = 0; //使能 INT1 上升沿和下降沿中断
	// IT1 = 1; //使能 INT1 下降沿中断
	EX1 = 1; //使能 INT1 中断
	INTCLKO = EX2; //使能 INT2 下降沿中断
	INTCLKO |= EX3; //使能 INT3 下降沿中断
	INTCLKO |= EX4; //使能 INT4 下降沿中断
	EA = 1;
	PCON = 0x02; //MCU 进入掉电模式
	_nop_(); //掉电模式被唤醒后,MCU 首先会执行此语句
	//然后再进入中断服务程序
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
while (1)
{
	P11 = ~P11;
}
}

五、实验验证

1.接线

直流稳压电源——万用表——MCU供电端口

2.视频(待填)

六、参考资料

STC8–休眠唤醒
STC8H1K08 - IDLE - 空闲模式
STC8H低功耗研究
STC8H系列—3.省电模式与唤醒控制教程
STC单片机超低功耗优化细则

总结

本文仅仅简单介绍了【电机控制器】STC8H1K芯片——低功耗,评论区欢迎讨论。


http://www.kler.cn/a/536169.html

相关文章:

  • 【python】简单的flask做页面。一组字母组成的所有单词。这里的输入是一组字母,而输出是所有可能得字母组成的单词列表
  • 使用 Redis Streams 实现高性能消息队列
  • import { Component, Vue, Prop, Watch } from ‘vue-property-decorator‘
  • 专题:剑指offer
  • Eureka 高频考点
  • Unity UI Default Shader分析
  • ReactNative进阶(五十九):存量 react-native 项目适配 HarmonyOS NEXT
  • Java中的按值传递和引用传递
  • 【AcWing】蓝桥杯辅导课-二分与前缀和
  • 虚基类和虚继承
  • 安卓7以上抓包证书安装
  • 2021 年 12 月青少年软编等考 C 语言五级真题解析
  • 《Kettle实操案例一(全量/增量更新与邮件发送)》
  • 深度学习-105-RAG技术之嵌入模型安装部署应用的三种方式
  • 初窥强大,AI识别技术实现图像转文字(OCR技术)
  • Mac下使用Docker安装CREMEB-PRO宝塔环境
  • 【Leetcode 每日一题】59. 螺旋矩阵 II
  • 广度优先搜索(BFS)算法详解——以走迷宫问题为例
  • 【JS】element-ui table展示勾选状态
  • AI工具——Cherry Studio,搭建满血DeepSeek R1的AI对话客户端
  • 【医院绩效管理专题】2.绩效管理:医院发展的核心驱动力
  • Jmeter接口自动化测试
  • ZIP完美解密解压缩和暴力破解最佳实现
  • python图片转字符画应用
  • Java 集合中的 `removeIf` 和 Stream API 的 `filter`
  • 4.Python字符串和列表:字符串输入、字符串输出、下标和切片、字符串常见函数、列表(list)、列表的循环遍历、列表的增删改查、列表的嵌套、列表的切片