PIC单片机低功耗的实现
基于单片机PIC16F877控制的路灯节能控制器设计

基于单片机PIC16F877控制的路灯节能控制器设计路灯在城市道路和居民区的照明中起着至关重要的作用,然而传统的路灯系统通常采用定时开关控制方式,这种方式存在能源浪费的问题。
为了解决这一问题,我们可以采用基于单片机PIC16F877控制的路灯节能控制器设计。
本文将介绍这一控制器的设计原理、硬件和软件实现以及性能特点。
一、设计原理基于单片机PIC16F877控制的路灯节能控制器的设计原理是利用单片机的智能控制功能,通过光敏电阻感应周围环境的亮度,实现根据实际光照情况自动调节路灯亮度的功能。
通过降低路灯亮度,在保证路灯照明效果的前提下,可以有效节约能源消耗,延长路灯的使用寿命,降低维护成本,同时也能减少光污染,对环境保护具有积极的作用。
二、硬件设计1.光敏电阻模块光敏电阻是一种能够根据光照强度改变电阻值的元件,通常用于光敏控制电路中。
在本设计中,光敏电阻模块通过感应周围环境的光照强度,并将其转换为电信号输入到单片机的模拟输入引脚,作为亮度感应的输入信号。
2.功率调节模块功率调节模块采用可调电阻和三极管等元件组成,通过单片机的数字输出引脚控制功率调节元件的通断,实现对路灯亮度的调节。
3.继电器模块继电器模块通过单片机的数字输出引脚控制继电器的通断,实现对路灯的开关控制。
4.显示模块显示模块采用液晶显示屏,用于显示路灯当前的亮度和工作状态。
电源模块提供所需的电压和电流,保证整个控制器的正常工作。
1.初始化设置在软件设计中,首先需要进行单片机的初始化设置,包括模拟输入引脚、数字输出引脚和定时器等模块的设置,以及串行通信接口的初始化设置。
2.光照感应通过模拟输入引脚获取光敏电阻模块传感到的光照强度信号,并进行相应的信号处理,得到当前的亮度值。
3.亮度控制根据当前的亮度值,通过数字输出引脚控制功率调节模块,实现对路灯亮度的调节。
当光照强度较强时,降低路灯亮度;当光照强度较弱时,提高路灯亮度。
4.开关控制5.显示控制通过串行通信接口将当前的亮度值和工作状态发送到液晶显示屏上进行显示。
PIC单片机:一步一步学习如何实现低功耗设计(上)

PIC单片机:一步一步学习如何实现低功耗设计(上)学习PIC单片机低功耗之前,先简单过一下低功耗的一些基础知识和思想。
功率(瓦特)= U(伏特)I(安培)能量(焦耳)= U(伏特)I(安培)t(秒)电量(库伦)= I(安培)t(秒)功耗可以分为动态(活动)功耗和静态(睡眠)功耗。
平均功耗=(动态功耗x动态时间+静态功耗x静态时间)/(动态时间+静态时间)由此得出一些结论,降低平均功耗,可以从下面几个方面入手降低动态(运行)功耗;降低动态(运行)时间;降低静态(休眠)功耗;增加静态(休眠)时间。
简单了解这么多,在最后还有一些我自己的积累的经验分享。
下面先进入正式的PIC单片机低功耗学习。
PIC16F184xx有3种省电模式:打盹,空闲,休眠。
功耗:打盹>空闲>休眠。
打盹模式通过减少CPU操作和存储器访问来节能,外设和系统时钟都保持运行。
通过DOZEN=1来进入打盹模式,通过DOZE[2:0]寄存器确定N个周期执行一个指令。
空闲模式空闲模式和打盹不同之处在于,CPU和存储器均关闭。
通过IDLEN=1,再执行SLEEP指令进入空闲模式。
此处回顾一下第一篇时钟的内容,当执行SLEEP指令,就不再有系统时钟了,CPU停止工作;而打盹模式没有执行SLEEP指令,所以有系统时钟,CPU可以理解为处于低速模式。
休眠模式CPU和大部分外设被关闭,是最省电的模式。
通过IDLEN=0,然后执行SLEEP指令进入休眠模式。
实战在MCC中找了找,没有找到低功耗相关的配置选项卡,看来只能在程序中操作。
在之前IO的程序中进行,时钟LFINTOSC,512分频,RA2S 输出。
程序如下。
现象为LED闪烁两次,保持熄灭,说明进入睡眠模式。
SLEEP();指令也可用asm("sleep");。
接下来测睡眠时的功耗。
需要评估板做一些改动,首先割开J100,这是给MCU供电的线路。
如图篮筐位置然后为MCU供电,并将电流表串入电路中。
PIC单片机低功耗设计

