测试条件: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口的驱动也是要能量的。
6.以上配置,WDT1:256,各AD输入口设置成AD输入,其它设置成IO输入,均接固定电平,ADON置1,GO为零,此时AD模块开启,转换未开始,转换时钟采用系统时钟的1/8,电流8.8μA基本无变化,转换时钟采用AD独立RC振荡,电流仍为8.8μA,独立RC振荡,GO置1,转换完成后继续AD转换,电流为9.2μA,期间没有空余采样电容的充电时间,可见AD转换并不怎么耗电。
7.关闭AD,开启RA口的弱上拉,有弱上拉的IO悬空,WDT
1:1,电流8.8μA,将弱上拉的IO口其中一脚接地,电流猛增至212.4μA,换算下来一个弱上拉相当于一个24KΩ左右的电阻。
综上所述,耗电大户有两个:第一大户是悬空的输入脚,第二大户为弱上拉时IO口接地。第三大户为BROWN OUT DOWN
RESET(电压过低复位)。若要省电的话不妨以此参考。此次试验是单片机没有任何外围电路的情况下测得,当然外围电路比较复杂,设计省电模式其它电路的耗电也要考虑。若要非常省电,那么每个功能是否开启都是锱珠必较的。
关键字:PIC 设置 省电
引用地址:
PIC 如何设置更省电
推荐阅读最新更新时间:2024-03-16 15:33
武林教你学PIC32(十五)液晶显示实时时钟
春节过后,很多内容都忘记了,好在以前整理了一些子函数,子模块。今天就用子函数模块化编写,液晶LCD1602实时显示时钟。 用到这样几个文件: delay.c采用定时器延时函数,里面有延时毫秒和微秒的函数。 lcd1602.c液晶显示函数 rtc.c实时时钟函数 采用模块化编程好处就是简单方便,便于移植,主函数内容不会过于庞大,也方便阅读。 main.c的内容为: #include lcd1602.h #include delay.h #include rtc.h #include led.h int main(void) { LED_INIT(); //LED初始化 initLCD(); //初始化LCD1602 putsL
[单片机]
STM32的IO口的设置
1、当把IO口当作按键使用时:若按下按键为低电平则IO口应设置为上拉输入;若按下按键为高电平则IO口应设置为下拉输入。 2、KEIL4.7版本有个语法检查功能,今天发现当文件夹为大写的英文时,会误报找不到该文件里的头文件,但是实际是可以打开和正常使用的,把文件夹的名称改为小写就可以了。 3、当STM32的响应IO口重映射时,一定要初始化复用时钟,IO口输出一定要设置为复用推挽输出,不能设置为推挽输出。 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB | RCC_APB2Periph_AFIO, ENABLE); //使能GPIO外设和AFIO复用功能模块时钟 GPIO_PinRemap
[单片机]
第78节:多个窗口里移动光标设置参数的液晶屏菜单程序
开场白: 上一节讲了1个窗口下如何设置参数的菜单程序,这一节多增加1个窗口变成2个窗口,看看它们两个窗口之间是如何通过按键程序进行切换的。继续巩固上一节教给大家的两个知识点: 第一个知识点:我在前面讲数码管显示的时候就提出了一个 一二级菜单显示理论 :凡是人机界面显示,不管是数码管还是液晶屏,都可以把显示的内容分成不同的窗口来显示,每个显示的窗口中又可以分成不同的局部显示。其中窗口就是一级菜单,用ucWd变量表示。局部就是二级菜单,用ucPart来表示。不同的窗口,会有不同的更新显示变量ucWdXUpdate来对应,表示整屏全部更新显示。不同的局部,也会有不同的更新显示变量ucWdXPartYUpdate来对应,表示局部更新显示
[单片机]
PIC低档单片机使用注意事项
1、频繁插拔电时,PIC单片机容易死机。用一个10K电阻并在LM7805的5V输出端到地。 2、单片机的复位端的电容不能太大。 ------------------------------------------------------------------------------------------------- 使用 PIC 单片机去设计工控电路,最头痛的问题,就是 PIC 单片机在受干扰后经常硬件死锁,大部份人归咎于“CMOS的可控硅效应” 因而产生死锁现象,一般都认为“死锁后硬件复位都是无效的,只有断电”。但是一个成熟的商品,那须要你去断电呢? 就好像一台电冰箱,压缩机一启动,产生干扰, CPU 受干扰因而‘硬件
[单片机]
PIC单片机入门教程(一)—— 准备工作
1、电脑一台(推荐运行Windows 7 旗舰版 64位系统) 2、选择合适的烧录/调试工具 2.1 “Device Support.html”文件列举了所有器件能支持哪些烧录/调试工具,文件官方版本说明包里 下载链接:http://ww1.microchip.com/downloads/en/DeviceDoc/mplabx-ide-v4.15-release-notes-00.zip 2.2 解压后,打开目录,如下所示 2.3 “G”绿色表示完整的生产测试支持。“Y”黄色表示初步测试支持,未经生产测试。“R”红色表示不支持此设备。 PK4=PICkit 4;PK3=PICkit 3 后缀D=Debu
[单片机]
DS1302与PIC16F877接口程序
;================================================ ;DS1302控制子程序 ;================================================= ;程序包括:DS1302初始化,时间数据写入和读取程序 ;DS1302_init ;init ds1302 ;Set_DS1302 ;set time to ds1302 ;Get_DS1302 ;get time from ds1302 ;================================================= ;============== 1302定
[单片机]
STM32定时器溢出模式计时设置
环境: 主机:WIN7 开发环境:MDK4.23 MCU:STM32F103CBT6 源代码1: 说明:定时器采用TIM2,时钟源为内部8M晶振,向上溢出模式.此定时器用在延时函数,最小可以延时1us,故没有采用中断形式定时. 初始化代码: RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2,ENABLE); //重新将Timer设置为缺省值 TIM_DeInit(TIM2); //采用内部时钟给TIM2提供时钟源 TIM_InternalClockConfig(TIM2); timInitStruct.TIM_ClockDivision = TIM_CKD_DIV2;
[单片机]
基于PIC单片机的智能IC卡燃气表电控系统设计
摘要: 给出了一种PIC单片机为核心的智能IC卡燃气表电控系统的设计,介绍了该系统的控制模式、电控系统的硬件电路构成、系统软件设计及其实际应用情况。
关键词: PIC单片机 智能IC卡燃气表 电控系统
智能IC卡燃气表是一种根据用户IC卡购气量实现自动计量计费、自动控制用气的民用高技术产品,具有传统人工抄表收费式燃气表无可比拟的优越性。当前,随着国家“金卡工程”的深入开展 和开发大西北“西气东输”计划的正式启动,智能IC卡燃气表已 呈现出十分广阔的应用前景。本文介绍了该产品的核心技术--基于PIC单片机
[应用]