標(biāo)題: 5課:單片機(jī)延時(shí)程序分析 [打印本頁(yè)]

作者: admin    時(shí)間: 2013-5-21 02:48
標(biāo)題: 5課:單片機(jī)延時(shí)程序分析
上一次課中,我們已經(jīng)知道,程序中的符號(hào)R7、R6是代表了一個(gè)個(gè)的RAM單元,是用來(lái)放一些數(shù)據(jù)的,下面我們?cè)賮?lái)看一下其它符號(hào)的含義。
DELAY:   MOV R7,#250   ;(6)
D1:   MOV R6,#250      ;(7)
D2:   DJNZ R6,D2      ;(8)
DJNZ R7,D1            ;(9)   
RET                ;(10)

〈單片機(jī)延時(shí)程序〉
  MOV:這是一條指令,意思是傳遞數(shù)據(jù)。說(shuō)到傳遞,我們都很清楚,傳東西要從一本人的手上傳到另一本人的手上,也就是說(shuō)要有一個(gè)接受者,一個(gè)傳遞者和一樣?xùn)|西。從指令MOV R7,#250中來(lái)分析,R7是一個(gè)接受者,250是被傳遞的數(shù),傳遞者在這條指令中被省略了(注意:并不是每一條傳遞指令都會(huì)省的,事實(shí)上大部份數(shù)據(jù)傳遞指令都會(huì)有傳遞者)。它的意義也很明顯:將數(shù)據(jù)250送到R7中去,因此執(zhí)行完這條指令后,R7單元中的值就應(yīng)當(dāng)是250。在250前面有個(gè)#號(hào),這又是什么意思呢?這個(gè)#就是用來(lái)說(shuō)明250就是一個(gè)被傳遞的東西本身,而不是傳遞者。那么MOV R6,#250是什么意思,應(yīng)當(dāng)不用分析了吧。
  DJNZ:這是另一條指令,我們來(lái)看一下這條指令后面跟著的兩個(gè)東西,一個(gè)是R6,一個(gè)是D2,R6我們當(dāng)然已知是什么了,查一下D2是什么。D2在本行的前面,我們已學(xué)過(guò),這稱(chēng)之為標(biāo)號(hào)。標(biāo)號(hào)的用途是什么呢?就是給本行起一個(gè)名字。DJNZ指令的執(zhí)行過(guò)程是這樣的,它將其后面的第一個(gè)參數(shù)中的值減1,然后看一下,這個(gè)值是否等于0,如果等于0,就往下執(zhí)行,如果不等于0,就轉(zhuǎn)移,轉(zhuǎn)到什么地方去呢?可能大家已猜到了,轉(zhuǎn)到第二個(gè)參數(shù)所指定的地方去(請(qǐng)大家用自已的話講一下這條語(yǔ)句是怎樣執(zhí)行的)。本條指令的最終執(zhí)行結(jié)果就是,在原地轉(zhuǎn)圈250次。
  執(zhí)行完了DJNZ R6,D2之后(也就是R6的值等于0之后),就會(huì)去執(zhí)行下面一行,也就是DJNZ R7,D1,請(qǐng)大家自行分析一下這句話執(zhí)行的結(jié)果。(轉(zhuǎn)去執(zhí)行MOV R6,#250,同時(shí)R7中的值減1),最終DJNZ R6,D2這句話將被執(zhí)行250*250=62500次,執(zhí)行這么多次同一條指令干嗎?就是為了延時(shí)。
一個(gè)問(wèn)題:如果在R6中放入0,會(huì)有什么樣的結(jié)果。
二、時(shí)序分析:
  前面我們介紹了延時(shí)程序,但這還不完善,因?yàn),我們只知道DJNZ R6,D2這句話會(huì)被執(zhí)行62500次,但是執(zhí)行這么多次需要多長(zhǎng)時(shí)間呢?是否滿足我們的要求呢?我們還不知道,所以下面要來(lái)解決這個(gè)問(wèn)題。
  先提一個(gè)問(wèn)題:我們學(xué)校里什么是最重要的。(鈴聲)校長(zhǎng)能出差,老師能休息,但學(xué)校一日無(wú)鈴聲必定大亂。整個(gè)學(xué)校就是在鈴聲的統(tǒng)一指揮下,步調(diào)一致,統(tǒng)一協(xié)調(diào)地工作著。這個(gè)鈴是按一定的時(shí)間安排來(lái)響的,我們能稱(chēng)之為“時(shí)序��時(shí)間的次序”。一個(gè)由人組成的單位尚且要有一定的時(shí)序,計(jì)算機(jī)當(dāng)然更要有嚴(yán)格的時(shí)序。事實(shí)上,計(jì)算機(jī)更象一個(gè)大鐘,什么時(shí)候分針動(dòng),什么時(shí)候秒針動(dòng),什么時(shí)候時(shí)針動(dòng),都有嚴(yán)格的規(guī)定,一點(diǎn)也不能亂。計(jì)算機(jī)要完成的事更復(fù)雜,所以它的時(shí)序也更復(fù)雜。
  我們已知,計(jì)算機(jī)工作時(shí),是一條一條地從ROM中取指令,然后一步一步地執(zhí)行,我們規(guī)定:計(jì)算機(jī)訪問(wèn)一次存儲(chǔ)器的時(shí)間,稱(chēng)之為一個(gè)機(jī)器周期。這是一個(gè)時(shí)間基準(zhǔn),好象我們?nèi)擞谩懊搿弊鳛槲覀兊臅r(shí)間基準(zhǔn)一樣,為什么不干脆用“秒”,多好,很習(xí)慣,學(xué)下去我們就會(huì)知道用“秒”反而不習(xí)慣。
