立即注冊 登錄
返回首頁

uid:203025的個人空間

日志

單片機延時程序

已有 681 次閱讀2017-5-24 19:28 | 單片機, 程序

程序名: 占用CPU延時程序應用實例

硬件支持: 12MHz

接口說明: P1接口8個LED

/*********************************************************************************************

說明:本程序可使單片機P1.0接口上的LED燈以4秒為周期閃爍。

/*********************************************************************************************/

#include <AT89X52.h> //頭文件定義

/*************************************************************

* IO定義 *

/*************************************************************/

sbit LED = P1 ^ 0; //定義P1.7為LED控制口,低電平使能

/*************************************************************

* 毫秒級延時函數(shù) *

調用函數(shù)必須給延時函數(shù)一個0~65535的延時值對應0MS到65535MS

/*************************************************************/

void Delay (unsigned int a){ //需要輸入變量值0~65535

unsigned int i;

while( --a != 0){ //i 從0加到600,CPU大概就耗時1毫秒

for(i = 0; i < 600; i++); //空指令循環(huán)

}

}

/*************************************************************

* 主函數(shù) *

實驗板上連接到單片機上的LED閃爍程序

/*************************************************************/

void main (void){ //

while(1){ //無限循環(huán)以下程序

LED = ~LED; //取LED相反狀態(tài),閃爍

Delay(4000); //修改這里的數(shù)值看看會有什么變化

} //(0~65535之間)

}

要求:

89C52 IC 單片機

4分半鐘 IC 1腳 低電平

5分鐘 IC 2腳 低電平

10分鐘 IC 3腳 低電平

15分鐘 IC 4腳 低電平

注:1.硬件應使用12MHz晶振;

2.程序使用定時器0,溢出周期50ms,計90次溢出為

4分半,其它以此類推,15分到時IC4腳(P1.3)輸

出低電平,然后關閉定時器,停止計數(shù)。

-------------------------------------------------*/

#include<reg52.h>

sbit P10=P1^0;

sbit P11=P1^1;

sbit P12=P1^2;

sbit P13=P1^3;

unsigned char Count=0;

unsigned char Half_Min=0;

void main()

{

TMOD=0x01;

TH0=0x3C;

TL0=0xB0;

ET0=1;

EA=1;

TR0=1;

while(1);

}

void timer_0() interrupt 1

{

TH0=0x3C;

TL0=0xB0;

Count++;

if(Count>10) //大于10則為500ms

{Half_Min++;

Count=0;

switch(Half_Min)

{

case 9:P10=0;break; //4分半

case 10:P11=0;break; //5分

case 20:P12=0;break; //10分

case 30:P13=0;TR0=0;break; //15分

default:break;

}

}

}


路過

雞蛋

鮮花

握手

雷人

評論 (0 個評論)

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

Powered by 單片機教程網

返回頂部