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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

[討論]菜鳥糾結(jié)于精確計時

查看數(shù): 7260 | 評論數(shù): 11 | 收藏 0
關(guān)燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發(fā)布時間: 2012-8-30 14:31

正文摘要:

首先聲明下我只是個菜鳥,只會1點C語言,匯編什么的~對我而言是天書,看不懂開發(fā)板也周日下午到的手,“十天學(xué)會單片機(jī)和C語言編程”也才看完 Lesson3,講到 T0 中斷。試著做教程里的 課后練習(xí),第1題,題目是:第一 ...

回復(fù)

ID:44260 發(fā)表于 2012-9-4 08:48

只是截圖時用的 Notepad++ 文本編輯器

 

應(yīng)用了 tomorrow_night_bright 皮膚

[此貼子已經(jīng)被作者于2012-9-4 8:48:55編輯過]
ID:1 發(fā)表于 2012-9-3 22:04
敢問樓主用的什么代碼編輯器  貌似不是keil?
ID:7485 發(fā)表于 2012-9-2 00:32

單獨計量一個us是不容易,但是10天差5秒是可以計量的。

ID:42637 發(fā)表于 2012-9-1 22:26

結(jié)果是閃爍1次慢1微秒,折換到1小時就是慢 18ms
也就是只能做到 “第一個發(fā)光管以間隔199.999ms閃爍”
肉眼觀察到這種現(xiàn)象?

軟件仿真本就不準(zhǔn)!

在網(wǎng)上查了一下,能測1微秒的量具還真沒找到。

[此貼子已經(jīng)被作者于2012-9-1 22:31:50編輯過]
ID:7485 發(fā)表于 2012-9-1 09:34

你的理解是對的!

 

按我上面給你的回復(fù)試一試,就那么多。

ID:44260 發(fā)表于 2012-8-31 22:01

繼續(xù)學(xué)習(xí)~發(fā)現(xiàn)T0 T1 的工作方式2 也是具有自動重裝的,

 

只不過只能有8位也就是最大256us [12M晶振]

 

256us 時間有點短,留給程序執(zhí)行的其它代碼時間不多。

 

我這樣理解不錯吧?

ID:7485 發(fā)表于 2012-8-31 21:41

TH2=(65536-46080)/256       ;//46080...11.0592MHZ晶振的初裝值
TL2=(65536-46080) MOD 256   ;//初值0DC00H送定時器T2 
RCAP2H=(65536-46080)/256; 
RCAP2L=(65536-46080) MOD 256   ;//初始化重裝初值
T2CON=0x04                     ;//初始化T2工作方式(自動重裝初值、定時)
                                                     ;//并啟動了T2
ET2=1                             ;//允許定時器T2中斷

 

[此貼子已經(jīng)被作者于2012-9-1 9:36:46編輯過]
ID:44260 發(fā)表于 2012-8-31 12:07

呵呵,我的代碼里,12M晶振不準(zhǔn)引起的誤差,我就是再怎么個強(qiáng)迫癥,我也無能為力了

STC-ISP下載時顯示的貌似確實不是精確12M,是不滿12M】

 

我們開發(fā)板 STC89C52單片機(jī) 芯片

是有 定時器/計數(shù)器2 的吧,

 

查了 reg52.h , 定時器/計數(shù)器2 不是很懂,

是不是這樣

IE 寄存器的 ET2 位是 定時器/計數(shù)器2 開關(guān)

對應(yīng)的 T2CON 寄存器的 TR2和TF2位是 開始計時和溢出的標(biāo)志位

 

T2CON 其它位都是什么作用?

始初值、工作方式啊 什么的是哪在個寄存器位?

 

看不懂啊,還缺點理論知識,

定時器/計數(shù)器2 使用教程在哪有的沒?

 

 

[此貼子已經(jīng)被作者于2012-8-31 12:07:58編輯過]
ID:7485 發(fā)表于 2012-8-31 08:08