一個(gè)機(jī)器周期包括12個(gè)時(shí)鐘周期。下面讓我們算一下一個(gè)機(jī)器周期是多長(zhǎng)時(shí)間吧。設(shè)一個(gè)單片機(jī)工作于12M晶體震蕩器,它的時(shí)鐘周期是1/12(微秒)。它的一個(gè)機(jī)器周期是12*(1/12)也就是1微秒。(請(qǐng)計(jì)算一個(gè)工作于6M晶體震蕩器的單片機(jī),它的機(jī)器周期是多少)。
  MCS-51單片機(jī)的所有指令中,有一些完成得比較快,只要一個(gè)機(jī)器周期就行了,有一些完成得比較慢,得要2個(gè)機(jī)器周期,還有兩條指令要4個(gè)機(jī)器周期才行。這也不難再解,不是嗎?我讓你掃地的執(zhí)行要完成總得比要你完成擦黑板的指令時(shí)間要長(zhǎng)。為了恒量指令執(zhí)行時(shí)間的長(zhǎng)短,又引入一個(gè)新的概念:指令周期。所謂指令周期就是指執(zhí)行一條指令的時(shí)間。INTEL對(duì)每一條指令都給出了它的指令周期數(shù),這些數(shù)據(jù),大部份不需要我們?nèi)ビ洃,但是有一些指令是需要記住的,如DJNZ指令是雙周期指令。
  下面讓我們來(lái)計(jì)算剛才的延時(shí)。首先必須要知道晶體震蕩器的頻率,我們?cè)O(shè)所用晶體震蕩器為12M,則一個(gè)機(jī)器周期就是1微秒。而DJNZ指令是雙周期指令,所以執(zhí)行一次要2個(gè)微秒。一共執(zhí)行62500次,正好125000微秒,也就是125毫秒。
如果你對(duì)上面幾句還是不懂請(qǐng)看這里的詳解:http://www.torrancerestoration.com/mcu/1247.html
關(guān)于用C語(yǔ)言寫(xiě)延時(shí)函數(shù)的詳解請(qǐng)看這:http://www.torrancerestoration.com/mcu/710.html
練習(xí):設(shè)計(jì)一個(gè)延時(shí)100毫秒的延時(shí)程序。
要點(diǎn)分析:1、一個(gè)單元中的數(shù)是否能超過(guò)255。2、如何分配兩個(gè)數(shù)。
三、復(fù)位電路
一、復(fù)位方式
⒈ 復(fù)位條件
        RST引腳保持2個(gè)機(jī)器周期以上的高電平。
⒉ 復(fù)位電路

