1. 程式人生 > >單片機 延時函數

單片機 延時函數

eve time 聲明 char 傳遞 def 2.0 流水燈 單片機

在單片機的設計中延時函數最是常見,比如流水燈的時間控制等都需對時間進行控制,因此博主貼出一個簡單的延時函數供參考.

/**********************************************************************/
// 通過延時函數實現數碼管的顯示
/**********************************************************************/
#include<reg51.h>
#define uchar unsigned char
code seven_seg[] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
void delay(unsigned int delay_time) //延時函數
{
unsigned int j=0;
for(;delay_time > 0;delay_time--)
{
for(j=0;j < 200;j++);
}
}
void main(void)
{
uchar i; //聲明一個循環變量
P2 = 0xfe; //P2.0為0,經74HC04反相後,加在SEG0陽極上的電平為1
while(1)
{
P0 = seven_seg[i]; //顯示數組中對應的值
delay(300);
i++; //循環一次,i值增加1
if(i >= 10)
i = 0;
}

}

註:先用雙重嵌套定義延時函數,然後在調用的時候進行參數的設置和傳遞,單位為MS,可以用來設置流水燈流速,鬧鐘定時等功能的實現,僅供參考.

單片機 延時函數