1、下面幾個(gè)是單片機(jī)的延時(shí)程序(包括asm和C程序,都是我在學(xué)單片機(jī)的過(guò)程中用到的),在單片機(jī)延時(shí)程序中應(yīng)考慮所使用的晶振的頻率,在51系列的單片機(jī)中我們常用的是11.0592MHz和12.0000MHz的晶振,而在AVR單片機(jī)上常用的有8.000MHz和4.000MH的晶振所以在網(wǎng)上查找程序時(shí)如果涉及到精確延時(shí)則應(yīng)該注意晶振的頻率是多大。

創(chuàng)新互聯(lián)建站專注于阿合奇企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站設(shè)計(jì),商城網(wǎng)站開發(fā)。阿合奇網(wǎng)站建設(shè)公司,為阿合奇等地區(qū)提供建站服務(wù)。全流程定制網(wǎng)站設(shè)計(jì),專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)建站專業(yè)和態(tài)度為您提供的服務(wù)
2、軟件延時(shí):(asm)
晶振12MHZ,延時(shí)1秒
程序如下:
DELAY:MOV 72H,#100
LOOP3:MOV 71H,#100
LOOP1:MOV 70H,#47
LOOP0:DJNZ 70H,LOOP0
NOP
DJNZ 71H,LOOP1
MOV 70H,#46
LOOP2:DJNZ 70H,LOOP2
NOP
DJNZ 72H,LOOP3
MOV 70H,#48
LOOP4:DJNZ 70H,LOOP4
定時(shí)器延時(shí):
晶振12MHZ,延時(shí)1s,定時(shí)器0工作方式為方式1
DELAY1:MOV R7,#0AH ;;晶振12MHZ,延時(shí)0.5秒
AJMP DELAY
DELAY2:MOV R7,#14H ;;晶振12MHZ,延時(shí)1秒
DELAY:CLR EX0
MOV TMOD,#01H ;設(shè)置定時(shí)器的工作方式為方式1
MOV TL0,#0B0H ;給定時(shí)器設(shè)置計(jì)數(shù)初始值
MOV TH0,#3CH
SETB TR0 ;開啟定時(shí)器
HERE:JBC TF0,NEXT1
SJMP HERE
NEXT1:MOV TL0,#0B0H
MOV TH0,#3CH
DJNZ R7,HERE
CLR TR0 ;定時(shí)器要軟件清零
SETB EX0
RET
3、C語(yǔ)言延時(shí)程序:
10ms延時(shí)子程序(12MHZ)
void delay10ms(void)
{
unsigned char i,j,k;
for(i=5;i0;i--)
for(j=4;j0;j--)
for(k=248;k0;k--);
}
1s延時(shí)子程序(12MHZ)
void delay1s(void)
{
unsigned char h,i,j,k;
for(h=5;h0;h--)
for(i=4;i0;i--)
for(j=116;j0;j--)
for(k=214;k0;k--);
}
200ms延時(shí)子程序(12MHZ)
void delay200ms(void)
{
unsigned char i,j,k;
for(i=5;i0;i--)
for(j=132;j0;j--)
for(k=150;k0;k--);
}
500ms延時(shí)子程序程序: (12MHZ)
void delay500ms(void)
{
unsigned char i,j,k;
for(i=15;i0;i--)
for(j=202;j0;j--)
for(k=81;k0;k--);
}
#include "REG52.H"
//控制引腳定義
sbit LED1 = PX.X; //P0.0-P3.7任意引腳
.... .... .......
sbit LED12 = PX.X;
//宏定義燈亮燈滅
#define LED1_ON( ) LED1 =0 //陽(yáng)極接電源
#define LED1_OFF( ) LED1 =1 //陽(yáng)極接電源
....... ............. .............
#define LED12_ON( ) LED12 =0 //陽(yáng)極接電源
#define LED12_OFF( ) LED12 =1 //陽(yáng)極接電源
void Init_GPIO( )//端口引腳初始化,關(guān)閉所有指示燈
{
LED1_OFF( ) ;
..............
LED12_OFF( ) ;
}
void Delay_ms( u16 dat ) //延時(shí)函數(shù)
{
u16 i, j;
for(i = dat; i0; i--)
{
for (j=300; j0; j--);
}
}
int main( ) //主函數(shù)
{
Init_GPIO( );//引腳初始化
while(1) //大循環(huán)
{
LED1_ON( );//點(diǎn)亮第一個(gè)LED
LED2_OFF( );
.............
LED12_OFF( );
Delay_ms(1000);//延時(shí) 參數(shù)自己可以根據(jù)晶振頻率自己調(diào)節(jié)
LED1_OFF( ); //點(diǎn)亮第二個(gè)LED
LED2_ON( );
LED3_OFF( );
.............
LED12_OFF( );
Delay_ms(1000);
............. //按照上面修改;
LED1_OFF( );//點(diǎn)亮第十二個(gè)LED
LED2_OFF );
LED3_OFF( );
.............
LED12_ON( );
Delay_ms(1000);
}
}
用C語(yǔ)言編程,求程序的方法:
#include//包含單片機(jī)寄存器的頭文件
/****************************************函數(shù)功能:延遲一段時(shí)間
*****************************************/
Voiddelay(Void)//Void表示沒(méi)有返回值,也沒(méi)有傳遞參數(shù)。
{
Unsignedint我;定義一個(gè)最大值為65535的無(wú)符號(hào)整數(shù)。
For (I = 0;我 20000;i++) //執(zhí)行20000個(gè)空循環(huán)。
;//什么也不做,等待一個(gè)機(jī)器周期。
}
/*******************************************************
函數(shù)函數(shù):主函數(shù)(C語(yǔ)言規(guī)則必須有且只能有一個(gè)主函數(shù))。
********************************************************/空白主要(空白)
{
而(1)//無(wú)限循環(huán)。
{
P0=0xfe;//P1=11111110B,P0.0輸出低電平。
延遲();//推遲一段時(shí)間。
P0=0XFF;//P1=11111111B,P0.0輸出高電平。
延遲();//推遲一段時(shí)間。
}
}
單片機(jī)驅(qū)動(dòng)LED光源程序:
#include//頭文件。
定義uint無(wú)符號(hào)int
#定義uchar無(wú)符號(hào)字符
SbitLED1=P1^7;//定義。
空白delay_ms(單位);//帶參數(shù)的ms級(jí)延時(shí)函數(shù)。
Voidmain()
{
而(1)
{
LED1=0;
Delay_ms(1000);
LED1=1;
Delay_ms(1000);
}
}
Voiddelay_ms(uintz)//delay子例程
{
使用Uintx,y;
For (x = z;X 0;X -)
For (y = 110;Y 0;Y -);
}
擴(kuò)展資料:
單片機(jī)應(yīng)用分類:
一般類型:
這是關(guān)于微控制器的。例如80C51通用型單片機(jī),它并不是為特定的目的而設(shè)計(jì)的;專用單片機(jī)是為某一類產(chǎn)品甚至某一種產(chǎn)品而設(shè)計(jì)生產(chǎn)的。例如,為了滿足電子體溫計(jì)的要求,芯片中集成了具有ADC接口的溫度測(cè)量控制電路等功能。
主線:
這是由微控制器是否提供并行總線來(lái)區(qū)分的。總線微控制器一般安裝有并行地址總線、數(shù)據(jù)總線、控制總線,這些引腳擴(kuò)展并行外圍設(shè)備可以通過(guò)串口與單片機(jī)連接。
另外,很多單片機(jī)都需要將外圍設(shè)備和外圍設(shè)備的接口集成在一塊,所以在很多情況下不能并行擴(kuò)展總線,大大降低了封裝成本和芯片體積,這種單片機(jī)被稱為非總線單片機(jī)。
控制類型:
這是關(guān)于微控制器的一般應(yīng)用。一般來(lái)說(shuō),工業(yè)控制尋址范圍大,計(jì)算能力強(qiáng)。家用電器的單片機(jī)大多是專用的。
它通常是小包裝、低價(jià)格、高集成的外圍設(shè)備和外圍接口。顯然,上述分類并不獨(dú)特和嚴(yán)格。例如,80C51類單片機(jī)既是通用的,又是總線的,還可以用于工業(yè)控制。
網(wǎng)頁(yè)名稱:c51延時(shí)函數(shù)c語(yǔ)言例程 c52延時(shí)函數(shù)
當(dāng)前路徑:http://chinadenli.net/article38/hppesp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營(yíng)銷推廣、網(wǎng)站內(nèi)鏈、虛擬主機(jī)、響應(yīng)式網(wǎng)站、定制網(wǎng)站、關(guān)鍵詞優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)