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

QQ登錄

只需一步,快速開始

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

小白求教關(guān)于51單片機(jī)定時(shí)器的問題

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:195542 發(fā)表于 2017-5-2 13:21 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
新手剛學(xué)習(xí)51單片機(jī)沒多久,遇到一個(gè)不知道怎么解決的問題,希望各位大神能點(diǎn)撥下,謝謝!如果我在一個(gè)中斷里將參數(shù)a(a是全局變量)給定時(shí)器賦初值,比如TH0=(65536-a)/256  TL0=(65536-a)%256這樣的。在定時(shí)器開始計(jì)數(shù)了但是還沒溢出的這段時(shí)間里,如果我a的值發(fā)生了改變,那這次定時(shí)器的計(jì)數(shù)工作還能正常進(jìn)行嗎?定時(shí)器是按原本的a值繼續(xù)計(jì)數(shù),還是停止工作呢?
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩

相關(guān)帖子

回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:195542 發(fā)表于 2017-5-2 18:31 | 只看該作者
新人自頂!求大神幫忙!
回復(fù)

使用道具 舉報(bào)

板凳
ID:195693 發(fā)表于 2017-5-2 18:37 | 只看該作者
可以設(shè)置不同的模式,查一下數(shù)據(jù)手冊(cè)
回復(fù)

使用道具 舉報(bào)

地板
ID:195542 發(fā)表于 2017-5-2 18:46 | 只看該作者
愛羊仔 發(fā)表于 2017-5-2 18:37
可以設(shè)置不同的模式,查一下數(shù)據(jù)手冊(cè)

朋友,你沒有明白我的意思。
回復(fù)

使用道具 舉報(bào)

5#
ID:195706 發(fā)表于 2017-5-2 19:11 | 只看該作者
這個(gè)和單片機(jī)也有關(guān)
回復(fù)

使用道具 舉報(bào)

6#
ID:142402 發(fā)表于 2017-5-2 19:30 | 只看該作者
你可以寫個(gè)程序試一下,比如讓燈閃,在主程序里改變a的值(要注意語句執(zhí)行是需要時(shí)間的,所以你的定時(shí)不能太快,要慢一點(diǎn),也就是a取值不要太。
回復(fù)

使用道具 舉報(bào)

7#
ID:195690 發(fā)表于 2017-5-2 20:17 | 只看該作者
如果是51的話,使用keil可以使用軟件調(diào)試,即"Debug",在你a值改變的地方和中斷程序處,設(shè)置斷點(diǎn),然后全速運(yùn)行至斷點(diǎn)處,通過變量窗口可以查看到變量值是否發(fā)生改變,看看改變a值,溢出的時(shí)間會(huì)不會(huì)發(fā)生變化。如果不明白,回頭給你截圖
回復(fù)

使用道具 舉報(bào)

8#
ID:123289 發(fā)表于 2017-5-3 01:56 | 只看該作者
TH0與TL0構(gòu)成一個(gè)16位的計(jì)數(shù)器,能改動(dòng)其中的值只有以下三個(gè)方法:
1、向里送數(shù)(含重置)。
2、計(jì)數(shù)器的CLK被接通,每個(gè)CLK將其-1。
3、單片機(jī)復(fù)位動(dòng)作將其復(fù)成0。
樓主的A參數(shù),與之風(fēng)馬牛不相及。只有做將A參數(shù)送至TH0或TL0的動(dòng)作時(shí)(你所謂的初始化,就是向里送數(shù))才能使之變化。
回復(fù)

使用道具 舉報(bào)

9#
ID:192650 發(fā)表于 2017-5-3 11:05 | 只看該作者
在初始化的時(shí)候 他就會(huì)按照當(dāng)前a的那個(gè)值計(jì)算   這也與定時(shí)器的工作方式有關(guān)
回復(fù)

使用道具 舉報(bào)

10#
ID:195542 發(fā)表于 2017-5-3 13:12 | 只看該作者
lzhlzh 發(fā)表于 2017-5-2 19:30
你可以寫個(gè)程序試一下,比如讓燈閃,在主程序里改變a的值(要注意語句執(zhí)行是需要時(shí)間的,所以你的定時(shí)不能 ...

非常感謝!試了下,看來a的值變化是不會(huì)影響到定時(shí)器工作。
回復(fù)

使用道具 舉報(bào)

11#
ID:195542 發(fā)表于 2017-5-3 13:15 | 只看該作者
yzwzfyz 發(fā)表于 2017-5-3 01:56
TH0與TL0構(gòu)成一個(gè)16位的計(jì)數(shù)器,能改動(dòng)其中的值只有以下三個(gè)方法:
1、向里送數(shù)(含重置)。
2、計(jì)數(shù)器的 ...

謝謝!也就是說定時(shí)器里的初值只可能是確定的數(shù),不會(huì)是個(gè)不確定的參數(shù)是嗎?
回復(fù)

使用道具 舉報(bào)

12#
ID:195542 發(fā)表于 2017-5-3 13:22 | 只看該作者
學(xué)習(xí)電子知識(shí) 發(fā)表于 2017-5-2 20:17
如果是51的話,使用keil可以使用軟件調(diào)試,即"Debug",在你a值改變的地方和中斷程序處,設(shè)置斷點(diǎn),然后全速 ...

謝謝您的幫助,改變a的值后溢出時(shí)間沒有發(fā)生變化,讓我又學(xué)會(huì)一種分析問題的辦法。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表