首先你的精益求精的精神我是贊賞的。

 

基于你這種精神和目的,但是我不得不告訴你:定時器工作在這種模式下,不可能那么精確。12m晶振,只要有誤差就肯定大于1us)

 

原因是由于51單片機(jī)在響應(yīng)中斷請求時的一些條件(具體的你自己再看看資料吧),不可能任何情況下都及時響應(yīng)。由于重新裝載定時初值是在中斷內(nèi),所以就會造成重新裝載初值的時間不確定(當(dāng)然是us級的),自然就造成了誤差。

 

怎么辦呢?如果是做單片機(jī)時鐘(不用時鐘芯片),確實需要這么高的精度時,可以采用定時器/計數(shù)器2(51沒有,52有),自動重裝載初值的工作模式。

ID:44260 發(fā)表于 2012-8-30 21:50

看了那個貼子,匯編不懂~哈

 

參照貼子,按思路試了一下,應(yīng)該也是可以調(diào)整 延遲語句 精確定時到200ms,

但這種 延遲語句 沒辦法方便調(diào)整成其它時間,比如改成250ms,又得反復(fù)調(diào)  延遲語句 到精確。

 【這方法也可以把精確定時調(diào)小,比如 延遲語句 1次是50ms,要250ms定時 就調(diào)用5次】

 

 

又順著貼子看到 _nop_() 函數(shù)正好是 1 μs,看了之前的程序,

閃爍1次慢1 μs 不對,而是快了1 μs

加個 _nop_()  應(yīng)該正好

 

調(diào)了下我的程序,關(guān)了數(shù)碼管干擾,加了 _nop_() 空函數(shù),正好間隔200ms,非常精確。

改定時就修改 if 的判斷語句,可以隨便改 50ms 倍數(shù) 的間隔時間,都是精準(zhǔn)的。

 

當(dāng)然主程序循環(huán)體語句數(shù)量改變等,定時器中斷程序里的 堆棧 操作時間也會隨著變,調(diào)起來也麻煩了 =_=!

 

我的程序改成這樣了:

 

 

 

[此貼子已經(jīng)被作者于2012-8-30 22:01:37編輯過]
ID:1 發(fā)表于 2012-8-30 16:23

我原來曾經(jīng)專門開過一個帖子介紹過精確定時的問題 http://www.zg4o1577.cn/bbs/dpj-4711-1.html  

 

你按上面網(wǎng)址的做 能精確到1微妙 .

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 精品福利一区 | 国产一区二区三区免费视频 | 久久99国产精品久久99果冻传媒 | 精品免费国产一区二区三区四区 | 99热首页| 国产人免费人成免费视频 | 亚洲一区二区久久久 | 欧美日韩一区二区在线观看 | 午夜精品一区 | 亚洲成人一区二区三区 | 国产婷婷综合 | 91精品在线播放 | 在线免费观看毛片 | 一a级片 | 久久久久久国产精品 | 欧美成人a∨高清免费观看 色999日韩 | 成人妇女免费播放久久久 | 成人一区二区三区在线观看 | 国产精品一区三区 | 国产精品夜色一区二区三区 | 99久久精品免费看国产免费软件 | 久久免费大片 | 天天操天天射天天 | 欧美视频一区二区三区 | 黄色片在线看 | 国产乱码精品一区二区三区忘忧草 | 久久不卡 | 成人在线观看欧美 | 欧美高清一级片 | 少妇午夜一级艳片欧美精品 | 久久久久国产精品午夜一区 | 亚洲日韩中文字幕一区 | 中文字幕日韩欧美一区二区三区 | 亚洲一区二区免费电影 | 欧美一区二区在线免费观看 | 久久成人人人人精品欧 | 亚洲精品一区二区三区蜜桃久 | 亚洲人成人一区二区在线观看 | 久久91精品国产一区二区三区 | 天天干夜夜操 | 国产精品久久久久影院色老大 |