51單片機(jī)時(shí)序及延時(shí)分析
計(jì)算機(jī)工作時(shí),是在統(tǒng)一的時(shí)鐘脈沖控制下一拍一拍地進(jìn)行的。這個(gè)脈沖是由單片機(jī)控制器中的時(shí)序電路發(fā)出的。單片機(jī)的時(shí)序就是CPU在執(zhí)行指令時(shí)所需控制信號(hào)的時(shí)間順序,為了保證各部件間的同步工作,單片機(jī)內(nèi)部電路應(yīng)在唯一的時(shí)鐘信號(hào)下嚴(yán)格地控時(shí)序進(jìn)行工作,在學(xué)習(xí)51單片機(jī)的時(shí)序之前,我們先來(lái)了解下時(shí)序相關(guān)的一些概念。
擴(kuò)展閱讀:?jiǎn)纹瑱C(jī)時(shí)序分析
既然計(jì)算機(jī)是在統(tǒng)一的時(shí)鐘脈沖控制下工作的,那么,它的時(shí)鐘脈沖是怎么來(lái)的呢?
要給我們的計(jì)算機(jī)CPU提供時(shí)序,就需要相關(guān)的硬件電路,即振蕩器和時(shí)鐘電路。我們學(xué)習(xí)的8051單片機(jī)內(nèi)部有一個(gè)高增益反相放大器,這個(gè)反相放大器的作用就是用于構(gòu)成振蕩器用的,但要形成時(shí)鐘,外部還需要加一些附加電路。8051單片機(jī)的時(shí)鐘產(chǎn)生有以下兩種方法:
一、內(nèi)部時(shí)鐘方式:
利用單片機(jī)內(nèi)部的振蕩器,然后在引腳XTAL1(18腳)和XTAL2(19腳)兩端接晶振,就構(gòu)成了穩(wěn)定的自激振蕩器,其發(fā)出的脈沖直接送入內(nèi)部時(shí)鐘電路,外接晶振時(shí),晶振兩端的電容一般選擇為30PF左右;這兩個(gè)電容對(duì)頻率有微調(diào)的作用,晶振的頻率范圍可在1.2MHz-12MHz之間選擇。為了減少寄生電容,更好地保證振蕩器穩(wěn)定、可靠地工作,振蕩器和電容應(yīng)盡可能安裝得與單片機(jī)芯片靠近。(提示一下,本站提供的學(xué)習(xí)套件全部采用的就是這種時(shí)鐘方式)。
二、外部時(shí)鐘方式:
此方式是利用外部振蕩脈沖接入XTAL1或XTAL2。HMOS和CHMOS單片機(jī)外時(shí)鐘信號(hào)接入方式不同,HMOS型單片機(jī)(例如8051)外時(shí)鐘信號(hào)由XTAL2端腳注入后直接送至內(nèi)部時(shí)鐘電路,輸入端XTAL1應(yīng)接地。由于XTAL2端的邏輯電平不是TTL的,故建議外接一個(gè)上接電阻。對(duì)于CHMOS型的單片機(jī)(例如80C51),因內(nèi)部時(shí)鐘發(fā)生器的信號(hào)取自反相器的輸入端,故采用外部時(shí)鐘源時(shí),接線方式為外時(shí)鐘信號(hào)接到XTAL1而XTAL2懸空。如下圖
外接時(shí)鐘信號(hào)通過(guò)一個(gè)二分頻的觸發(fā)器而成為內(nèi)部時(shí)鐘信號(hào),要求高、低電平的持續(xù)時(shí)間都大于20ns,一般為頻率低于12MHz的方波。片內(nèi)時(shí)鐘發(fā)生器就是上述的二分頻觸發(fā)器,它向芯片提供了一個(gè)2節(jié)拍的時(shí)鐘信號(hào)。
前面已提到,計(jì)算機(jī)工作時(shí),是在統(tǒng)一的時(shí)鐘脈沖控制下一拍一拍地進(jìn)行的。由于指令的字節(jié)數(shù)不同,取這些指令所需要的時(shí)間也就不同,即使是字節(jié)數(shù)相同的指令,由于執(zhí)行操作有較大的差別,不同的指令執(zhí)行時(shí)間也不一定相同,即所需的拍節(jié)數(shù)不同。為了便于對(duì)CPU時(shí)序進(jìn)行分析,一般按指令的執(zhí)行過(guò)程規(guī)定了幾中周期,即時(shí)鐘周期、機(jī)器周期和指令周期,也稱(chēng)為時(shí)序定時(shí)單位,下面分別予以講解。
51單片機(jī)相關(guān)文章:51單片機(jī)教程
單片機(jī)相關(guān)文章:單片機(jī)教程
單片機(jī)相關(guān)文章:單片機(jī)視頻教程
單片機(jī)相關(guān)文章:單片機(jī)工作原理
脈沖點(diǎn)火器相關(guān)文章:脈沖點(diǎn)火器原理
評(píng)論