久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 13227|回復(fù): 12
打印 上一主題 下一主題
收起左側(cè)

請(qǐng)大家?guī)兔纯催@個(gè)單片機(jī)程序 void Delay10ms(50)是什么意思?

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:85073 發(fā)表于 2017-12-16 13:18 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
最近又開始學(xué)單片機(jī),請(qǐng)高手幫忙看看這個(gè)程序是什么意思,最好有詳盡的解釋,void Delay10ms(50)是什么意思?執(zhí)行void Delay10ms延時(shí)函數(shù)50次嗎?


#include <reg51.h>
#include <intrins.h>

void main(void)
{
        unsigned char LED;

        LED = 0xFE;

        while(1)
        {
                P0 = LED;

                Delay10ms(50);

                LED = _crol_(LED,1);  //循環(huán)右移1位,點(diǎn)亮下一個(gè)LED  此函數(shù)于庫(kù)函數(shù)
        }
}

void Delay10ms(unsigned int c)   //誤差 0us
{
    unsigned char a, b;

        //--c已經(jīng)在傳遞過來的時(shí)候已經(jīng)賦值了,所以在for語句第一句就不用賦值了--//
    for (;c>0;c--)
        {
                for (b=38;b>0;b--)
                {
                        for (a=130;a>0;a--);
                }         
        }
}


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:111634 發(fā)表于 2017-12-16 18:20 | 只看該作者
學(xué)單片機(jī),必須先讀一本教材書,先學(xué)理論,打基礎(chǔ),否則,問題多多,事倍功半。給你介紹一本書,張志良編著的:《80C51單片機(jī)實(shí)用教程——基于Keil C和Proteus》高等教育出版社ISBN 978-7-04-044532-9, 用于學(xué)習(xí)51單片機(jī)原理,程序(雙解c和匯編)語句條條有注解,便于閱讀理解,便于自學(xué),可從零基礎(chǔ)c語言開始學(xué)習(xí)。
回復(fù)

使用道具 舉報(bào)

板凳
ID:149988 發(fā)表于 2017-12-16 19:57 | 只看該作者

RE: 請(qǐng)大家?guī)兔纯催@個(gè)單片機(jī)程序 void Delay10ms(50)是什么意思?

void Delay10ms(unsigned int c)   //誤差 0us
{
    unsigned char a, b;
        //--c已經(jīng)在傳遞過來的時(shí)候已經(jīng)賦值了,所以在for語句第一句就不用賦值了--//
    for (;c>0;c--)
        {
             for (b=38;b>0;b--)
             {
                  for (a=130;a>0;a--);
             }這是一個(gè)有輸入?yún)?shù)的延時(shí)函數(shù),當(dāng)執(zhí)行void Delay10ms(50) 語句時(shí),是將c賦值50。所以,執(zhí)行for (;c>0;c--)語句時(shí)c可以減50次,for (;c>0;c--)所包含的語句都將執(zhí)行50次。for (a=130;a>0;a--);自身要執(zhí)行130次,for (b=38;b>0;b--)語句要執(zhí)行38次,所以for (a=130;a>0;a--);執(zhí)行了130*38=4940次,再乘以 for (;c>0;c--)50次,for (a=130;a>0;a--);共執(zhí)行了130*38*50=247000次,假如執(zhí)行for (a=130;a>0;a--)一次需要0.000002秒,那么0.000002秒*247000次=0.494秒。
回復(fù)

使用道具 舉報(bào)

地板
ID:85073 發(fā)表于 2017-12-17 09:26 | 只看該作者
zl2168 發(fā)表于 2017-12-16 18:20
學(xué)單片機(jī),必須先讀一本教材書,先學(xué)理論,打基礎(chǔ),否則,問題多多,事倍功半。給你介紹一本書,張志良編著 ...

謝謝意見!
回復(fù)

使用道具 舉報(bào)

5#
ID:85073 發(fā)表于 2017-12-17 09:29 | 只看該作者
不倒翁.WZT 發(fā)表于 2017-12-16 19:57
void Delay10ms(unsigned int c)   //誤差 0us
{
    unsigned char a, b;

謝謝意見,很不喜歡編程者這種故作高深的寫法,把它寫成for (c=50;c>0;c--),不就很好理解嗎?
回復(fù)

使用道具 舉報(bào)

6#
ID:325485 發(fā)表于 2018-5-11 22:01 | 只看該作者
不是的,這是個(gè)函數(shù),這次設(shè)置好,下次可以隨時(shí)調(diào)用,且可以調(diào)整時(shí)間,這個(gè)是延遲50*10ms下次可以延遲更多,就直接調(diào)用,這是c語言的
回復(fù)

使用道具 舉報(bào)

7#
ID:328008 發(fā)表于 2018-5-12 02:22 | 只看該作者
樓主問題解決的嗎,及解決方法分享下啊。。。。。。。。。
回復(fù)

使用道具 舉報(bào)

8#
ID:328034 發(fā)表于 2018-5-12 09:16 | 只看該作者
500毫秒延遲
回復(fù)

使用道具 舉報(bào)

9#
ID:591139 發(fā)表于 2019-7-27 09:48 | 只看該作者
aojieage 發(fā)表于 2017-12-17 09:29
謝謝意見,很不喜歡編程者這種故作高深的寫法,把它寫成for (c=50;c>0;c--),不就很好理解嗎?

因?yàn)榍懊嬉呀?jīng)給C賦值50了。

