最近做了个PIC超低功耗的项目,对功耗要求非常高。之前也看到网上一些文章,写得很好,但实现测试下来还是不行的。
这里总结一下,给同行分享一下,软件编程上要注意以下几点,
1,不用的模块要关闭
这里的模块,不光是enable位,而是PMD
2,不用的IO口要置成输出
这里和网上其它文章说的输入不一样,实测下来我这边是输出待机电流更低
3,内部稳压一定要关闭
这里千万要注意:一定要选择通过"controlled by REGSLP bit",否则单片机SLEEP后就死了,再也不能烧写了,这点不能让人理解,但实际测试确实如此
具体做法:
(1)
(2) WDTCONbits.REGSLP = 1;
最后分享一下我进入SLEEP之间的操作,仅作参考:
PMD0 = 0XFF;
PMD1 = 0XFF;
PMD2 = 0XFF;
TRISA = 0;//xff;
TRISB = 0;//xff;
TRISC = 0;//xff;
PORTA = 0;
PORTB = 0x28;
PORTC = 0;
POWER_RF_PIN = 1;
AD_PRESS_CTRL_PIN = 1;
LED_RED_PIN = 1;
LED_BLUE_PIN = 1;
WDTCONbits.SWDTEN = 1;
IDLEN = 0;
WDTCONbits.REGSLP = 1;
关键字:PIC单片机 18系列 超低功耗 软件编程
引用地址:
关于PIC单片机18系列超低功耗软件编程的关键点
推荐阅读最新更新时间:2024-03-16 16:10
NXP超低功耗、多协议无线MCU系列可最大限度延长电池寿命
恩智浦半导体(NXP Semiconductors N.V.,纳斯达克代码:NXPI)今日宣布推出新的超低功耗、多协议无线微控制器(MCU)系列K32W061/41。新的低功耗设备完善了公司近期推出的引脚兼容JN5189/88 (Thread™/Zigbee®)和QN9090/30 (Bluetooth® LE)MCU,为原始设备制造商(OEM)带来更轻松的迁移路径,帮助他们支持现有和新兴的智能家居,构建使用案例。 降低当今智能家居和物联网设备的功耗对于最大限度地提高单纽扣电池的性能来说至关重要。恩智浦K32W061/41 MCU通过多种低功耗模式以及低发送/接收无线电功耗能力实现了这一点。 恩智浦连接解决方案资深营销总监
[嵌入式]
官宣:魅族 18 系列和Flyme 9将登场
集微网2月23日消息,今天魅族科技宣布将于 3 月 1 日至 3 月 3 日,正式举行 2021 春季新品发布周。3 月 1 日,18 周年宣传片《这十八年》全网首映;3 月 2 日,Flyme 9 发布会召开;3 月 3 日,魅族 18 系列 5G 双旗舰发布会正式举行。 当手机的发展从百花齐放走向同质竞争,魅族正在思考两个问题。 行业的 B 面是什么? 你被剥夺的手机权利是什么? 官方表示,从众而活是一场大规模的囚徒困境,独立不群是一次改变行业格局的破壁前行。行业不应只有 A 面,魅族将为你展现另一面。最本源和真实的用户诉求,不应被行业的商业化规则所左右。魅族决心将原有的手机权利交还与你。 据爆料消息,魅族 18 标准版将搭载
[手机便携]
基于PIC单片机的便携式测试记录仪设计
基于PIC单片机的便携式测试记录仪(以下简称记录仪)既有一般数据采集装置的实时采集与保存功能,同时又能够对采集数据进行实时处理、显示和打印。适用于对采集速度要求不高、交流供电比较困难以及无须长期留人值班的场合。
以追求高可靠、低功耗、小体积设计思想的本记录仪具有如下功能:对现场物理量进行实时采集、保存、处理与显示;自动识别现场安装的传感器数量、传感器号和量程;自动和手动两种采集方式,自动采集适用于长期无人值班的固定场合,手动采集便于对分布在不同区域的物理量进行测试;与PC机通讯,可根据需要将采集数据下载至PC数据库;实时打印;自检功能,避免了系统运行过程中可能遇到本身无法容错处理的异常事件而导致的死机现象。
1 硬件设计
1.
[应用]
PIC单片机程序设计的基本框架
为了快速掌握PIC单片机源程序的基本结构,这里给出一个典型的程序结构框架。建立源程序时首先用伪指令TITLE提供程序的标题,接着给出整个程序的总说明,并用列表伪指令LIST指定所用单片机型号和文件输出格式,再利用INCLUDE伪指令读入MPASM中提供的定义文件如《P16F84INC》,然后对片内常用资源进行定义,再给出一般程序的基本结构框架。现举例如下。 TITLE“This is……”;程序标题 ;程序说明 LIST P=16F84,F=1NHX8M ; include p16F84.inc -config_RC_Qsc &_WDT_0FF… ;资源定义和变量定义 STATUS EQU 03
[单片机]
PIC单片机应用问答
简介:PIC单片机应用问答 1、PIC单片机振荡电路中如何选择晶体? 对于一个高可靠性的系统设计,晶体的选择非常重要,尤其设计带有睡眠唤醒(往往用低电压以求低功耗)的系统。这是因为低供电电压使提供给晶体的激励功率减少,造成晶体起振很慢或根本就不能起振。这一现象在上电复位时并不特别明显,原因时上电时电路有足够的扰动,很容易建立振荡。在睡眠唤醒时,电路的扰动要比上电时小得多,起振变得很不容易。在振荡回路中,晶体既不能过激励(容易振到高次谐波上)也不能欠激励(不容易起振)。晶体的选择至少必须考虑:谐振频点、负载电容、激励功率、温度特性、长期稳定性。 2、如何判断电路中晶振是否被过分驱动? 电阻RS常用来防止晶振被过分驱动。过分驱
[单片机]
proteus软件仿真和编程联调
仿真软件里可以和源程序联调的好处是,可以减少使用其他软件运行程序编译,仿真时也不必每次都得去调用机器码。 第一步:确定有相应的程序和仿真文件在同一个文件夹里 第二步:打开仿真文件 双击单片机,单片机没有加载任何机器码,点击OK退出对话框; 第三步:点击Source菜单,并弹出Add/Remove Source files 弹出对话框 Code Generation Tool下选择ASEM51 点击Source Code Filename下NEW按钮,弹出对话框 选择程序文件并点击 打开 按钮,如下图为操作的结果,并点击OK按钮确定;
[单片机]
PIC单片机与PC机的通信设计
1. PC机编程 PC采用Toubr C 进行编写。程序如下: #include #define port 0x3f8 /*利用串口1进行通信*/ int ch[15]; main () { int a; int i,j; int b[6]={88,15,38,26,20,0}; char c; cl rs cr(); outportb(port 3,0x80); /*准备设置波特率*/ outportb(port,0x0C); /*波特率设置为9 600 bps*/ outportb(port 1,0x00); outportb(port 3,0x03); /*8位数据位,奇偶检验,1位停止位*/ outportb(por
[单片机]
菜鸟学PIC单片机(一)
菜鸟学P IC 单片机 (一):TS1620字符型液晶模块驱动程序编写苦与乐 小弟学习PIC16F87X系列 单片机 已持续半个月了,遇到的困难还是比较多的,幸好单位的图书馆里还有一些相关的书籍,加之购买了第三方的ICD,因此学习起来还是比较充实的。 虽说如此,但在单位里找不到志同道合者一起来琢磨她,不过这里却有许多热心的站友。 今后,小弟打算将自己的一些学习心得和疑问写出来,与论坛里和我一样的初学者一起进步,并殷切希望能得到前辈的指点, 小弟写的第一个程序是控制三位八段 数码管 的显示,还没来得及总结,今天下午调试和总结了一下 LCD 的驱动程序,遇到了很多困难,但也有点小小的收获,拿出来晾晾,大家尽管扔砖,小
[单片机]