PIC单片机低功耗设计吴清荣;丁跃军【摘要】本文主要从实际应用出发,针对单片机内部模块选择、工作条件和振荡方式的选择、I/O管脚处理、Timerl异步时钟方式的使用、休眠模式的应用等几个方面的问题进行了讨论,阐述了PIC单片机在低功耗应用系统中,硬件设计和软件方案所采取的具体措施.【期刊名称】《制造业自动化》【年(卷),期】2011(033)005【总页数】3页(P140-142)【关键词】PIC单片机;低功耗;睡眠状态;振荡方式;硬件设计【作者】吴清荣;丁跃军【作者单位】河南工业技师学院,郑州,450007;河南工业技师学院,郑州,450007【正文语种】中文【中图分类】TP3110 引言目前,电子产品的日趋小型化和智能化,对单片机的低功耗应用提出了更高的要求,尤其是便携式产品、野外检测仪器仪表、海河航标灯和玩具产品,对低功耗的要求更为突出。
设计一个性能良好的低功耗产品,需要从硬件设计、软件设计等多方面综合考虑,是一项较为复杂的系统工作,本文阐述了低功耗设计的几种具体措施。
1 系统设计方面1.1 选择合适的模块PIC系列单片机虽然功耗都很低,但不同的模块电能消耗仍然不同,既便是在同一个系列里,选择的芯片型号不同,它们的电能消耗量也不同! 选型时,要注意资料中详细的参数说明,一般型号后缀为LC的芯片能耗比后缀为C的能耗要小,目前,Microahip公司最新推出了18个引脚的低功耗芯片,如PIC18F1220、PIC18F1320和nW级的芯片如PIC16F627A等,可以根据产品的实际需求,合理地来选择芯片的型号。
1.2 选择合适的工作条件一般单片机睡眠模式下运行要比正常模式下运行耗电小得多,所以如果其它条件允许,应尽量让芯片处于睡眠状态;单片机在低电压下工作时比较省电,在选用单片机时尽可能选择较低的工作电压;另外,单片机MCU的电流和振荡频率成正比,所以,在速度允许的情况下,应尽可能选择振荡频率比较低的芯片。
单片机系统的低功耗设计策略

优化算法和软件
采用低功耗算法和 优化软件,降低系 统运行时的功耗。
加强散热设计
采用合理的散热设 计,防止过热导致 的功耗增加。
低功耗设计挑战与展望
面临的挑战
技术限制:低功耗设计需要采用更先进的芯片制造技术和设计方法,可能受到技术 限制。
系统复杂性:低功耗设计需要对系统进行全面的优化,系统复杂性较高。
低功耗设计挑战与展望
• 测试和验证:低功耗设计的测试和验证需 要采用特殊的工具和方法,增加了测试和 验证的难度。
低功耗设计挑战与展望
01
未来展望
02
发展新的低功耗器件和架构:随着技术的不断发展,未来将开发出更 加高效的低功耗器件和架构。
03
完善低功耗设计方法学:未来将进一步完善低功耗设计方法学,提供 更加全面的低功耗设计解决方案。
单片机系统的低功耗设计策 略
汇报人: 2023-12-15
目录
• 单片机系统低功耗设计概述 • 硬件低功耗设计策略 • 软件低功耗设计策略 • 综合低功耗设计策略 • 低功耗设计实践案例分析 • 总结与展望
01
单片机系统低功耗设计概述
低功耗设计的重要性
01
02
03
延长系统工作时间
低功耗设计可以显著降低 单片机系统的功耗,从而 延长系统的连续工作时间 。
低功耗模式切换策略
空闲模式
关闭不使用的模块和接口,降低 系统的功耗;设置系统时钟频率 和电压,以适应系统的需求。
工作模式
根据系统需求,开启相应的模块 和接口,保证系统的正常运行; 合理分配系统资源,避免资源的 浪费。
动态功耗管理策略
动态电压调整
根据系统负载的变化,动态调整系统的电压,以降低 系统的功耗。
基于PIC单片机的低功耗无磁IC卡水表设计

