历史上的今天
今天是:2025年08月13日(星期三)
2019年08月13日 | 拾:最小系统与省电工作方式
2019-08-13 来源:eefocus
1、什么是最小系统?
能让单片机正常工作的最小电路,我们称之为最小系统。
2、最下系统包含哪些电路?
①电源电路。
②晶振电路。
③复位电路。
晶振电路
晶振是为电路提供频繁基准的元器件,通常分为有源晶振和无源晶振两个大类。
无源晶振

有源晶振

复位电路
51芯片,通常在上电的瞬间需要一个短暂的时间进行内部参数的初始化,这个时候芯片无法立即进入工作状态。通常称上电初始化这些工作为复位。
复位电路的基本功能是:系统上电时提供复位信号,直至电源稳定后,撤销复位信号。为可靠起见,电源稳定后还要经一定的延时(共大于两个机器周期)才撤销复位信号。
上电复位电路

开关复位电路


省电
1、为什么要省电?
①便携、耐用
2、有哪些省电途径?
①低工作电压
②省电工作方式
③内部模块的单独开关
④工作频率的设置
⑤优秀的软件设计
省电工作方式
51有两种可用软件来选择的省电方式——空闲工作方式和掉电工作方式。
寄存器PCON(电源控制寄存器)中PD(PCON.1)和IDL(PCON.0)位来控制。
| SMOD | GF1 | GF0 | PD | IDL |
SMOD是串行口波特率倍增位。当SMOD=1时,串行口波特率加倍。系统复位默认为SMOD=0。
GF1,GF0:两个通用工作标志位,用户可以自由使用。
PD:掉电模式设定位。PD=0单片机处于正常工作状态。PD=1单片夹进入掉电(Power Down)模式,可由外部中断或硬件复位模式唤醒,进入掉电模式后,外部晶振停振,CPU、定时器、串行口全部停止工作,只有外部中断工作。
IDL:空闲模式设定位。IDL=0单片机处于正常工作状态。IDL=1单片机进入空闲(Idle)模式,除CPU不工作外,其余仍继续工作,在空闲模式下可由任一中断或硬件复位唤醒。
外部中断使用
2个外部中断资源:外部中断0(INT0、对应P3.2引脚)和外部中断1(INT1、对应P3.3引脚)。
外部中断有两种触发方式:低电平触发方式、负跳变触发方式。
低电平触发方式

负跳变触发方式

51单片机中的每个外部中断都可以设置是否中断屏蔽、中断触发方式。当产生中断事件后,会置位相应的中断标志位。 中断允许控制寄存器IE用于设置中断源的开放和屏蔽,其中与外部中断相关的涉及到3个位。
| EA | EX1 | EX0 |
EA:中断允许总开关位。EA=1,开中断;EA=0,禁用所有中断。
EX1:外部中断1允许位。ET1=1,开INT1中断;ET1=0,关INT1中断。
EX0:外部中断0允许位。ET0=1,开INT0中断;ET0=0,关INT0中断。
还有一个中断优先级控制寄存器IP可设置某个中断源为高优先级还是低优先级中断,一般情况下不需要设置。
TCON寄存器
| IE1 | IT1 | IE0 | IT0 | ||||
| 外部中断1 | 外部中断1 | 外部中断0 | 外部中断0 |
IT1:外部中断1中断触发方式设置位。IT1=0,为低电平触发方式;IT1=1,为下降沿(负跳变)触发方式。 IE1:外部中断1中断请求标志位。选择电平触发时,单片机在每个机器周期检查中断源口线,检测到低电平,即置位中断请求标志。选择边沿触发方式时,单片机在上一个机器周期检测到中断源口线为高电平,下一个机器周期检测到低电平,即置位中断请求标志。 IT0:外部中断0中断触发方式设置位,其意义和功能与IT1类似。 IE0:外部中断0中断请求标志位。
实验

汇编代码
******************************************************************/
* 【课程11】 ****单片机的省电工作模式***********
* 【说 明】 ****让单片机工作在省电模式,
* 【描 述】 ****让单片机工作在省电模式,通过外部中断推出省电模式
******************************************************************/
ORG 0000H
JMP MAIN
ORG 0003H
MOV PCON,#00H
RETI
ORG 0030H
MAIN: SETB IT0 ;设置边沿触发
SETB EA ;开总中断开关
SETB EX0 ;开中断0
MOV R2,#10
JX: CLR P1.0 ;控制LED灯闪烁10次
CALL DELAY
SETB P1.0
CALL DELAY
DJNZ R2,JX
MOV PCON,#01H ;进入省电模式
JMP MAIN
DELAY: ;延时子函数
MOV R7,#0FFH ;延时程序
W1: MOV R6,#0fFH
W2: DJNZ R6,W2
DJNZ R7,W1
RET
END
C代码
******************************************************************/
* 【课程11】 ****单片机的省电工作模式***********
* 【说 明】 ****让单片机工作在省电模式,
* 【描 述】 ****让单片机工作在省电模式,通过外部中断推出省电模式
******************************************************************/
#include #include //---------常用的两个宏定义-------------- #define uint8 unsigned char #define uint16 unsigned int sbit LED=P1^0; //发光二极管引脚定义 /*---------------------------------- 函数名:INT0_i() 功能: 中断服务程序 -------------------------------------*/ void INT0_i() interrupt 0 { PCON=0x00; //退出省电模式 } /*---------------------------------- 函数名:main() 功能: 主程序 -------------------------------------*/ void main() { uint16 i,j; IT0=1; //选择外部中断0为下降沿触发 EX0=1; //开启外部中断0 EA=1; //开启总中断 LED=1; while(1) { for(i=0;i<20;i++) { for(j=0;j<30000;j++) //延时一段时间 _nop_(); LED=~LED; //让LED灯闪烁 } PCON=0x01; //进入空闲模式 } }
上一篇:玖:中断系统的原理与应用
下一篇:壹拾壹:音乐实验
史海拾趣
|
我用的开发板上只有6个按键--“上,下,左,右,确定,退出”,各自的扫描码scan_code好像跟硬件没什么关系,我看了键盘的驱动,6个按键通过外部中断触发相应的事件。 在执行相应功能前,程序先给scan_code赋一个对应的值,比如0x6f,然后两次触发 ...… 查看全部问答> |
|
急,,,,IAR Embedded IDE界面成日文了........在哪改回英文 安装好后,好像选的是英文,结果进去一看是日文,傻眼了,卸了重新装,再进去还是没有语言选择,直接就进日文界面了...... 在哪设置可以改回来呀?网上也没搜到...... 万分感谢......… 查看全部问答> |
|
首先说一下提这个问题的原因: 我在做一个文件系统,做完后需要对这个系统的性能进行一下评测,比如,往硬盘写1M文件需要多少时间,但我对这个时间也没有概念,不知道多少时间算是比较优异的,因此,想看看windows的文件系统性能,再与我的进行对 ...… 查看全部问答> |
|
单片机的重要性在后PC时代逐渐加重了,现在更多的电子设计者和爱好者讨论最多的话题莫过于嵌入式系统的设计,C51、VHDL、RTOS、CPLD、FPGA、DSP、ARM已是当今挂在电子工程师嘴边最多的几个词,由于工艺的进步,家庭智能化已不是空中楼 ...… 查看全部问答> |




