![電氣自動化技術畢業(yè)設計_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-10/7/1d1cfaf4-a945-4385-b742-488c171f5b19/1d1cfaf4-a945-4385-b742-488c171f5b191.gif)
![電氣自動化技術畢業(yè)設計_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-10/7/1d1cfaf4-a945-4385-b742-488c171f5b19/1d1cfaf4-a945-4385-b742-488c171f5b192.gif)
![電氣自動化技術畢業(yè)設計_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-10/7/1d1cfaf4-a945-4385-b742-488c171f5b19/1d1cfaf4-a945-4385-b742-488c171f5b193.gif)
![電氣自動化技術畢業(yè)設計_第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-10/7/1d1cfaf4-a945-4385-b742-488c171f5b19/1d1cfaf4-a945-4385-b742-488c171f5b194.gif)
![電氣自動化技術畢業(yè)設計_第5頁](http://file2.renrendoc.com/fileroot_temp3/2021-10/7/1d1cfaf4-a945-4385-b742-488c171f5b19/1d1cfaf4-a945-4385-b742-488c171f5b195.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、沈陽大學沈陽大學 畢畢 業(yè)業(yè) 設設 計計題目 模擬交通燈 系別 機電系 專業(yè) 電氣自動化技術 班級 電氣 0401 姓名 學號 指導教師 日期 2007 年 12 月 沈陽大學i設計任務書設計題目:設計題目:模擬交通燈設計要求:設計要求:1.在十字路口的兩個方向上各設一組紅綠黃燈,顯示順序為: 其中一個方向是綠燈、黃燈、紅燈,另一個方向是紅燈、綠燈、黃燈。2.設置一組數(shù)碼管,以倒計時的方式顯示允許通過或禁止通行的時間,其中左轉燈、綠燈、黃燈、紅燈的持續(xù)時間分別是 15s、30s、3s、48s。3.當各條路上任意一條出現(xiàn)特殊情況,例如消防車、救護車或其他需要優(yōu)先放行的車輛時,各方向上均是紅燈亮,
2、倒計時停止,且顯示數(shù)字在閃爍,當特殊運行狀態(tài)結束后,控制器恢復原來狀態(tài),繼續(xù)正常運行。設計進度要求:設計進度要求:第一周第二周指導教師(簽名):指導教師(簽名): 沈陽大學ii摘要設計以單片機為核心部件的模擬交通燈,利用 74ls244 作為斷碼驅(qū)動器,74ls07 作為位碼驅(qū)動,led 七斷數(shù)碼管作為計時顯示用,用發(fā)光二極管指示交通的通行,用按鍵進行緊急事件的發(fā)生,使兩個方向都亮紅燈,綠燈亮通行,紅燈亮停止通行。本設計利用定時器進行定時,使定時器工作于方式一定時 50ms,配合軟件計數(shù)器,調(diào)用中斷程序使定時器定時 20 此,達到定時 1s 的目的,同時調(diào)用顯示程序,顯示到計時的時間,用單片機
3、 intel89s51 作為核心部件,8 路 74ls244 總線驅(qū)動器作為字形驅(qū)動芯片和 6 路驅(qū)動 74ls07 位選碼作為中心器件來設計交通燈控制器,實現(xiàn)了交通燈的控制,顯示時間直接通過 89s51 的 p0、p1 口輸出;交通燈信號通過p3 口輸出;按件通過 p3 口輸入,本交通燈系統(tǒng)簡單,實用性強,成本低,使用維護方便,軟件功能強,運行穩(wěn)定可靠等優(yōu)點。關鍵詞:單片機,交通燈,位碼,段碼,顯示沈陽大學i目錄摘要 .ii1 單片機的發(fā)展及應用 .11.1 單片機的發(fā)展.11.2 單片機的應用 .12 總體方案設計 .32.1 系統(tǒng)框圖 .32.2 計時控制方案.32.3 顯示控制方案.3
4、2.4 鍵盤控制方案.43 硬件設計 .53.1 89s51 單片機的簡介 .53.2 89s51 單片機的引腳 .63.3 89s51 單片機復位方式 .73.4 74ls244 的功能 .73.5 74ls07 的功能 .83.6 鍵盤接口工作原理.93.7 七段 led 顯示工作原理.103.8 電路原理.114 軟件設計 .134.1 定時秒的方法.134.2 定時器初值計算.134.3 主程序模塊.134.4 中斷服務程序模塊.154.5 顯示程序模塊.165 系統(tǒng)調(diào)試 .186 結 論 .20致謝 .21參考文獻 .22附錄 a.23沈陽大學11 單片機的發(fā)展及應用1.11.1 單
5、片機的發(fā)展單片機的發(fā)展單片微型計算機是微型計算機的一個重要分支,也是一種非常活躍和頗具有生命力的機種。單片微型計算機簡稱單片機,特別適用于工業(yè)控制領域,因此又稱為微控器。 1971 年微處理器研制成功不久,就出現(xiàn)了單片微型計算機即單片機,但最早的單片機是 1 位的,處理能力有限。單片機的發(fā)展分為 4 個階段: 第一階段(197476 年):單片機初級階段。因為受工藝限制,單片機采用單片的形式而且功能比較簡單。例如美國仙童公司生產(chǎn)的 f8 單片機,實際上只包括了8 位 cpu,64 個字節(jié)的 ram 和 2 個并行接口 第二階段(197678 年):低性能單片機階段。以 intel 公司生產(chǎn)的
6、mcs48 系列單片機為代表,該系列單片機片內(nèi)集成有 8 位 cpu,8 位定時器/計數(shù)器,并行 i/o 接口,ram 和 rom 等,但是最大的缺點就是無串行接口,中斷處理比較簡單而且片內(nèi) ram 和 rom 容量較小,且尋址范圍不大與 4kb。第三階段(197883)高性能單片階段這個階段推出的單片機普遍帶有串行接口。多級中斷系統(tǒng),16 位定時器/計數(shù)器,片內(nèi) rom,ram 容量加大,且尋址范圍可達 64kb,有的片內(nèi)還帶有 a/d 轉換器。第四階段(1983 年至今)8 位單片機鞏固發(fā)展以及 16 位單片機,32 位單片機推出階段。此階段的主要特征是:一方面發(fā)展 16 位單片機,32
7、位單片機及專用型單片機;另一方面不斷完善高檔 8 位單片機,改善其結構,增加片內(nèi)器件,以滿足不同的客戶要求。1.21.2 單片機的應用單片機的應用 單片機的應用很廣,分別在以下領域中得到了廣泛的應用。工業(yè)自動化:在自動化技術中,無論是過程控制技術、數(shù)據(jù)采集技術還是測控技術,都離不開單片機。在工業(yè)自動化的領域中,機電一體化技術將發(fā)揮愈來愈重沈陽大學2要的作用,在這種機械、微電子和計算機技術為一體的綜合技術(例如機器人技術、數(shù)控技術)中,單片機將發(fā)揮非常重要的作用特別是近些年來,隨著計算機技術的發(fā)展,工業(yè)自動化也發(fā)展到了一個新的高度,出現(xiàn)了無人工廠、機器人作業(yè)、網(wǎng)絡化工廠等,不僅將人從繁重、重復和
8、危險的工業(yè)現(xiàn)場解放出來,還大大提高了生產(chǎn)效率,降低了生產(chǎn)成本。儀器儀表:目前對儀器儀表的自動化和智能化要求越來越高。在自動化測量儀器中,單片機應用十分普及。單片機的使用有助于提高儀器儀表的精度和準確度,簡化結構,減小體積,易于攜帶和使用,加速儀器儀表向數(shù)字化、智能化和多功能化方向發(fā)展。消費類電子產(chǎn)品:該應用主要反映在家電領域。目前家電產(chǎn)品的一個重要發(fā)展趨勢是不斷提高其智能化程度。例如,電子游戲、照相機、洗衣機、電冰箱、空調(diào)、電視機、微波爐、手機、ic 卡、汽車電子設備等。在這些設備中使用了單片機后,其功能和性能大大提高,并實現(xiàn)了智能化、最優(yōu)化控制信方面:較高檔的單片機都具有通信接口,因而為單片
9、機在通信設備中的應用創(chuàng)造了很好的條件。例如,在微波通信、短波通信、載波通信、光纖通信、程控交換等通信設備和儀器中都能找到單片機的應用。武器裝備:在現(xiàn)代化的武器裝備中, 如飛機、軍艦、坦克、導單、魚雷制導、智能武器設備、航天飛機導航系統(tǒng),都有單片機在其中發(fā)揮重要作用。終端及外部設備控制:計算機網(wǎng)絡終端設備,如銀行終端,以及計算機外部設備如打印機、硬盤驅(qū)動器、繪圖機、傳真機、復印機等,在這些設備中都使用了單片機。近年來隨著科技的飛速發(fā)展,同時帶動自動控制系統(tǒng)日新月異更新,單片機的應用正在不斷地走向深入。沈陽大學32 總體方案設計2.12.1 系統(tǒng)框圖系統(tǒng)框圖 交通燈控制的總體設計框圖如圖 2.1
10、所示。 圖 2.1 系統(tǒng)框圖2.22.2 計時控制方案計時控制方案利用 mcs-51 內(nèi)部的定時器/計數(shù)器進行定時,配合軟件延時實現(xiàn)到計時。該方案節(jié)省硬件成本,切能夠使讀者在定時器/計數(shù)器的使用、中斷及程序設計方面得到鍛煉與提高,2.32.3 顯示控制方案顯示控制方案顯示分為靜態(tài)示和動態(tài)顯示靜態(tài)顯示由于占用較多的接口,在單片機設計中常采用串行擴展來完成。該方案占用接口資源多,顯示亮度由保證,但硬件開銷大,電路復雜,信息刷新速度慢,實用于并行接口資源較少以及對顯示沒有要求的場合。led 動態(tài)顯示硬件連接簡單,但動態(tài)掃描的顯示方式需占用 cpu 較多的時間,在該系統(tǒng)中由于單片機除了掃描 89s51
11、 芯片外沒有太多的實時測控任務,故選用動態(tài)掃描方式。 顯示時間電路指示燈電路7474急停按鍵 系 統(tǒng) 處 理重起按鍵沈陽大學42.42.4 鍵盤控制方案鍵盤控制方案鍵盤分為獨立式鍵盤和行列式鍵盤,獨立式鍵盤接口電路配置靈活,硬件結構簡單,工作可靠但每個按鍵必須占用一跟 i/o 接口線,i/o 接口線浪費較大,在單片機應用系統(tǒng)中,有時只需要幾個簡單的按鍵向系統(tǒng)輸入信息,可將按鍵直接在一根 i/o 接口線上,故只在按鍵數(shù)量不多時采用。而行列式鍵盤每條行線與列線在交叉處不直接相通,而是通過一個按鍵加以連接,當按鍵較多時可采用行列式鍵盤以節(jié)省 i/o 接口。本設計采用兩個按鍵,所以這里選用獨立式鍵盤。
12、沈陽大學5 并 行/ 接 口存儲器 并 行/ 接 口中斷系統(tǒng)定時器/計數(shù)器3 硬件設計3.13.1 89s5189s51 單片機的簡介單片機的簡介 89s51 是 mcs-51 系列單片機的典型產(chǎn)品,我們就這一代表性的機型進行系統(tǒng)的講解。89s51 單片機包含中央處理器、程序存儲器(rom)、數(shù)據(jù)存儲器(ram)、定時/計數(shù)器、并行接口、串行接口和中斷系統(tǒng)等幾大單元及數(shù)據(jù)總線、地址總線和控制總線等三大總線,現(xiàn)在我們分別加以說明:圖圖 3.13.1 單片機內(nèi)部結構示意圖單片機內(nèi)部結構示意圖1、中央處理器 中央處理器(cpu)是整個單片機的核心部件,是 8 位數(shù)據(jù)寬度的處理器,能處理 8 位二進制
13、數(shù)據(jù)或代碼,cpu 負責控制、指揮和調(diào)度整個單元系統(tǒng)協(xié)調(diào)的工作,完成運算和控制輸入輸出功能等操作。2、數(shù)據(jù)存儲器(ram) 89s51 內(nèi)部有 128 個 8 位用戶數(shù)據(jù)存儲單元和 128 個專用寄存器單元,它們是統(tǒng)一編址的,專用寄存器只能用于存放控制指令數(shù)據(jù),用戶只能訪問,而不能用于存放用戶數(shù)據(jù),所以,用戶能使用的 ram 只有 128 個,可存放讀寫的數(shù)據(jù),運算的中間結果或用戶定義的字型表。3、程序存儲器(rom)沈陽大學689s51 共有 4kb 掩膜 rom,最大可擴展 64k 字節(jié),用于存放用戶程序,原始數(shù)據(jù)或表格。4、定時/計數(shù)器:89s51 有兩個 16 位的可編程定時/計數(shù)器,
14、以實現(xiàn)定時或計數(shù)產(chǎn)生中斷用于控制程序轉向。5、并行輸入輸出(i/o)口:89s51 共有 4 組 8 位 i/o 口(p0、 p1、p2 或 p3),用于對外部數(shù)據(jù)的傳輸。6、中斷系統(tǒng)89s51 具備較完善的中斷功能,有兩個外中斷、兩個定時/計數(shù)器中斷和一個串行中斷,可滿足不同的控制要求,并具有 2 級的優(yōu)先級別選擇。3.23.2 89s5189s51 單片機的引腳單片機的引腳89s51 單片機內(nèi)部總線是單總線結構,即數(shù)據(jù)總線和地址總線是公用的. 89s51有 40 條引腳, 與其他 51 系列單片機引腳是兼容的. 這 40 條引腳可分為 i/o 接口線、電源線、控制線、外接晶體線 4 部分.
15、 89s51 單片機為雙列直插式封裝結構, 如圖 3.2所示.圖 3.2 89s51 引腳分配圖 89s51 單機的電源線有以下兩種:(1) vcc:+5v 電源線。電源線 (2) gnd:接地線。89s51 單片機的外接晶體引腳有以下兩種: 沈陽大學7(1)xtal1:片內(nèi)振蕩器反相放大器的輸入端和內(nèi)部時鐘工作的輸入端。采用內(nèi)部振蕩器時,它接外部石英晶體和微調(diào)電容的一個引腳。(2) xtal2:片內(nèi)振蕩器反相放大器的輸出端,接外部石英晶體和微調(diào)電容的另一端。采用外部振蕩器時,該引腳懸空。外接晶體引腳。 控制線 89s51 單片機的控制線有以下幾種:(1) rst:復位輸入端,高電平有效。(2
16、) ale/prog:地址鎖存允許/編程線。(3) psen:外部程序存儲器的讀選通線。(4) ea/vpp:片外 rom 允許訪問端/編程電源端。 3.33.3 89s5189s51 單片機復位方式單片機復位方式單片機在開機時或在工作中因干擾而使程序失控,或工作中程序處于某種死循環(huán)狀態(tài),在這種情況下都需要復位. 復位的作用是使中央處理器 cpu 以及其他功能部件都恢復到一個確定的初始狀態(tài),并從這個狀態(tài)重新開始工作.89s51 單片機的復位靠外部電路實現(xiàn),信號由 reset(rst)引腳輸入,高電平有效,在振蕩器工作時,只要保持 rst 引腳高電平兩個機器周期,單片機即復位. 復位后,pc程序
17、計數(shù)器的內(nèi)容為 0000h,片內(nèi) ram 中內(nèi)容不變. 復位電路一般有上電復位、手動開關復位和自動復位電路 3 種,如圖 3.3 所示. a.上電復位電路 b. 手動復位電路 c. 自動復位電路圖 3.3 單片機復位電路3.43.4 74ls24474ls244 的功能的功能74ls244 是原碼三態(tài)輸出的 8 緩沖數(shù)碼驅(qū)動器,其管腳分布圖如圖 3.4 所示,g為控制端,又稱為使能端其工作原理如下: 10kmax750pesetwdcwdi10fp1.0vccrst+5v89c511kvccrstgnd+5v c10f r8.2k89c5189c51 r8.2k c10f+5vgndrstvc
18、c沈陽大學8當 g=0 時,a 輸入為低電平時,y 輸出也為低電平。當 g=0 時,a 輸入為高電平時, y 輸出為高電平。當 g=1 時,a 不論輸入高電平還是低電平 y 為高阻狀態(tài)功能表如表 3.1 所示:表 3.1 74ls244 的功能表 圖 3.4 74ls244 管腳圖3.53.5 74ls0774ls07 的功能的功能74ls07 是六緩沖的數(shù)碼驅(qū)動器,它是有 6 個集電極開路的非門所組成,管腳分布如圖 3.5 所示,其工作原理如下,當使能端為低電平時,輸入為高電平時輸出也為高電平,當輸入為低電平時輸出也為低電平,其邏輯表達式為:y=a 圖 3.5 74ls07 管腳圖74ls2
19、442a11y42a21y32a31y22a41y12gvccgnd2y11a42y21a32y31a22y41a11g2019181716151413121110987654321輸出輸入zxhhhllllyga74ls074y4a5y5a6y6avccgnd3y3a2y2a1y1a1234567891011121314沈陽大學93.63.6 鍵盤接口工作原理鍵盤接口工作原理在單片機應用系統(tǒng)中,常用鍵盤作為輸入設備,通過它將數(shù)據(jù)、內(nèi)存地址、命令及指令等輸入到系統(tǒng)中,來實現(xiàn)簡單的人機通信。3.6.13.6.1 按鍵開關的去除抖動功能按鍵開關的去除抖動功能目前, mcs51 單片機應用系統(tǒng)上的按
20、鍵常采用機械觸點式按鍵,它在斷開、閉合時輸入電壓波形如圖 3.6 所示.可以看出機械觸點在閉合及斷開瞬間均有抖動過程,時間長短與開關的機械特性有關,一般為 510ms。由于抖動,會造成被查詢的開關狀態(tài)無法準確讀出。例如,一次按鍵產(chǎn)生的正確開關狀態(tài),由于鍵的抖動,cpu 多次采集到底電平信號,會被誤認為按鍵被多次按下,就會多次進行鍵輸入操作,這是不允許的。為了保證 cpu 對鍵的一次閉合僅在按鍵穩(wěn)定時作一次鍵輸入處理,必須消除產(chǎn)生的前沿(后沿)抖動影響。后沿前沿識別區(qū)安鍵過程 圖 3.6 按鍵過程3.6.23.6.2 獨立式鍵盤的接口電路獨立式鍵盤的接口電路獨立式鍵盤的接口電路:在單片機應用系統(tǒng)
21、中,有時只需要幾個簡單的按鍵向系統(tǒng)輸入信息。這時,可將每個按鍵直接接在一根 i/o 接口線上,這種連接方式的鍵盤稱為獨立式鍵盤。如圖 3.7 所示,每個獨立按鍵單獨占有一根 i/o 接口線,每根 i/o 接口線的工作狀態(tài)不會影響到其他 i/o 接口線。這種按鍵接口電路配置靈活,硬件結構簡單,但每個按鍵必須占用一根 i/o 線,i/o 接口線浪費較大。故只在按鍵數(shù)量不多時采用這種按鍵電路。在此電路中,按鍵輸入都采用低電平有效。上拉電阻保證了按鍵斷開時,i/o 接口線有確定的高電平。當 i/o 接口內(nèi)部有上拉電阻時,外電路可以不配置上拉電阻。沈陽大學10圖 3.7 獨立式鍵盤電路3.73.7 七段
22、七段 ledled 顯示工作原理顯示工作原理led 顯示器是由發(fā)光二極管顯示字段的 mcs-51 單片機輸出設備。單片機應用系統(tǒng)常采用七段 led 數(shù)碼管作為顯示器,這重顯示器具有耗電低、配置靈活、線路簡單、安裝方便、耐轉動、價格低廉且壽命長等優(yōu)點。因此應用比較廣泛。led 數(shù)碼管顯示器可以分為共陰極和共陽極兩種結構。(1)共陰極結構:如果所有的發(fā)光二極管的陰極接在一起,稱為共陰極結構,則數(shù)碼顯示段輸入高電平有效,當某段輸入高電平該段便發(fā)光,如圖 3.8a 所示。(2)共陽極結構:如果所有的發(fā)光二極管的陽極接在一起,稱為共陽極結構,則數(shù)碼顯示段輸入低平有效,當某段輸入低電平該段便發(fā)光,如圖 3
23、.8b 所示。 a .共陰極 b .共陽極圖 3.8 七段 led 顯示器 (3)led 動態(tài)顯示接口:led 動態(tài)顯示就是利用單片機依次輸出每一位數(shù)碼管的k1k2k3k4k5k6k7k8p1.0p1.1p1.2p1.3p1.4p1.5p1.6p1.7+5v89s51沈陽大學11段選碼和對應于該位數(shù)碼管的位選控制信號,一位一位輪流點亮各七段數(shù)碼管。對每位數(shù)碼管來說,每隔一段時間點亮一次,如此循環(huán)。利用人眼的“視覺暫留”效應,只要每位顯示間隔足夠短就可以給人以同時顯示的感覺。在動態(tài)顯示方式中,同一時刻,只有一位 led 數(shù)碼管在顯示,其他各位是關閉的。在段選碼和位選碼每送出一次后,應保持 1ms
24、 左右,這個時間應根據(jù)實際情況而定。不能太小,因而發(fā)光二極管從導通到發(fā)光有一定的延時,導通時間太小,發(fā)光太弱人眼無法看清。但也不能太大,因為畢竟要受限于臨界閃爍頻率,而且此時間越長,占用 cpu 時間也越多。采用動態(tài)顯示方式比較節(jié)省 i/o 接口,硬件電路也較靜態(tài)顯示方式簡單,但其亮度不如靜態(tài)顯示方式,而且在顯示位數(shù)較多時,cpu 要依次掃描,占用 cpu 較多的時間。用 mcs-51 單片機構建七段數(shù)碼管動態(tài)顯示系統(tǒng)時,4 位數(shù)碼管均采用共陰極led,p0 接口作為段選碼輸出口,8 路驅(qū)動采用 74ls244 總線驅(qū)動器作為字形驅(qū)動芯片,經(jīng)過 8 路驅(qū)動電路后接至數(shù)碼管的各段,字形驅(qū)動輸出
25、0 時發(fā)光。p2 接口作為位選碼輸出口,4 路驅(qū)動采用 74ls07(oc 門驅(qū)動器) ,當 c 接口線輸出 1 時,選通相應位的數(shù)碼管工作。3.83.8 電路原理電路原理電路的核心是 89s51 單片機,其內(nèi)部帶有 4kb 的 flashrom,無須擴展程序存儲器;電腦沒有大量的運算和暫存數(shù)據(jù),現(xiàn)有的 128b 片內(nèi) ram 已能滿足要求,也不必擴展片外 ram,系統(tǒng)配備 4 位 led 顯示和 2 個單接口鍵盤,采用 p0 接口外接 8 路反相三態(tài)緩沖器 74ls244 作 led 動態(tài)掃描的段碼控制驅(qū)動信號,用 p1 接口的 p1.0-p1.3 外接一片集電極開路反相門電路 74ls07
26、 做為 4 位 led 的位選信號驅(qū)動口, led 共陰極端與 74ls07 的輸出端相連;按鍵接口,由 p2.0,p2.1 來完成。p3 口接交通指示燈,整個系統(tǒng)采用查表的方發(fā),將交通燈的顯示情況和數(shù)碼管的計時情況,分別以代碼的形式送到指示燈和 led 數(shù)碼管,啟動定時器,同時調(diào)用顯示程序,和查詢按鍵。利用軟件計數(shù)器的方法計時一秒,利用中斷的方法使計時時間循環(huán),當按下應急按鍵時停止定時器,送一個代碼使兩個方向都亮紅燈,按下一個按鍵時啟動定時器,恢復循環(huán)。如圖 3.9 所示沈陽大學12ea/vp31x119x218reset9rd17wr16int012int113t014t115p101p1
27、12p123p134p145p156p167p178p0039p0138p0237p0336p0435p0534p0633p0732p2021p2122p2223p2324p2425p2526p2627p2728psen29ale/p30txd11rxd10vcc40gnd20u189s511g1a121y118a241y216a361y314a481y412vcc20gnd102g19b1112y19b2132y27b3152y35b4172y43u274ls244r1res2r2res2r3res2r4res2r5res2r6res2r7res2r8res2r9res2r10res2r11
28、res2r12res2r13res2r14res2r15res2r16res2r17res2r19res2r20res2s3sw-pbs1sw-pbs2sw-pbd1ledd2ledd3ledd4ledd5ledd6ledd7ledd8ledc1cap1a11y22a32y43a53y6gnd74y84a95y105a116y126a13vcc14u3lede1d23c4dp5b6a78f9g10abcdefgd12lede1d23c4dp5b6a78f9g10abcdefgd13lede1d23c4dp5b6a78f9g10abcdefgd14lede1d23c4dp5b6a78f9g10a
29、bcdefgd15ledvccvccvccvcc圖 3.9 電路原理圖沈陽大學134 軟件設計4.14.1 定時秒的方法定時秒的方法定時方法我們采用軟硬件結合的方法,在主程序中設定一個初值為 20 的軟件計數(shù)器使定時器 0 工作于方式 1 定時 50 毫秒,這樣每當 t0 到 50 毫秒時 cpu 就響應它的溢出中斷請求,進入他的中斷服務子程序。在中斷服務子程序中,cpu 先使軟件計數(shù)器減 1,然后判斷它是否為零。為零表示 1 秒已到。4.24.2 定時器初值計算定時器初值計算定時器工作時必須給計數(shù)器送初值,將這個值送到 th 和 tl 中。他是以加法記數(shù)的,并能從全 1 到全 0 時自動產(chǎn)生
30、溢出中斷請求。因此工作于方式 1,定時器為 16位計數(shù)器其定時時間由下式計算:定時時間=(216x)振蕩周期12(或)x=216定時時間振蕩周期12式中 x 為 t0 的初始值,該值和計數(shù)器工作方式有關。如單片機的主脈沖頻率為,經(jīng)過分頻方式 0定時時間213 1 微秒8.192 毫秒方式 1定時時間216 1 微秒65.536 毫秒秒鐘已經(jīng)超過了計數(shù)器的最大定時間,所以我們只有采用定時器和軟件相結合的辦法才能解決這個問題,定時器需定時 50 毫秒,故0 工作于方式 1,定時 20 次,就可定時一秒。 4.34.3 主程序模塊主程序模塊主程序初始化和按鍵控制,首先將時間、中斷、次數(shù)、和顯示分別進
31、行初始化,然后啟動定時器對時間進行判斷,將時間送數(shù)據(jù)緩沖區(qū),調(diào)用顯示程序,同時掃描按鍵程序,用無條件跳轉指令返回, 再調(diào)用顯示程序,如此周而復始的循環(huán),如圖4.1 所示沈陽大學14保存表地址查時間表查燈狀態(tài)表掃描按鍵調(diào)用顯示啟動t0顯示初始化次數(shù)初始化中斷初始化t0初始化開始圖 4.1 主程序流程圖主程序:初值:x=216定時時間振蕩周期1221650ms/1us=15536=3cb0h,th0=3ch , tl0=0b0h。 org 0000h ajmp start org 0030hstart: mov tmod, #01h; 令0 為定時器方式 mov th0, #3ch ;裝入定時器初
32、值 mov tl0, #0b0h setb ea ;開0 中斷setb tf0 sebt t0 ;啟動0 計數(shù)器沈陽大學15 mov r0, #20h ;軟件計數(shù)器賦初值 ljmp $ ;等待中斷4.44.4 中斷服務程序模塊中斷服務程序模塊進入中斷程序后,先保護現(xiàn)場,判斷一秒鐘到了嗎?如果沒有到將定時器重裝初值恢復現(xiàn)場,返回主程序,如果一秒鐘到了,將軟件計數(shù)器重初值;判斷指示燈循環(huán)顯示完了嗎?如果沒完,將保地址重新送入程序計數(shù)器中,然后再查表下一地址,顯示下一組指示燈狀態(tài)和顯示時間,保存下一組程序數(shù)據(jù)地址,將定時器重裝初值,恢復現(xiàn)場,返回主程序,如果完了,查表首地址,查時間地址,保存下一地址
33、,將定時器重裝初值,恢復現(xiàn)場,返回主程序。同時一秒到了應先判斷個位是否為 0,如果個位是 0,判斷十位是不是 0,如果十位也是 0,判斷交通燈是否安黃、綠、紅的順序循環(huán)完必,如果沒循環(huán)完應查下一組數(shù)據(jù)繼續(xù)循環(huán),如果循環(huán)完必,應查表首地址,周而復始的循環(huán),如果十位不是 0,應將十位先減 1,個位送 9,然后返回,再進行中斷定時一秒,然后再判斷,如果個位不是 0,應將個位減 1,將定時器重裝初值,恢復現(xiàn)場。重新周而復始的循環(huán),如圖 4.2 所示。沈陽大學16圖 4.2 中斷程序流程圖4.54.5 顯示程序模塊顯示程序模塊顯示程序采用動態(tài)顯示,由位碼控制那一個數(shù)碼管顯示,由段碼控制數(shù)碼管顯示什么數(shù)值
34、,根據(jù)中斷程序顯示時間來查表顯示數(shù)值,從第一位到第四位逐個點亮,同時每顯示一位判斷一次四位顯示完了嗎?沒有顯示完進行顯示下一位,顯示完了從頭開始再循環(huán)。如圖 4.3 所示沈陽大學17 將段碼送口將位碼送口調(diào)用延時判斷顯示完了嗎?子程序返回將位碼左移將下一段碼送口顯示程序入口圖 4.3 顯示程序流程圖 desplay: mov r2 , #01h ;將位碼送 r2mov r0 , #30 ;將段碼送 r0next3: mov a , r0 mov dptr , #tab2movc a , a+dptrmov p0 , a ;將段碼送 r0mov p1 , r2 ;將位碼送 r2lcall del
35、ay1 ;調(diào)用延時程序mov a , r2jb acc.3 , u2 ;顯示完轉 u2rl a ;未顯示完,將未碼左移mov r2 , a ;將位碼重送、r2 中inc r0 ;指向 31hljmp next3 u2: ret ;顯示返回沈陽大學185 系統(tǒng)調(diào)試完成了硬件的設計、制作和軟件編程之后,要使系統(tǒng)能夠按設計意圖正常運行,必須進行系統(tǒng)調(diào)試。系統(tǒng)調(diào)試包括硬件調(diào)試和軟件調(diào)試兩個部分。不過,作為一個單片機系統(tǒng),其運行是軟硬件相結合的,因此,軟硬件的調(diào)試也是絕對不可能分開的。 程序的調(diào)式應一個模塊一個模塊地進行,單獨調(diào)試各功能子程序,檢驗程序是否能夠?qū)崿F(xiàn)預期的功能,接口電路的控制是否正常等;最
36、后逐步將各個子程序連接起來總調(diào)。聯(lián)調(diào)需要注意的是,各程序模塊間能否正確傳遞參數(shù),特別要注意各子程序的現(xiàn)場保護與恢復。調(diào)試的基本步驟如下: 將所要調(diào)試的程序輸入道偉福 6000 中,然后進行編譯,根據(jù)系統(tǒng)的提示查找原因?qū)⒊鲥e的地方調(diào)整正確,例如:有的時標號未定義,有的時少標點符號等。最后以 asm 擴展名保存。將在偉福中調(diào)試好的程序方入 keil 內(nèi),將單片機實驗相與計算機連接,然后在keil 中進行編譯程序,運行程序,根據(jù)單片機所顯示的結果分析程序,修改程序直到程序正常。在調(diào)試過程中出現(xiàn)的問題:(1)指示燈顯示不正常,經(jīng)分析原因在與燈的表格列的不對,指示燈輸出低電瓶時亮,結果程序中都是以高電瓶
37、輸出,經(jīng)修改后正常(2)數(shù)碼管從 15 到計時,當減到 11 時直接變成了 9,而沒有經(jīng)過 10,經(jīng)過對整個程序的分析也沒能夠找到問題,后經(jīng)老師的講解分析最后發(fā)現(xiàn)是程序設計的錯誤,在計時時間到時,必須先判斷個位是否為 0,如果個位是 0,判斷十位是不是0,如果十位也是 0,判斷交通燈是否安黃、綠、紅的順序循環(huán)完必,如果沒循環(huán)完應查下一組數(shù)據(jù)繼續(xù)循環(huán),如果循環(huán)完必,應查表首地址,周而復始的循環(huán),如果十位不是 0,應將十位先減 1,個位送 9,然后返回,再進行中斷定時一秒,然后再判斷,如果個位不是 0,應將個位減 1,而不能先減 1 再判斷,而我開始設計的正好與此相反,我先減 1 后進行判斷,然后
38、又減 1 所以就出現(xiàn)了這種現(xiàn)象,經(jīng)改正數(shù)碼管能夠按設定的數(shù)據(jù)變化。(3)緊急事件發(fā)生時,按下急停按鍵時兩個方向都亮紅燈,而數(shù)碼管不會閃爍,沈陽大學19經(jīng)老師幫助當按鍵按下時,在按鍵服務程序中向數(shù)據(jù)緩沖器中送入#16h 即可。沈陽大學206 結 論依據(jù)本論文設計以 89s51 單片機為核心的交通燈,經(jīng)過近 4 個月的設計,最后按設計要求終于在單片機實驗箱上試驗成功,選擇不同的單片機,可以組成具有較強抗干擾能力和運行可靠性的產(chǎn)品,其抗干擾能力雖然不如 plc,但 plc 價格較貴,用單片機運行效果仍然令人滿意,同時證明了本方案的正確性。這種交通燈比較適合應用于中小型城市的十字路口,如果將本方案加上
39、定時器和傳感器比較適合應用于大種型城市,它能根據(jù)時間的變化自動調(diào)節(jié)交通燈的時間,或根據(jù)車流量的大小自動調(diào)節(jié)時間的長短,效果會更佳。沈陽大學21致謝本課題在選題及研究過程中得到郭繼紅老師的悉心指導。郭老師多次詢問研究進程,并為我指點迷津,幫助我開拓研究思路,精心點撥、熱忱鼓勵。郭老師一絲不茍的作風,嚴謹求實的態(tài)度,踏踏實實的精神,不僅授我以文,而且教我做人,雖歷時三載,卻給以終生受益無窮之道。對郭老師的感激之情是無法用言語表達的。通過這次畢業(yè)設計,使我得到了一次用專業(yè)知識、專業(yè)技能分析和解決問題全面系統(tǒng)的鍛煉。使我在單片機的基本原理、單片機應用系統(tǒng)開發(fā)過程,以及在常用編程設計思路技巧的掌握方面都
40、能向前邁了一大步,為日后成為合格的應用型人才打下良好的基礎。我在指導老師郭老師的精心指導和嚴格要求下,獲得了豐富的理論知識,極大地提高了實踐能力,并對當前電子領域的研究狀況和發(fā)展方向有了一定的了解,這對我今后進一步學習單片機方面的知識有極大的幫助。在此,我忠心感謝郭繼紅指導和支持。在未來的工作和學習中,我將以更好的成績來回報老師。在此,我還要感謝在一起愉快的度過大學生生活的機電系全體老師和同門,正是由于你們的幫助和支持,我才能克服一個一個的困難和疑惑,直至本文的順利完成。 在論文即將完成之際,我的心情無法平靜,從開始進入課題到論文的順利完成,有多少可敬的師長、同學、朋友給了我無言的幫助,在這里
41、請接受我誠摯的謝意!最后我還要感謝培養(yǎng)我長大含辛茹苦的父母,謝謝你們!沈陽大學22參考文獻1 王玉龍.數(shù)字邏輯.北京.高等教育出版社,19872 傅承義.地球物理學基礎.北京.科學出版社,1985,4473 華羅庚,王元.論一致分布與近似分析. 北京.中國科學,1973(4):3393574 張筑生.微分半動力系統(tǒng)的不變集研究.學位論文.北京.數(shù)學系統(tǒng)學研究所,1983黑體 3 號字居中,段前、段后 0.5 行沈陽大學23附錄 a org 0000h ljmp start org 000bh ljmp ctc0 org 0030hstart: mov tmod , #01h ;定時器 t0 初
42、始化 mov th0 , #3ch ;定時器 t0 初始化 mov tl0 , #0b0 ;定時器 t0 初始化 mov r3 , #20 ; 定時器次數(shù)初始化mov r5 , #03 ; 循環(huán)次數(shù)初始化mov 30h , #16h ;數(shù)據(jù)緩沖區(qū)初始化mov 31h , #16h ;數(shù)據(jù)緩沖區(qū)初始化mov 32h , #16h ;數(shù)據(jù)緩沖區(qū)初始化mov 33h , #16h ;數(shù)據(jù)緩沖區(qū)初始化 setb ea ;總允許中斷 setb et0 ;t0 允許中斷 setb tr0 ;啟動 t0 mov dptr ,#tab ;置表格 tab 起始值 clr a movc a ,a+dptr mov
43、 p3 , a ;查表將結果送 p3 口inc dptrclr amovc a ,a+dptrmov r4 , a ;查表下一地址,結果送寄存器 r4mov 30h ,a ;將結果送 30hinc dptr沈陽大學24clr amovc a , a+dptrmov r6 , a ;查表下一地址,將結果送 r6mov 31h , a ;將結果送 31h inc dptrclr amovc a , a+dptrmov r7 , a ;查表下一地址,將結果送 r7mov 32h , a ;將結果送 32h inc dptr clr amovc a , a+dptrmov r2 , a ;查表下一地址
44、,將結果送 r7mov 33h , a ;將結果送 32hinc dptrmov 50h , dph ;將下一地址送 50h 和 51h mov 51h, dplloop: lcall display ;調(diào)用顯示程序 jb p1.0 , loop1 ;k1 鍵未按下,轉 loop1 lcall delay1 ;延時 10ms 消除抖動 jb p1.0 , loop1 ;k1 鍵未按下,轉 loop1loop2 jnb p1.0 , loop2 ;k1 鍵按下,順序執(zhí)行 k1 鍵功能 mov a , p0 mov p0 , #11h ;送 11h 到 p0 口,使兩個方向的燈都亮紅燈clr tr
45、0 ;定時器停止計數(shù)mov 30h , #16hmov 31h , #16hmov 32h , #16h沈陽大學25mov 33h , #16hanjian: jb p1.1 , loop ;k2 鍵未按下,轉 looplcall delay ;延時 10ms 消除抖動jb p1.1 , loop ;k2 鍵未按下,轉 loopl2 : jnb p1.1, l2 ;k2 鍵按下,順序執(zhí)行 k2 鍵功能setb tr0 ;重新啟動定時器mov p0 , a ;將狀態(tài)送 p0 口ljmp loopctco: push acc ;保護現(xiàn)場 push pswdjnz: r3 , next2 ;定時器一
46、秒未到轉 next2mov r3, #20 ;定時一秒到,送 20 到 r3mov a,r4cjne a, #0ff , l15 ;(主干道)判斷個位,個位不等 0,轉l15mov a, r6 ;個位等 0 順續(xù)執(zhí)行cjne a,#0ffh , l16 ; 判斷十位,十位不等 0,轉 l16ljmp l17 ; 十位等 0,轉 l17l16: dec r6 ; 十位減 1mov r4 , #09 ; 個位送 9ljmp l8l15 : djnz r4, l8 ;個位不為 0 時,個位減 1l17; djnz r5 , ll1 ;未循環(huán)完,轉 ll1mov r5 , #05 ;循環(huán)寄存器重裝初值mov dptr , #tab1 ;將 tab1 首地址送 dptrljmp ll2l8: mov a, r7cjne a,#0ffh ,l11 ;(直干道)判斷個位,個位不等 0,轉沈陽大學26l11mov a,r
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《100 以內(nèi)的加法和減法(二)-不進位加》(說課稿)-2024-2025學年二年級上冊數(shù)學人教版
- 13《人物描寫一組》第二課時《巧用多種方法寫“活”身邊人物》說課稿-2023-2024學年五年級語文下冊統(tǒng)編版
- Revision Being a good guest Period 2(說課稿)-2024-2025學年人教PEP版(2024)英語三年級上冊
- 2024秋九年級語文上冊 第五單元 18《懷疑與學問》說課稿 新人教版
- Unit5 What will you do this weekend?Lesson25(說課稿)-2023-2024學年人教精通版英語四年級下冊
- 5 國家機構有哪些 第三課時 《國家機關的產(chǎn)生》 說課稿-2024-2025學年道德與法治六年級上冊統(tǒng)編版
- 《 關注新詞新語讓語言鮮活生動》說課稿 2024-2025學年統(tǒng)編版高中語文必修上冊
- 1~5的認識和加減法《第幾》(說課稿)-2024-2025學年一年級上冊數(shù)學人教版
- Module 9 Unit 1 It's winter.(說課稿)-2024-2025學年外研版(一起)英語二年級上冊
- 1《水到哪里去了》說課稿-2023-2024學年科學五年級下冊冀人版
- 西安經(jīng)濟技術開發(fā)區(qū)管委會招聘筆試真題2024
- 2025屆浙江省高三歷史選考總復習模擬測試(八)歷史試題(含答案)
- 六年級2025寒假特色作業(yè)
- 2025年江蘇轄區(qū)農(nóng)村商業(yè)銀行招聘筆試參考題庫含答案解析
- 人教版六年級數(shù)學下冊完整版教案及反思
- 少兒財商教育講座課件
- (八省聯(lián)考)云南省2025年普通高校招生適應性測試 物理試卷(含答案解析)
- 2025藥劑科工作人員工作計劃
- 春節(jié)節(jié)后安全教育培訓
- 2025年新高考數(shù)學一輪復習第5章重難點突破02向量中的隱圓問題(五大題型)(學生版+解析)
- 水土保持方案投標文件技術部分
評論
0/150
提交評論