




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、畢 業(yè) 論 文 目錄1 畢業(yè)論文封面-12 畢業(yè)論文目錄-23 設(shè)計(jì)功能及單片機(jī)簡(jiǎn)介-34 交通燈方案設(shè)計(jì)與論證-45 系統(tǒng)設(shè)計(jì)-55.1總體設(shè)計(jì) -55.2 狀態(tài)圖 -6 真值表 -6 電源接線圖流程圖 -65.5 主程序及中斷服務(wù)程序的流程圖-75.6 緊急情況時(shí)的中斷服務(wù)程序-85.7 原理圖-86 軟件設(shè)計(jì)過(guò)程-97 調(diào)試-97.1硬件調(diào)試 -97.2軟件調(diào)試 -108 結(jié)束語(yǔ)-109 參考文獻(xiàn)-1110英文摘要和關(guān)鍵詞-1111程序設(shè)計(jì)-11 基于新型規(guī)則的可編程交通燈控制系統(tǒng)設(shè)計(jì)作者 : 唐武明 指導(dǎo)老師 : 歐陽(yáng)文圣專業(yè) : 電氣工程及其自動(dòng)化 年級(jí) : 2002級(jí) 摘 要:本系
2、統(tǒng)由單片機(jī)系統(tǒng)、鍵盤、LCD顯示、交通燈演示系統(tǒng)組成。系統(tǒng)包括人行道、左轉(zhuǎn)、右轉(zhuǎn)、以及基本的交通燈的功能。系統(tǒng)除基本交通燈功能外,還具有倒計(jì)時(shí)、時(shí)間設(shè)置、緊急情況處理、LCD信息顯示、分時(shí)段調(diào)整信號(hào)燈的點(diǎn)亮?xí)r間以及根據(jù)具體情況手動(dòng)控制等功能。 關(guān)鍵詞:?jiǎn)纹瑱C(jī) 智能控制 交通燈一 設(shè)計(jì)功能介紹和單片機(jī)微處理器簡(jiǎn)介本設(shè)計(jì)為一個(gè)基于新型規(guī)則的可編程交通燈控制系統(tǒng)的設(shè)計(jì),通過(guò)對(duì)交通系統(tǒng)的深入了解,從而制定了該控制系統(tǒng)?;緝?nèi)容包括系統(tǒng)的總體功能圖的設(shè)計(jì),真值表和實(shí)驗(yàn)?zāi)M電路的設(shè)計(jì)和程序的設(shè)計(jì)。系統(tǒng)具體由單片機(jī)系統(tǒng)、鍵盤、LCD顯示、交通燈演示系統(tǒng)組成。包括車道和人行道的設(shè)計(jì)、左轉(zhuǎn)、右轉(zhuǎn)、以及基本的交通
3、燈的控制功能。除基本交通燈功能外,還具有倒計(jì)時(shí)、時(shí)間設(shè)置、緊急情況處理、LCD信息顯示、分時(shí)段調(diào)整信號(hào)燈的點(diǎn)亮?xí)r間以及根據(jù)具體情況手動(dòng)控制等功能。 單片機(jī)微處理器簡(jiǎn)介:一個(gè)微電腦包括微處理器(CPU) 、存放程序指令的ROM和存放數(shù)據(jù)的RAM、輸入/輸出端口(I/O)及時(shí)鐘、計(jì)數(shù)器、中斷系統(tǒng)等。他們經(jīng)過(guò)地址總線、數(shù)據(jù)總線和控制總線的連接以及輸入/輸出端口與外圍裝置連接,構(gòu)成微電腦系統(tǒng)。由于單片機(jī)微處理器把微電腦的主要器件制造在一塊芯片上,所以可以把單片機(jī)微處理器看成是一個(gè)不帶外圍裝置的微電腦。 單片機(jī)微處理器具有以下特點(diǎn)1. 受密度限制:芯片存儲(chǔ)器容量較小,一般ROM小于4/8KB,RAM小于
4、256字節(jié)。2. 可靠性良好:?jiǎn)纹瑱C(jī)是按照工業(yè)控制要求所設(shè)計(jì)的,其抗工業(yè)噪聲干擾優(yōu)于一般的CPU,程序指令及常數(shù)數(shù)據(jù)都燒寫在ROM內(nèi),其許多信號(hào)通道均在同一個(gè)芯片內(nèi),因此可靠性高。3. 易擴(kuò)充:?jiǎn)纹瑱C(jī)具有一般電腦所必有的器件,如三態(tài)雙向總線、并行及串行的輸入輸出引腳,可以擴(kuò)充為各種規(guī)模的微電腦系統(tǒng)。 4. 控制功能強(qiáng):為了滿足工業(yè)控制的要求,單片機(jī)的指令除了輸入輸出控制指令、邏輯判斷指令外,還有更豐富的條件分支跳躍指令。 單片機(jī)微處理器的應(yīng)用范圍1. 智能產(chǎn)品:?jiǎn)纹瑱C(jī)微處理器與傳統(tǒng)的機(jī)械產(chǎn)品相結(jié)合,使傳統(tǒng)機(jī)械產(chǎn)品結(jié)構(gòu)簡(jiǎn)化、控制智能化,構(gòu)成新一代的機(jī)電一體化的產(chǎn)品。例如 打字機(jī)采用單片機(jī),可以取
5、代近千個(gè)機(jī)械器件;縫紉機(jī)采用單片機(jī)控制,可執(zhí)行多功能自動(dòng)操作、自動(dòng)調(diào)速、控制縫紉花樣的選擇。功能自動(dòng)操作、自動(dòng)調(diào)速、控制縫紉花樣的選擇。2. 智能儀表:用單片機(jī)微處理器改良原有的測(cè)量、控制儀表,能使儀表數(shù)字化、智能化、多功能化、綜合化。而測(cè)量?jī)x器中的誤差修正、線性化等問(wèn)題也可迎刃而解。3. 測(cè)控系統(tǒng):?jiǎn)纹瑱C(jī)微處理器可以設(shè)計(jì)各種工業(yè)控制系統(tǒng)、環(huán)境控制系統(tǒng)、數(shù)據(jù)控制系統(tǒng),例如溫室人工氣候控制、水閘自動(dòng)控制、電鍍生產(chǎn)線自動(dòng)控制、氣輪機(jī)電液調(diào)節(jié)系統(tǒng)等。4. 數(shù)控型控制機(jī):在目前數(shù)字控制系統(tǒng)的簡(jiǎn)易控制機(jī)中,采用單片機(jī)可提高可靠性,增強(qiáng)其功能、降低成本。例如在兩坐標(biāo)的連續(xù)控制系統(tǒng)中,用8051單片機(jī)微處理
6、器組成的系統(tǒng)代替Z-80組合系統(tǒng),在完成同樣功能的條件下,其程序長(zhǎng)度可減少50%,提高了執(zhí)行速度。數(shù)控型控制機(jī)采用單片機(jī)后可以改變其結(jié)構(gòu)模式,例如使控制機(jī)與伺服控制分開,用單片機(jī)構(gòu)成的步進(jìn)電機(jī)控制器可減輕數(shù)控型控制機(jī)的負(fù)擔(dān)。5. 智能接口:微電腦系統(tǒng),特別是較大型工業(yè)測(cè)控系統(tǒng)中,除外圍裝置(打印機(jī)、鍵盤、磁盤、CRT)外,還有許多外部通信、采集、多路分配管理、驅(qū)動(dòng)控制等接口。這些外圍裝置與接口如果全部由主機(jī)進(jìn)行管理,勢(shì)必造成主機(jī)負(fù)擔(dān)過(guò)重,降低執(zhí)行速度,如果采用單片機(jī)進(jìn)行接口的控制與管理,單片機(jī)微處理器與主機(jī)可并行工作,大大地提高了系統(tǒng)的執(zhí)行速度。如在大型數(shù)據(jù)采集系統(tǒng)中,用單片機(jī)對(duì)模擬/數(shù)字轉(zhuǎn)換
7、接口進(jìn)行控制不僅可以提高速度,還可以對(duì)數(shù)據(jù)進(jìn)行預(yù)先處理,如數(shù)字濾波、線性化處理、誤差修正等。在通信接口中采用單片機(jī)可對(duì)數(shù)據(jù)進(jìn)行編碼譯碼、分配管理、接收/發(fā)送控制等。 二 方案設(shè)計(jì)與論證1. 電源提供方案 為使模塊穩(wěn)定工作,須有可靠電源。我們考慮了兩種電源方案 方案一:采用獨(dú)立的穩(wěn)壓電源。此方案的優(yōu)點(diǎn)是穩(wěn)定可靠,且有各種成熟電路可供選用;缺點(diǎn)是各模塊都采用獨(dú)立電源,會(huì)使系統(tǒng)復(fù)雜,且可能影響電路電平。 方案二:采用單片機(jī)控制模塊提供電源。改方案的優(yōu)點(diǎn)是系統(tǒng)簡(jiǎn)明扼要,節(jié)約成本;缺點(diǎn)是輸出功率不高。綜上所述,我們選擇第二種方案。 2. 顯示界面方案 該系統(tǒng)要求完成倒計(jì)時(shí)、信息提示等功能。基于上述原因,
8、我們考慮了三種方案: 方案一:完全采用 LED顯示。這種方案只顯示有限的符號(hào)和數(shù)碼字符,無(wú)法勝任題目要求。 方案二:完全采用點(diǎn)陣式 LCD顯示。這種方案實(shí)現(xiàn)復(fù)雜,且須完成大量的軟件工作;但功能強(qiáng)大,可方便的顯示各種英文字符,漢字,圖形等。 方案三:采用 LED與點(diǎn)陣LCD相結(jié)合的方法因?yàn)樵O(shè)計(jì)既要求倒計(jì)時(shí)數(shù)字輸出,又要求有漢字信息提示及圖形輸出等,為方便觀看并考慮到現(xiàn)實(shí)情況,用LED與LCD分別顯示時(shí)間與提示信息。這種方案既滿足系統(tǒng)功能要求,又減少了系統(tǒng)實(shí)現(xiàn)的復(fù)雜度。 權(quán)衡利弊,第三種方案可互補(bǔ)一二方案的優(yōu)缺,我們決定采用方案三以實(shí)現(xiàn)系統(tǒng)的顯示功能。 3. 交通燈演示方案 采用在面板上焊接三色發(fā)
9、光二極管模擬交通紅綠燈,以發(fā)光二極管拼出小人狀(并閃爍)、箭頭作為人行提示/左右轉(zhuǎn)提示,簡(jiǎn)單明了,且實(shí)現(xiàn)簡(jiǎn)單,清晰明了。 三 系統(tǒng)設(shè)計(jì) 1. 總體設(shè)計(jì) 系統(tǒng)總框圖如下 模塊說(shuō)明 1鍵盤控制電路:4*4鍵盤。 2單片機(jī)最小系統(tǒng):系統(tǒng)的主控制器,用以控制其他模塊協(xié)調(diào)工作。 3 LED顯示(倒計(jì)時(shí))模塊:由8051控制,經(jīng)排線與交通燈演示模塊相連,用以顯示交通燈倒計(jì)時(shí)時(shí)。 4 控制接口電路:用于連接單片機(jī)系統(tǒng)與交通燈演示模塊,該電路含74LS47可使交通燈正常工作。 5交通燈演示模塊:演示系統(tǒng)的工作情況。該模塊主要由發(fā)光二極管構(gòu)成。
10、 交通燈的各狀態(tài)說(shuō)明 交通燈在通常工作條件中有四種狀態(tài): 0號(hào)主通道綠燈,次通道紅燈;1號(hào)主通道黃燈,次通道紅燈;2號(hào)主通道紅燈,次通道綠燈;3號(hào)主通道紅燈,次通道黃燈。2. 狀態(tài)圖 3. 真值表 (主通道:R1G1Y1 次通道:R2G2Y2) 狀態(tài) 主通道 次通道 R1G1Y1 R2G2Y2 S0 0 1 0 1 0 0 S1 0 0 1 1 0 0 S2 1 0 0 0 1 0 S3 1 0 0 0 0 14. 電源接線圖5. 交通信號(hào)燈模擬控制系統(tǒng)主程序及中斷服務(wù)程序的流程圖6. 緊急情況時(shí)的中斷服務(wù)程序(INT0) 7原理圖 四 軟件設(shè)計(jì)過(guò)程 主程序
11、采用查詢方式定時(shí),由R2寄存器確定調(diào)用0.5S延時(shí)子程序的次數(shù),從而獲取交通燈的各種時(shí)間。子程序采用定時(shí)器1方式1,查詢式定時(shí),定時(shí)器定時(shí)50ms,R3寄存器確定循環(huán)10次,從而獲取0.5S的延時(shí)時(shí)間。 一道有車而另一道無(wú)車的中斷服務(wù)程序首先要保護(hù)現(xiàn)場(chǎng),因而需用到延時(shí)子程序和P1口,故需保護(hù)的寄存器有R3、P1、TH1和TL1。保護(hù)現(xiàn)場(chǎng)時(shí)還需關(guān)中斷,以防止高優(yōu)先級(jí)中斷(緊急車輛通過(guò)所產(chǎn)生的中斷)出現(xiàn)時(shí)導(dǎo)致程序混亂即關(guān)中斷,恢復(fù)現(xiàn)場(chǎng),再開中斷,返回主程序。 緊急車輛出現(xiàn)是的中斷服務(wù)程序也需要保護(hù)現(xiàn)場(chǎng),但無(wú)需關(guān)中斷(因其為高優(yōu)
12、先級(jí)中斷),然后執(zhí)行相應(yīng)的服務(wù),待交通燈信號(hào)出現(xiàn)后延時(shí)20S,確保緊急車輛通過(guò)交叉路口。然后,恢復(fù)現(xiàn)場(chǎng),返回主程序。五 調(diào)試 根據(jù)方案設(shè)計(jì)的要求,調(diào)試過(guò)程共分二大部分:硬件調(diào)試、軟件調(diào)試。 1. 硬件調(diào)試: 交通燈演示電路的調(diào)試:交通燈模塊由多個(gè)發(fā)光二極管組成,接線繁瑣,極易出錯(cuò)。檢查二極管無(wú)故障、導(dǎo)線無(wú)斷線、連線接頭無(wú)互相搭聯(lián)后可先寫一個(gè)軟件調(diào)試程序,依次檢查東南西北方向的指示燈(發(fā)光二極管)是否點(diǎn)亮;若未點(diǎn)亮,則可能是連線接錯(cuò)。根據(jù)燈的亮滅情況依次查找直到電路正常工作為止。 倒計(jì)時(shí)電路調(diào)試:倒計(jì)時(shí)電路主要有數(shù)碼管組成。當(dāng)交通燈的程序?qū)懞煤?,倒?jì)時(shí)的顯示可與最小系統(tǒng)板上兩組數(shù)碼管的顯示比較(
13、系統(tǒng)板上的這兩組數(shù)碼管用以檢查倒計(jì)時(shí)工作情況)。若倒計(jì)時(shí)電路中有數(shù)碼管不亮,檢查數(shù)碼管是否良好、數(shù)碼管連線是否良好。依次檢查,直至倒計(jì)時(shí)電路正常工作。 (3)其它電路的調(diào)試主要看接口以及連線是否正確。依次檢查,直到正常工作。2. 軟件調(diào)試 本系統(tǒng)的軟件系統(tǒng)很大,全部采用匯編語(yǔ)言編寫,除語(yǔ)法與邏輯差錯(cuò)外,當(dāng)確認(rèn)程序沒(méi)問(wèn)題時(shí),直接下載到單片機(jī)仿真調(diào)試。采取自下到上的方法,單獨(dú)調(diào)好每一個(gè)模塊,最后完成一個(gè)完整的系統(tǒng)調(diào)試。 按緊急預(yù)案鍵后,先出現(xiàn)全紅狀態(tài),再按一下該鍵,又出現(xiàn)一方通行狀態(tài),再按,則另一方通行。如此循環(huán)。 按手動(dòng)控制鍵后,進(jìn)行手動(dòng)控制,每按一次,燈會(huì)轉(zhuǎn)到下一個(gè)狀態(tài)。 按恢復(fù)鍵對(duì)上兩者進(jìn)行
14、恢復(fù)到正常狀態(tài)。六 系統(tǒng)可改進(jìn)的地方1. 系統(tǒng)可加裝熱能探測(cè)器,探測(cè)出車輛內(nèi)燃機(jī)運(yùn)轉(zhuǎn)輻射出的熱量,從而能使單片機(jī)判斷出哪條道有車,哪條道無(wú)車,能對(duì)路面交通狀況作出迅速反應(yīng),從而提高交通效率;2. 系統(tǒng)應(yīng)裝置紅外線接收器,相應(yīng)地,緊急車輛(如消防車、救護(hù)車等)上應(yīng)當(dāng)裝置紅外線放射器。這樣,在離交通信號(hào)燈遠(yuǎn)處,緊急車輛就可以開紅外線放射器使交通信號(hào)燈全部顯示紅燈,避免因交通問(wèn)題導(dǎo)致不必要的人命傷亡和金錢損失;3.系統(tǒng)可裝置一點(diǎn)陣式LED中文顯示屏,用以顯示溫度、天氣情況、空氣指數(shù)等,方便司機(jī)對(duì)外界情況的了解。多加了這些功能后,無(wú)疑會(huì)使成本增加,但是這樣確實(shí)可以提高交通效率,疏通
15、交通堵塞和避免不必要的損失。七 結(jié)束語(yǔ)集成電路(IC)作為當(dāng)今信息時(shí)代的核心技術(shù)產(chǎn)品,在國(guó)民經(jīng)濟(jì)國(guó)防建設(shè)及人們?nèi)粘I钪械闹匾砸巡谎远?。?shù)字IC在IT產(chǎn)業(yè)及數(shù)字產(chǎn)品的開發(fā)與生產(chǎn)中所處的地位尤為重要。由于大規(guī)模集成電路的飛速發(fā)展,計(jì)算機(jī)微型化加快,單片機(jī)在智能產(chǎn)品、智能儀表、測(cè)控系統(tǒng)、數(shù)控型控制機(jī)、智能接口得到了日新月異的發(fā)展。現(xiàn)在,我國(guó)已經(jīng)成功申辦2008年奧運(yùn)會(huì)和2010年亞運(yùn)會(huì),屆時(shí),各國(guó)人士歡聚在中國(guó),必定會(huì)給我國(guó)交通帶來(lái)一定的壓力。如果我國(guó)交通管理好了,不但給各國(guó)旅客留下美好的回憶,而且間接提高了中國(guó)的國(guó)際競(jìng)爭(zhēng)力,提高我國(guó)的國(guó)際地位。最后,對(duì)歐陽(yáng)老師的細(xì)心指導(dǎo)表示忠心的感謝。參考書
16、目 單片機(jī)&DSP外圍數(shù)字IC技術(shù)手冊(cè) 李朝青 北京:北京航空航天大學(xué)出版社,2003PROTEL 99 SE 印刷電路板設(shè)計(jì)教程 肖玲妮 北京:清華大學(xué)出版社,2005電子系統(tǒng)設(shè)計(jì)與實(shí)踐 楊剛、周群 北京:電子工業(yè)出版社,2002電子系統(tǒng)設(shè)計(jì) 何小艇 浙江:浙江大學(xué)出版社,20038051單片機(jī)實(shí)踐與應(yīng)用 吳金戍、沈慶陽(yáng) 北京:清華大學(xué)出版社,2002Abstracts: This system is made up of single-chip microcomputer, keyboard, LCD displaying module and Traffic lights sys
17、tem .The system includes pavement, left turning, right turning, and the basic traffic lights function. Excepting the basic traffic lights function, it also includes counting time installing, information displaying, adjusting the lighting time of lights based on different time and controlling with ha
18、nd in accordance with circumstances and so on. Keyword: Single-chip microcomputer intelligent control Traffic lights程序:;/;(1)系統(tǒng)狀態(tài)號(hào)定義;0號(hào)主通道綠燈,次通道紅燈;1號(hào)主通道黃燈,次通道紅燈;2號(hào)主通道紅燈,次通道綠燈;3號(hào)主通道紅燈,次通道黃燈; ;p1.0 p1.1 p1.2 p1.3 鍵盤的行;P1.4 P1.5 P1.6 P1.7 鍵盤的列;P2口數(shù)碼管的數(shù)據(jù)口;p0口交通燈;/;控制引腳定義 LED7_R EQU LED7_G EQU LED8_R EQU
19、 LED8_G EQU LED9_R EQU LED9_G EQU LED10_R EQU LED10_G EQU ;位內(nèi)存單元定義 B_T0 EQU 00H ;20MS標(biāo)志位 B_DOWN_KEY EQU 01H ;按鍵標(biāo)志位 B_RESPONSE EQU 02H ;按鍵響應(yīng)標(biāo)志位 B_SET EQU 03H ;設(shè)置鍵的標(biāo)志位 B_SET_SW EQU 04H ;設(shè)置主次通道數(shù)碼管十位,個(gè)位標(biāo)志位 B_SET_GW EQU 05H B_SET_SW1 EQU 06H B_SET_GW1 EQU 07H B_FLASH EQU 08H ;燈閃爍標(biāo)志位 B_UP_KEY EQU 09H ;字節(jié)內(nèi)
20、存單元定義 C_500MS EQU 31H ;500MS計(jì)數(shù)次數(shù)單元 C_COUNT_1S EQU 32H ;1S計(jì)數(shù)次數(shù)單元 C_SYS_STA EQU 33H ;系統(tǒng)狀態(tài)值 C_BUF_TH0 EQU 34H ;存定時(shí)器的初值 C_BUF_TL0 EQU 35H SET_SW EQU 36H ;設(shè)置主通道通行十位值 SET_GW EQU 37H ;設(shè)置主通道通行個(gè)位值 SET_SW1 EQU 38H ;設(shè)置次通道通行十位值 SET_GW1 EQU 39H ;設(shè)置次通道通行個(gè)位值 C_BUF_SW EQU 3AH ;交通燈的運(yùn)行時(shí)主通道十位值 C_BUF_GW EQU 3BH ;交通燈的運(yùn)行
21、時(shí)主通道個(gè)位值 C_BUF_SW1 EQU 3CH ;交通燈的運(yùn)行時(shí)次通道十位值 C_BUF_GW1 EQU 3DH ;交通燈的運(yùn)行時(shí)次通道個(gè)位值 C_TEMP_KEY EQU 3EH ;暫存值 C_BUF_KEY EQU 3FH C_KEY EQU 40H ;讀出鍵碼值 C_BUF_DISP EQU 41H ;鍵顯示值 C_BUF_FLASH EQU 42H ;存閃爍單元值 TEMP_SW EQU 43H ;暫存數(shù)碼管值 TEMP_GW EQU 44H TEMP_SW1 EQU 45H TEMP_GW1 EQU 46H ZANCUN EQU 47H AK EQU 48H RK EQU 49H
22、 ;/ ;主程序部分 ORG 0000H AJMP MAIN ORG 000BH LJMP T0_SER ORG 0030HMAIN: MOV SP, #60H MOV TMOD,#01H ;設(shè)置T1為工作方式1參數(shù) MOV DPTR, #65535-19992 ;設(shè)置計(jì)數(shù)初值 MOV TH0, DPH MOV TL0, DPL MOV C_BUF_TH0,DPH ;計(jì)數(shù)初值存儲(chǔ) MOV C_BUF_TL0, DPL MOV C_COUNT_1S, #2 MOV C_500MS, #25 MOV C_SYS_STA, #0 ;系統(tǒng)初始狀態(tài)為0 MOV C_BUF_FLASH, #0 ;初始化閃
23、爍的值為0 MOV SET_SW, #1 ;設(shè)置主通道通行時(shí)間 MOV SET_GW, #0 MOV SET_SW1, #0 ;設(shè)置次通道通行時(shí)間為40s MOV SET_GW1, #5 MOV C_BUF_SW, #1 ;根據(jù)初始設(shè)置值,主通道初始狀態(tài)綠燈時(shí)間為40s MOV C_BUF_GW, #0 MOV C_BUF_SW1, #1 ;次通道的紅燈時(shí)間為43s MOV C_BUF_GW1, #3 CLR B_T0 ;初始化標(biāo)志位 CLR B_SET_SW CLR B_SET_GW CLR B_SET_SW1 CLR B_SET_GW1 CLR B_FLASH CLR B_UP_KEY M
24、OV P0, #66H ;初始狀態(tài)主通道為綠,次通道為紅 SETB TR0 ;啟動(dòng)定時(shí),中斷 SETB ET0 SETB EA MAIN_LOOP: JNB B_T0,MAIN_LOOP ;等待中斷的到來(lái) CLR B_T0 LCALL DISP ;調(diào)用數(shù)碼管的顯示程序 LCALL COUNT_DISPLAY ;調(diào)用500ms計(jì)數(shù)和顯示控制子程序 LCALL TEST_KEY ;調(diào)用按鍵測(cè)試 JNB B_DOWN_KEY,NOT_KEY_DOWN ;判斷是否有鍵按下 LCALL READ_KEY ;調(diào)用讀鍵子程序 LCALL ANJIANCHULI ;確定了鍵,接著調(diào)用按鍵值置相應(yīng)的狀態(tài)NOT_
25、KEY_DOWN: LJMP MAIN_LOOP ;主程序返回 RET;/;顯示數(shù)碼管子程序DISP: PUSH DPH PUSH DPL MOV DPTR, #TAB ;主通道十位顯示 MOV A, C_BUF_SW MOVC A, A+DPTR MOV P2,A ;主通道十位送到P2口 MOV P3, #8H LCALL DELAY1MS ;延時(shí)1ms MOV P3,#0FFH ;關(guān)掉數(shù)碼管 MOV DPTR,#TAB ;主通道個(gè)位顯示 MOV A, C_BUF_GW MOVC A,A+DPTR MOV P2, A MOV P3, #10H LCALL DELAY1MS MOV P3, 0
26、FFH MOV DPTR,#TAB ;次通道十位顯示 MOV A, C_BUF_SW1 MOVC A,A+DPTR MOV P2, A MOV P3, #20H LCALL DELAY1MS ;延時(shí)1ms MOV P3,#0FFH ;關(guān)掉數(shù)碼管 MOV DPTR,#TAB ;次通道個(gè)位顯示 MOV A, C_BUF_GW1 MOVC A,A+DPTR MOV P2, A MOV P3, #28H LCALL DELAY1MS MOV P3, #0FFH POP DPL POP DPH RET;1ms延時(shí)程序DELAY1MS: MOV R3, #5 LOOP_D1: MOV R0, #98LOO
27、P_D2: DJNZ R0, LOOP_D2 DJNZ R3, LOOP_D1 RET ;/;時(shí)間顯示處理COUNT_DISPLAY: DJNZ C_500MS,OUT ;等待500MS,500MS后實(shí)行下一步 MOV A,C_BUF_FLASH ;500MS的計(jì)時(shí),閃爍時(shí)用,把付給A CJNE A,#0,MAIN_FLASH ;如果按鍵為真,調(diào)用閃爍程序 MOV C_500MS,#25 ;重賦初值 DJNZ C_COUNT_1S,OUT ;1s計(jì)數(shù)時(shí)間,進(jìn)行倒計(jì)時(shí)處理 MOV C_COUNT_1S,#2 ;重賦初值 LJMP LOOP1 ;進(jìn)行倒計(jì)時(shí)控制 MAIN_FLASH: LCALL
28、FLASH ; 500MS時(shí)間來(lái) DJNZ C_COUNT_1S, OUT CLR B_RESPONSE ;清按鍵標(biāo)志位 MOV C_COUNT_1S, #2OUT: RET ;子程序返回 LOOP1: MOV A,C_BUF_GW ;主個(gè)位賦值到A JZ ZHU_SW ;主個(gè)位為0,跳轉(zhuǎn)到主十位判斷 DEC A ;不為0,主通道個(gè)位自減1 MOV C_BUF_GW, A LOOP2: MOV A,C_BUF_GW1 ;次個(gè)位賦值到A JZ CI_SW ;次個(gè)位為0,跳轉(zhuǎn)到次十位判斷 DEC A ;次通道個(gè)位自減1 MOV C_BUF_GW1,A ;次通道個(gè)位顯示值 LJMP COUNT_DI
29、SPLAY ZHU_SW: ;主十位值處理 MOV A,C_BUF_SW ;主十位賦值到A JZ LOOP_SW ;主十位為0,進(jìn)行狀態(tài)轉(zhuǎn)換 DEC A ;主通道十位自減1 MOV C_BUF_SW,A ;主通道十位顯示值 MOV C_BUF_GW,#9 ;主通道十位不為0時(shí),個(gè)位賦值為9 LJMP LOOP2 ;主通道十位處理后,繼續(xù)次通道個(gè)位判斷 CI_SW: ;次通道十位值處理 MOV A,C_BUF_SW1 ;次通道十位賦值給A JZ LOOP_SW ;次通道值為0,狀態(tài)進(jìn)行轉(zhuǎn)換 DEC A ;次通道不為0,自減1 MOV C_BUF_SW1,A ;次通道十位的顯示值 MOV C_BU
30、F_GW1,#9 ;次通道十位不為0,個(gè)位賦值為9 LJMP COUNT_DISPLAY LOOP_SW: MOV DPTR,#SYS_STA ;轉(zhuǎn)移指令表首地址 MOV A, C_SYS_STA ADD A, C_SYS_STA JMP A+DPTRSYS_STA: ;根據(jù)狀態(tài)值進(jìn)行散轉(zhuǎn) AJMP STA0 ;主黃,次紅, AJMP STA1 ;主紅,次綠 AJMP STA2 ;主紅,次黃 AJMP STA3 ;主綠,次紅 ;/;四種狀態(tài) STA0: MOV C_SYS_STA, #1 MOV C_COUNT_1S,#2 ;主黃,次紅 MOV C_BUF_SW,#0 ;黃燈的時(shí)間為3s MO
31、V C_BUF_GW,#3 ;主黃燈3s MOV C_BUF_SW1, #0 MOV C_BUF_GW1,#3 ;相應(yīng)次紅燈3s MOV P0, #77H LJMP OUTSTA1: MOV C_SYS_STA,#2 ;主紅,次綠,紅比綠多三秒 MOV C_COUNT_1S, #2 MOV C_BUF_SW1, S ET_SW1 MOV C_BUF_GW1,SET_GW1 ;根據(jù)次通道通行時(shí)間計(jì)算出相應(yīng)的主通道 MOV A,C_BUF_SW1 ;紅燈時(shí)間 MOV B, #10 MUL AB ;十位乘10 ADD A, SET_GW1 ADD A, #3 MOV B,#10 ;時(shí)間計(jì)算 DIV
32、AB MOV C_BUF_SW,A ;把A除B的商給主十位 MOV C_BUF_GW,B ;把A除B的余數(shù)給主個(gè)位 MOV P0, #99H LJMP OUTSTA2: MOV C_SYS_STA,#3; ;主紅,次黃 MOV C_COUNT_1S, #2 MOV C_BUF_SW, #0 ;黃燈時(shí)間為3s MOV C_BUF_GW, #3 MOV C_BUF_SW1, #0 MOV C_BUF_GW1, #3 MOV P0, #0DDH LJMP OUTSTA3: MOV C_SYS_STA, #0 ;主綠,次紅,紅比綠多三秒 MOV C_COUNT_1S, #2 MOV C_BUF_SW,
33、 SET_SW MOV C_BUF_GW, SET_GW MOV A, C_BUF_SW ;根據(jù)主通道的綠燈時(shí)間, MOV B, #10 ;計(jì)算出相應(yīng)的紅燈時(shí)間 MUL AB ADD A, SET_GW ADD A, #3 MOV B, #10 DIV AB MOV C_BUF_SW1, A MOV C_BUF_GW1, B MOV P0, 66H LJMP OUT ;/ ;按鍵測(cè)試子程序 TEST_KEY: CLR B_UP_KEY SETB B_DOWN_KEY ;假設(shè)有鍵按下 MOV P1, 0F0H NOP NOP MOV A, P1 ORL A, #0FH MOV C_TEMP_KE
34、Y, A CJNE A,#0FFH,OUT_TEST_KEY ;A不等于0FFH表 有鍵按下跳到OUT_TEST_KEY CLR B_DOWN_KEY ;無(wú)鍵按下OUT_TEST_KEY: RET ;按鍵測(cè)試子程序返回;/ ;按鍵值讀取子程序READ_KEY: MOV R6, #0EFH ;逐列掃描 MOV R5, #00H LZERO: MOV A, R6 MOV P1, A NOP NOP MOV A, P1 JB ACC.0, LONE MOV A, #00H AJMP FINAL LONE: JB ACC.1, LTWO MOV A, #04H AJMP FINAL LTWO: JB
35、ACC.2, LTH MOV A, #08H AJMP FINAL LTH: JB ACC.3, NEXT MOV A, #0CH FINAL: ADD A, R5 MOV C_KEY, A LCALL DELAY1S LCALL DELAY1S MOV ZANCUN, C_KEY KND: SJMP SMEND NEXT: MOV A, R6 INC R5 JNB ACC.7,KND ;掃描到最后一列 RL A MOV R6, A AJMP LZERO SMEND: CLR B_UP_KEY RET ;/ ;按鍵處理子程序 ANJIANCHULI: MOV A, ZANCUN CJNE A,#15,KEY_IN ;不等于就轉(zhuǎn)移 AJMP OUT_ANJIANCHULIKEY_IN: MOV C_BUF_DISP, ZANCUN MOV A, C_BUF_FLASH CJNE A
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 中介托管維修合同范例
- 合伙開美容院合同范例
- 產(chǎn)權(quán)收購(gòu)合同范本
- 馬路車位租賃合同范本
- 參展補(bǔ)貼合同范本
- 合同范本能當(dāng)正式合同
- 公路隧道定期檢測(cè)合同范本
- 含附件合同范本
- 內(nèi)貿(mào)合同范本
- 乙房免責(zé)合同范本
- 機(jī)械制造工藝與裝備 習(xí)題及答案 葉文華 ch01 -ch09
- 征信培訓(xùn)課件
- 遼寧省營(yíng)口市2024-2025學(xué)年七年級(jí)上學(xué)期期中語(yǔ)文試題
- 《畫垂線和平行線》(教案)2023-2024學(xué)年數(shù)學(xué)四年級(jí)上冊(cè)
- GB/T 44770-2024智能火電廠技術(shù)要求
- 經(jīng)典女士剪發(fā)技術(shù)圖解教程
- 腫瘤病人的姑息治療和護(hù)理
- 盆底康復(fù)治療新進(jìn)展
- 2024-2030年中國(guó)生命科學(xué)產(chǎn)業(yè)發(fā)展規(guī)劃及投資策略分析報(bào)告
- 醫(yī)療器械監(jiān)督管理?xiàng)l例培訓(xùn)2024
- 認(rèn)真對(duì)待培訓(xùn)課件
評(píng)論
0/150
提交評(píng)論