什么是單片機(jī)的時(shí)序
時(shí)序的由來
我們已經(jīng)知道單片機(jī)執(zhí)行指令的過程就是順序地從ROM程序存儲(chǔ)器中取出指令一條一條的順序執(zhí)行然后進(jìn)行一系列的微操作控制來完成各種指定的動(dòng)作它在協(xié)調(diào)內(nèi)部的各種動(dòng)作時(shí)必須要有一定的順序換句話說就是這一系列微操作控制信號(hào)在時(shí)間上要有一個(gè)嚴(yán)格的先后次序這種次序就是單片機(jī)的時(shí)序這就好比我們學(xué)校上課時(shí)用的電鈴為了保證課堂秩序?qū)W校就必須在鈴聲的統(tǒng)一協(xié)調(diào)下安排各個(gè)課程和活動(dòng)那么單片機(jī)的時(shí)序是如何規(guī)定的呢接著往下看。
時(shí)序的周期
計(jì)算機(jī)每訪問一次存儲(chǔ)器的時(shí)間我們把它稱為一個(gè)機(jī)器周期它是一個(gè)時(shí)間基準(zhǔn)就象我們?nèi)粘I钪惺褂玫拿胍粯佑?jì)算機(jī)中一個(gè)機(jī)器周期包括
12個(gè)振蕩周期什么是振蕩周期一個(gè)振蕩周期是多少時(shí)間振蕩周期就是振蕩源的周期也就是我們使用的晶振的時(shí)間周期一個(gè)12M的晶振它的時(shí)間周期是多少呢電子技術(shù)過的朋友應(yīng)該不難算出T=1/f也就是1/12微秒那么使用12M晶振的單片機(jī)它的一個(gè)機(jī)器周期就應(yīng)該等于12*1/12微秒也就是1S
內(nèi)部時(shí)鐘電路:
在MCS-51單片機(jī)的內(nèi)部有一個(gè)高增益的反相放大器其輸入端為引腳XTAL119腳輸出端為XTAL218腳我們只要在外部接上兩個(gè)電容和一個(gè)晶振就能構(gòu)成一個(gè)穩(wěn)定的自激振蕩器它的內(nèi)部電路的工作原理就不介紹了這里主要講一下電容和晶振的選擇看上面的圖晶振的大小與單片機(jī)的振蕩頻率有關(guān)我們到串行接口時(shí)再詳細(xì)講解電容的大小影響著振蕩器振蕩的穩(wěn)定性和起振的快速性通常選擇10-30P的瓷片電容或校正電容另外在設(shè)計(jì)電路時(shí)晶振和電容應(yīng)盡可能的靠近芯片以減少pcb板的分布電容保證振蕩器工作的穩(wěn)定性提高系統(tǒng)的抗干擾能力
外部時(shí)鐘電路
除了內(nèi)部時(shí)鐘方式外單片機(jī)還可以采用引入外部時(shí)鐘的振蕩方式什么時(shí)候需要采用外部時(shí)鐘方式呢當(dāng)我們的系統(tǒng)由多片單片機(jī)組成時(shí)為了保證各單片機(jī)之間時(shí)鐘信號(hào)的同步就應(yīng)當(dāng)引入唯一的公用的外部脈沖信號(hào)作為各單片機(jī)的振蕩脈沖此時(shí)應(yīng)將
XTAL2懸空不用外部脈沖信號(hào)由XTAL1引入如上右圖所示這是大蝦們的作品在此就不介紹了
89C51單片機(jī)中有些指令只要一個(gè)機(jī)器周期而有些指令則需要兩個(gè)或三個(gè)機(jī)器周期另外還有兩條指令需要4個(gè)機(jī)器周期這也不難理解你在家擦地板的話總比擦桌子的時(shí)間要長不過我可是大男子主義很少做家務(wù)的開句玩笑如何衡量指令執(zhí)行時(shí)間的長短我們就要用到一個(gè)新的概念指令周期—即執(zhí)行一條指令所需的機(jī)器周期INTEL公司規(guī)定了每一條指令執(zhí)行的機(jī)器周期當(dāng)然這不需要我們非把它記住不過在這里DJNZ指令我們是要記住的它是雙周期指令執(zhí)行一次需要兩個(gè)機(jī)器周期即2S12M晶振的話以后我們的實(shí)驗(yàn)延時(shí)的時(shí)間就應(yīng)該算出來了吧是62500*2S=125000S也就是125mS這么大的數(shù)字也就0.125S怪不得LED1閃爍的這么快,這延時(shí)的使用以后會(huì)講。。。
二單片機(jī)的時(shí)鐘電路
大家已經(jīng)知道單片機(jī)是在一定的時(shí)序控制下工作的那么時(shí)序和時(shí)鐘又有什么關(guān)系呢時(shí)鐘是時(shí)序的基礎(chǔ)單片機(jī)本身就如同一個(gè)復(fù)雜的同步時(shí)序電路為了保證同步工作方式的實(shí)現(xiàn)電路就要在唯一的時(shí)鐘信號(hào)控制下按時(shí)序進(jìn)行工作那么單片機(jī)內(nèi)的時(shí)鐘是如何產(chǎn)生的呢
貼圖:
評論