〈單片機(jī)復(fù)位電路〉
⒊ 復(fù)位后CPU狀態(tài)
       PC:  0000H         TMOD: 00H
       Acc: 00H           TCON: 00H
       B:   00H           TH0:  00H
       PSW: 00H           TL0:  00H
       SP:  07H           TH1:  00H
       DPTR:0000H         TL1:  00H
       P0~P3:FFH         SCON: 00H
       IP:×××00000B    SBUF: 不定
       IE:0××00000B     PCON: 0×××0000B
  任何單片機(jī)在工作之前都要有個(gè)復(fù)位的過(guò)程,復(fù)位是什么意思呢?它就象是我們上課之前打的預(yù)備鈴。預(yù)備鈴一響,大家就自動(dòng)地從操場(chǎng)、其它地方進(jìn)入教室了,在這一段時(shí)間里,是沒(méi)有老師干預(yù)的,對(duì)單片機(jī)來(lái)說(shuō),是程序還沒(méi)有開(kāi)始執(zhí)行,是在做準(zhǔn)備工作。顯然,準(zhǔn)備工作不需要太長(zhǎng)的時(shí)間,復(fù)位只需要5ms的時(shí)間就能了。如何進(jìn)行復(fù)位呢?只要在單片機(jī)的RST管腳上加上高電平,就能了,按上面所說(shuō),時(shí)間不少于5ms。為了達(dá)到這個(gè)要求,能用很多種辦法,這里供給一種供參考,見(jiàn)圖1。實(shí)際上,我們?cè)谏弦淮螌?shí)驗(yàn)的圖中已見(jiàn)到過(guò)了。
  這種復(fù)位電路的工作原理是:通電時(shí),電容兩端相當(dāng)于是短路,于是RST管腳上為高電平,然后電源通過(guò)電阻對(duì)電容充電,RST端電壓慢慢下降,降到一定程序,即為低電平,單片機(jī)開(kāi)始正常工作。

下一課:6課:單片機(jī)并行口結(jié)構(gòu)


作者: 阿格拉瑞    時(shí)間: 2013-5-25 21:46
延時(shí)怎么不計(jì)算跟精確一點(diǎn)?更精確是125751us
作者: c2y3h2    時(shí)間: 2013-8-31 09:25
謝謝分享!。。!
作者: xksok    時(shí)間: 2013-11-20 16:33
謝謝分享
作者: 云往這邊飄    時(shí)間: 2013-12-19 22:54
不錯(cuò)!很好
作者: 曾經(jīng)有過(guò)    時(shí)間: 2014-1-3 19:58
很詳細(xì),很全面,有匯編,有C語(yǔ)言,但有點(diǎn)轉(zhuǎn)不過(guò)來(lái)(原因 要學(xué)匯編,要學(xué)C 語(yǔ)言)
作者: 鰥寡孤獨(dú)    時(shí)間: 2014-3-6 19:43
對(duì)我的論文寫(xiě)作很有幫助。
作者: 菜菜鳥(niǎo)愛(ài)單片機(jī)    時(shí)間: 2014-3-20 17:16
我們?cè)O(shè)所用晶體震蕩器為12M,則一個(gè)機(jī)器周期就是1微秒      這個(gè)·怎么算??
作者: happy5027    時(shí)間: 2014-3-20 21:26
厲害厲害
作者: lixichunedu    時(shí)間: 2014-4-5 12:46
菜菜鳥(niǎo)愛(ài)單片機(jī) 發(fā)表于 2014-3-20 17:16
我們?cè)O(shè)所用晶體震蕩器為12M,則一個(gè)機(jī)器周期就是1微秒      這個(gè)·怎么算??

12MHZ的晶體振蕩器  意味著這個(gè)晶體振蕩器1秒鐘震蕩12000000次,也就是12000000個(gè)(高一下低一下),也就是脈沖。震蕩1次消耗的時(shí)間(也就是時(shí)鐘周期,其實(shí)就是換了個(gè)名稱(chēng))是
(1秒)/12000000=0.0000000833333333(秒),
一個(gè)機(jī)器周期=12個(gè)時(shí)鐘周期(規(guī)定的)
一個(gè)機(jī)器周期=12*0.000000083333333(秒)=0.000001(秒)=1(微秒)。
實(shí)際上計(jì)算不是這么復(fù)雜的。
樓主說(shuō) 6MHZ的晶振的機(jī)器周期是多少?
我是這么計(jì)算的
12*(1/6)       =   2us.
         M 的倒數(shù)  = us 微