后面再寫一次的話,以后調(diào)整賦值就要記得改兩個(gè)一樣的地方。

所以,不在這里再次賦值是有道理的。只是這個(gè)注釋說的不夠詳細(xì)周密。初學(xué)者沒那么快轉(zhuǎn)過來。
回復(fù)

使用道具 舉報(bào)

10#
ID:591139 發(fā)表于 2019-7-27 09:57 | 只看該作者
我把當(dāng)年的學(xué)習(xí)筆記放出來給樓主和初學(xué)同好:

void Delay10ms(unsigned int c)   //誤差 0us
{
    unsigned char a, b;//--賦值無符號(hào)變量a和b--//

        //--c已經(jīng)在傳遞過來的時(shí)候已經(jīng)賦值了,所以在for語句第一句就不用賦值了。見18、22行--//
        //--完整應(yīng)該為:for (c=50;c>0;c--)--//
    for (;c>0;c--)//--條件循環(huán)。這里是把c用累減方式循環(huán)50次,每次減1直至c=0。實(shí)際效果是將10ms增加50倍--//
        {
               
        //--b和a的條件循環(huán),用于將機(jī)器指令時(shí)長(zhǎng)通過循環(huán)方式拉為10ms時(shí)長(zhǎng)。具體取值與單片機(jī)、晶振的指令周期有關(guān),51單片機(jī)下這些參數(shù)是直接用的。--//
               
                for (b=38;b>0;b--)//
                {
                        for (a=130;a>0;a--);
                }
           
        }
        
回復(fù)

使用道具 舉報(bào)

11#
ID:511461 發(fā)表于 2019-7-28 19:33 | 只看該作者
void Delay10ms(50)是這個(gè)函數(shù)執(zhí)行50次,他想表達(dá)的大約是0.5秒
回復(fù)

使用道具 舉報(bào)

12#
ID:524818 發(fā)表于 2019-7-29 08:50 | 只看該作者
延時(shí)(10ms*50次)500ms
回復(fù)

使用道具 舉報(bào)

13#
ID:542954 發(fā)表于 2019-8-11 19:55 | 只看該作者
這是一個(gè)在51里面常用的粗略的延時(shí)函數(shù)。單片機(jī)的時(shí)鐘往往由外部晶振決定,晶振頻率的倒數(shù)就是這個(gè)單片機(jī)的一個(gè)時(shí)鐘周期,而單片機(jī)執(zhí)行一條語句所用的時(shí)間為時(shí)鐘周期的12的整數(shù)倍(因?yàn)橐粋(gè)機(jī)器周期為12個(gè)時(shí)鐘周期,這是單片機(jī)進(jìn)行讀或?qū)懖僮魉玫臅r(shí)間,而執(zhí)行一次直徑的時(shí)間為幾個(gè)機(jī)器周期)。你這里用的晶振應(yīng)該是11.0592Mhz,所以執(zhí)行一次指令的時(shí)間是12n/11.0592M秒(一般這種空指令n=1),進(jìn)行一次底層的while循環(huán)總共就需要112*12/11.0592M秒,大約100us,所以你給到的函數(shù)變量是多少,這個(gè)函數(shù)就可以給你延遲這個(gè)量*100us的時(shí)間

回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 日本久久久影视 | 亚洲一区二区三区在线播放 | 日本精品在线一区 | 色就干| xxxxx免费视频 | 久久国产精品免费视频 | 日韩av一区二区在线观看 | 大久 | 麻豆国产精品777777在线 | 国产一区二区视频免费在线观看 | 国产精品久久久久久中文字 | 欧美一区精品 | 国产精品久久久久aaaa九色 | 午夜不卡福利视频 | 一级毛片免费 | 亚洲欧洲中文 | 国产大学生情侣呻吟视频 | 欧美日韩成人 | 午夜在线精品 | 日韩欧美亚洲 | 精品国产乱码久久久久久久久 | 亚洲成人精品一区二区 | 麻豆成人在线视频 | 国产激情免费视频 | 国产精品免费在线 | 暖暖日本在线视频 | 亚洲精品一二三区 | 国产丝袜一区二区三区免费视频 | 91免费在线 | 懂色av色香蕉一区二区蜜桃 | 亚洲一区欧美 | 亚洲一区二区视频在线观看 | 一级特黄网站 | 国产高清在线精品 | 天天舔天天 | 亚洲欧美视频 | 国产激情网站 | 亚洲国产精品一区二区三区 | 欧美精品在线免费观看 | 国产精品一区二区av | 蜜桃在线一区二区三区 |