標(biāo)題:
幫忙回答一下 簡單的C語言延時程序問題
[打印本頁]
作者:
啊啊啊的
時間:
2018-9-12 08:38
標(biāo)題:
幫忙回答一下 簡單的C語言延時程序問題
其中這段程序是延時程序 但是不理解為什么具有延時功能 需要大神幫忙
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
#define R P2
#define C P3
uchar code row[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
uchar code led[]={0,0,0,0,0,0,0,0,
0x0,0x3e,0x6a,0xaa,0x2a,0x3e,0x0,0x0,
0,0,0,0,0,0,0,0};
void delay(uint i)
{
uint j,k;
for(j=i;j>0;j--)
for(k=110;k>0;k--);
}
void display(uchar tab[])
{
uchar i,j;
for(j=0;j<=8;j++)
{
for(i=0;i<8;i++)
{
R=row[i];
C=tab[i+j];
delay(2);}
delay(50);
}
}
void main()
{
while(1)
display(led);
}
我這段程序為在8*8LED點陣中顯示一個從右到左的白,為什么是倒著的
void delay(uint i)
{
uint j,k;
for(j=i;j>0;j--)
for(k=110;k>0;k--);
}
復(fù)制代碼
捕獲1.PNG
(120.52 KB, 下載次數(shù): 112)
下載附件
2018-9-12 08:38 上傳
作者:
a89588038
時間:
2018-9-12 09:28
你試著把排線調(diào)個方向插,看看效果如何~
作者:
星輝閃閃
時間:
2018-9-12 11:14
線序反了,執(zhí)行空指令就是延時單純的消耗CPU時間
作者:
proprac
時間:
2018-9-12 14:01
執(zhí)行循環(huán)語句也會占用cpu的,即花費機器周期,也就起到了延時的作用
作者:
mrcong
時間:
2018-9-12 14:44
for(j=i;j>0;j--)
for(k=110;k>0;k--); 指令周期了解下
作者:
aojie1101
時間:
2018-9-12 16:31
換個排線順序或者修改下程序邏輯
作者:
yueguang
時間:
2018-9-12 17:13
小小新手的我只能復(fù)制換個排線順序或者修改下程序邏輯
作者:
hi,hi
時間:
2018-9-12 23:39
有延時是因為程序執(zhí)行需要時間,進入循環(huán)后一直在循環(huán)里跑,時間就一點一點跑過去了
作者:
小屁
時間:
2018-9-13 00:45
解決了嗎
作者:
huangfuzhiqi
時間:
2018-9-13 07:01
void delay()函數(shù)執(zhí)行的就是一個延時程序,依靠單片機執(zhí)行一條指令來實現(xiàn)的累積延時
作者:
我的小彭友
時間:
2018-9-13 09:14
for(j=i;j>0;j--)
for(k=110;k>0;k--);
這些都能起到延時的作用
推薦一個最基礎(chǔ)的延時程序也用的是for語句
很多人不知道for語句的延時具體是多長時間 看一下下面的歷程
unit i, j;
for (i=500;i>0;i--)
for(j=110;j>0;j--);
這是基礎(chǔ)的延時函數(shù),當(dāng)最后一句中j為110固定不變的時候,i等于多少就是延時多少毫秒
例如上面的例子就是延時500毫秒
作者:
xzf586
時間:
2018-9-15 11:38
具體延時多久,可以在keil中調(diào)試一下,看看系統(tǒng)運行時間!
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1