其實(shí) 單位量綱中的 兆(M)和 微(us)互為倒數(shù)的原因。
我說(shuō)的不好的地方,希望大家批評(píng)指正。
作者: lixichunedu    時(shí)間: 2014-4-5 13:53
復(fù)位電路不是很清楚
作者: ivmmcu    時(shí)間: 2014-4-18 11:47
單片機(jī)上電是直流5v電壓,電容不是隔直通交嗎?為什么一上電電容就短路了?當(dāng)電容充完電之后不用放電嗎?復(fù)位電路還是有點(diǎn)不懂,希望樓主能給點(diǎn)建議,謝謝。
作者: 亭子    時(shí)間: 2014-7-22 10:27
感謝樓主
作者: impel    時(shí)間: 2014-7-29 20:15
謝謝分享。。。!
作者: 麟01    時(shí)間: 2014-8-6 23:49
不太懂
作者: 麟01    時(shí)間: 2014-8-7 12:48
不太懂
作者: 清水    時(shí)間: 2014-12-3 20:14
lixichunedu 發(fā)表于 2014-4-5 12:46
12MHZ的晶體振蕩器  意味著這個(gè)晶體振蕩器1秒鐘震蕩12000000次,也就是12000000個(gè)(高一下低一下),也就 ...

你這么一解釋?zhuān)揖兔靼琢?hr noshade size="2" width="100%" color="#808080"> 作者: jiashun    時(shí)間: 2014-12-5 21:17
大師的深入淺出的講解
作者: Soar_C    時(shí)間: 2014-12-10 16:04
ivmmcu 發(fā)表于 2014-4-18 11:47
單片機(jī)上電是直流5v電壓,電容不是隔直通交嗎?為什么一上電電容就短路了?當(dāng)電容充完電之后不用放電嗎?復(fù) ...

學(xué)過(guò)電路原理大家就知道,圖示電容的兩端電壓是逐漸從0V慢慢增長(zhǎng)到穩(wěn)定狀態(tài)時(shí)的電壓5V的,而不是直接躍變到5v。也就是說(shuō)RST引腳的電壓是從5V逐漸降到0v的。假設(shè)單片機(jī)認(rèn)為大于3V為高電平,也就是只要使RST引腳從5V降到3V的時(shí)間大于兩個(gè)機(jī)器周期的話,單片機(jī)就復(fù)位。右邊的圖同理。因?yàn)檫@個(gè)時(shí)間與電阻、電容大小有關(guān),所以復(fù)位電路中電阻值、電容值要精心選擇。
作者: ouyase    時(shí)間: 2014-12-12 13:24
Soar_C 發(fā)表于 2014-12-10 16:04
學(xué)過(guò)電路原理大家就知道,圖示電容的兩端電壓是逐漸從0V慢慢增長(zhǎng)到穩(wěn)定狀態(tài)時(shí)的電壓5V的,而不是直接躍變 ...

還是不明白,RST引腳上的5V電壓是哪里來(lái)的?
作者: yjj2011    時(shí)間: 2014-12-16 21:08
努力學(xué)習(xí)中
作者: ardu    時(shí)間: 2014-12-18 20:01
初學(xué)者                 
作者: pps111    時(shí)間: 2014-12-20 12:28
學(xué)習(xí)了
作者: yyphone    時(shí)間: 2015-1-16 22:07
我覺(jué)得這個(gè)教程講解得深入淺出!贊一個(gè)!
作者: yyphone    時(shí)間: 2015-1-16 22:07
多好的教程,相見(jiàn)恨晚!
作者: 我就要飛刀    時(shí)間: 2015-1-20 17:07
本帖最后由 我就要飛刀 于 2015-1-20 17:15 編輯

DELAY:   MOV R7,#250   ;(6)
D1:   MOV R6,#250      ;(7)
D2:   DJNZ R6,D2      ;(8)
DJNZ R7,D1            ;(9)   
RE
按老師提示,我把這段改了一下
DELAY: MOV R7,#250 ;(6)
D1: MOV R6,#0   ;(7)
D2: DJNZ R6,D2     ;(8)
       DJNZ R7,D1  ;(9)
  好象看起來(lái)變化不大
再改成這樣:
DELAY: MOV R7,#1 ;(6)
D1: MOV R6,#250  ;(7)
D2: DJNZ R6,D2     ;(8)
       DJNZ R7,D1

明顯閃爍慢了很多。