智能家居低压电器(2008 10)现代建筑电气篇武 斌(1966!),男,副教授,研究方向为测控系统、嵌入式系统。
基于PI C 单片机的低功耗无磁I C 卡水表设计*武 斌, 忻龙彪(河北建筑工程学院,河北张家口 075024)摘 要:I C 卡水表用于对流经管道的水量进行精确计量,具有智能数字显示功能,可实现对用水的预付费管理。
重点介绍了低功耗IC 卡水表的设计方法。
该水表选用P IC 微处理器、PCF 8563时钟/日历芯片、E 2PROM 及其他微功耗器件和电路来实现水量的计量和控制,具有可靠性高和功耗低的特点。
关键词:I C 卡水表;P I C 单片机;低功耗;无磁计量;智能水表;流量传感器中图分类号:TU 991.63 文献标识码:B 文章编号:1001 5531(2008)10 0011 03D esign of Non m agnetic IC Card W aterM eter w ith Lo w Po w erConsu m ption Based on PIC M icrocontrollerW U B in , X I N LongB iao(H ebe i Institute ofA rch itecture C i v ilEng ineeri n g ,Zhangjiakou 075024,China)Ab stract :T he IC card w ater m e ter wh i ch can rea li ze i ntelli g ent and d i g ita l d i sp l ay is used to m easure the wa ter current i n p i pe and m anage prepaying of wa ter .A desi gn o f I C w ater m eter w it h very l ow po w er consu mption was i ntroduced .Th is desi gn adop ted the advanced P IC m icroprocessor ,PCF 8563c l ock ca l endar ch i p and E 2PROM,other little consu m pti on co m ponents and c ircuits to rea lize the m easure m ent and contro l o fw ater vo l ume ,it had h i gh reliab ility and very l ow pow er consu mp tion .K ey w ords :IC card water m e ter ;PI C m icrocontro ller ;lo w power con su m ption ;nonmagnet i c m eas ure m en t ;i n te lli gen t water m eter ;flux senor忻龙彪(1964!),男,副教授,从事建筑智能化方面的研究工作。
PIC单片机节能模式

