91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 26KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2021-06-05
  • 語言: 其他
  • 標簽: 單片機??

資源簡介

為了降低系統的功耗,我們經常應用到單片機空閑和掉電模式

資源截圖

代碼片段和文件信息

/************************************************************************
作者:淋哥電子
說明:開啟兩個外部中斷,設置低電平觸發中斷,
??用定時器計數并且顯示在數碼管的前兩位,當計到5時,
??使單片機進入空閑(休眠)模式,同時關閉定時器,當單片機響應外部中斷后,
??從空閑(休眠)模式返回,同時開啟定時器
************************************************************************/

/*************頭文件專區*************/
#include ??//單片機52頭文件存放著單片機的寄存器

/*************宏定義專區*************/
#define?uint?unsigned?int
#define?uchar?unsigned?char

/*************變量定義專區*************/
uchar?code?table0[16]={0xc00xf90xa40xb00x990x920x820xf80x800x900x880x830xc60xa10x860x8e};?//數碼管字型碼
uchar?code?table1[6]={0xf80xf40xec0xdc0xbc0x7c};??//位選數碼管數組
uchar?num;//定時計數

/*************函數申明專區*************/
void?delay_ms(uint?z); //1ms延時
void?timer0_init(void); //定時器初始化函數
void?EX_init(void); ??? //外部中斷初始化函數??
void?display(uchar?shiuchar?ge);?//數碼管顯示

/********************************
*函數名稱:main
*輸入:無
*輸出:無
*功能說明:主函數
*********************************/
void?main(void)
{
uchar?num1ab; ?//定義局部變量
timer0_init(); //定時器初始化
EX_init(); ???//外部中斷初始化
EA=1; ??//開總中斷
while(1)
{
if(++num>=100)
{
num=0;
num1++;
if(num1==6)
{
ET0=0; ??//關定時器
PCON=0X02;?//PD=1進入掉電模式
//或?PCON=0X01;//IDL=1,進入空閑模式
}
a=num1/10; ?//十位
b=num1%10; ?//個位
}
display(ab);??//顯示

}
}

/********************************
*函數名稱:delay_ms
*輸入:uint?z延時時間
*輸出:無
*功能說明:毫秒級延時
*********************************/
void?delay_ms(uint?z)
{
uint?xy;
for(x=z;x>0;x--)
for(y=110;y>0;y--);

}
/********************************
*函數名稱:display
*輸入:shi?十位,ge?個位
*輸出:無
*功能說明:數碼管顯示計數值
*********************************/
void?display(uchar?shiuchar?ge)
{
P2=table1[1]; ?//顯示位
P0=table0[shi]; //顯示百位
delay_ms(3);
P2=table1[0]; ?//顯示位
P0=table0[ge]; //顯示百位
???delay_ms(3);
}
/********************************
*函數名稱:time0_int
*輸入:無
*輸出:無
*功能說明:定時器0初始化,50ms
*********************************/
void?timer0_init(void)
{
TMOD=0X01; //定時器工作方式設置為,定時器0,方式1
TH0=(65536-50000)/256; ?//計數寄存器高8位
TL0=(65536-50000)%256; ?//計數寄存器低8位
TR0=1; ?? //開啟定時器0運行
ET0=1; ?? //開定時器0中斷
}
/********************************
*函數名稱:EX_init
*輸入:無
*輸出:無
*功能說明:外部中斷初始化
*********************************/
void?EX_init(void)
{
EX0=1; //開外部中斷0
EX1=1;??//開外部中斷1
}
/********************************
*函數名稱:EX0_IRQ
*輸入:無
*輸出:無
*功能說明:外部中斷0中斷服務程序
*********************************/
void?EX0_IRQ(void)?interrupt?0
{
PCON=0;//清除之前的掉電(空閑)模式
ET0=1;?//開定時器0
}
/********************************
*函數名稱:EX1_IRQ
*輸入:無
*輸出:無
*功能說明:外部中斷1中斷服務程序
*********************************/
void?EX1_IRQ(void)?interrupt?2
{
PCON=0; //清除之前的掉電(空閑)模式
ET0=1;?//開定時器0
}

/********************************
*函數名稱:Time0_IRQ
*輸入:無
*輸出:無
*功能說明:定時器0中斷服務程序
*********************************/
void?Time0_IRQ(void)?interrupt?1
{
? TH0=(65536-50000)/256;??//計數寄存器高8位重載
TL0=(65536-50000)%256;?//計數寄存器低8位

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件??????38400??2010-03-16?22:04??空閑與掉電\51單片機空閑和掉電模式應用.doc

?????文件???????5255??2010-03-16?22:01??空閑與掉電\空閑與掉電—程序\Power-down

?????文件???????3577??2010-03-16?22:01??空閑與掉電\空閑與掉電—程序\Power-down.c

?????文件????????735??2010-03-16?22:01??空閑與掉電\空閑與掉電—程序\Power-down.hex

?????文件?????????68??2010-03-16?22:01??空閑與掉電\空閑與掉電—程序\Power-down.lnp

?????文件???????7360??2010-03-16?22:01??空閑與掉電\空閑與掉電—程序\Power-down.LST

?????文件???????9548??2010-03-16?22:01??空閑與掉電\空閑與掉電—程序\Power-down.M51

?????文件???????5574??2010-03-16?22:01??空閑與掉電\空閑與掉電—程序\Power-down.OBJ

?????文件???????3637??2010-03-16?20:48??空閑與掉電\空閑與掉電—程序\Power-down.plg

?????文件??????????0??2010-03-16?20:48??空閑與掉電\空閑與掉電—程序\Power-down.uv2

?????文件???????6376??2005-03-22?15:22??空閑與掉電\空閑與掉電—程序\STARTUP.A51

?????文件??????14048??2010-03-16?22:01??空閑與掉電\空閑與掉電—程序\STARTUP.LST

?????文件????????758??2010-03-16?22:01??空閑與掉電\空閑與掉電—程序\STARTUP.OBJ

?????目錄??????????0??2010-03-16?22:10??空閑與掉電\空閑與掉電—程序

?????目錄??????????0??2010-04-23?12:07??空閑與掉電

-----------?---------??----------?-----??----

????????????????95336????????????????????15


評論

共有 條評論