作者: dimozun    時(shí)間: 2015-3-30 20:30
對(duì)于正在學(xué)單片機(jī)的我來(lái)說(shuō),幫助很大,謝謝分享~\(≧▽≦)/~。。
作者: b4082    時(shí)間: 2015-4-1 10:21
感謝分享!
作者: 崔三爺    時(shí)間: 2015-4-18 10:38
我就要飛刀 發(fā)表于 2015-1-20 17:07
DELAY:   MOV R7,#250   ;(6)
D1:   MOV R6,#250      ;(7)
D2:   DJNZ R6,D2      ;(8)

滿了嗎?
作者: 崔三爺    時(shí)間: 2015-4-18 10:38
真的很好,真心的
作者: cikesheshou    時(shí)間: 2015-4-29 22:49
謝謝分享
作者: eject2015    時(shí)間: 2015-5-5 16:57
ivmmcu 發(fā)表于 2014-4-18 11:47
單片機(jī)上電是直流5v電壓,電容不是隔直通交嗎?為什么一上電電容就短路了?當(dāng)電容充完電之后不用放電嗎?復(fù) ...

在直流電剛上電時(shí),電容上是有電子移動(dòng)產(chǎn)生電流的 ,當(dāng)電容充電完成后相當(dāng)斷路
作者: 高佳篷    時(shí)間: 2015-6-8 19:11
時(shí)序邏輯電路是什么
作者: 高佳篷    時(shí)間: 2015-6-8 19:11
看不懂啊怎么辦
作者: yangsb6717    時(shí)間: 2015-7-4 11:28
看的我手癢癢的
作者: 白鶴859    時(shí)間: 2015-7-28 08:26
贊,剛開(kāi)始學(xué)習(xí)單片機(jī)借了好多書(shū)發(fā)現(xiàn)都云里霧里的,這個(gè)資料感覺(jué)棒極了,以前C語(yǔ)言雖然學(xué)了,但糊里糊涂的,現(xiàn)在和匯編語(yǔ)言放一塊感覺(jué)慢慢理解了,太棒了,謝謝樓主!。!
作者: silverdj    時(shí)間: 2015-8-7 13:44
ouyase 發(fā)表于 2014-12-12 13:24
**** 作者被禁止或刪除 內(nèi)容自動(dòng)屏蔽 ****

我個(gè)人覺(jué)得應(yīng)該是 VCC
作者: silverdj    時(shí)間: 2015-8-7 13:46
eject2015 發(fā)表于 2015-5-5 16:57
在直流電剛上電時(shí),電容上是有電子移動(dòng)產(chǎn)生電流的 ,當(dāng)電容充電完成后相當(dāng)斷路

只有在充滿電后才 斷開(kāi)? 沒(méi)電的 時(shí)候 可以理解通路?
作者: hzb123    時(shí)間: 2015-8-22 17:34
菜菜鳥(niǎo)愛(ài)單片機(jī) 發(fā)表于 2014-3-20 17:16
**** 作者被禁止或刪除 內(nèi)容自動(dòng)屏蔽 ****

t=(1/12)×12=1
作者: wcx6270    時(shí)間: 2015-10-8 12:00
silverdj 發(fā)表于 2015-8-7 13:46
只有在充滿電后才 斷開(kāi)? 沒(méi)電的 時(shí)候 可以理解通路?