写入时会将 RCON 中的选定位清零,读取时获得的值未定义 写入时会将 RCON 中的选定位置 1,读取时获得的值未定义 写入时会将 RCON 中的选定位取反,读取时获得的值未定义
10
节能模式
© 2010 Microchip Technology Inc.
初稿
DS61130E_CN 第 10-3 页
名称 OSCCON 31:24 23:16 15:8 7:0 OSCCONCLR 31:0 OSCCONSET 31:0 OSCCONINV WDTCON 31:0 31:24 23:16 15:8 7:0 WDTCONCLR 31:0 WDTCONSET 31:0 WDTCONINV RCON 31:0 31:24 23:16 15:8 7:0 RCONCLR RCONSET RCONINV 31:0 31:0 31:0 — — — EXTR — — — SWR — — ON — — — —
PBDIV<1:0>
bit 26-24
bit 23 bit 22
bit 21
DS61130E_CN 第 10-4 页
初稿
© 2010 Microchip Technology Inc.
第 10 章 节能模式
寄存器 10-1: bit 20-19 OSCCON:振荡器控制寄存器 (续) PBDIV<1:0>:外设总线时钟分频比位 11 = PBCLK 是 SYSCLK 的 8 分频 (默认) 10 = PBCLK 是 SYSCLK 的 4 分频 01 = PBCLK 是 SYSCLK 的 2 分频 00 = PBCLK 是 SYSCLK 的 1 分频 注: 发生复位时,这些位被设置为配置位 (DEVCFG1<13:12>)的值。 PLLMULT<2:0>:PLL 倍频比位 111 = 时钟进行 24 倍频 110 = 时钟进行 21 倍频 101 = 时钟进行 20 倍频 100 = 时钟进行 19 倍频 011 = 时钟进行 18 倍频 010 = 时钟进行 17 倍频 001 = 时钟进行 16 倍频 000 = 时钟进行 15 倍频 注: 发生复位时,这些位被设置为 PLLMULT 配置位 (DEVCFG2<6:4>)的值。 保留:写入 0 ;忽略读操作 COSC<2:0>:当前振荡器选择位 111 = 快速内部 RC 振荡器按照 OSCCON<FRCDIV> 位进行分频 110 = 快速内部 RC 振荡器 16 分频 101 = 低功耗内部 RC 振荡器 (LPRC) 100 = 辅助振荡器 (SOSC) 011 = 带 PLL 模块的主振荡器 (XTPLL、 HSPLL 或 ECPLL) 010 = 主振荡器 (XT、 HS 或 EC) 001 = 带 PLL 模块的快速 RC 振荡器 (通过后分频器) (FRCPLL) 000 = 快速 RC 振荡器 (FRC) 注: 发生复位时,这些位被设置为 FNOSC 配置位 (DEVCFG1<2:0>)的值。 保留:写入 0 ;忽略读操作 NOSC<2:0>:新振荡器选择位 111 = 快速内部 RC 振荡器按照 OSCCON<FRCDIV> 位进行分频 110 = 快速内部 RC 振荡器 16 分频 101 = 低功耗内部 RC 振荡器 (LPRC) 100 = 辅助振荡器 (SOSC) 011 = 带 PLL 模块的主振荡器 (XTPLL、 HSPLL 或 ECPLL) 010 = 主振荡器 (XT、 HS 或 EC) 001 = 带 PLL 模块的快速内部 RC 振荡器 (通过后分频器) (FRCPLL) 000 = 快速内部 RC 振荡器 (FRC) 发生复位时,这些位被设置为 FNOSC 配置位 (DEVCFG1<2:0>)的值。 CLKLOCK:时钟选择锁定使能位 如果使能 FSCM (FCKSM1 = 1) : 1 = 时钟和 PLL 选择被锁定 0 = 时钟和 PLL 选择未被锁定,可以被修改 如果禁止 FSCM (FCKSM1 = 0) : 时钟和 PLL 选择永不锁定,可以被修改 ULOCK:USB PLL 锁定状态位 1 = 指示 USB PLL 模块处于锁定状态或 USB PLL 模块起振定时器延时结束 0 = 指示 USB PLL 模块处于失锁状态、 USB PLL 模块起振定时器正在运行或 USB PLL 被禁止 LOCK:PLL 锁定状态位 1 = PLL 模块处于锁定状态或 PLL 模块起振定时器延时结束 0 = PLL 模块处于失锁状态、 PLL 起振定时器正在运行或 PLL 被禁止 SLPEN:SLEEP (休眠)模式使能位 1 = 执行 WAIT 指令后器件将进入 SLEEP (休眠)模式 0 = 执行 WAIT 指令后器件将进入 IDLE (空闲)模式
PIC 如何设置更省电

PIC 如何设置更省电
本文主要讲述了PIC 设置怎样更加省电的问题。
测试条件:PIC16F676 使用内部4MHzRC 振荡,电源电压5V,测试在睡眠下的消耗电流
单片机在外部IO 口设置成输入并有固定电平的情况下,程序进入一个NOP
指令和跳转指令的死循环后耗电约1.26mA
1.SLEEP 之后:WDT 开并256 分频,每
2.3 秒左右唤醒一次,所有IO 口为数字输入口,直接接高电平或低电平。
5V,0.159mA,主要配置:
_INTRC_OSC_NOCLKOUT _WDT_ON _PWRTE_ON _MCLRE_OFF _BODEN
2.上面的程序没动,只是配置_BODEN_OFF,电流降为8.5μA,其它配置变化对电流消耗影响不大,WDT 开与不开只差0.1μA,可见BROWN OUT DOWN 功能是个耗电大户。
3.上面的配置、程序没动,所有IO 输入口悬空,结果电流变为0.8-1mA,以
上均没开电平变化中断,而且手接近单片机电流变的更大。
可见虽然IO 口看
似没有吸收电流,但干扰电平引起单片机内部比较器频繁翻转的电流可以说很
惊人。
4.以上配置,仅将WDT 分频比改为1:1,各IO 口仍然接固定电平,此时单
片机WDT 约每1.8mS 唤醒一次,电流为8.8μA,可见RC 的唤醒很省电。
5.以上配置,WDT1:256 分频,将所有IO 口设置成输出,并输出低电平,IO 口不接任何负载,结果电流为9.5μA,与输入相比多了1μA。
可见IO 口
的驱动也是要能量的。
PIC单片机系列是美国微芯公司

