欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 13726|回復: 1
收起左側

單片機空閑與掉電模式的應用

[復制鏈接]
ID:26188 發表于 2014-11-8 14:41 | 顯示全部樓層 |閱讀模式
  個人總結單片機省電的兩個模式的使用:     
  單片機正常工作時的功耗通常是4mA~7mA,進入空閑模式是其功耗降至2mA,進入掉電模式是的功耗可降至0.1uA以下。
   當單片機進入空閑模式時,除CPU處于休眠狀態外,其他硬件全部都處于活動狀態,芯片內部程序所設計的寄存器都保持原值。
   當單片機進入掉電模式時,外部晶振停振,CPU,定時器、串行口全部停止工作,只有外部中斷繼續工作。同樣芯片內部程序所設計的寄存器都保持原值。
   值得注意的是,兩者使用中斷喚醒單片機時,程序從原來停止處繼續運行;當使用硬件復位喚醒單片機時,程序將從頭開始執行。
運行效果圖:
運行視頻:(當數碼管走到5時,就自動停止,需要外部中斷0才能激活程序,數碼管繼續運行下去)



附上程序:
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
void delayms(uint);
void display(uchar shi,uchar ge);
uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,
0x80,0x98};
uchar num;
void main()
{
       uchar a,b,num1;
       TMOD=0x01;
       TH0=(65536-50000)/256;
       TL0=(65536-50000)%256;
       EA=1;
       ET0=1;
       EX0=1;
       TR0=1;
       while(1)
       {
              if(num>=20)
              {
                     num=0;
                     num1++;
                     if(num1==6)
                     {
                            ET0=0;
                            PCON=0x02;
                     }
                     a=num1/10;
                     b=num1%10;
              }
              display(a,b);
       }   
}
void display(uchar a,uchar b)
{
       P2=0xbf;
       P0=table[a];
       delayms(5);
       P2=0x7f;
       P0=table;
       delayms(5);   
}
void timer0() interrupt 1
{
       TH0=(65536-50000)/256;
       TL0=(65536-50000)%256;
       num++;  
}
void ex_int0() interrupt 0
{
       PCON=0;
       ET0=1;
}
void delayms(uint z)
{
       uint x,y;
       for(x=z;x>0;x--)
              for(y=110;y>0;y--);
}

回復

使用道具 舉報

ID:234782 發表于 2019-7-18 10:08 | 顯示全部樓層
樓主能寫的詳細一點嗎
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表