電容的特性可以理解為隔直通交,當(dāng)直流電加在其兩端時(shí),其兩端電壓會(huì)緩慢上升,直到等于輸入電壓,然后由于電容的儲(chǔ)能特性(相當(dāng)于水缸存滿了水),假設(shè)現(xiàn)在電容兩端是上正下負(fù),由于直流電方向不變,所以當(dāng)其存滿電之后,電路中就沒(méi)有電流流動(dòng)了(只能從上面加水).但交流電由于方向在不斷變化,相當(dāng)于形成了通路(現(xiàn)在下面也有了口,可以放水了),所以說(shuō)通交.
作者: somexu    時(shí)間: 2015-10-16 10:40
學(xué)些了,講的不錯(cuò)
作者: Demon_H    時(shí)間: 2016-4-20 11:50
感謝分享
作者: likemanweb    時(shí)間: 2016-5-12 16:11
250  200
作者: 251495979    時(shí)間: 2016-5-26 09:12
那慢慢消化
作者: oleandre    時(shí)間: 2016-6-11 17:58
感謝老師!講得通俗易懂。有些類(lèi)比看了非常清楚。
作者: 1238    時(shí)間: 2016-7-17 18:34
很詳細(xì),很全面,有匯編,有C語(yǔ)言
作者: 592317602    時(shí)間: 2016-8-1 13:42
執(zhí)行完D2行(DJNZ R6,D2)250次以后、R6為0、轉(zhuǎn)去D2。不就是又是D2這一行了么?怎么會(huì)到下一行去
作者: B型血    時(shí)間: 2016-11-9 19:20
學(xué)習(xí)ing,感謝樓主
作者: B型血    時(shí)間: 2016-11-9 19:25
電容通電時(shí)候相當(dāng)于短路嗎?
作者: B型血    時(shí)間: 2016-11-9 19:30
silverdj 發(fā)表于 2015-8-7 13:46
只有在充滿電后才 斷開(kāi)? 沒(méi)電的 時(shí)候 可以理解通路?

確定是這樣嗎
作者: 初學(xué)者h(yuǎn)ex    時(shí)間: 2016-11-25 17:28
謝謝分享,課程設(shè)計(jì)幫大忙了

作者: 流星雨掉到地球    時(shí)間: 2016-11-26 18:19
學(xué)習(xí)了,謝謝
作者: 流星雨掉到地球    時(shí)間: 2016-11-26 18:19
很好,學(xué)習(xí)了
作者: durantx    時(shí)間: 2016-11-29 15:40
好東西
作者: durantx    時(shí)間: 2016-11-29 16:42
好,很好 !
作者: durantx    時(shí)間: 2016-11-30 09:24
ivmmcu 發(fā)表于 2014-4-18 11:47
單片機(jī)上電是直流5v電壓,電容不是隔直通交嗎?為什么一上電電容就短路了?當(dāng)電容充完電之后不用放電嗎?復(fù) ...

同感!!
作者: 隨易而安    時(shí)間: 2016-12-3 21:11
學(xué)習(xí)了,慢慢來(lái)
作者: alainyyj    時(shí)間: 2016-12-12 17:20
菜菜鳥(niǎo)愛(ài)單片機(jī) 發(fā)表于 2014-3-20 17:16
**** 作者被禁止或刪除 內(nèi)容自動(dòng)屏蔽 ****

晶振12M,則時(shí)鐘周期為1/12M.秒
一個(gè)機(jī)器周期等于12個(gè)時(shí)鐘周期=1/12M * 12=1/1000000秒即一微秒。
作者: Hosanna    時(shí)間: 2017-1-11 16:24
592317602 發(fā)表于 2016-8-1 13:42
**** 作者被禁止或刪除 內(nèi)容自動(dòng)屏蔽 ****

  R6為0之后應(yīng)該是執(zhí)行下一行,R6不等于0才是轉(zhuǎn)移到第二個(gè)參數(shù)指定的地方,即D2
作者: AD-Asiens    時(shí)間: 2017-2-9 09:06
能不能把練習(xí)的答案和解析也做出來(lái),那就更完美了,有練習(xí)絕對(duì)是一大亮點(diǎn),因?yàn)橛辛俗约簞?dòng)手實(shí)踐的機(jī)會(huì),這是很重要的,感謝樓主嗎,感謝51,能把匯編和C的程序都寫(xiě)出來(lái)。辛苦辛苦。
作者: AD-Asiens    時(shí)間: 2017-2-9 09:08
durantx 發(fā)表于 2016-11-30 09:24
同感。!

我覺(jué)得錯(cuò)誤了
作者: AD-Asiens    時(shí)間: 2017-2-9 09:15
ivmmcu 發(fā)表于 2014-4-18 11:47
單片機(jī)上電是直流5v電壓,電容不是隔直通交嗎?為什么一上電電容就短路了?當(dāng)電容充完電之后不用放電嗎?復(fù) ...

電容加電瞬間視為短路,加電瞬間,電能類(lèi)似脈沖階躍,電能從無(wú)到有,類(lèi)似交流電的上升沿。

作者: AD-Asiens    時(shí)間: 2017-2-9 09:18
ivmmcu 發(fā)表于 2014-4-18 11:47
單片機(jī)上電是直流5v電壓,電容不是隔直通交嗎?為什么一上電電容就短路了?當(dāng)電容充完電之后不用放電嗎?復(fù) ...

