《教学课件单片机创新开发教程ch15使用低功耗.pptx》由会员分享,可在线阅读,更多相关《教学课件单片机创新开发教程ch15使用低功耗.pptx(14页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、教材配套PPT正版可修改课件教学课件单片机创新开发教程ch15使用低功耗单片机创新开发教程-基于STC8吴险峰第15章 使用低功耗低功耗是单片机一个很重要的设计指标。本章讲述了如何设置单片机低功耗程序。1.情境导入2.学习目标3.相关知识4.项目设计5.项目实现6.知识拓展7.强化练习15.1情境导入小白:“哎,我制作的这个单片机小车用电池供电很快就没电了。如何延长电池续航时间?”小牛:“这种情况需要考虑多个细节来考虑降低功率消耗。但最简单直观的方法就是为单片机设置低功耗模式。”小白:“说来听听,我想学!”。15.2 学习目标【知识目标】1.学习低功耗的本质。2.掌握STC8的控制寄存器。3.
2、理解低功耗的两种模式。【能力目标】1.能设置低功耗寄存器。2.能进行低功耗编程。3.能进行低功耗外部唤醒。15.3 相关知识l15.3.1.低功耗l15.3.2.STC8系列的低功耗模式15.3 相关知识15.3.1.低功耗对电子产品来说,低功耗就是尽可能地缩短暂时不使用的模块通电的时间,以降低系统运行时总的平均功率。低功耗实质上就是让产品间歇性工作,比如说一个单片机小车,在正常使用中,我们并不需要一直让电机运动。那么在我们没有操作的时候,电机就不通电。前面我们说的数码管动态扫描其实也有低功耗的含义。因为人眼有视觉残留功能,通过间隙供电也能达到数码管静态显示效果。15.3 相关知识15.3.2
3、.STC8系列的低功耗模式STC8提供两种低功耗模式:IDLE模式和STOP模式。IDLE模式下,MCU停止给CPU提供时钟,CPU无时钟,CPU停止执行指令,但所有的外设仍处于工作状态,此时功耗约为1.3mA(6MHz工作频率)。STOP模式即为主时钟停振模式,即传统的掉电模式,此时CPU和全部外设都停止工作,功耗可降低到0.6uAVcc=5.0V,0.4uAVcc=3.3V。掉电模式可以使用INT0(P3.2)、INT1(P3.3)、INT2(P3.6)、INT3(P3.7)、INT4(P3.0)、T0(P3.4)、T1(P3.5)、T2(P1.2)、T3(P0.4)、T4(P0.6)、R
4、XD(P3.0/P3.6/P1.6/P4.3)、RXD2(P1.4/P4.6)、RXD3(P0.0/P5.0)、RXD4(P0.2/P5.2)、I2C_SDA(P1.4/P2.4/P3.3)以及比较器中断、低压检测中断、掉电唤醒定时器唤醒。主要寄存器电源控制寄存器(PCON)配置如下表15-1所示。主要我们前面在讲串口时已经对其中部分位数进行了分析。这里主要说一下和低功耗相关的位数。15.3 相关知识15.3.2.STC8系列的低功耗模式(1)LVDF:低压检测标志位。(2)POF:上电标志位。当硬件自动将此位置1。(3)PD:时钟停振模式/掉电模式/停电模式控制位.0:无影响1:单片机进入时
5、钟停振模式/掉电模式/停电模式,CPU以及全部外设均停止工作。唤醒后硬件自动清零。注意:时钟停振模式下,CPU和全部的外设均停止工作,但SRAM和XRAM中的数据是一直维持不变的。(4)IDL:IDLE(空闲)模式控制位。0:无影响。1:单片机进入IDLE模式,只有CPU停止工作,其他外设依然在运行。唤醒后硬件自动清零。符号地址B7B6B5B4B3B2B1B0PCON87HSMODSMOD0LVDFPOFGF1GF0PDIDLvoidloop()delay(1);nix_scan_callback();/数码管扫描回调函数msecond=msecond+1;if(msecond=1000)ms
6、econd=0;tes_cnt=tes_cnt+1;nix_display_num(tes_cnt);/数码管显示整数sleepDelay=sleepDelay+1;if(sleepDelay=5)sleepDelay=0;if(P3_3)EX0=1;EX1=1;sleepDelay=0;PCON=0 x02;_nop_();_nop_();_nop_();voidmain(void)setup();while(1)loop();15.4 项目设计任务低功耗模式外部中断唤醒#includeuint32sys_clk=24000000;/设置PWM、定时器、串口、EEPROM频率参数#inclu
7、delib/twen_board.h#includelib/led8.h#includelib/nixietube.h#includelib/delay.huint16msecond=0;uint8tes_cnt=0;uint8sleepDelay=0;voidINT0(void)interrupt0using1EX0=0;voidINT1(void)interrupt2using1EX1=0;voidsetup()twen_board_init();/天问51初始化led8_disable();/关闭8个LED流水灯电源nix_display_clear();/数码管清屏nix_displa
8、y_num(tes_cnt);/数码管显示整数IT0=0;EX0=1;EA=1;EX0=1;IT1=1;EX1=1;EA=1;EX1=1;其关键代码分析如下。其实和低功耗相关的代码就是以下几句:PCON=0 x02;_nop_();_nop_();_nop_();PCON=0 x02;表明其进入了掉电模式。此时掉电模式被外部中断唤醒后,MCU首先会执行空语句,然后再进入中断服务程序。进入此状态要有一定持续时间,一般用3个空语句表示。由于低功耗没有专门的图形化指令。我们直接对其C语言代码进行解析。15.5 项目实现开发板任务演示步骤的和前章基本类似,为避免重复略去。具体操作请扫描二维码观看。另外低功耗完全是针对真实应用场景,仿真意义不大。15.6.知识拓展【科普】低功耗和绿色节能l随着移动互联网和物联网的飞速发展,低功耗已经成为ICT行业的重要技术指标。一方面,移动设备基本都是电池供电,低功耗可以显著提升电池续航时间。另一方面,低功耗减少了热量排放,更加绿色节能。l【思考与启示】l1.为什么国家现在这样重视绿色环保?l2.低碳生活,从我做起。结合自身谈谈如何践行绿色生活方式。15.7强化练习1.参考STC8H编程手册,使用定时器中断进行低功耗唤醒。2.用万用表等测试仪器,测试一下任务有低功耗和无低功耗模式下端口电流区别。谢谢观看