51单片机是什么中什么叫单端模式

百度拇指医生
&&&普通咨询
您的网络环境存在异常,
请输入验证码
验证码输入错误,请重新输入愈接近死亡,愈拥抱真理。
51单片机第五弹---外部中断
写了半天掉线了。。。
不写了上定义。。。
什么叫中断
中断是指CPU在执行当前程序的过程中,由于某种随机出现的外设请求或CPU内部的异常事件,使CPU暂停正在执行的程序而转去 执行相应的服务处理程序;当服务处理程序运行完毕后,CPU再返回到暂停处继续执行原来的程序。
51单片机的中断
80c51提供有5个中断源,分别为:2个外部中断,2个定时/计数器中断,1个串口发送/接收中断。并且具有2个中断优先级,可以实现2级中断服务程序嵌套。
首先要弄中断设置 ,中断原理图如下:
以 设置INT0为例:IT0=1;EX0=1;
最后打开总中断 EA=1;
2个外部中断分别接 p3.2 p3.3 即开关K3 K4
,也就是说按开关K3转到外部中断0程序,按开关K4转到外部中断1程序
/*******************************************************************************
* 实 验 名
: 外部中断实验
* 使用的IO
: 外部中断0使用P3.2 外部中断1使用P3.3
* 实验效果
: 按K3 LED左移 按K4 LED右移
*******************************************************************************/
#include &reg52.h&
#include &intrins.h&
#define GPIO_LED P2
#define GPIO_DIG P0
#define GPIO_KEY P1
#define uint unsigned int
#define uchar unsigned char
void Delay10ms();
void IntConfiguration();
sbit K3=P3^2;
sbit K4=P3^3;
sbit LSA=P2^2;
sbit LSB=P2^3;
sbit LSC=P2^4;
uchar code DIG_CODE[17]={
0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
uchar Value=0;
void main()
uint n=10;
IntConfiguration();
GPIO_LED=0
GPIO_LED=_crol_(GPIO_LED,1);
GPIO_LED=_cror_(GPIO_LED,1);
while(n--)Delay10ms();
void Delay10ms()
uchar i=38,j=130;
while(i--)
while(j--);
void IntConfiguration()
//设置INT0
//设置INT1
//打开总中断
void Int0() interrupt 0
Delay10ms();
void Int1() interrupt 2
Delay10ms();
没有更多推荐了,51单片机低功耗工作模式
10:02:48来源: eefocus 关键字:&&&&
操作方式在以电池供电的系统中有时为了降低电池的在程序不运行时就要采用低功耗方式低功耗方式有两种—待机方式和掉电方式低功耗方式是由控制PCON上一课我们提到过的来控制的电源控制寄存器是一个逐位定义的8位寄存器其格式如下  PCON主要是为CHMOS型的电源控制而设置的专用寄存器,单元地址是87H,其结构格式如下:   PCON寄存器结构PCOND7D6D5D4D3D2D1D0位符号SMOD---GF1GF0PDIDLPCON说明:在CHMOS型单片机中,除SMOD位外,其他位均为虚设的,SMOD是串行口波特率倍增位,当SMOD=1时,串行口波特率加倍。系统复位默认为SMOD=0。  各位的定义: SMOD:该位与有关。  SMOD=0; 方式1,2,3时,波特率正常。  SMOD=1; 串口方式1,2,3时,波特率加倍。  GF1,GF0:两个通用工作标志位,用户可以自由使用。  PD:掉电模式设定位。  PD=0 单片机处于正常工作状态。  PD=1 单片机进入掉电(Power Down)模式 ,可由外部中断或硬件复位模式唤醒,进入掉电模式后,外部停振,CPU、、串行口全部停止工作,只有外部中断工作。  IDL:空闲模式设定位。  IDL=0 单片机处于正常工作状态。  IDL=1 单片机进入空闲(Idle)模式,除CPU不工作外,其余仍继续工作,在空闲模式下可由任一个中断或硬件复位唤醒。其中SMOD为波特率倍增位在串行通讯时用GF1为通用标志位1GF0为通用标志位0PD为掉电方式位PD=1进入掉电方式IDL为待机方式位IDL=1 进入待机方式也就是说只要执行一条指令让PD位或IDL位为1就可以了那么单片机是如何进入或退出掉电工作方式和待机工作方式的我们来介绍一下1 待机方式进入待机方式当 使用指令使PCON寄存器的IDL=1则进入待机工作方式此时CPU停止工作但时钟信号仍提供给RAM系统和串行口同时SP程序计数器 PC程序状态字PSW累加器ACC以及全部的都被冻结起来单片机的消耗从24mA降为3.7mA这样就可以节省电源的消耗退出待机方式退出待机方式可以采用引入中断的方法断程序中安排一条RETI的指令就可以了什么是中断我们现在还不知道当然这没关系其实待机方式和我们使用电脑时的睡眠方式有异曲同工之妙2掉电方式进入待机方式当使用指令使PCON寄存器的PD=1则进入掉电工作方式此时单片机的一切工作都停止只有内部RAM的数据被保持下来掉电方式下电源可以降到2V耗电仅50uA此时就相当于把显示器和硬盘也关闭了退出待机方式退 出掉电工作方式的唯一方法是复位不过应在电源电压恢复到正常值后再进行复位复位时间要大于1mS在进入掉电方式前电源电压是不能降下来的因此可靠的单片机 电路最好要有电路显然掉电方式和待机方式是两种不同的低功耗工作方式前者可以在无外部事件触发时降低电源的消耗而后者则在程序停止运行时才使用KEIL待机模式实现:PCON=0X02;&&//单片机进入待机模式(掉电模式)
关键字:&&&&
编辑:什么鱼
引用地址:
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
微信扫一扫加关注 论坛活动 E手掌握
微信扫一扫加关注
芯片资讯 锐利解读
热门关键词
大学堂最新课程
汇总了TI汽车信息娱乐系统方案、优质音频解决方案、汽车娱乐系统和仪表盘参考设计相关的文档、视频等资源
热门资源推荐
频道白皮书
何立民专栏
北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。51单片机怎么休眠_百度知道
51单片机怎么休眠
我要怎么让单片机进入休眠状态,不是空运行,要用什么语句,,,休眠后唤醒要用到什么语句,
我有更好的答案
呵呵,最近刚好研究了一下这个问题
51单片机空闲和掉电模式应用
我们知道单片机内部有一个电源管理寄存器PCON,这个寄存器的最低两位,IDL和PD这两位分别用来设定是否使单片机进入空闲模式和掉电模式。
1. 空闲模式 当单片机进入空闲模式时,除CPU处于休眠状态外,其余硬件全部处于活动状态,芯片中程序未涉及到的数据存储器和特殊功能寄存器中的数据在空闲模式期间都将保持原值。但假若定时器正在运行,那么计数器寄存器中的值还将会增加。单片机在空闲模式下可由任一个中断或硬件复位唤醒,需要注意的是,使用中断唤醒单片机时,程序从原来停止处继续运行,当使用硬件复位唤醒单片机时,程序将从头开始执行。???? 让单片机进入空闲模式的目的通常是为了降低系统的功耗,举个很简单的例子,大家都用过数字万用表,在正常使用的时候表内部的单片机处于正常工作模式,当不用时,又忘记了关掉万用表的电源,大多数表在等待数分钟后,若没有人为操作,它便会自动将液晶显示关闭,以降低系统功耗,通常类似这种功能的实现就是使用了单片机的空闲模式或是掉电模式。以STC89系列单片机为例,当单片机正常工作时的功耗通常为4mA~7mA,进入空闲模式时其功耗降至2mA,当进入掉电模式时功耗可降至0.1μA以下。2.?? 休眠模式 当单片机进入掉电模式时,外部晶振停振、CPU、定时器、串行口全部停止工作,只有外部中断继续工作。使单片机进入休眠模式的指令将成为休眠前单片机执行的最后一条指令,进入休眠模式后,芯片中程序未涉及到的数据存储器和特殊功能寄存器中的数据都将保持原值。可由外部中断低电平触发或由下降沿触发中断或者硬件复位模式换醒单片机,需要注意的是,使用中断唤醒单片机时,程序从原来停止处继续运行,当使用硬件复位唤醒单片机时,程序将从头开始执行。【例】:开启两个外部中断,设置低电平触发中断,用定时器计数并且显示在数码管的前两位,当计到5时,使单片机进入空闲(休眠)模式,同时关闭定时器,当单片机响应外部中断后,从空闲(休眠)模式返回,同时开启定时器。程序代码如下:/************************************************************************************************************************************************/
#define IdleMode()
|=0x01 //01为空闲模式
// 当单片机进入空闲模式时,除CPU处于休眠状态外,其余硬件全部处于活动状
//芯片中程序未涉及到的数据存储器和特殊功能寄存器中的数据在空闲模式期间都将保持原值。
//但假若定时器正在运行,那么计数器寄存器中的值还将会增加。
//单片机在空闲模式下可由任一个中断或硬件复位唤醒,
//需要注意的是,使用中断唤醒单片机时,程序从原来停止处继续运行,当使用硬件复位唤醒单片机时,程序将从头开始执行。
#define PowerOFF()
PCON |=0x02 //02掉电模式
//进入掉电模式,外部晶振停振、CPU、定时器、串行口全部停止工作,只有外部中断继续工作
//使单片机进入休眠模式的指令将成为休眠前单片机执行的最后一条指令
//进入休眠模式后,芯片中程序未涉及到的数据存储器和特殊功能寄存器中的数据都将保持原值。
//可通过外部中断唤醒,proteus仿真时无法唤醒
#define EXT0_Init() EX0=1;EA=1
//打开外部中断,以方便唤醒。唤醒后程序从原来停止处继续运行
//电源管理模板程序
EXT0_Init();
if(time.sec==0){time.sec++;PowerOFF();}
} void EX0ISR(void) interrupt 0{
//清除之前的掉电(空闲)模式}
采纳率:56%
单片机的型号不同,指令不同。你用什么型号的单片机?
为您推荐:
其他类似问题
您可能关注的内容
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。51鍗曠墖鏈虹墖鍐呭?瀛樺偍鍣ㄧ粺涓}

我要回帖

更多关于 什么叫单片机 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信