這里的電阻電容選擇,根據(jù)單片機(jī)需求的復(fù)位時(shí)間去選擇,RC充放電時(shí)間公式去計(jì)算。這里電容式22uf,電阻是1K,所以充電時(shí)間是RC=2.2微秒>2微秒,即兩個(gè)機(jī)械周期,可以維持兩個(gè)機(jī)械周期的高電平所以單片機(jī)會(huì)復(fù)位。
作者: 滿腹經(jīng)綸    時(shí)間: 2017-3-2 09:16
2、如何分配兩個(gè)數(shù)。
作者: 如花綻放明    時(shí)間: 2017-3-21 11:20
天哪,每次看不準(zhǔn)確的延時(shí)都賊費(fèi)勁,根據(jù)晶振頻率不同,湊出來(lái)的數(shù)又不一樣,還不會(huì)算
作者: vincetan9    時(shí)間: 2017-4-1 14:12
li hai
作者: 96008562    時(shí)間: 2017-5-3 18:00
C2作用是什么?
作者: zhangdaili    時(shí)間: 2017-5-4 16:11
復(fù)位電路的電容大小是如何確定的?是否跟電路的時(shí)間常數(shù)有關(guān)系?
作者: zhangdaili    時(shí)間: 2017-5-4 16:21
ivmmcu 發(fā)表于 2014-4-18 11:47
單片機(jī)上電是直流5v電壓,電容不是隔直通交嗎?為什么一上電電容就短路了?當(dāng)電容充完電之后不用放電嗎?復(fù) ...

單片機(jī)上電瞬間相當(dāng)于是交流電,頻率為無(wú)窮大,根據(jù)隔直通交,上電瞬間電容導(dǎo)通,約等于電容短路,復(fù)位端出現(xiàn)高電平。電路后續(xù)通過(guò)串聯(lián)電阻放電使復(fù)位端回到低電平。
作者: 030237    時(shí)間: 2017-5-9 11:01
什么叫一個(gè)單元中的數(shù)...
作者: arctic_michael1    時(shí)間: 2017-6-8 09:55
thanks for sharing
作者: 藍(lán)野    時(shí)間: 2017-8-16 10:16
一個(gè)問(wèn)題:如果在R6中放入0,會(huì)有什么樣的結(jié)果。結(jié)果是該程序只執(zhí)行250次
作者: 藍(lán)野    時(shí)間: 2017-8-16 11:39
     RST引腳保持2個(gè)機(jī)器周期以上的高電平可以復(fù)位,是不是頻率不同的晶振,這2個(gè)周期的時(shí)間也不一樣呀?

作者: wuminhong    時(shí)間: 2017-8-19 10:40
ivmmcu 發(fā)表于 2014-4-18 11:47
單片機(jī)上電是直流5v電壓,電容不是隔直通交嗎?為什么一上電電容就短路了?當(dāng)電容充完電之后不用放電嗎?復(fù) ...

電容元件的特征就是 先有電流再有電壓,電容加載電源時(shí),理論電流無(wú)限大電壓零。
跟電感元件的特征剛好相反。
作者: ytxxzhi    時(shí)間: 2017-9-20 15:02

單片機(jī)上電是直流5v電壓,電容不是隔直通交嗎?為什么一上電電容就短路了?當(dāng)電容充完電之后不用放電嗎,放電如何確定正負(fù)極,
作者: ytxxzhi    時(shí)間: 2017-9-20 16:13
70樓應(yīng)該是正解,按70樓講解能多少明白點(diǎn),為什么一上電就是高電平;41樓解釋了程序恢復(fù)后的理解,就是當(dāng)電流不動(dòng)時(shí),又恢復(fù)低電平
作者: 浩潔nice    時(shí)間: 2017-10-8 20:14
牛逼。。。。
作者: 浩潔nice    時(shí)間: 2017-10-8 20:15
不錯(cuò)
作者: Jackps27    時(shí)間: 2017-10-9 13:22
請(qǐng)大家用自已的話講一下這條語(yǔ)句是怎樣執(zhí)行的:第(8)句就是,R6=250,執(zhí)行減1,等于249,不等于0,轉(zhuǎn)移到D2;此時(shí)的D2里的R6=249,減1,等于248,不等于0,轉(zhuǎn)移到D2……如此以往,到底250次,R6=0,執(zhí)行下一行也就是(9),而(9)也是同樣的原理,轉(zhuǎn)移到D1再執(zhí)行D2,最終結(jié)果就是原地轉(zhuǎn)圈250(R7由250每次減1減到0) x 250(R由250每次減1減到0)次
作者: Jackps27    時(shí)間: 2017-10-9 13:24
如果在R6中放入0,會(huì)有什么樣的結(jié)果。 就是執(zhí)行250次
作者: cnc2020    時(shí)間: 2017-10-22 23:27
不錯(cuò)!很好
作者: s11223    時(shí)間: 2017-10-29 00:14
很詳細(xì)

