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

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

QQ登錄

只需一步,快速開(kāi)始

搜索

菜鳥(niǎo)入門,跪求各位高手指教,程序注釋中的兩個(gè)問(wèn)題,謝謝!

查看數(shù): 2388 | 評(píng)論數(shù): 9 | 收藏 0
關(guān)燈 | 提示:支持鍵盤翻頁(yè)<-左 右->
    組圖打開(kāi)中,請(qǐng)稍候......
發(fā)布時(shí)間: 2019-2-21 16:18

正文摘要:

/********************************************************************************** * 【程序功能】: 數(shù)碼管模擬數(shù)字時(shí)鐘顯示                 &nbs ...

回復(fù)

ID:213173 發(fā)表于 2019-2-25 14:36
yuduan66 發(fā)表于 2019-2-25 10:16
想請(qǐng)問(wèn)一下,這個(gè) for(a=100;a>0;a--)起什么作用呢,我在程序中將這行去掉之后,再燒到板上,沒(méi)有發(fā)現(xiàn)差異 ...

        for(a=100; a>0; a--)//小括號(hào)里第一個(gè)表達(dá)式為給變量賦初值,第二個(gè)為判斷標(biāo)準(zhǔn)。若為真,則執(zhí)行下面
                                   //花括號(hào)的指令,否則將跳過(guò)大括弧中的指令,第三句為更改變量值的指令。
        {                         //執(zhí)行順序1--2--{ }--3--2--{ }--3循環(huán)100次a不大于0了,不滿足判斷標(biāo)準(zhǔn),跳出循環(huán)。
                                  //通常用for循環(huán)做延時(shí)。就像你在路邊等人,原地打轉(zhuǎn)渡步熬時(shí)間。
        }
ID:425029 發(fā)表于 2019-2-25 10:16
想請(qǐng)問(wèn)一下,這個(gè) for(a=100;a>0;a--)起什么作用呢,我在程序中將這行去掉之后,再燒到板上,沒(méi)有發(fā)現(xiàn)差異,麻煩各位高手幫忙看看,謝謝!
ID:417440 發(fā)表于 2019-2-22 12:13
首先看的是TMOD=0x02,這是通過(guò)定時(shí)器模式寄存器將定時(shí)器設(shè)置成8位自動(dòng)重載計(jì)數(shù)器。8位的計(jì)數(shù)器最高能計(jì)數(shù)256次。
接下來(lái),就要有一個(gè)計(jì)數(shù)的容器,這個(gè)容器就是TL0,樓主程序里寫的TL0=0x06,這個(gè)意思就是將TL0預(yù)先裝了一個(gè)0x06的值,那么它就不用從0開(kāi)始計(jì)數(shù),而是從0x06開(kāi)始計(jì)數(shù),它只要再計(jì)250次就會(huì)滿值溢出,溢出后會(huì)產(chǎn)生一個(gè)溢出中斷,就是TF0,此時(shí)TF0就被置1,會(huì)向單片機(jī)發(fā)送中斷請(qǐng)求。
在接下來(lái)就是TH0,TH0它在8位自動(dòng)重載計(jì)數(shù)器里的作用就是用來(lái)裝預(yù)置數(shù)的,每次TL0計(jì)數(shù)溢出后,單片機(jī)就會(huì)自動(dòng)將TH0里的值賦值給TL0,讓TL0重新工作計(jì)數(shù)。
tcount==4000就是在T0的定時(shí)中斷里計(jì)4000次中斷。
假如你的51單片機(jī)晶振頻率是12M,那么你的機(jī)器周期就是12M/12=1微秒,你的定時(shí)器中斷的時(shí)間就是250*1=250微秒=0.25毫秒。計(jì)4000次就是4000*0.25=1000毫秒=1秒。
然后回看你的程序中斷里,每計(jì)4000次,second++;每計(jì)60次second,minute++;每計(jì)60次minute,hour++;計(jì)24次hour,則hour歸零,重新計(jì)時(shí)。
ID:7485 發(fā)表于 2019-2-22 09:03
本帖最后由 ahshmj 于 2019-2-22 14:08 編輯
kissme 發(fā)表于 2019-2-21 18:52
1.賦值0X60的根據(jù)是:八位計(jì)數(shù)器最多計(jì)數(shù)0-256.裝入初值0X60,也就是96,讓定時(shí)器從96計(jì)數(shù)到255溢出用時(shí)0.2 ...

理解的完全正確!*************************
前面沒(méi)有仔細(xì)看,又看看才發(fā)覺(jué):應(yīng)該是0x06,不是0x60。256-6=250;250us*4000=1s
ID:474677 發(fā)表于 2019-2-22 08:56
我來(lái)總結(jié)一下,樓上的說(shuō)得都對(duì),樓下的繼續(xù)補(bǔ)充……
ID:158375 發(fā)表于 2019-2-22 08:51
51的資料,樓主需要好好研究一下。
時(shí)間是要計(jì)算的。
程序只是具體實(shí)現(xiàn)過(guò)程。
ID:432823 發(fā)表于 2019-2-21 21:16
從程序上看,定時(shí)器中斷4000次為1秒,即定時(shí)器中斷間隔時(shí)間少于1/4000秒(0.25MS),不知晶振為多少?可以定時(shí)器設(shè)置軟件計(jì)算一下,就知道TH=0x06。
ID:213173 發(fā)表于 2019-2-21 20:39
void main(void)
{
    unsigned int  a;
    TMOD=0x02;//T0工作在模式2,8位自動(dòng)重裝計(jì)數(shù)器
    TH0=0x06; //這個(gè)定時(shí)器賦值0x06是依據(jù)什么呢?
    TL0=0x06; //初值預(yù)裝6,每12個(gè)時(shí)鐘(1個(gè)機(jī)器周期1us)+1,加滿8位寄存器并且
                                //溢出需要250個(gè)機(jī)器周期,就是定時(shí)250us
    TR0=1;               
    ET0=1;
    EA=1


void t0(void) interrupt 1 using 0
{
        tcount++;
    if(tcount==4000)//這個(gè)地方為什么要賦值4000????
        {                //==這不是賦值,是測(cè)試值4000,250us*4000不就是1秒嗎?
                tcount=0;
                second++;
ID:461428 發(fā)表于 2019-2-21 18:52
1.賦值0X60的根據(jù)是:八位計(jì)數(shù)器最多計(jì)數(shù)0-256.裝入初值0X60,也就是96,讓定時(shí)器從96計(jì)數(shù)到255溢出用時(shí)0.25毫秒。
2.定時(shí)器溢出4000次,4000*0.25為一秒時(shí)間。
我自己的理解。。不對(duì)的話 樓下補(bǔ)充,,謝謝

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 91av在线免费看 | 黄色一级视频 | 亚洲国产成人精品女人 | 成人精品一区亚洲午夜久久久 | 国产精品1区2区 | 日韩精品在线一区 | 亚洲在线一区二区三区 | 日日草天天干 | 综合久久av | 91久久精品一区二区二区 | 欧美一区二区三区在线 | 日韩高清av | 亚洲aⅴ | 天天操天天摸天天爽 | 日韩五月天 | 欧美精品一区二区三区在线 | 日韩在线播放av | 色综合久 | 黄色网一级片 | 国产精品一区二区久久 | 久久国产精品网 | 中国av在线免费观看 | 一级毛片在线播放 | 99精品国产一区二区三区 | 亚洲免费人成在线视频观看 | 婷婷丁香在线视频 | 日韩视频在线观看中文字幕 | 好姑娘高清在线观看电影 | 毛片在线看片 | 成人免费观看男女羞羞视频 | 天天干天天色 | 亚洲福利一区二区 | 中文字幕在线免费视频 | 国产精品不卡一区 | 久久精品国产亚洲a | 久久中文免费视频 | 国产亚洲一区二区三区 | 欧美在线播放一区 | 国产色婷婷精品综合在线播放 | 亚洲一区二区av | 91久操网 |