freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

以單片機(jī)為最小控制系統(tǒng)的高建筑物夜間閃爍燈控制系統(tǒng)的設(shè)計及其調(diào)試過程畢業(yè)論文(編輯修改稿)

2024-07-25 03:12 本頁面
 

【文章內(nèi)容簡介】 。 定時/計數(shù)器 1 的外部輸入口(T1) 外部數(shù)據(jù)存儲器寫選通(WR) 外部數(shù)據(jù)存儲器讀選通(RD) 對于第二功能為輸出引腳,當(dāng)作 I/O 口使用時,第二功能信號線應(yīng)保持高電平,與非門開通,以維持從鎖存器到輸出口數(shù)據(jù)輸出通路暢通無阻。而當(dāng)作第二功能口線使用時,該位的鎖存器置高電平,使與非門對第二功能信號的輸出是暢通的,從而實現(xiàn)第二功能信號的輸出。對于第二功能為輸入的信號引腳,在口線上的輸入通路增設(shè)了一個緩沖器,輸入的第二功能信號即從這個緩沖器的輸出端取得。而作為 I/O 口線輸入端時,取自三態(tài)緩沖器的輸出端。這樣,不管是作為輸入口使用還是第二功能信號輸入,輸出電路中的鎖存器輸出和第二功能輸出信號線均應(yīng)置1。 圖 P3 口線邏輯電路圖 MSC51 定時/計數(shù)器MCS51 的單片機(jī)內(nèi)有兩個 16 位可編程的定時/計數(shù)器,它們具有四種工作方式,其控制字和狀態(tài)均在相應(yīng)的特殊功能寄存器中,通過對控制寄存器的編程,就可方便地選擇適當(dāng)?shù)墓ぷ鞣绞?。定時/計數(shù)器的工作方式 MCS51 單片機(jī)內(nèi)部的定時/計數(shù)器的結(jié)構(gòu)如圖 所示,定時器 T0 特性功能寄存器 TL0(低 8 位)和 TH0(高 8 位)構(gòu)成,定時器 T1 由特性功能寄存器 TL1(低 8 位)和 TH1(高 8 位)構(gòu)成。特殊功能寄存器 TMOD 控制定時寄存器的工作方式,TCON 則用于控制定時器 T0 和 T1 的啟動和停止計數(shù),同時管理定時器 T0 和 T1 的溢出標(biāo)志等。程序開始時需對 TL0、TH0、TL1 和 TH1 進(jìn)行初始化編程,以定義它們的工作方式和控制 T0 和 T1 的計數(shù)。 TMOD 和 TCON 這兩個特殊功能寄存器的格式參見表 與表 :[1]. 定時/計數(shù)器的方式控制字 TMOD,字節(jié)地址為 89H,其格式如表 : 表 1 TMOD 寄存器結(jié)構(gòu)D7 D6 D5 D4 D3 D2 D1 D0GATA M1 M0 GATA M1 M0←T1 方式字段→ ←T0 方式字段→ 表 [2]. 定時器控制積存器 TCON,字節(jié)地址為 88H,位地址為 88H8FH,其格式如表 : 表 2 TCON 結(jié)構(gòu)D7 D6 D5 D4 D3 D2 D1 D0TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 表 需要注意的是,TCON 的 D0—D3 位與中斷有關(guān), 將在中斷的內(nèi)容中加以說明。MCS51 的定時/計數(shù)器共有四種工作方式,將在下面進(jìn)行詳細(xì)說明(1)工作方式 0 定時/計數(shù)器 0 的工作方式 0 電路邏輯結(jié)構(gòu)見圖 (定時/計數(shù)器 1 與其完全一致) ,工作方式 0 是 13 位計數(shù)結(jié)構(gòu)的工作方式,其計數(shù)器由 TH 的全部8 位和 TL 的低 5 位構(gòu)成,TL 的高 3 位沒有使用。當(dāng) =0 時,多路開關(guān)接通振蕩脈沖的 12 分頻輸出,13 位計數(shù)器以次進(jìn)行計數(shù)。這就是定時工作方式。當(dāng)=1 時,多路開關(guān)接通計數(shù)引腳(To) ,外部計數(shù)脈沖由銀南腳 To 輸入。當(dāng)計數(shù)脈沖發(fā)生負(fù)跳變時,計數(shù)器加 1,這就是我們常稱的計數(shù)工作方式。不管是哪種工作方式,當(dāng) TL 的低 5 位溢出時,都會向 TH 進(jìn)位,而全部 13 位計數(shù)器溢出時,則會向計數(shù)器溢出標(biāo)志位 TF0 進(jìn)位。 我們討論門控位 GATA 的功能,GATA 位的狀態(tài)決定定時器運(yùn)行控制取決于TR0 的一個條件還是 TR0 和 INT0 引腳這兩個條件。當(dāng) GATA=1 時,由于 GATA 信號封鎖了與門,使引腳 INT0 信號無效。而這時候如果 TR0=1,則接通模擬開關(guān),使計數(shù)器進(jìn)行加法計數(shù),即定時/計數(shù)工作。而 TR0=0,則斷開模擬開關(guān),停止計數(shù),定時/計數(shù)不能工作。 當(dāng) GATA=0 時,與門的輸出端由 TR0 和 INT0 電平的狀態(tài)確定,此時如果TR0=1,INT0=1 與門輸出為 1,允許定時/計數(shù)器計數(shù),在這種情況下,運(yùn)行控制由 TR0 和 INT0 兩個條件共同控制,TR0 是確定定時/計數(shù)器的運(yùn)行控制位,由軟件置位或清“0” 。 如上所述,TF0 是定時/計數(shù)器的溢出狀態(tài)標(biāo)志,溢出時由硬件置位,TF0溢出中斷被 CPU 響應(yīng)時,轉(zhuǎn)入中斷時硬件清“0” ,TF0 也可由程序查詢和清“0”。 圖 定時/計數(shù)器工作方式 0 邏輯結(jié)構(gòu)在工作方式下,計數(shù)器的計數(shù)值范圍是: 1—8192(2 13) 當(dāng)為定時工作方式時,定時時間的計算公式為: (2 13—計數(shù)初值)晶振周期12 或 (2 13—計數(shù)初值)機(jī)器周期 其時間單位與晶振周期或機(jī)器周期相同。 如果單片機(jī)的晶振選為 ,則最小定時時間為: [213—(2 13—1)] 1/610 612=2106(s)=2(us) (213—0) 1/610612=16384106(s)=16384(us)。 (2) 工作方式 1 當(dāng) M1,M0=01 時,定時/計數(shù)器處于工作方式 1,此時,定時/及數(shù)器的等效電路如圖 所示,仍以定時器 0 為例,定時器 1 與之完全相同。 圖 定時/計數(shù)器工作方式 1 等效電路可以看出,方式 0 和方式 1 的區(qū)別僅在于計數(shù)器的位數(shù)不同,方式 0 為 13位,而方式 1 則為 16 位,由 TH0 作為高 8 位,TL0 為低 8 位,有關(guān)控制狀態(tài)字(GATA、 、TF0、TR0)和方式 0 相同。 在工作方式 1 下,計數(shù)器的計數(shù)值范圍是: 1—65536(2 16) 當(dāng)為定時工作方式 1 時,定時時間的計算公式為: (2 16—計數(shù)初值)晶振周期12 或 (2 16—計數(shù)初值)機(jī)器周期 其時間單位與晶振周期或機(jī)器周期相同。 如果單片機(jī)的晶振選為 ,則最小定時時間為: [213—(2 16—1)] 1/610 612=2106(s)=2(us) (216—0) 1/610612=131072106(s)=131072(us)。(3)工作方式 2 當(dāng) M1M0=10 時,定時/計數(shù)器處于工作方式 ,定時/計數(shù)器 1 與之完全一致。工作方式 0 和工作方式 1 的最大特點就是計數(shù)溢出后,計數(shù)器為全 0,因而循環(huán)定時或循環(huán)計數(shù)應(yīng)用時就存在反復(fù)設(shè)置初值的問題,這給程序設(shè)計帶來許多不便,同時也會影響計時精度,工作方式 2 就針對這個問題而設(shè)置,它具有自動重裝載功能,即自動加載計數(shù)初值,所以也有的文獻(xiàn)稱之為自動重加載工作方式。在這種工作方式中,16 位計數(shù)器分為兩部分,即以 TL0 為計數(shù)器,以 TH0 作為預(yù)置寄存器,初始化時把計數(shù)初值分別加載至 TL0 和 TH0 中,當(dāng)計數(shù)溢出時,不再象方式 0 和方式 1 那樣需要“人工干預(yù)” ,由軟件重新賦值,而是由預(yù)置寄存器 TH 以硬件方法自動給計數(shù)器 TL0 重新加載。 圖 定時/計數(shù)器工作方式 2 等效電路程序初始化時,給 TL0 和 TH0 同時賦以初值,當(dāng) TL0 計數(shù)溢出時,置位TF0 的同時把預(yù)置寄存器 TH0 中的初值加載給 TL0,TL0 重新計數(shù)。如此反復(fù),這樣省去了程序不斷需給計數(shù)器賦值的麻煩,而且計數(shù)準(zhǔn)確度也提高了。但這種方式也有其不利的一面,就是這樣一來的計數(shù)結(jié)構(gòu)只有 8 位,計數(shù)值有限,最大只能到 255。所以這種工作方式很適合于那些重復(fù)計數(shù)的應(yīng)用場合。例如我們可以通過這樣的計數(shù)方式產(chǎn)生中斷,從而產(chǎn)生一個固定頻率的脈沖。也可以當(dāng)作串行數(shù)據(jù)通信的波特率發(fā)送器使用。(4)工作方式 3當(dāng) M1M0=11 時,定時/計數(shù)器處于工作方式 3,此時,定時/及數(shù)器的等效電路如圖 所示,仍以定時器 0 為例,值得注意的是,在工作方式 3 模式下,定時/計數(shù)器 1 的工作方式與之不同,下面我們分別說明。在工作方式 3 模式下,定時/計數(shù)器 0 被拆成兩個獨(dú)立的 8 位計數(shù)器TL0 和 TH0。其中 TL0 既可以作計數(shù)器使用,也可以作為定時器使用,定時/計數(shù)器 0 的各控制位和引腳信號全歸它使用。其功能和操作與方式 0 或方式 1 完全相同。TH0 就沒有那么多“資源”可利用了,只能作為簡單的定時器使用,而且由于定時/計數(shù)器 0 的控制位已被 TL0 占用,因此只能借用定時/計數(shù)器 1的控制位 TR1 和 TF1,也就是以計數(shù)溢出去置位 TF1,TR1 則負(fù)責(zé)控制 TH0 定時的啟動和停止。等效電路參見圖 。 由于 TL0 既能作定時器也能作計數(shù)器使用,而 TH0 只能作定時器使用而不能作計數(shù)器使用,因此在方式 3 模式下,定時/計數(shù)器 0 可以構(gòu)成二個定時器或者一個定時器和一個計數(shù)器。 圖 定時/計數(shù)器工作方式 3 等效電路 如果定時/計數(shù)器 0 工作于工作方式 3,那么定時/計數(shù)器 1 的工作方式就不可避免受到一定的限制,因為自己的一些控制位已被定時/計數(shù)器借用,只能工作在方式 0、方式 1 或方式 2 下,等效電路參見圖 圖 T1 工作方式 2在這種情況下,定時/計數(shù)器 1 通常作為串行口的波特率發(fā)生器使用,以確定串行通信的速率,因為已沒有 TF1 被定時/計數(shù)器 0 借用了,只能把計數(shù)溢出直接送給串行口。當(dāng)作波特率發(fā)生器使用時,只需設(shè)置好工作方式,即可自動運(yùn)行。如要停止它的工作,需送入一個把它設(shè)置為方式 3 的方式控制字即可,這是因為定時/計數(shù)器本身就不能工作在方式 3,如硬把它設(shè)置為方式 3,自然會停止工作。 MSC51 的中斷系統(tǒng)出現(xiàn)中斷的原因是因為單片機(jī)中 CPU 只有一個,但在同一時間內(nèi)可能會面臨著處理很多任務(wù)的情況,如運(yùn)行主程序、數(shù)據(jù)的輸入和輸出,定時/和計數(shù)時間已到要處理、可能還有一些外部的更重要的中斷請求(如超溫超壓)要先處理。此時也得象人的思維一樣停下某一樣(或幾樣)工作先去完成一些緊急任務(wù)的中斷方法。 這樣的一樣處理方法上升到計算機(jī)理論,就是一個資源面對多項任務(wù)的處理方式,由于資源有限,面對多項任務(wù)同時要處理時,就會出現(xiàn)資源競爭的現(xiàn)象。中斷技術(shù)就是為了解決資源競爭的一個可行的方法,采用中斷技術(shù)可使多項任務(wù)共享一個資源,所以有些文獻(xiàn)也稱中斷技術(shù)是一種資源共享技術(shù)。 MSC51 的中斷結(jié)構(gòu)計算機(jī)的中斷系統(tǒng)能夠加強(qiáng) CPU 對多任務(wù)事件的處理能力。從而使它的應(yīng)用范圍進(jìn)一步擴(kuò)大。在 MCS48 結(jié)構(gòu)的基礎(chǔ)上,MCS51 在增強(qiáng)了 I/O 的種類、功能和數(shù)量的同時,也增強(qiáng)了中斷能力。MCS51 提供了 5 個中斷源,兩個中斷優(yōu)先級控制,可實現(xiàn)兩個中斷服務(wù)嵌套。當(dāng) CPU 支持中斷屏蔽指令后,可將一部分或所有的中斷關(guān)斷,只有打開相應(yīng)的中斷控制位后,方可接收相應(yīng)的中斷請求。程序設(shè)置中斷的允許或屏蔽,也可設(shè)置中斷的優(yōu)先級。MSC51 的中斷結(jié)構(gòu)如圖 所示 中斷處理流程CPU 響應(yīng)中斷請求后,就立即轉(zhuǎn)入執(zhí)行中斷服務(wù)程序。不同的中斷源、不同的中斷要求可能有不同的中斷處理方法,但它們的處理流程一般都如下所述(1)現(xiàn)場保護(hù)與現(xiàn)場恢復(fù)中斷是在執(zhí)行其它任務(wù)的過程中轉(zhuǎn)去執(zhí)行臨時的任務(wù),為了在執(zhí)行完中斷服務(wù)程序后,回頭執(zhí)行原先的程序時,知道程序原來在何處打斷的,各有關(guān)寄存器的內(nèi)容如何,就必須在轉(zhuǎn)入執(zhí)行中斷服務(wù)程序前,將這些內(nèi)容和狀態(tài)進(jìn)行備份——即保護(hù)現(xiàn)場。就象文章開頭舉的例子,在看書時,電話玲響需傳去接電話時,必須在書本上做個記號,以便在接完電話后回來看書時,知道從哪些內(nèi)容繼續(xù)往下看。計算機(jī)的中斷處理方法也如此,中斷開始前需將個有關(guān)寄存器的內(nèi)容壓入堆棧進(jìn)行保存,以便在恢復(fù)原來程序時使用。 中斷服務(wù)程序完成后,繼續(xù)執(zhí)行原先的程序,就需把保存的現(xiàn)場內(nèi)容從堆棧中彈出,恢復(fù)積存器和存儲單元的原有內(nèi)容,這就是現(xiàn)場恢復(fù)。 圖 MSC51 中斷系統(tǒng)結(jié)構(gòu) 如果在執(zhí)行中斷服務(wù)時不是按上述方法進(jìn)行現(xiàn)場保護(hù)和恢復(fù)現(xiàn)場,就會是程序運(yùn)行紊亂,程序跑飛,自然使單片機(jī)不能正常工作。(2)中斷打開和中斷關(guān)閉在中斷處理進(jìn)行過程中,可能又有新的中斷請求到來,這里規(guī)定,現(xiàn)場保護(hù)和現(xiàn)場恢復(fù)的操作是不允許打擾的,否則保護(hù)和恢復(fù)的過程就可能使數(shù)據(jù)出錯,為此在進(jìn)行現(xiàn)場保護(hù)和現(xiàn)場恢復(fù)的過程中,必須關(guān)閉總中斷,屏蔽其它所有的中斷,待這個操作完成后再打開總中斷,以便實現(xiàn)中斷嵌套。(3)中斷服務(wù)程序既然有中斷產(chǎn)生,就必然有其具體的需執(zhí)行的任務(wù),中斷服務(wù)程序就是執(zhí)行中斷處理的具體內(nèi)容,一般以子程序的形式出現(xiàn),所有的中斷都要轉(zhuǎn)去執(zhí)行中斷服務(wù)程序,進(jìn)行中斷服務(wù)。(4)中斷返回執(zhí)行完中斷服務(wù)程序后,必然要返回,中斷返回就是被程序運(yùn)行從中斷服務(wù)程序轉(zhuǎn)回到原工作程序上來。在 MCS51 單片機(jī)中,中斷返回是通過一條專門的指令實現(xiàn)的,自然這條指令是中斷服務(wù)程序的最后一條指令。 中斷的響應(yīng) MCS51CPU 在每一個機(jī)器周期順序檢查每一個中斷源,在機(jī)器周期的 S6按優(yōu)先級處理所
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1