版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、機(jī)電一體化強(qiáng)化訓(xùn)練機(jī)電一體化強(qiáng)化訓(xùn)練 單片機(jī)系統(tǒng)設(shè)計(jì)說(shuō)明書單片機(jī)系統(tǒng)設(shè)計(jì)說(shuō)明書 交通燈控制設(shè)計(jì) 院(系)院(系) 機(jī)電系 專專 業(yè)業(yè) 機(jī)械電子工程 班班 級(jí)級(jí) 學(xué)生姓名學(xué)生姓名 指導(dǎo)老師指導(dǎo)老師 2012 年 6 月 14 日 單 片 機(jī) 系 統(tǒng) 設(shè) 計(jì) 任 務(wù) 書 茲發(fā)給 學(xué)生 課程設(shè)計(jì)任務(wù)書,內(nèi)容如下: 1設(shè)計(jì)題目:交通燈控制設(shè)計(jì) 2應(yīng)完成的項(xiàng)目: (1)在 led 數(shù)碼管上顯示倒計(jì)時(shí)秒的時(shí)間。 (2)通過(guò) led 模擬信號(hào)燈,信號(hào)燈分東西、南北兩組,分別有“綠”、 “黃”、 “紅”三種顏色。在 44 行列式鍵盤設(shè)置四個(gè)功能鍵, “啟動(dòng)”、 “停止”按鈕分別控 制信號(hào)的啟動(dòng)和停止。 “白天
2、”、 “黑夜”按鈕控制信號(hào)燈白天和黑夜工作狀態(tài)的轉(zhuǎn) 換,白天按時(shí)序圖工作,黑夜只有黃燈閃爍。 (3)完成系統(tǒng)硬件電路設(shè)計(jì)和系統(tǒng)軟件設(shè)計(jì)。 3參考資料以及說(shuō)明: (1) 單片機(jī)原理及應(yīng)用教程第二版 機(jī)械工業(yè)出版社 (2) 單片機(jī)課程設(shè)計(jì)指導(dǎo)書 北京理工大學(xué)出版社 (3) 單片機(jī)課程設(shè)計(jì)指導(dǎo) 北京航空航天大學(xué)出版社 4本設(shè)計(jì)任務(wù)書于 20 年 月 日發(fā)出,應(yīng)于 20 年 月 日前完成,然后進(jìn)行答辯。 專業(yè)教研室、研究所負(fù)責(zé)人 審核 年 月 日 指導(dǎo)教師 簽發(fā) 年 月 日 課程設(shè)計(jì)評(píng)語(yǔ): 課程設(shè)計(jì)總評(píng)成績(jī): 課程設(shè)計(jì)答辯負(fù)責(zé)人簽字: 年 月 日 摘摘 要要 本系統(tǒng)能夠真實(shí)模擬雙干線交通信號(hào)的管理。交
3、通信號(hào)燈的控制電路中的核心是 80c51 單片機(jī)。系統(tǒng)設(shè)置兩組紅、黃、綠燈,并配置兩個(gè)三位 led 數(shù)碼管分別顯示東 西、南北方向的時(shí)間,led 數(shù)碼管使用動(dòng)態(tài)顯示方式顯示倒計(jì)時(shí)間。 硬件上由 mcs51 系列單片機(jī)、44 行列式鍵盤、兩個(gè) 2 位 led 管、74ls573 芯片、 排阻和若干電阻組成。led 顯示器通過(guò) p0 和 p2 口以共陰極接法連接,p0 口作字形口, 輸出段碼;p2 口作字位口,輸出位碼。p1 口接 44 行列式鍵盤。p3 口外接 12 個(gè)發(fā)光 二極管模擬交通指示燈,采用共陽(yáng)極接法,相應(yīng)口線輸出高電平則“信號(hào)燈”滅,相應(yīng) 口線輸出低電平則“信號(hào)燈”亮。單片機(jī)通過(guò) x
4、tal1 和 xtal2 引腳外接 12mhz 晶振。 軟件設(shè)計(jì)分為以下幾個(gè)模塊: (1) 鍵盤管理程序(包括鍵掃描、鍵處理程序) (2) led 數(shù)碼管顯示程序 (3) 控制交通燈程序 通過(guò)動(dòng)態(tài)掃描法對(duì)鍵盤按鍵進(jìn)行識(shí)別,當(dāng)有功能鍵按下時(shí)執(zhí)行相應(yīng)的子程序。按 鍵抖動(dòng)會(huì)引起按鍵命令的錯(cuò)誤執(zhí)行或重復(fù)執(zhí)行,為確保對(duì)鍵的一次閉合僅處理一次, 采用軟件延時(shí)的辦法避開(kāi)抖動(dòng)階段,即檢測(cè)到鍵閉合后延時(shí) 5ms,只有再次檢測(cè)到按 鍵閉合才轉(zhuǎn)入該鍵的處理程序。 系統(tǒng)使用 t0、t1 的模式 1 實(shí)現(xiàn) 10ms 定時(shí),t0 用于白天模式,t1 用于黑夜模式。 在定時(shí)器中斷程序里,先進(jìn)行按鍵掃描,有鍵按下則轉(zhuǎn)入相應(yīng)子
5、程序,無(wú)鍵按下時(shí)調(diào) 用數(shù)碼管顯示子程序,并改變相應(yīng)寄存器數(shù)值,定時(shí) 1s 時(shí),令數(shù)碼管顯示時(shí)間減一, 實(shí)現(xiàn)定時(shí)計(jì)數(shù)功能。 關(guān)鍵詞關(guān)鍵詞:交通信號(hào)燈控制,行列式鍵盤掃描,led 數(shù)碼管動(dòng)態(tài)顯示,按鍵抖動(dòng) 目目 錄錄 摘摘 要要.0 第一章第一章 緒論緒論.1 1.1 交通燈控制概述.1 1.2 主要研究工作.1 第二章第二章 基礎(chǔ)知識(shí)介紹基礎(chǔ)知識(shí)介紹.2 2.1 主控制器 at89c52.2 2.2 led 數(shù)碼管模塊.3 2.3 鍵盤模塊.4 2.4 74ls343.5 第三章第三章 系統(tǒng)硬件電路設(shè)計(jì)系統(tǒng)硬件電路設(shè)計(jì).7 3.1 主控制系統(tǒng)電路.8 3.2 信號(hào)燈顯示電路.10 3.3 數(shù)碼管
6、時(shí)間顯示電路.11 3.4 矩陣式鍵盤電路.12 第四章第四章 系統(tǒng)軟件設(shè)計(jì)系統(tǒng)軟件設(shè)計(jì).14 第五章第五章 proteus 仿真仿真.24 5.1 proteus 簡(jiǎn)介.24 5.2 仿真過(guò)程.24 第六章第六章 單片機(jī)系統(tǒng)設(shè)計(jì)結(jié)束語(yǔ)單片機(jī)系統(tǒng)設(shè)計(jì)結(jié)束語(yǔ).28 參考文獻(xiàn)參考文獻(xiàn).31 第一章第一章 緒論緒論 1.1 交通燈控制概述交通燈控制概述 單片機(jī)的基本結(jié)構(gòu)是將微型計(jì)算機(jī)的基本功能部件全部集成在一個(gè)半導(dǎo)體芯片上。 單片機(jī)結(jié)構(gòu)上的設(shè)計(jì),在硬件、指令系統(tǒng)及 i/o 能力等方面都有獨(dú)到之處,具有較強(qiáng) 而有效的控制功能。另一方面,單片機(jī)畢竟是一個(gè)芯片,只有外加所需的輸入、輸出 設(shè)備,才可以構(gòu)成實(shí)
7、用的單片機(jī)應(yīng)用系統(tǒng)1。 單片機(jī)由于體積小、功耗低、價(jià)格低廉,且具有邏輯判斷、定時(shí)計(jì)數(shù)、程序控制 等多種功能,廣泛應(yīng)用于智能儀表、可編程序控制器、家用電器、醫(yī)用設(shè)備、航空航 天、專用設(shè)備的智能化管理及過(guò)程控制等領(lǐng)域2。 本課程設(shè)計(jì)交通燈控制系統(tǒng)采用單片機(jī)作為主控制器,外接必要的設(shè)備,模擬十 字路口的車輛及行人的交通管理,有東西、南北方向的交通指示燈及用于倒計(jì)時(shí)的數(shù) 碼管,整個(gè)系統(tǒng)簡(jiǎn)單,價(jià)格低廉,并能真實(shí)模擬現(xiàn)實(shí)情況。 1.2 主要研究工作主要研究工作 1 完成系統(tǒng)硬件電路設(shè)計(jì) (1) 單片機(jī)采用 mcs51 系列 (2) 鍵盤為 44 行列式鍵盤,按鍵設(shè)有啟動(dòng)、停止、白天、黑夜功能鍵。 (3)
8、兩個(gè) 2 位的 led 數(shù)碼管,南北方向和東西方向個(gè)一個(gè),用來(lái)顯示時(shí)間。 2. 完成系統(tǒng)軟件設(shè)計(jì) (1) 鍵盤管理程序(包括鍵掃描、鍵處理程序)。 (2) led 數(shù)碼管顯示程序。 (3) 控制交通燈程序 3. 實(shí)現(xiàn)系統(tǒng)要求的功能: (1) 在 led 數(shù)碼管上顯示倒計(jì)時(shí)秒的時(shí)間。 (2) 采用 led 模擬信號(hào)燈,信號(hào)燈分東西、南北二組,分別有“紅”“黃”“綠”三種顏 色。其工作狀態(tài)由單片機(jī)程序控制, “啟動(dòng)”、 “停止”按鈕分別控制信號(hào)燈的啟動(dòng) 和停止。 “白天/黑夜”開(kāi)關(guān)控制信號(hào)燈白天/黑夜轉(zhuǎn)換。按下“啟動(dòng)”按鈕開(kāi)始工作, 按下“停止”按鈕停止工作, “白天/黑夜”開(kāi)關(guān)按下閉合時(shí)為黑夜工
9、作狀態(tài),這時(shí) 只有黃燈閃爍,斷開(kāi)時(shí)按時(shí)序控制圖工作。 第二章第二章 基礎(chǔ)知識(shí)介紹基礎(chǔ)知識(shí)介紹 2.1 主控制器主控制器 at89c52 主控制器采用 mcs51 系列單片機(jī) at89c52,at89c52 是一個(gè)低電壓,高性能 cmos 8 位單片機(jī),片內(nèi)含 8k bytes 的可反復(fù)擦寫的 flash 只讀程序存儲(chǔ)器和 256 bytes 的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(ram) ,器件采用 atmel 公司的高密度、非易失性存儲(chǔ)技術(shù) 生產(chǎn),兼容標(biāo)準(zhǔn) mcs-51 指令系統(tǒng),片內(nèi)置通用 8 位中央處理器和 flash 存儲(chǔ)單元3。 mcs51 單片機(jī)的內(nèi)部基本結(jié)構(gòu)框圖如圖 2-1 所示,由以下部分組成
10、4: (1) 一個(gè) 8 位的微處理器(cpu) 。 (2) 片內(nèi)數(shù)據(jù)存儲(chǔ)器 ram(128b) ,用以存放可以讀寫的數(shù)據(jù),如運(yùn)算的中間 結(jié)果、最終結(jié)果以及狀態(tài)標(biāo)志位等。 (3) 片內(nèi)程序存儲(chǔ)器 rom(4kb) ,用以存放已編制好的程序及程序中用到的 常數(shù)。 (4) 四個(gè) 8 位并行 io 接口 p0p3,每個(gè)口既可以用作輸入,也可以用作輸 出使用。 (5) 兩個(gè)定時(shí)器計(jì)數(shù)器,每個(gè)定時(shí)器計(jì)數(shù)器都可以設(shè)置成計(jì)數(shù)方式,用以 對(duì)外部事件進(jìn)行計(jì)數(shù),也可以設(shè)置成定時(shí)方式,并可以根據(jù)計(jì)數(shù)或定時(shí)的結(jié)果實(shí)現(xiàn)計(jì) 算機(jī)控制。 (6) 五個(gè)中斷源的中斷控制系統(tǒng),提供兩個(gè)中斷優(yōu)先級(jí),能實(shí)現(xiàn)兩級(jí)中斷嵌套。 (7) 一個(gè)
11、全雙工串行異步通信接口,用于實(shí)現(xiàn)單片機(jī)之間或單機(jī)與微機(jī)之間的 串行通信。 (8) 片內(nèi)振蕩器和時(shí)鐘產(chǎn)生電路,但需要外接石英晶體和微調(diào)電容,最高允許 振蕩頻率為 12mhz。 單片機(jī)內(nèi)部各功能部件通過(guò)內(nèi)部總線連接,傳送地址信息、數(shù)據(jù)信息和控制信息, 各功能部件分時(shí)使用總線,即所謂的內(nèi)部單總線結(jié)構(gòu)。 at89c52 與其他 mcs51 單片機(jī)的不同之處在于具有 8kb 可反復(fù)擦寫(大于 1000 次)flash rom 以及 3 個(gè) 16 位可編程定時(shí)/計(jì)數(shù)器中斷。可反復(fù)擦寫的 flash rom 使 得單片機(jī)能反復(fù)寫入程序,使用更加地方便。 2.2 led 數(shù)碼管模塊數(shù)碼管模塊 led 數(shù)碼管是
12、由若干個(gè)發(fā)光二級(jí)管組成顯示字段的顯示器件,有七段和“米”字 段之分。led 數(shù)碼管有共陰極和共陽(yáng)極兩種,發(fā)光二極管的陽(yáng)極接在一起的稱為共陽(yáng) 極數(shù)碼管,陰極接在一起的稱為共陰極數(shù)碼管。一個(gè)數(shù)碼管由 8 個(gè)發(fā)光二極管組成, 其中,7 個(gè)發(fā)光二極管 ag 構(gòu)成字型“8”的各個(gè)筆劃,另一個(gè) dp 發(fā)光二極管為小數(shù)點(diǎn)。 當(dāng)某段發(fā)光二極管上施加一定的正向電壓時(shí),該段比劃就亮;不加電壓就暗。另外, 為了保護(hù)各段 led 不被損壞,應(yīng)該使其工作在安全電流下,故必須外加限流電阻。 圖 2-1 圖 2-2 在實(shí)際應(yīng)用中,led 數(shù)碼管有靜態(tài)顯示和動(dòng)態(tài)顯示兩種顯示方式。 靜態(tài)顯示方式,即七段 led 數(shù)碼管在顯示某
13、一個(gè)字符時(shí),相應(yīng)的段恒定的導(dǎo)通 或截止,直至換顯其他字符為止。 led 的靜態(tài)顯示雖然有編程容易、管理簡(jiǎn)單等優(yōu)點(diǎn),但是靜態(tài)顯示所要占的 i/o 口資源很多,所以在顯示的 led 點(diǎn)較多的情況下,一般都采用動(dòng)態(tài)顯示方式,即 在多位七段 led 顯示中,將所有位的段選線并聯(lián)在一起,由 8 個(gè) i/o 口來(lái)控制 8 個(gè) 段。而公共端(共陽(yáng)極/共陰極)則分別由相應(yīng)的 i/o 口控制,以實(shí)現(xiàn)各個(gè)位的分時(shí)選 通。 由于所有的段選線并聯(lián)到同一個(gè) i/o,由這個(gè) i/o 口來(lái)控制,因此,若是所有的 4 位 7 段 led 都選通的話,4 位 7 段 led 將會(huì)顯示相同的字符。要使各個(gè)位的 7 段 led 顯
14、示不同的字符,就必須采用動(dòng)態(tài)掃描方法來(lái)輪流點(diǎn)亮每一位 7 段 led,即 在每一瞬間只選通一位 7 段 led 進(jìn)行顯示單獨(dú)的字符。在此段點(diǎn)亮?xí)r間內(nèi),段選控 制 i/o 口輸出要顯示的相應(yīng)字符的段選碼,而位選控制 i/o 口則輸出位選信號(hào),向要 顯示的位送出選通電平(共陰極則送出低電平,共陽(yáng)極則送出高電平) ,使得該位顯示 相應(yīng)字符。這樣將四位 7 段 led 輪流去點(diǎn)亮,使得每位分時(shí)顯示該位應(yīng)顯示的字符。 由于人眼的視覺(jué)暫留時(shí)間為 0.1 秒,當(dāng)每位顯示的間隔未超過(guò) 33ms 時(shí),并在顯示時(shí) 保持直到下一位顯示,則由于人眼的視覺(jué)暫留效果眼睛看上去就像是 4 位 7 段 led 都在點(diǎn)亮。設(shè)計(jì)
15、時(shí),要注意每位顯示的間隔時(shí)間,由于一位 7 段 led 的熄滅時(shí)間不 能超過(guò) 100ms,也就是說(shuō)點(diǎn)亮其它位所用的時(shí)間不能超過(guò) 100ms,這樣當(dāng)有 n 位的 7 段 led 用來(lái)顯示時(shí),每一位間隔的時(shí)間 t 就必須符合下面的式子: t100ms/(n-1) 比如,現(xiàn)在使用 3 位,也就是 n3,則由式子可以算出 t50ms,就是每一位 的間隔時(shí)間不能超過(guò) 33ms。實(shí)際應(yīng)用中,時(shí)間可以設(shè)得短一些,比如 5ms5。 2.3 鍵盤模塊鍵盤模塊 在單片機(jī)應(yīng)用系統(tǒng)中,用戶要向計(jì)算機(jī)輸入數(shù)據(jù)和命令,這些任務(wù)主要由鍵盤來(lái) 完成。鍵盤由若干個(gè)按鍵按一定規(guī)則組合而成,根據(jù)按鍵的識(shí)別方法分類,可分為編 碼鍵盤
16、和非編碼鍵盤,在單片機(jī)系統(tǒng)中多用非編碼鍵盤。 鍵盤中的按鍵都是一個(gè)常開(kāi)開(kāi)關(guān)電路,是利用機(jī)械觸點(diǎn)來(lái)實(shí)現(xiàn)按鍵的閉合和釋放。 由于機(jī)械觸點(diǎn)的彈性作用,觸點(diǎn)在閉合和斷開(kāi)瞬間的電接觸情況不穩(wěn)定,造成了電壓 信號(hào)的抖動(dòng)現(xiàn)象。鍵的抖動(dòng)時(shí)間一般為 510ms。這種現(xiàn)象會(huì)引起單片機(jī)對(duì)于一次鍵操 作進(jìn)行多次處理,因此須設(shè)法消除鍵接通或斷時(shí)的抖動(dòng)現(xiàn)象。去抖動(dòng)的方法有硬件和 軟件兩種方法,本系統(tǒng)采用軟件延時(shí)的方法來(lái)避開(kāi)抖動(dòng)階段。 采用軟件去抖動(dòng)的方法是在單片機(jī)檢測(cè)到有鍵按下時(shí)執(zhí)行一個(gè) 510ms 的延時(shí)程 序后再次檢查該鍵電平是否仍保持閉合狀態(tài)如保持閉合狀態(tài),則確認(rèn)為有鍵按下, 否則按無(wú)鍵按下處理。當(dāng)檢測(cè)到按鍵釋放后
17、,也同樣要延時(shí) 510ms,等待后沿抖動(dòng) 消失后才能轉(zhuǎn)入該鍵的處理程序,只有這樣才能保證當(dāng)按鍵一次時(shí),cpu 僅做一次相 應(yīng)處理。 無(wú)論是編碼鍵盤還是非編碼鍵盤鍵盤都可分為獨(dú)立連接式和矩陣式兩類。獨(dú)立式 鍵盤是每一個(gè)鍵對(duì)應(yīng) i/o 口的一根口線,各鍵是相互獨(dú)立的。獨(dú)立式按鍵雖編程簡(jiǎn)單, 但占用 i/o 口資源較多,不適合在按鍵較多的場(chǎng)合應(yīng)用。矩陣式鍵盤按矩陣方式連接, 每條行線與列線的交叉處通過(guò)一個(gè)按鍵來(lái)連通,則只需 n 條行線和 m 條列線,即可組 成 nm 個(gè)鍵的鍵盤。 對(duì)于矩陣式的非編碼鍵盤,常用的按鍵識(shí)別方法有兩種:掃描法和線翻轉(zhuǎn)法,通 常采用掃描法。下面介紹一種“行掃描法”,行掃描法
18、又稱為逐行(或列)掃描查詢法, 是一種最常用的按鍵識(shí)別方法,過(guò)程如下: 1. 判斷鍵盤中有無(wú)鍵按下,將全部行線置低電平,然后檢測(cè)列線的狀態(tài)。只要有 一列的電平為低,則表示鍵盤中有鍵被按下,而且閉合的鍵位于低電平線與 4 根行線 相交叉的 4 個(gè)按鍵之中。若所有列線均為高電平,則鍵盤中無(wú)鍵按下。 2. 判斷閉合鍵所在的位置,在確認(rèn)有鍵按下后,即可進(jìn)入確定具體閉合鍵的過(guò)程。 其方法是:依次將行線置為低電平,即在置某根行線為低電平時(shí),其它線為高電平。 在確定某根行線位置為低電平后,再逐行檢測(cè)各列線的電平狀態(tài)。若某列為低,則該 列線與置為低電平的行線交叉處的按鍵就是閉合的按鍵6。 2.4 74ls34
19、3 74ls343 的原理:74ls343 的八個(gè)鎖存器都是透明的 d 型鎖存器,當(dāng)使能(g) 為高時(shí),q 輸出將隨數(shù)據(jù)(d)輸入而變。當(dāng)使能為低時(shí),輸出將鎖存在已建立的數(shù)據(jù) 電平上。輸出控制不影響鎖存器的內(nèi)部工作,即老數(shù)據(jù)可以保持,甚至當(dāng)輸出被關(guān)閉 時(shí),新的數(shù)據(jù)也可以置入。這種電路可以驅(qū)動(dòng)大電容或低阻抗負(fù)載,可以直接與系統(tǒng) 總線接口并驅(qū)動(dòng)總線,而不需要外接口。特別適用于緩沖寄存器,i/o 通道,雙向總 線驅(qū)動(dòng)器和工作寄存器7。 74ls343 的引腳功能表如下: 管腳號(hào)功能 d0-d7 數(shù)據(jù)輸入 le 鎖存使能輸入(高電平有效) oe 3 態(tài)輸出使能輸入(低電平有效) q0-q7 3 態(tài)鎖存
20、輸出 第三章第三章 系統(tǒng)硬件電路設(shè)計(jì)系統(tǒng)硬件電路設(shè)計(jì) 整套電路系統(tǒng)由主控制系統(tǒng)電路、信號(hào)燈顯示電路、數(shù)碼管時(shí)間顯示電路和矩陣 式鍵盤電路等組成。采用 led 動(dòng)態(tài)掃描的交通燈控制系統(tǒng)總電路原理圖(pcb)如下 所示: 圖 3-1 圖 3-2 3.1 主控制系統(tǒng)電路主控制系統(tǒng)電路 主控制器采用 mcs51 系列單片機(jī) at89c52,是一款性能穩(wěn)定的 8 位單片機(jī)。 at89c52 單片機(jī)內(nèi)部由 cpu、8kb 的 flash rom、256b 的 ram、4 個(gè) 8 位的 i/o 并 行端口、一個(gè)串行口、三個(gè) 16 位定時(shí)/計(jì)數(shù)器及中斷系統(tǒng)等組成。at89c52 外部需接 時(shí)鐘電路和復(fù)位電路,
21、單片機(jī)才能正常工作。此外,vcc 引腳需接電源,gnd 引腳需 接地,ea/vpp 引腳需接上拉電阻連接到電源。 3.1.1 時(shí)鐘電路時(shí)鐘電路 時(shí)鐘信號(hào)用來(lái)提供單片機(jī)片內(nèi)各種微操作的時(shí)間基準(zhǔn),時(shí)鐘信號(hào)通常用兩種電 路形式得到:內(nèi)部振蕩和外部振蕩。mcs-51 單片機(jī)內(nèi)部有一個(gè)用于構(gòu)成振蕩器的高增益 反向放大器,引腳 xtall 和 xtal2 分別是此放大電器的輸入端和輸出端,由于采用內(nèi) 部方式時(shí),電路簡(jiǎn)單,所得的時(shí)鐘信號(hào)比較穩(wěn)定,實(shí)際使用中常采用這種方式,如圖 3-1 所示。在其外接晶體振蕩器(簡(jiǎn)稱晶振)或陶瓷諧振器就構(gòu)成了內(nèi)部振蕩方式,片內(nèi) 高增益反向放大器與作為反饋元件的片外石英晶體或陶
22、瓷諧振器一起可構(gòu)成一個(gè)自激 振蕩器并產(chǎn)生振蕩時(shí)鐘脈沖8。圖 3-3 中,外接晶體以及電容 c2 和 c3 構(gòu)成并聯(lián)諧振 電路,它們起穩(wěn)定振蕩頻率、快速起振的作用,其值為 30pf 左右,晶振頻率約為 12mhz 。 圖 3-3 3.1.2 復(fù)位電路復(fù)位電路 為了初始化單片機(jī)內(nèi)部的某些特殊功能寄存器,必須利用復(fù)位電路,復(fù)位后可 使 cpu 及系統(tǒng)各部件處于確定的初始狀態(tài),并從初始狀態(tài)開(kāi)始正常工作。單片機(jī)的復(fù) 位是靠外電路來(lái)實(shí)現(xiàn)的,在正常運(yùn)行情況下,只要 rst 引腳上出現(xiàn)兩個(gè)機(jī)器周期時(shí)間 以上的高電平,即可引起系統(tǒng)復(fù)位,但如果 rst 引腳上持續(xù)為高電平,單片機(jī)就處于 循環(huán)復(fù)位狀態(tài)。復(fù)位后系統(tǒng)將
23、輸入/輸出(1/0)端口寄存器置為 ffh,堆棧指針 sp 置為 07h, sbuf 內(nèi)置為不定值,其余的寄存器全部清 0,內(nèi)部 ram 的狀態(tài)不受復(fù)位的影響, 在系統(tǒng)上電時(shí) ram 的內(nèi)容是不定的。復(fù)位操作有兩種情況,即上電復(fù)位和手動(dòng)(開(kāi)關(guān)) 復(fù)位。本系統(tǒng)采用上電復(fù)位方式9。圖 3-4 中 r1 和 cl 組成上電復(fù)位電路,其值 r 取 為 1k, c 取為 10pf。 3.2 信號(hào)燈顯示電路信號(hào)燈顯示電路 p3 口外接 6 個(gè)發(fā)光二極管模擬交通指示燈,采用共陽(yáng)極接法,相應(yīng)口線輸出高 電平則“信號(hào)燈”滅,相應(yīng)口線輸出低電平則“信號(hào)燈”亮。為了保護(hù)發(fā)光二極管不被損壞, 應(yīng)該使其工作在安全電流下
24、,故必須外加限流電阻,選用 1k 的電阻,如圖 3-5 所 圖 3-5 圖 3-4 3.3 數(shù)碼管時(shí)間顯示電路數(shù)碼管時(shí)間顯示電路 led 數(shù)碼管通過(guò) p0 和 p2 口以共陰極接法連接,如圖 3-6 所示,p0 作字形口, 輸出段碼,故兩個(gè)數(shù)碼管的段碼線對(duì)應(yīng)并聯(lián)在一起,由 p0 口控制數(shù)碼管的顯示。p2 口作字位口,輸出位碼。其中,p2.0p2.3 分別控制兩個(gè)數(shù)碼管的個(gè)、十位顯示,以實(shí) 現(xiàn)各位的分時(shí)選通。 p0 口是一個(gè) 8 位漏極開(kāi)路型雙向 i/o 口,在驅(qū)動(dòng) nmos 或其他拉電流負(fù)載時(shí), 需外接上拉電阻,才能使該位高電平輸出有效,故電路設(shè)計(jì)時(shí),p0 口需先接一個(gè)排阻, 才能再連接其他部
25、件。 p0 口經(jīng)排阻后,連接 74ls343 芯片,用于鎖存數(shù)碼管顯示數(shù)字的信息,再連接 到兩個(gè)三位共陰數(shù)碼管。使用鎖存器的原因是:在數(shù)碼管顯示時(shí),要維持一個(gè)數(shù)據(jù)的 顯示,往往要持續(xù)的快速的刷新。在人類能夠接受的刷新頻率之內(nèi),大概每三十毫秒 就要刷新一次。這就大大占用了處理器的處理時(shí)間,消耗了處理器的處理能力,還浪 費(fèi)了處理器的功耗。鎖存器的使用可以大大的緩解處理器在這方面的壓力。當(dāng)處理器 把數(shù)據(jù)傳輸?shù)芥i存器并將其鎖存后,鎖存器的輸出引腳便會(huì)一直保持?jǐn)?shù)據(jù)狀態(tài)直到下 一次鎖存新的數(shù)據(jù)為止。這樣在數(shù)碼管的顯示內(nèi)容不變之前,處理器的處理時(shí)間和 io 引腳便可以釋放。可以看出,處理器處理的時(shí)間僅限于顯
26、示內(nèi)容發(fā)生變化的時(shí)候,這 在整個(gè)顯示時(shí)間上只是非常少的一個(gè)部分。而處理器在處理完后可以有更多的時(shí)間來(lái) 執(zhí)行其他的任務(wù)。這就是鎖存器在數(shù)碼管顯示方面的作用:節(jié)省了寶貴的 mcu 時(shí)間10。 圖 3-6 3.4 矩陣式鍵盤電路矩陣式鍵盤電路 80c51 單片機(jī)的并行口 p1 接 44 行列式鍵盤,其中 p1.0p1.3 接列線, p1.4p1.7 接行線。實(shí)際使用的功能鍵為:“/”為啟動(dòng)功能按鍵, “*”為停止功能按 鍵, “-”為白天功能按鍵, “+”為黑夜功能按鍵。開(kāi)機(jī)通電后,需按下“啟動(dòng)”鍵才 能進(jìn)入正常工作,默認(rèn)為白天工作模式,在此之后按下“停止”鍵,則數(shù)碼管和指示 燈均不再顯示,只有重新
27、按下“啟動(dòng)”鍵才能重新正常工作;按下“黑夜”鍵,則由 白天模式切換為黑夜模式,此時(shí)黃燈不停閃爍,再按下“白天”鍵,則切換到白天模 式。 圖 3-7 東 西 向 南 北 向 第四章第四章 系統(tǒng)軟件設(shè)計(jì)系統(tǒng)軟件設(shè)計(jì) 程序的設(shè)計(jì)說(shuō)明如下: 白天模式使用定時(shí)器 t0(同時(shí)關(guān)閉定時(shí)器 t1) ,選擇模式 1,定時(shí)時(shí)間為 10ms,計(jì)算可得初值為:tl0=#0f0h,th0=#0d8h。 黑夜模式使用定時(shí)器 t1(同時(shí)關(guān)閉定時(shí)器 t0) ,選擇模式 1,定時(shí)時(shí)間為 10ms,計(jì)算可得初值為:tl0=#0f0h,th0=#0d8h。 程序中使用的寄存器含義說(shuō)明:r3,用于南北方向計(jì)時(shí);r4,用于東西方向計(jì)
28、時(shí);r5,用于黃燈閃爍計(jì)時(shí) 1.2s;r6,用于計(jì)時(shí) 1s;r7,用于延遲程序。 系統(tǒng)的信號(hào)燈控制時(shí)序如下圖所示: 綠 1 黃 1 紅 1 綠 2 黃 2 紅 2 20s 6s 40s 6s 東西線、南北線的交通指示燈狀態(tài)及相應(yīng)的控制碼如下表所示: 南北線東西線控制碼 綠燈黃燈紅燈綠燈黃燈紅燈狀態(tài) 持續(xù)時(shí) 間/s p3.5p3.6p3.7p3.0p3.1p3.4 p3 120亮滅滅滅滅亮 11001111(#0cfh ) 26滅閃亮滅滅滅亮 10101111(#0afh ) 340滅滅亮亮滅滅01111110(#07eh) 46滅滅亮滅閃亮滅 01111101(#07dh ) 5(1 ) 20
29、亮滅滅滅滅亮 11001111(#0cfh ) 黑夜不定滅閃亮滅滅閃亮滅 10111101(#0bdh ) 本程序主要分為三個(gè)部分: 1、 主程序:交通信號(hào)燈的控制程序,默認(rèn)按白天模式運(yùn)行。 2、 led 數(shù)碼管顯示程序:采用動(dòng)態(tài)顯示模式,調(diào)用定時(shí)器 t0,每 10ms 動(dòng)態(tài)顯示一次; 3、 鍵盤管理程序:分為鍵盤掃描程序以及鍵盤處理程序,其中,在每次動(dòng)態(tài)顯示與黑 夜黃燈閃爍的間隔間不斷調(diào)用鍵盤掃描程序。 各程序的流程圖及程序代碼如下: org 0000h ajmp main1 ;轉(zhuǎn)主程序 org 000bh ljmp dshi1 ;轉(zhuǎn)定時(shí)器 0 服務(wù)子程序 org 001bh ljmp ds
30、hi2 ;轉(zhuǎn)定時(shí)器 1 服務(wù)子程序 org 0100h main1: mov p1,#0f7h ;按鍵掃描,有鍵按下則延時(shí)消抖 mov a,p1 orl a,#0fh cpl a jnz d5 sjmp main1 d5: mov r7,#20h ;消抖處理,確有鍵按下則轉(zhuǎn)判斷按鍵程序 d6: djnz r7,d6 mov p1,#0f7h mov a,p1 orl a,#0fh cpl a jnz pduan3 sjmp main1 pduan3: mov p1,#0f7h ;判斷啟動(dòng)鍵是否按下,是則開(kāi)始工作,否則繼續(xù)掃描 mov a,p1 jnb acc.4,main ajmp main1
31、 1、鍵盤管理程序: 鍵盤處理程序: a)“啟動(dòng)”處理程序:跳轉(zhuǎn)至主程序 main; b)“停止”處理程序: stop: clr tr0 ;“停止”按鍵子程序 clr tr1 mov p3,#0ffh mov p0,#11111111b mov p2,#11111111b mov p1,#0f7h stop1: mov a,p1 orl a,#0fh cpl a jnz d3 sjmp stop1 d3: mov r7,#20h d4: djnz r7,d4 mov p1,#0f7h mov a,p1 orl a,#0fh cpl a jnz pduan2 sjmp stop1 pduan2:
32、 mov p1,#0f7h mov a,p1 jnb acc.4,main sjmp stop1 c)“白天”處理程序:跳轉(zhuǎn)至主程序 main; d)“黑夜”處理程序: night: clr tr0 ;黑夜子程序 mov p0,#11111111b mov tl1,#0f0h mov th1,#0d8h setb tr1 mov p3,#0bdh night1: mov r5,#00h night2: lcall jpan cjne r5,#64h,night2 cpl p3.1 cpl p3.6 sjmp night1 鍵盤掃描程序: jpan: mov p1,#0f7h ;鍵盤掃描子程序
33、mov a,p1 orl a,#0fh cpl a jnz d1 ret d1: mov r7,#20h d2: djnz r7,d2 mov p1,#0f7h mov a,p1 orl a,#0fh cpl a jnz pduan ret pduan: mov p1,#0f7h ;判斷按鍵 mov a,p1 jnb acc.4,main jnb acc.5,stop jnb acc.6,main jnb acc.7,night ret 2、主程序: main: mov sp,#50h ;主程序 mov ie,#8ah ;允許中斷 mov tmod,#11h ;設(shè)置定時(shí)方式 1 mov tl0
34、,#0f0h ;定時(shí) 10ms mov th0,#0d8h clr tr1 ;關(guān)閉黑夜模式定時(shí)器 setb tr0 ;打開(kāi)白天模式定時(shí)器 ztai1: mov r3,#20 ;東西向紅燈亮,南北向綠燈亮 mov r4,#26 mov p3,#0cfh ztai12: lcall jpan cjne r3,#00,ztai12 ;是否夠 20s ztai2: mov r3,#6 ;東西向紅燈亮,南北向黃燈閃 mov p3,#0afh ztai21: mov r5,#00h ztai22: lcall jpan cjne r5,#64h,ztai22 ;是否夠 6s cpl p3.6 cjne r
35、3,#00h,ztai21 ztai3: mov r3,#46 ;東西向綠燈亮,南北向紅燈亮 mov r4,#40 mov p3,#07eh ztai32: lcall jpan cjne r3,#06,ztai32 ;是否夠 40s ztai4: mov r4,#6 ;東西向黃燈閃,南北向紅燈亮 mov p3,#07dh ztai41: mov r5,#00h ztai42: lcall jpan cjne r5,#64h,ztai42 ;是否夠 6s cpl p3.1 cjne r4,#00h,ztai41 sjmp ztai1 ;返回,繼續(xù)執(zhí)行主程序 3、數(shù)碼管顯示程序: disp: m
36、ov b,#0ah ;顯示子程序 mov a,r3 div ab mov 79h,a mov 7ah,b mov a,79h mov dptr,#ledmap movc a,a+dptr mov p0,a mov p2,#11110111b call delay mov p2,#11111111b mov a,7ah mov dptr,#ledmap movc a,a+dptr mov p0,a mov p2,#11111011b call delay mov p2,#11111111b mov b,#0ah mov a,r4 div ab mov 79h,a mov 7ah,b mov a,
37、79h mov dptr,#ledmap movc a,a+dptr mov p0,a mov p2,#11111101b call delay mov p2,#11111111b mov a,7ah mov dptr,#ledmap movc a,a+dptr mov p0,a mov p2,#11111110b call delay mov p2,#11111111b ret delay: mov r7,#0f0h ;延時(shí)子程序 deloop: nop nop nop djnz r7,deloop ret 定時(shí)器中斷子程序如下: dshi1: mov tl0,#0f0h ;定時(shí)器 0 中斷
38、子程序 mov th0,#0d8h inc r5 inc r6 cjne r6,#64h,ds1 mov r6,#00h dec r3 dec r4 ds1: acall disp ;調(diào)用顯示子程序 reti dshi2: mov tl1,#0f0h ;定時(shí)器 1 中斷子程序 mov th1,#0d8h inc r5 reti ledmap: db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h ;字形碼表 db 7fh,6fh,77h,7ch,39h,5eh,79h,71h end 第五章第五章 proteus 仿真仿真 5.1 proteus 簡(jiǎn)介簡(jiǎn)介 proteus 是英
39、國(guó) labcenter 公司開(kāi)發(fā)的電路分析與實(shí)物仿真軟件。它運(yùn)行于 windows 操作系統(tǒng)上,可以仿真、分析(spice)各種模擬器件和集成電路,該軟 件的特點(diǎn)是: (1) 實(shí)現(xiàn)了單片機(jī)仿真和 spice 電路仿真相結(jié)合。具有模擬電路仿真、數(shù)字電路 仿真、單片機(jī)及其外圍電路組成的系統(tǒng)的仿真、rs232 動(dòng)態(tài)仿真、i2c 調(diào)試 器、 spi 調(diào)試器、鍵盤和 lcd 系統(tǒng)仿真的功能;有各種虛擬儀器,如示波器、邏 輯分析儀、信號(hào)發(fā)生器等 (2) 支持主流單片機(jī)系統(tǒng)的仿真。目前支持的單片機(jī)類型有:arm7(lpc21xx)、 8051/52 系列、avr 系列、pic10/12/16/18 系列、h
40、c11 系列以及多種外圍芯 片。 (3) 提供軟件調(diào)試功能。在硬件仿真系統(tǒng)中具有全速、單步、設(shè)置斷點(diǎn)等調(diào)試功 能,同時(shí)可以觀察各個(gè)變量、寄存器等的當(dāng)前狀態(tài),因此在該軟件仿真系統(tǒng) 中,也必須具有這些功能;同時(shí)支持第三方的軟件編譯和調(diào)試環(huán)境,如 keil c51 uvision2、mplab 等軟件 (4) 具有強(qiáng)大的原理圖繪制功能??傊?,該軟件是一款集單片機(jī)和 spice 分析于 一身的仿真軟件,功能極其強(qiáng)大。 5.2 仿真過(guò)程仿真過(guò)程 接通電源,按下啟動(dòng)鍵,系統(tǒng)開(kāi)始工作。系統(tǒng)初始狀態(tài)設(shè)置為南北干道無(wú)車,南 北干道綠燈從初始時(shí)間 20 秒開(kāi)始計(jì)時(shí),東西干道紅燈從初始時(shí)間 26 秒開(kāi)始計(jì)時(shí)。 圖
41、4-1 (1) 20 秒之后,開(kāi)始變換車道,南北干道黃燈閃爍,東西干道亮紅燈,倒計(jì)時(shí) 為 6 秒。 圖 4-2 (2) 6 秒后,東西干道通車,南北干道紅燈,東西干道綠燈,倒計(jì)時(shí)為 40 秒. (3) 40 秒之后,開(kāi)始變換車道,東西干道黃燈閃爍,南北干道亮紅燈,倒計(jì)時(shí) 為 6 秒。 圖 4-3 (4) 按下停止鍵,系統(tǒng)回復(fù)到初始狀態(tài)設(shè)置,信號(hào)燈全滅,停止工作 圖 4-4 圖 4-5 (5) 按下“白天/黑夜”開(kāi)關(guān),閉合時(shí)為黑夜工作狀態(tài),黃燈閃爍。 第六章第六章 單片機(jī)系統(tǒng)設(shè)計(jì)結(jié)束語(yǔ)單片機(jī)系統(tǒng)設(shè)計(jì)結(jié)束語(yǔ) 圖 4-6 參考文獻(xiàn)參考文獻(xiàn) 1 趙全利、肖興達(dá),單片機(jī)原理及應(yīng)用教程,北京:機(jī)械工業(yè)出版
42、社,2011.3 2 趙全利、肖興達(dá),單片機(jī)原理及應(yīng)用教程,北京:機(jī)械工業(yè)出版社,2011.3 3 作者不詳,百度百科 at89c52,http:/ 4 作者不詳,互動(dòng)百科8051 單片機(jī), http:/ 5 作者不詳,led 顯示及動(dòng)態(tài)顯示原理, http:/ 6 趙全利、肖興達(dá),單片機(jī)原理及應(yīng)用教程,北京:機(jī)械工業(yè)出版社,2011.3 7 作者不詳,74ls573 中文資料,http:/ 8 姜錚錚,44 矩陣式鍵盤識(shí)別顯示電路的設(shè)計(jì), http:/ 9 姜錚錚,44 矩陣式鍵盤識(shí)別顯示電路的設(shè)計(jì), http:/ 10作者不詳,edn 電子設(shè)計(jì)技術(shù)鎖存器的作用, http:/ 附件附件 1
43、:原理圖,:原理圖,pcb 板圖板圖 圖 1 附件附件 2:電路圖:電路圖 圖 2 附件附件 3: 圖 3 完整的程序:完整的程序: org 0000h ajmp main1 org 000bh ljmp dshi1 org 001bh ljmp dshi2 org 0100h main1: mov p1,#0f7h mov a,p1 orl a,#0fh cpl a jnz d5 sjmp main1 d5: mov r7,#20h d6: djnz r7,d6 mov p1,#0f7h mov a,p1 orl a,#0fh cpl a jnz pduan3 sjmp main1 pdua
44、n3: mov p1,#0f7h mov a,p1 jnb acc.4,main ajmp main1 stop: clr tr0 clr tr1 mov p3,#0ffh mov p0,#11111111b mov p2,#11111111b mov p1,#0f7h stop1: mov a,p1 orl a,#0fh cpl a jnz d3 sjmp stop1 d3: mov r7,#20h d4: djnz r7,d4 mov p1,#0f7h mov a,p1 orl a,#0fh cpl a jnz pduan2 sjmp stop1 pduan2: mov p1,#0f7h mov a,p1 jnb acc.4,main sjmp stop1 night: clr tr0 mov p0,#11111111b mov tl1,#0f0h mov th1,#0d8h setb tr1 mov p3,#0bdh night1: mov r5,#00h night2: lcall jpan cjne r5,#64h,night2 cpl p3.1 cpl p3.6 sjmp night1 jpan: mov p1,#0f7h mov a,p1 or
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 課程設(shè)計(jì)三層電梯
- 道勘課程設(shè)計(jì)范文
- 2025年度合同履行違約賠償合同4篇
- 二零二五年度門窗安裝與室外照明系統(tǒng)合同4篇
- 幼兒園墻面介紹課程設(shè)計(jì)
- 年度液壓件液力件市場(chǎng)分析及競(jìng)爭(zhēng)策略分析報(bào)告
- 2025年度食堂環(huán)境衛(wèi)生管理承包服務(wù)合同4篇
- 2025年度企業(yè)間財(cái)務(wù)信息保密協(xié)議范本模板2篇
- 2025年度食堂承包商服務(wù)品質(zhì)提升協(xié)議4篇
- 2025年度農(nóng)業(yè)機(jī)械設(shè)備采購(gòu)合同范本:農(nóng)機(jī)購(gòu)置合作協(xié)議3篇
- 2024年萍鄉(xiāng)衛(wèi)生職業(yè)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)標(biāo)準(zhǔn)卷
- DB32-T 4444-2023 單位消防安全管理規(guī)范
- 臨床三基考試題庫(kù)(附答案)
- 人員密集場(chǎng)所消防安全管理培訓(xùn)
- JCT587-2012 玻璃纖維纏繞增強(qiáng)熱固性樹(shù)脂耐腐蝕立式貯罐
- 員工信息登記表(標(biāo)準(zhǔn)版)
- 春節(jié)工地停工復(fù)工計(jì)劃安排( 共10篇)
- 新教材人教版高中物理選擇性必修第二冊(cè)全冊(cè)各章節(jié)課時(shí)練習(xí)題及章末測(cè)驗(yàn)含答案解析(安培力洛倫茲力電磁感應(yīng)交變電流等)
- 初級(jí)養(yǎng)老護(hù)理員培訓(xùn)全套
- 危重病人搶救登記表
- GB/T 41095-2021機(jī)械振動(dòng)選擇適當(dāng)?shù)臋C(jī)器振動(dòng)標(biāo)準(zhǔn)的方法
評(píng)論
0/150
提交評(píng)論