很詳細(xì)
作者: yatou520    時(shí)間: 2017-11-16 11:49
謝謝樓主分享的資料
作者: f13233259343    時(shí)間: 2017-12-12 16:54
Soar_C 發(fā)表于 2014-12-10 16:04
**** 作者被禁止或刪除 內(nèi)容自動(dòng)屏蔽 ****

怎么算從5V降到3V所需要的時(shí)間?
作者: 輕730    時(shí)間: 2017-12-26 18:37
練習(xí):DELAY: MOV R7 #199
作者: 輕730    時(shí)間: 2017-12-26 18:41
練習(xí)
DELAY: MOV R7 #199;
D1: MOV R6 #245;
D2:DJNZ R6,D2;
DJNZ R7,D1;
RET
作者: liuzclzc    時(shí)間: 2018-1-16 20:19
這節(jié)講的命令對(duì)于相應(yīng)引腳的作用和復(fù)位過(guò)程。
作者: taodongyanyan    時(shí)間: 2018-3-2 11:09
需要學(xué)習(xí)
作者: dragoars    時(shí)間: 2018-3-14 19:49
菜菜鳥(niǎo)愛(ài)單片機(jī) 發(fā)表于 2014-3-20 17:16
**** 作者被禁止或刪除 內(nèi)容自動(dòng)屏蔽 ****

12MHZ 即12M次1秒,12次為1US,一個(gè)機(jī)器周期為12個(gè)時(shí)鐘周期,所以一個(gè)機(jī)器周期為1US。
作者: 太陽(yáng)黑子1    時(shí)間: 2018-4-12 23:11
前面哪里有講啦R6和R7是什么?
作者: GUOXUAN    時(shí)間: 2018-4-15 10:10
感謝老師詳講延時(shí)時(shí)序.
作者: 627341504    時(shí)間: 2018-4-21 20:42
第五課,又學(xué)習(xí)了
作者: 接淅子    時(shí)間: 2018-5-21 16:56
很給力!
作者: js_iq    時(shí)間: 2018-5-21 17:31
有點(diǎn)懵
作者: keneng    時(shí)間: 2018-6-25 15:55
除了主貼的內(nèi)容,下面回復(fù)的內(nèi)容也有助于理解主貼的內(nèi)容。
作者: kevina    時(shí)間: 2018-7-1 15:07
非常感想,講的很通俗,一下子就看懂了
作者: 蓮蓬16    時(shí)間: 2018-8-29 20:39
請(qǐng)問(wèn)設(shè)計(jì)100ms的延時(shí)單元中的數(shù)分配法則是啥啊
作者: bslch    時(shí)間: 2018-9-23 17:26
樓主寫(xiě)程序時(shí)最好寫(xiě)完整的程序比如頭文件等,因?yàn)橹粚?xiě)一段程序初學(xué)者會(huì)誤解的,自己寫(xiě)的時(shí)候照你的抄結(jié)果搞半天搞不出
作者: guanlinzhong    時(shí)間: 2018-10-10 16:06
菜菜鳥(niǎo)愛(ài)單片機(jī) 發(fā)表于 2014-3-20 17:16
**** 作者被禁止或刪除 內(nèi)容自動(dòng)屏蔽 ****

一個(gè)機(jī)器周期等于12個(gè)時(shí)鐘周期,12M的時(shí)鐘周期等于1/12微秒,所以12M的機(jī)器周期等于1微秒
作者: lyy001    時(shí)間: 2019-3-22 06:37
簡(jiǎn)單明了,初步學(xué)習(xí)好資料!感謝admin,感.




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1