PIC单片机系列是美国微芯公司(MiCroShip)的产品,是当前市场份额增长最快的单片机之一。
CPU采用RISC结构,分别有33、35、58条指令(视单片机的级别而定),属精简指令集。
而51系列有111条指令,A VR单片机有118条指令,都比前者复杂。
采用Haryard双总线结构,运行速度快(指令周期约160~200nS),它能使程序存储器的访问和数据存储器的访问并行处理,这种指令流水线结构,在一个周期内完成两部分工作,一是执行指令,二是从程序存储器取出下一条指令,这样总的看来每条指令只需一个周期(个别除外),这也是高效率运行的原因之一。
此外,它还具有低工作电压、低功耗、驱动能力强等特点。
PIC系列单片机共分三个级别,即基本级、中级、高级。
其中又以中级的PICl6F873(A)、PICl6F877(A)用的最多,本文以这两种单片机为例进行说明。
这两种芯片除了引出脚不同外(:PICl6F873(A)为28脚的PDIP或SOIC封装PICl6F877(A)为40脚的PDIP或44脚的PICC/QFP封装),其他的差别并不很大。
PIC系列单片机的:I/O口是双向的,其输出电路为CMOS互补推挽输出电路。
I/O 脚增加了用于设置输入或输出状态的方向寄存器(TRISn,其中n对应各口,如A、B、C、D、E等),从而解决了51系列I/O脚为高电平时同为输入和输出的状态。
当置位1时为输入状态,且不管该脚呈高电平或低电平,对外均呈高阻状态;置位0时为输出状态,不管该脚为何种电平,均呈低阻状态,有相当的驱动能力,低电平吸人电流达25mA,高电平输出电流可达20mA。
相对于51系列而言,这是一个很大的优点,它可以直接驱动数码管显示且外电路简单。
它的A/D为10位,能满足精度要求。
具有在线调试及编程(ISP)功能。
该系列单片机的专用寄存器(SFR)并不像51系列那样都集中在一个固定的地址区间内(80~FFH),而是分散在四个地址区间内,即存储体0(Bank0:00-7FH)、存储体1(Bankl:80-FFH)、存储体2(Bank2:100-17FH)、存储体3(Bank3:180-1FFH)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
PIC单片机低功耗的实现
许多人说PIC 单片机一大的优势就是低功耗,那我们就来讨论,讨论
低功耗的实现。
1,睡眠(sleep)
睡眠方式是我们最常用的一种方式来降低功耗,但睡眠期间单片机不能
做任何的事情。
对于那些没事情就睡着,有事情就做一下的情况睡眠无疑是功
耗最低的处理方式。
比如:
睡眠+ I/O 电平变化中断唤醒当按键没按下时,单片机睡眠,当按键按
下后,执行相应的工作。
睡眠+数据接收中断唤醒这样单片机就可以再没有接收到数据时候进入
睡眠状态,接收到数据的时候就唤醒然后处理数据。
当然首先单片机要有相关
的外设比如SPI ,I2C,USART,等这些支持这些通讯的模块。
睡眠+看门狗唤醒这个可以用在需要定时唤醒做事情的场合
2,降低时钟频率
如果即想功耗低,又想单片机在能低功耗的情况下工作。
这无疑是个最
好的选择。
PIC 单片机比如PIC16F1823 /1829 可以选择从32MHz 到31KHz 的内部时钟频率,我们通常可以将单片机设置在4MHz 以上的频率下工作,如果需
要单片机降低功耗的时候可以降低频率比如在31KHz 的频率下工作。
虽然PIC16F1823 数据手册中写到,单片机在睡眠电流只有只纳安,在
31KHz 的电流有几微安。
但事实纳安只是个幻想。
在项目一个中我使用降频得
到的最低功耗是50 微安左右,采用睡眠也是50 微安。
因为在如此低的频率下,。