版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p> 揚州高等職業(yè)技術(shù)學校</p><p> 畢 業(yè) 設(shè) 計</p><p> 題目模擬交通燈 </p><p> 系別電子工程系 </p><p> 專業(yè)應(yīng)用電子技術(shù) </p><p> 班級
2、G09102 </p><p> 姓名</p><p> 學號</p><p> 指導教師</p><p> 日期2014年6月30號 </p><p><b> 設(shè)計任務(wù)書</b></p>
3、;<p><b> 設(shè)計題目:</b></p><p> 單片機的交通燈控制器</p><p><b> 設(shè)計要求:</b></p><p> 1.在十字路口的兩個方向上各設(shè)一組紅綠黃燈,顯示順序為: 其中一個方向是綠燈、黃燈、紅燈,另一個方向是紅燈、綠燈、黃燈。</p><p&g
4、t; 2.設(shè)置一組數(shù)碼管,以倒計時的方式顯示允許通過或禁止通行的時間,其中左轉(zhuǎn)燈、綠燈、黃燈、紅燈的持續(xù)時間分別是15S、30S、3S、48S。</p><p> 3.當各條路上任意一條出現(xiàn)特殊情況,例如消防車、救護車或其他需要優(yōu)先放行的車輛時,各方向上均是紅燈亮,倒計時停止,且顯示數(shù)字在閃爍,當特殊運行狀態(tài)結(jié)束后,控制器恢復原來狀態(tài),繼續(xù)正常運行。</p><p><b>
5、 設(shè)計進度要求:</b></p><p> 第一周:查找資料,初步確定論文題目;</p><p> 第二周:與老師商討;</p><p> 第三周:確定論文題目;</p><p> 第四周:根據(jù)論文題目進一步查找材料;</p><p> 第五周:完成開提報告及論文大綱交老師批閱;</p&
6、gt;<p> 第六周:依據(jù)論文大綱完成論文一稿交老師批閱;</p><p> 第七周:.完成相關(guān)論文簡介、答辯提綱等;</p><p><b> 第八周:定稿打印。</b></p><p> 指導教師(簽名): </p><p><b> 摘 要
7、</b></p><p> 近年來隨著科技的飛速發(fā)展,單片機的應(yīng)用正在不斷地深入發(fā)展,同時帶動傳統(tǒng)控制檢測的更新。在實時檢測和自動控制的單片機應(yīng)用系統(tǒng)中,單片機往往是作為一個核心部件來使用,僅單片機方面的知識是不夠的,還應(yīng)該根據(jù)具體硬件結(jié)構(gòu),以及針對具體應(yīng)用對象特點的軟件結(jié)合,加以完善。</p><p> 十字路口車輛穿梭,行人熙攘,車行車道,人行人道,有條不紊。那么靠什么
8、來實現(xiàn)這井然秩序呢?靠的是交通信號燈的自動指揮系統(tǒng)。交通信號燈控制方式很多。本系統(tǒng)采用AT89C52系列單片機和可編程并行I/O接口芯片8255A為中心器件來設(shè)計交通燈控制器,實現(xiàn)了能根據(jù)實際車流量通過AT89C52芯片的P1口設(shè)置紅、綠燈燃亮時間的功能;為了系統(tǒng)穩(wěn)定可靠采用了MAX629“看門狗”芯片,避免了系統(tǒng)因為死機而停止工作的情況發(fā)生;顯示時間直接通過8255的PA、PB口輸出;交通燈信號通過PC口輸出;交通燈的點亮采用VT雙向
9、晶閘管來控制,直接采用220V交流電源驅(qū)動,系統(tǒng)實用性強、操作簡單、擴展性強。 </p><p> 關(guān)鍵詞:單片機,看門狗MAX629,交通燈,控制器</p><p><b> 目 錄</b></p><p><b> 摘 要II</b></p><p> 1 交通燈的發(fā)展及應(yīng)用1&
10、lt;/p><p> 2 控制器系統(tǒng)設(shè)計2</p><p> 2.1交通管理的方案2</p><p> 2.2系統(tǒng)設(shè)計原理3</p><p> 3 芯片的選擇與簡介6</p><p> 3.1 AT89C52芯片簡介6</p><p> 3.2 8255芯片簡介9</p
11、><p> 3.3 數(shù)碼管11</p><p> 4 控制器的軟件設(shè)計12</p><p> 4.1計數(shù)器初值計算12</p><p> 4.2 軟件延時13</p><p> 4.3 AT89C52并行口的擴展14</p><p><b> 5 程序設(shè)計16<
12、;/b></p><p> 5.1 流程圖16</p><p> 5.2 程序清單18</p><p> 6 看門狗硬件電路22</p><p> 6.1軟件看門狗22</p><p> 6.2硬件看門狗23</p><p> 7 系統(tǒng)的調(diào)試與運行方案25</
13、p><p> 7.1實驗步驟25</p><p> 7.2系統(tǒng)內(nèi)存分配和I/0接口26</p><p> 7.3 實驗程序原代碼27</p><p><b> 8 結(jié) 論30</b></p><p><b> 致 謝31</b></p><
14、;p><b> 參考文獻32</b></p><p> 1 交通燈的發(fā)展及應(yīng)用</p><p> 目前紅綠燈安裝在各個道口上,已經(jīng)成為疏導交通車輛最常見和最有效的手段。但這一技術(shù)在19世紀就已出現(xiàn)了。</p><p> 1858年,在英國倫敦主要街頭安裝了以燃煤氣為光源的紅,藍兩色的機械扳手式信號燈,用以指揮馬車通行。這是世界上
15、最早的交通信號燈。1868年,英國機械工程師納伊特在倫敦威斯敏斯特區(qū)的議會大廈前的廣場上,安裝了世界上最早的煤氣紅綠燈。它由紅綠兩以旋轉(zhuǎn)式方形玻璃提燈組成,紅色表示“停止”,綠色表示“注意”。1869年1月2日,煤氣燈爆炸,使警察受傷,遂被取消。</p><p> 1914年,電氣啟動的紅綠燈出現(xiàn)在美國。這種紅綠燈由紅綠黃三色圓形的投光器組成,安裝在紐約市5號大街的一座高塔上。紅燈亮表示“停止”,綠燈亮表示“通
16、行”。</p><p> 1918年,又出現(xiàn)了帶控制的紅綠燈和紅外線紅綠燈。帶控制的紅綠燈,一種是把壓力探測器安在地下,車輛一接近紅燈便變?yōu)榫G燈;另一種是用擴音器來啟動紅綠燈,司機遇紅燈時按一下嗽叭,就使紅燈變?yōu)榫G燈。紅外線紅綠燈當行人踏上對壓力敏感的路面時,它就能察覺到有人要過馬路。紅外光束能把信號燈的紅燈延長一段時間,推遲汽車放行,以免發(fā)生交通事故。</p><p> 信號燈的出現(xiàn)
17、,使交通得以有效管制,對于疏導交通流量、提高道路通行能力,減少交通事故有明顯效果。1968年,聯(lián)合國《道路交通和道路標志信號協(xié)定》對各種信號燈的含義作了規(guī)定。綠燈是通行信號,面對綠燈的車輛可以直行,左轉(zhuǎn)彎和右轉(zhuǎn)彎,除非另一種標志禁止某一種轉(zhuǎn)向。左右轉(zhuǎn)彎車輛都必須讓合法地正在路口內(nèi)行駛的車輛和過人行橫道的行人優(yōu)先通行。紅燈是禁行信號,面對紅燈的車輛必須在交叉路口的停車線后停車。黃燈是警告信號,面對黃燈的車輛不能越過停車線,但車輛已十分接近
18、停車線而不能安全停車時可以進入交叉路口。</p><p><b> 2 控制器系統(tǒng)設(shè)計</b></p><p> 2.1交通管理的方案</p><p> A、B兩干道交于一個十字路口,各干道有一組紅、黃、綠三色的指示燈,指揮車輛和行人安全通行。紅燈亮禁止通行,綠燈亮允許通行。黃燈亮提示人們注意紅燈、綠燈的狀態(tài)即將切換,且黃燈燃亮時間為A、
19、B兩干道的公共停車時間。設(shè)A道比B道的車流量大,指示燈燃亮的方案如表2.1。</p><p> 表2.1 指示燈的狀態(tài)</p><p><b> 從表中可以看出:</b></p><p> ?。?)當為黃燈時 A、B兩道同時為黃燈;以提示行人或車輛下一個燈色即將到來,時間 3秒。(2)當A到為紅燈,A 道車輛禁止通行,A 道行人可通過;B道
20、為綠燈,B 道車輛通過,行人禁止通行。時間為60秒。</p><p> ?。?)當A道綠燈,A 道車輛通行;B 道為紅燈,B 道車輛禁止通過,行人通行。時間為80秒。 A道車流大 通行時間長</p><p> ?。?)這樣如上表的時間和紅、綠、黃出現(xiàn)的順序依次出現(xiàn)這樣行人和車輛就能安全暢通的通行。</p><p> ?。?)此表可根據(jù)車流量動態(tài)設(shè)定</p>
21、;<p><b> 2.2系統(tǒng)設(shè)計原理</b></p><p> 選用AT89C52單片機一片選用設(shè)備:AT89C52單片機一片,8255并行通用接口芯片一片,74LS07兩片,MAX692‘看門狗’一片,共陰極的七段數(shù)碼管兩個雙向晶閘管若干,7805三端穩(wěn)壓電源一個,紅、黃、綠交通燈各兩個,開關(guān)鍵盤、連線若干。</p><p> 系統(tǒng)總框圖如圖2
22、.1所示.</p><p> 圖2.1 交通燈控制系統(tǒng)總框圖</p><p> 交通燈控制線路圖2.2所示. </p><p> 圖2.2交通燈控制線路圖</p><p> (1)開關(guān)鍵盤輸入交通燈初始時間,通過AT89C52單片機P1輸入到系統(tǒng)</p><p&g
23、t; (2)由AT89C52單片機的定時器每秒鐘通過P0口向8255的數(shù)據(jù)口送信息,由8255的PC 口顯示紅、綠、黃燈的燃亮情況;由8255的PA、PB口顯示每個燈的燃亮時間。</p><p> (3)AT89C52通過設(shè)置 各個信號等的燃亮時間、通過AT89C52設(shè)置,黃、綠、紅時間依次為3秒、60秒、3秒、80秒、3秒循環(huán)由AT89C52的 P0口向8255的數(shù)據(jù)口輸出。</p><
24、p> (4)通過AT89C52單片機的P3.0位來控制系統(tǒng)是工作或設(shè)置初值,當.牌位0就對系統(tǒng)進行初始化,為1系統(tǒng)就開始工作。</p><p> (5)8255PA口用于輸出時間的個位,PB口用于輸出時間的十位,由747S07驅(qū)動芯片驅(qū)動;.而PC口用于輸出各個燈的情況,它的末段連接雙向晶閘管采用220V交流電壓驅(qū)動。</p><p> ?。?)在交通控制程序中加入看門狗指令,當
25、系統(tǒng)出現(xiàn)異??撮T狗將發(fā)出溢出中斷。通過專用端口輸入到MAX692看門狗芯片的WDI 引腳引起RESET復位信號復位系統(tǒng).</p><p> 3 芯片的選擇與簡介</p><p> 3.1 AT89C52芯片簡介</p><p> 3.1.1 AT89C52單片機內(nèi)部結(jié)構(gòu)</p><p> 8051是AT89C52系列單片機的典型產(chǎn)品,
26、AT89C52單片機包含中央處理器、程序存儲器(ROM)、數(shù)據(jù)存儲器(RAM)、定時/計數(shù)器、并行接口、串行接口和中斷系統(tǒng)等幾大單元及數(shù)據(jù)總線、地址總線和控制總線等三大總線,見圖3.1,現(xiàn)在說明如下:</p><p><b> 圖3.1 總線結(jié)構(gòu)</b></p><p><b> ?。?)中央處理器</b></p><p&g
27、t; 中央處理器(CPU)是整個單片機的核心部件,是8位數(shù)據(jù)寬度的處理器,能處理8位二進制數(shù)據(jù)或代碼,CPU負責控制、指揮和調(diào)度整個單元系統(tǒng)協(xié)調(diào)的工作,完成運算和控制輸入輸出功能等操作。</p><p> ?。?)數(shù)據(jù)存儲器(RAM)</p><p> AT89C52內(nèi)部有128個8位用戶數(shù)據(jù)存儲單元和128個專用寄存器單元,它們是統(tǒng)一編址的,專用寄存器只能用于存放控制指令數(shù)據(jù),用戶只
28、能訪問,而不能用于存放用戶數(shù)據(jù),所以,用戶能使用的RAM只有128個,可存放讀寫的數(shù)據(jù),運算的中間結(jié)果或用戶定義的字型表。</p><p> ?。?)存儲器(ROM)</p><p> AT89C52共有4096個8位掩膜ROM,用于存放用戶程序,原始數(shù)據(jù)或表格。</p><p> ?。?)定時/計數(shù)器(ROM)</p><p> AT
29、89C52有兩個16位的可編程定時/計數(shù)器,以實現(xiàn)定時或計數(shù)產(chǎn)生中斷用于控制程序轉(zhuǎn)向。</p><p> ?。?)并行輸入輸出(I/O)口</p><p> AT89C52共有4組8位I/O口(P0、 P1、P2或P3),用于對外部數(shù)據(jù)的傳輸。</p><p><b> (6)全雙工串行口</b></p><p>
30、 AT89C52內(nèi)置一個全雙工串行通信口,用于與其它設(shè)備間的串行數(shù)據(jù)傳送,該串行口既可以用作異步通信收發(fā)器,也可以當同步移位器使用。</p><p><b> (7)中斷系統(tǒng)</b></p><p> AT89C52具備較完善的中斷功能,有兩個外中斷、兩個定時/計數(shù)器中斷和一個串行中斷,可滿足不同的控制要求,并具有2級的優(yōu)先級別選擇。</p><
31、;p><b> (8)時鐘電路</b></p><p> AT89C52內(nèi)置最高頻率達12MHz的時鐘電路,用于產(chǎn)生整個單片機運行的脈沖時序,但AT89C52單片機需外置振蕩電容。</p><p> 單片機的結(jié)構(gòu)有兩種類型,一種是程序存儲器和數(shù)據(jù)存儲器分開的形式,即哈佛(Harvard)結(jié)構(gòu),另一種是采用通用計算機廣泛使用的程序存儲器與數(shù)據(jù)存儲器合二為一的
32、結(jié)構(gòu),即普林斯頓(Princeton)結(jié)構(gòu)。INTEL的AT89C52系列單片機采用的是哈佛結(jié)構(gòu)的形式,而后續(xù)產(chǎn)品16位的MCS-96系列單片機則采用普林斯頓結(jié)構(gòu)。</p><p> 3.1.2 AT89C52的引腳說明</p><p> AT89C52系列單片機中的8031、8051及8751均采用40Pin封裝的雙列直接DIP結(jié)構(gòu),右圖是它們的引腳配置,40個引腳中,正電源和地線兩
33、根,外置石英振蕩器的時鐘線兩根,4組8位共32個I/O口,中斷口線與P3口線復用。引腳如圖3.2所示.</p><p><b> 圖3.2引腳圖</b></p><p> RESET/Vpd復位信號復用腳,當AT89C52通電,時鐘電路開始工作,在RESET引腳上出現(xiàn)24個時鐘周期以上的高電平,系統(tǒng)即初始復位。初始化后,程序計數(shù)器PC指向0000H,P0-P3輸出
34、口全部為高電平,堆棧指針寫入07H,其它專用寄存器被清“0”。RESET由高電平下降為低電平后,系統(tǒng)即從0000H地址開始執(zhí)行程序。然而,初始復位不改變RAM(包括工作寄存器R0-R7)的狀態(tài),AT89C52的初始態(tài)。</p><p> AT89C52的復位方式可以是自動復位,也可以是手動復位,見圖3.3。此外,RESET/Vpd還是一復用腳,Vcc掉電其間,此腳可接上備用電源,以保證單片機內(nèi)部RAM的數(shù)據(jù)不丟
35、失。</p><p> 圖3.3 復位電路 </p><p> ALE/當訪問外部程序器時,ALE(地址鎖存)的輸出用于鎖存地址的低位字節(jié)。而訪問內(nèi)部程序存儲器時,ALE端將有一個1/6時鐘頻率的正脈沖信號,這個信號可以用于識別單片機是否工作,也可以當作一個時鐘向外輸出。更有一個特點,當訪問外部程序存儲器,ALE會跳過一個脈
36、沖。</p><p> 如果單片機是EPROM,在編程其間,將用于輸入編程脈沖。</p><p> 當訪問外部程序存儲器時,此腳輸出負脈沖選通信號,PC的16位地址數(shù)據(jù)將出現(xiàn)在P0和P2口上,外部程序存儲器則把指令數(shù)據(jù)放到P0口上,由CPU讀入并執(zhí)行。</p><p> EA/Vpp程序存儲器的內(nèi)外部選通線,AT89C52單片機,內(nèi)置有4kB的程序存儲器,當E
37、A為高電平并且程序地址小于4kB時,讀取內(nèi)部程序存儲器指令數(shù)據(jù),而超過4kB地址則讀取外部指令數(shù)據(jù)。如EA為低電平,則不管地址大小,一律讀取外部程序存儲器指令。顯然,對內(nèi)部無程序存儲器的AT89C52,EA端必須接地。</p><p> 在編程時,EA/Vpp腳還需加上21V的編程電壓。</p><p> 3.2 8255芯片簡介</p><p> 8255可
38、編程并行接口芯片簡介:</p><p> 8255可編程并行接口芯片有三個輸入輸出端口,即A口、B口和C口,對應(yīng)于引腳PA7~PA0、PB7~PB0和PC7~PC0。其內(nèi)部還有一個控制寄存器,即控制口。通常A口、B口作為輸入輸出的數(shù)據(jù)端口。C口作為控制或狀態(tài)信息的端口,它在方式字的控制下,可以分成4位的端口,每個端口包含一個4位鎖存器。它們分別與端口A/B配合使用,可以用作控制信號輸出或作為狀態(tài)信號輸入。<
39、;/p><p> 8255可編程并行接口芯片方式控制字格式說明:</p><p> 8255有兩種控制命令字;一個是方式選擇控制字;另一個是C口按位置位/復位控制字。其中C口按位置位/復位控制字方式使用較為繁難,說明也較冗長,故在此不作敘述,需要時用戶可自行查找有關(guān)資料。</p><p> 方式控制字格式說明如表3.1:</p><p>
40、 表3.1 8255方式控制字</p><p> D7:設(shè)定工作方式標志,1有效。</p><p> D6、D5:A口方式選 </p><p><b> 0 0 —方式0</b></p><p><b> 0 1 —方式1</b></p><p><b>
41、 1 ×—方式2</b></p><p> D4:A口功能 (1=輸入,0=輸出)</p><p> D3:C口高4位功能 (1=輸入,0=輸出)</p><p> D2:B口方式選擇 (0=方式0,1=方式1)</p><p> D1:B口功能 (1=輸入,0=輸出)</p&g
42、t;<p> D0:C口低4位功能 (1=輸入,0=輸出)</p><p> 8255可編程并行接口芯片工作方式說明:</p><p> 方式0:基本輸入/輸出方式。適用于三個端口中的任何一個。每一個端口都可以用作輸入或輸出。輸出可被鎖存,輸入不能鎖存。</p><p> 方式1:選通輸入/輸出方式。這時A口或B口的8位外設(shè)線用作輸入或輸出,C
43、口的4條線中三條用作數(shù)據(jù)傳輸?shù)穆?lián)絡(luò)信號和中斷請求信號。</p><p> 方式2 :雙向總線方式。只有A口具備雙向總線方式,8位外設(shè)線用作輸入或輸出,此時C口的5條線用作通訊聯(lián)絡(luò)信號和中斷請求信號。</p><p><b> 3.3 數(shù)碼管</b></p><p> 采用共陰極的七段數(shù)碼管,如圖3.4所示.</p><
44、;p> 圖3.4 數(shù)碼管電路</p><p> VT為雙向晶閘管,當門極為高電平時晶閘管導通,該支路指示燈亮;當門極為低電平時晶閘管關(guān)斷,該支路指示燈滅。</p><p> 4 控制器的軟件設(shè)計</p><p> 延時方法可以有兩種一中是利用AT89C52內(nèi)部定時器才生溢出中斷來確定1秒的時間,另一種是采用軟延時的方法。</p><
45、;p> 4.1計數(shù)器初值計算</p><p> 定時器工作時必須給計數(shù)器送計數(shù)器初值,這個值是送到TH和TL中的。他是以加法記數(shù)的,并能從全1到全0時自動產(chǎn)生溢出中斷請求。</p><p> 我們采用在主程序中設(shè)定一個初值為20的軟件計數(shù)器和使T0定時50毫秒.這樣每當T0到50毫秒時CPU就響應(yīng)它的溢出中斷請求,進入他的中斷服務(wù)子程序。在中斷服務(wù)子程序中,CPU先使軟件計數(shù)器
46、減1,然后判斷它是否為零。為零表示1秒已到可以返回到輸出時間顯示程序。相應(yīng)程序代碼:</p><p><b> (1)主程序 </b></p><p> 定時器需定時50毫秒,故T0工作于方式1。 初值:</p><p> TC=M-T/T計數(shù)=216-50ms/1us=15536=3CBOH</p><p>&l
47、t;b> ORG 1000H</b></p><p> START: MOV TMOD, #01H ; 令T0為定時器方式1</p><p> MOV TH0, #3CH ;裝入定時器初值</p><p> MOV TL0, #0B0H ;</p><p> MOV IE,
48、#82H ;開T0中斷</p><p> SEBT TR0 ;啟動T0計數(shù)器</p><p> MOV R0, #14H ;軟件計數(shù)器賦初值</p><p> OP: SJMP $ ?。坏却袛?lt;/p><p> (2)中斷服務(wù)子程序</p><p> ORG
49、 000BH</p><p> AJMP BRT0</p><p> ORG 00BH</p><p> BRT0:DJNZ R0,NEXT</p><p> AJMP TIME ; 跳轉(zhuǎn)到時間及信號燈顯示子程序 </p><p> DJNZ:MOV R0,#14H ;恢復R0
50、值</p><p> MOV TH0, #3CH ;重裝入定時器初值</p><p> MOV TL0, #0B0H ;</p><p> MOV IE, #82H </p><p><b> RETI</b></p><p><b> END&l
51、t;/b></p><p><b> 4.2 軟件延時</b></p><p> AT89C52的工作頻率為2-12MHZ,我們選用的AT89C52單片機的工作頻率為6MHZ。機器周期與主頻有關(guān),機器周期是主頻的12倍,所以一個機器周期的時間為12*(1/6M)=2us。我們可以知道具體每條指令的周期數(shù),這樣我們就可以通過指令的執(zhí)行條數(shù)來確定1秒的時間。&l
52、t;/p><p><b> 具體的延時程序:</b></p><p> DELAY:MOV R4,#08H 延時1秒子程序</p><p> DE2:LCALL DELAY1 </p><p> DJNZ R4,DE2</p><p><b> RET</b>&l
53、t;/p><p> DELAY1:MOV R6,#0 延時125ms 子程序</p><p><b> MOV R5,#0</b></p><p> DE1:DJNZ R5,$</p><p> DJNZ R6,DE1</p><p><b> RET</b>&
54、lt;/p><p> MOV RN,#DATA </p><p> 所以此指令的執(zhí)行時間為2ms </p><p> DELAY1 為一個雙重循壞 循環(huán)次數(shù)為256*256=65536 所以延時時間=65536*2=131072us 約為125us ,DELAY R4設(shè)置的初值為8 主延時程序循環(huán)8次,所以125us*8= 1秒,由于單片機的運行速度很快其
55、它的指令執(zhí)行時間可以忽略不計。</p><p> 4.3 AT89C52并行口的擴展</p><p> AT89C52雖然有4個8位I/O端口,但真正能提供借用的只有P1口,因為P2和P0口通常用于傳送外部傳送地址和數(shù)據(jù),P3口也有它的第二功能。因此,AT89C52通常需要擴展。由于我們用外輸出時間時,時間的個位、十位、信號燈的顯示都要用到一個I/O端口,顯然AT89C52的端口是不夠
56、,需要擴展。</p><p> 擴展的方法有兩種:(1)借用外部RAM地址來擴展I/O端口;(2)采用I/O接口來擴充。本設(shè)計中采用8255并行接口信片來擴展I/O端口。</p><p><b> 4.3.1顯示原理</b></p><p> 當定時器定時為1秒,時程序跳轉(zhuǎn)到時間顯示及信號燈顯示子程序,它將依次顯示信號燈時間 ,同時一直顯
57、示信號燈的顏色,這時在返回定時子程序定時一秒,在顯示黃燈的下一個時間,這樣依次把所有的燈色的時間顯示完后在重新給時間計數(shù)器賦初值 ,重新進入循環(huán)。 </p><p> 4.3.2 8255輸出信號的放大</p><p> 要使行人能看見信號燈的情況,必須把8255輸出的信號進行放大,這里我們用VT為雙向晶閘管,當門極為高電平時晶閘管導通,該支路指示燈亮;當門極為低電平時關(guān)斷,該支路
58、指示燈滅。 </p><p> 4.3.3 8255輸出信號與信號燈的連接</p><p> LED 燈的顯示原理:通過同名管腳上所加電平的高低來控制發(fā)光二極管是否點量而顯示不同的字形如 SP,g,f,e,d,c,b,a 管腳上加上7FH所以 SP為0伏,不亮其余為TTL高電平,全亮則顯示為8,采用共陰級連接,見表4.1所示.</p><p> 表4.1 驅(qū)
59、動代碼表</p><p> 4.3.4 8255與AT89C52的連接</p><p> 用AT89C52的P0 口的 p0.7 連接8255的片選信號cs 我們用AT89C52的地址采用全譯碼方式,當p0.7 =0 時片選有效, 其它無效, p0.1 p0.1 用于選擇8255端口</p><p> P0.7 p0.6 p0.5 p0.4 p
60、0.3 p0.2 P0.1 P0.0</p><p> A7 A6 A5 A4 A3 A2 A1 A0</p><p> 1 X X X X X 0 0 00H為8255 的PA口</p><p> 1 X X X X X 0 1 01H
61、 為8255的PB口</p><p> 1 X X X X X 1 0 02H 為8255的PC口</p><p> 1 X X X X X 1 1 03H 為8255的控制口</p><p> 由于AT89C52是分時對8255和儲存器進行訪問所以AT89C52的P0
62、口不會發(fā)生沖突</p><p><b> 5 程序設(shè)計</b></p><p><b> 5.1 流程圖</b></p><p> R4 存放黃燈時間 3 03H (此時間可以動態(tài)設(shè)定)</p><p> R5 存放紅燈時間 60 3CH</p>&l
63、t;p> R6 存放綠燈時間 80 50H</p><p> PC0 顯示黃燈信號</p><p> PC1 顯示紅燈信號</p><p> PC2 顯示黃燈信號 </p><p> 8825 工作于方式0</p><p> 8255 PA、PB、 PC口輸出 PC 控制字
64、為10000000B (80H)</p><p> 主程序如圖5.1所示</p><p> 圖5.1 主程序流程圖</p><p> 圖5.2 程序流程圖</p><p><b> 5.2 程序清單</b></p><p><b> ORG 0000H</b>&
65、lt;/p><p><b> LJMP MAIN</b></p><p><b> ORG 0100H</b></p><p> MAIN:MOV R1,#03H 初始化8255</p><p> MOV A,#80H</p><p> MOVX @R
66、1,A</p><p> AGAIN:MOV P3,#80H 設(shè)置初值</p><p><b> MOV A,P3</b></p><p> JB ACC.7, NEXT0</p><p> AGAIN1:MOV P3,#40H</p><p><b> MOV A
67、,P3</b></p><p> JB ACC.6, RED</p><p> MOV P3,#0FH</p><p><b> MOV A,P3</b></p><p> ANL A,#0FH</p><p><b> MOV R3,A</b><
68、/p><p> AJMP AGAIN1</p><p> RED:MOV P3,#0FH</p><p><b> MOV A,P3</b></p><p> ANL A,#0FH</p><p><b> MOV R2,A</b></p><p&
69、gt; AJMP AGAIN</p><p> NEXT0:MOV R1,#03H </p><p> NEXT1:MOV DPTR,#TAB 顯示黃燈個位</p><p><b> MOV A,R1</b></p><p> MOVC A,@A+DPTR</p><
70、p> MOV R1,#00H</p><p> MOVX @R1, A</p><p> MOV R1,#O</p><p> MOV DPTR,#TAB 顯示黃燈十位</p><p><b> MOV A,R0</b></p><p> MOVC A,@A+DPTR<
71、;/p><p> MOV R1,#01H</p><p> MOVX @R1,A</p><p> MOV DPTR,#0C62H 顯示黃燈信號</p><p> MOV A,#00H</p><p> LCALL 0F4E0H</p><p> ACALL DELAY 延時1
72、秒</p><p> DJNZ R0,NEXT1</p><p><b> MOV A,R3</b></p><p> MOV R0,A </p><p> NEXT2:MOV DPTR,#TAB 顯示紅燈個位</p><p><b> MOV A,R0</b
73、></p><p> MOVC A,@A+DPTR</p><p> MOV R1,#00H</p><p> MOVX @R1,A</p><p> MOV DPTR,#TAB 顯示紅燈十位</p><p><b> MOV A,R0</b></p><p
74、> MOVC A,@A+DPTR</p><p> MOV R1,#01H</p><p><b> MOV A,R0</b></p><p> MOVX @R1,R0</p><p> MOV R1,#02H 顯示紅燈信號</p><p> MOV A,#02H<
75、/p><p> MOVX @R1,A</p><p> ACALL DELAY 延時1秒</p><p> DJNZ R0,NEXT2</p><p><b> MOV A,R2</b></p><p> MOV R0,A </p><p> NEXT
76、3:MOV DPTR,#TAB 顯示綠燈個位</p><p><b> MOV A,R0</b></p><p> MOVC A,@A+DPTR</p><p> MOV R1,#00H</p><p> MOVX @R1,R0</p><p> MOV DPTR,#TAB 顯示綠
77、燈十位</p><p><b> MOV A,R0</b></p><p> MOVC A,@A+DPTR</p><p> MOV R1,#01H</p><p><b> MOV A,R0</b></p><p> MOVX @R1,R0</p>
78、<p> MOV R1,#02H 顯示綠燈信號</p><p> MOV A,#02H</p><p> MOVX @R1,A</p><p> ACALL DELAY 延時1秒</p><p> DJNZ R0,NEXT3</p><p> AJMP NEXT0</p&g
79、t;<p> DELAY:MOV R4,#08H 延時1秒子程序</p><p> DE2:LCALL DELAY1 </p><p> DJNZ R4,DE2</p><p><b> RET</b></p><p> DELAY1:MOV R6,#0 </p><
80、p><b> MOV R5,#0</b></p><p> DE1:DJNZ R5,$</p><p> DJNZ R6,DE1</p><p><b> RET</b></p><p> TAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6F
81、H,77H,7CH,39H,5EH,79H,71H</p><p><b> END</b></p><p> 6 看門狗硬件電路 </p><p> 由于單片機自身的抗干擾能力比較差,尤其在一些條件比較惡劣、噪聲大的場合,常會出現(xiàn)單片機因為受外界干擾而導致死機的現(xiàn)象,造成系統(tǒng)不能正常工作。設(shè)置看門狗是為了防止單片機死機、提高單片機系統(tǒng)抗
82、干擾性的一種重要途徑。</p><p> 一個完整的單片機應(yīng)用系統(tǒng)應(yīng)該是一個軟、硬件的結(jié)合體,在系統(tǒng)正常工作時,會受到各種外界干擾因素的影響。這種外界干擾輕者導致系統(tǒng)內(nèi)部數(shù)據(jù)出錯,重者將嚴重影響程序的運行。因此單片機應(yīng)用系統(tǒng)的開發(fā)一定要考慮系統(tǒng)可靠性的設(shè)計,以滿足系統(tǒng)在現(xiàn)場苛刻環(huán)境下的正常運行,而“看門狗”則是系統(tǒng)可靠性設(shè)計的重要一環(huán)。在一個單片機應(yīng)用系統(tǒng)中,所謂的“看門狗”是指在系統(tǒng)設(shè)計中通過軟件或硬件方式在
83、一定的周期內(nèi)監(jiān)控單片機或其它CPU的運行情況。如果在規(guī)定的時間內(nèi)沒有收到來自單片機或其它CPU的觸發(fā)信號,則系統(tǒng)會強制復位,以保證系統(tǒng)在受到干擾時仍能夠維持正常的工作狀態(tài)。在單片機系統(tǒng)中,看門狗的設(shè)計一般采用硬件和軟件結(jié)合兩種方式。</p><p><b> 6.1軟件看門狗</b></p><p> 軟件看門狗是利用單片機片內(nèi)閑置的定時器/計數(shù)器單元作為看門狗,
84、在單片機程序中適當?shù)牟迦氡O(jiān)控指令,當程序出現(xiàn)異?;蜻M入死循環(huán)時,利用軟件將程序計數(shù)器PC賦予初始值,強制性的使程序重新開始運行。</p><p> 使用軟件看門狗的具體實現(xiàn)方法如下。</p><p> 首先在初始化程序中設(shè)置好定時器/計數(shù)器的方式控制寄存器(TMOD) 和定時 時間的初值,并開中斷。</p><p> 根據(jù)定時器的定時時間,在主
85、程序中按一定的間隔插入復位定時器的指令,既插入監(jiān)控指令,兩條指令間的時間間隔應(yīng)該小于定時時間,否則看門狗將發(fā)生錯誤動作。</p><p> 在定時器的中斷服務(wù)程序中設(shè)置一條無條件轉(zhuǎn)移指令,將程序計數(shù)器PC轉(zhuǎn)移到初始化程序的入口。</p><p> 軟件看門狗的最大特點是無須外加硬件電路,經(jīng)濟性好。當然,如果片內(nèi)的定時器/計數(shù)器被占用,就需要尋求其它的設(shè)計方式了。</p>
86、<p> 6.2硬件看門狗 </p><p> 專用硬件看門狗是指一些集成化的或集成在單片機內(nèi)的專用看門狗電路,它實際上是一個特殊的定時器,當定時時間到時,發(fā)出溢出脈沖。從實現(xiàn)角度上看,該方式是一種軟件與片外專用電路相結(jié)合的技術(shù),硬件電路連接好后,在程序中適當?shù)夭迦胍恍┛撮T狗復位的指令,保證程序正常運行時看門狗不溢出。而當程序運行異常時,看門狗超時發(fā)出溢出脈沖,通過單片機的RESET引腳使單
87、片機復位。這種方式中,看門狗能否可靠有效地工作,與硬件組成及軟件的控制策略都有密切的關(guān)系。目前常用的集成看門狗電路很多,如MAX705~708、MAX813L、X5043/5045等。</p><p> 看門狗電路可以分為內(nèi)看門狗和外看門狗??撮T狗電路是指看門狗的硬件電路包含在單片機內(nèi)部,如Microchip的16C5x系列,MOTOROLA的68C05系列,51內(nèi)核中比較典型的有Atmel公司的AT89C55
88、WD、AT89S8252,Winbond公司的W77E58,SST公司的SST89C58以及Philips公司87系列的多種型號的單片機等。</p><p> 對于沒有看門狗定時器的單片機或是認為內(nèi)部看門狗不可靠時,可以采用外部看門狗定時器。外部看門狗電路既可以用專用看門狗芯片,也可由普通芯片實現(xiàn)。</p><p> 這里,以專用芯片MAX692作為外部看門狗的電路。</p>
89、;<p> MAX692是微系統(tǒng)監(jiān)控電路芯片,具有后備電池切換、掉電判別、看門狗監(jiān)控等功能。其封裝和引腳說明如圖6.1所示。</p><p> VOUT VBATT</p><p> VCC RESET</p><p> GND
90、 WDI</p><p> PFI /PFD</p><p> 圖 6.1 MAX692封裝和引腳</p><p> VOUT:電源輸出引腳。</p><p> VCC:接電源引腳,電源供電3.0~5.5V。</p><p><b&g
91、t; GND:接地。</b></p><p> PFI:電池故障輸入。</p><p> /PFO:電池故障輸出。</p><p> WDI:監(jiān)視器輸入引腳。</p><p> /RESET:復位輸出引腳,低電平有效。</p><p> VBATT:后備電池輸入端。</p><
92、;p> MAX692在本文的單片機系統(tǒng)中的具體使用方法和電路原理圖。</p><p> MAX692電路原理圖如圖6.2所示.其中WDI是看門狗監(jiān)測輸入腳,接到CPU的一個專用I/O口或一個總線上。/RESET是復位信號輸出腳,接到CPU的復位輸入腳。</p><p> MAX692的WDI定時周期是1.6s,復位脈沖寬度是200ms。如果WDI保持高或低超過看門狗定時周期(1
93、.6s),/RESET端將發(fā)生200ms的負脈沖使CPU復位</p><p> 圖 6.2 MAX692電路原理圖</p><p> 7 系統(tǒng)的調(diào)試與運行方案</p><p> 系統(tǒng)的調(diào)試與運行采用TDN86/51教學實驗系統(tǒng)</p><p><b> 系統(tǒng)簡介:</b></p><p>
94、 開啟計算機及實驗平臺,進入TDN的子目錄,鍵入MD51,選擇 1 1-COM1口 進入系統(tǒng)集成軟件 </p><p><b> 功能介紹:</b></p><p> F1-EDIT 編輯 可以對源程序進行編輯</p><p> F2-MASM 匯編源程序 </p><p> F3-LINK
95、 連接成可執(zhí)行文件.HEX</p><p> F5-LOAD 將可執(zhí)行文件載入實驗系統(tǒng)</p><p> F6-SAVE 保存 </p><p> F8-EXIT 推出系統(tǒng)</p><p><b> 7.1實驗步驟</b></p><p> 1. 按照系統(tǒng)硬件連線圖連好&
96、lt;/p><p> 說明:由于此實驗平臺只提供了一個顯示燈接口所以我們只用 了8255的 PA口,只用了一個顯示燈 和3個LED燈 ,AT89C52的P1口的低4位用于給系統(tǒng)賦初值 P1.7用于控制系統(tǒng)工作或初始化.P1.6用于控制是對紅燈、綠燈進行初始化。</p><p> 2. 把編好的程序進行匯編對輸入單片機AT89C52仿真器和對8255進行初始化。</p><
97、;p> 3.通過平臺上的開關(guān)來設(shè)定紅、綠等的初值。</p><p> 4.先使K7撥為0,觀察LED燈和8段數(shù)碼管的顯示情況,撥K6為0設(shè)置 撥K3、K2、K1、K0為0101即紅燈時間為5秒,撥K6為1設(shè)置 撥K3、K2、K1、K0為1001即綠燈時間為9秒,觀察觀察LED燈和8段數(shù)碼管的顯示與設(shè)置的時間和LED的顏色是否一致</p><p> 5.不一致反復調(diào)試程序認識檢查
98、線路連接是否正確,直到與預(yù)定目的一致。</p><p> 7.2系統(tǒng)內(nèi)存分配和I/0接口</p><p> 1.程序空間(64k)</p><p> 表7.1 程序空間分配表</p><p><b> 2.I/O接口分配</b></p><p> 用戶程序區(qū)8255的端口地址如下表:&l
99、t;/p><p> 表7.2 8255的端口地址</p><p> 7.3 實驗程序原代碼</p><p> 從8255的PB口輸入開關(guān)量</p><p><b> ORG 0000H</b></p><p><b> LJMP MAIN</b></p>
100、<p><b> ORG 0100H</b></p><p> MAIN: MOV DPTR,#0C63H</p><p> MOV A,#82H</p><p> LCALL 0F4E0H</p><p> AGAIN:MOV DPTR,#0C61H</p><p> L
101、CALL 0F4E3H</p><p> MOV C,ACC.7</p><p><b> JC NEXT0</b></p><p> AGAIN1:MOV DPTR,#0C61H</p><p> LCALL 0F4E3H</p><p> MOV C, ACC.6</p&g
102、t;<p><b> JC RED</b></p><p> MOV DPTR,#0C61H</p><p> LCALL 0F4E3H</p><p> ANL A,#0FH</p><p><b> MOV R3,A</b></p><p>
103、AJMP AGAIN1</p><p> RED:MOV DPTR,#0C61H</p><p> LCALL 0F4E3H</p><p> ANL A,#0FH</p><p><b> MOV R2,A</b></p><p> AJMP AGAIN</p>&l
104、t;p> NEXT0:MOV R0,#03H </p><p> NEXT1:MOV DPTR,#TAB</p><p><b> MOV A,R0</b></p><p> MOVC A,@A+DPTR</p><p> MOV DPTR,#0C60H</p><p
105、> LCALL 0F4E0H</p><p> MOV DPTR,#0C62H </p><p> MOV A,#00H</p><p> LCALL 0F4E0H</p><p> ACALL DELAY</p><p> DJNZ R0,NEXT1</p><p><
106、;b> MOV A,R2</b></p><p> MOV R0,A </p><p> NEXT2:MOV DPTR,#TAB</p><p><b> MOV A,R0</b></p><p> MOVC A,@A+DPTR</p><p> MOV D
107、PTR,#0C60H</p><p> LCALL 0F4E0H</p><p> MOV DPTR,#0C62H</p><p> MOV A,#02H</p><p> LCALL 0F4E0H</p><p> ACALL DELAY</p><p> DJNZ R0,NEXT
108、2</p><p> MOV A,R3 </p><p> MOV R0,A </p><p> NEXT3:MOV DPTR,#TAB</p><p><b> MOV A,R0</b></p><p> MOVC A,@A+DPTR</p><p>
109、 MOV DPTR,#0C60H</p><p> LCALL 0F4E0H</p><p> MOV DPTR,#0C62H</p><p> MOV A,#04H</p><p> LCALL 0F4E0H</p><p> ACALL DELAY</p><p> DJNZ R
110、0,NEXT3</p><p> AJMP NEXT0</p><p> DELAY:MOV R4,#08H </p><p> DE2:LCALL DELAY1</p><p> DJNZ R4,DE2</p><p><b> RET</b></p><p&g
111、t; DELAY1:MOV R6,#0 </p><p><b> MOV R5,#0</b></p><p> DE1:DJNZ R5,$</p><p> DJNZ R6,DE1</p><p><b> RET</b></p><p> TAB: DB
112、 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H</p><p><b> END</b></p><p><b> 8 結(jié) 論</b></p><p> 本系統(tǒng)就是充分利用了AT89C52和8255芯片的I/O引角。系統(tǒng)采用AT89C5
113、2和可編程并行I/O接口芯片8255A為中心器件來設(shè)計交通燈控制器,實現(xiàn)了能根據(jù)實際車流量通過AT89C52芯片的P1口設(shè)置紅、綠燈燃亮時間的功能;為了系統(tǒng)穩(wěn)定可靠采用了MAX629“看門狗”芯片,避免了系統(tǒng)因為死機而停止工作的情況發(fā)生;顯示時間直接通過8255的PA、PB輸出;交通燈信號通過平常PC口輸出;交通燈的點亮采用VT雙向晶閘管來控制,直接采用220V交流電源驅(qū)動,系統(tǒng)設(shè)計簡便、實用性強、操作簡單、程序設(shè)計簡便。系統(tǒng)不足之處不
114、能控制車的左、右轉(zhuǎn)、以及自動根據(jù)車流改變紅綠燈時間等。這是由于本身地理位子以及車流量情況所定,如果有需要可以設(shè)計擴充原系統(tǒng)來實現(xiàn)</p><p> 通過這次畢業(yè)設(shè)計,使我得到了一次用專業(yè)知識、專業(yè)技能分析和解決問題全面系統(tǒng)的鍛煉。使我在單片機的基本原理、單片機應(yīng)用系統(tǒng)開發(fā)過程,以及在常用編程設(shè)計思路技巧(特別是匯編語言)的掌握方面都能向前邁了一大步,為日后成為合格的應(yīng)用型人才打下良好的基礎(chǔ)。</p>
115、<p><b> 致 謝</b></p><p> 本課題在選題及研究過程中得到 老師的悉心指導。任老師多次詢問研究進程,并為我指點迷津,幫助我開拓研究思路,精心點撥、熱忱鼓勵。任老師一絲不茍的作風,嚴謹求實的態(tài)度,踏踏實實的精神,不僅授我以文,而且教我做人,雖歷時四載,卻給以終生受益無窮之道。對任老師的感激之情是無法用言語表達的。</p><
116、;p> 通過這次畢業(yè)設(shè)計,使我得到了一次用專業(yè)知識、專業(yè)技能分析和解決問題全面系統(tǒng)的鍛煉。使我在單片機的基本原理、單片機應(yīng)用系統(tǒng)開發(fā)過程,以及在常用編程設(shè)計思路技巧的掌握方面都能向前邁了一大步,為日后成為合格的應(yīng)用型人才打下良好的基礎(chǔ)。我在指導老師任老師的精心指導和嚴格要求下,獲得了豐富的理論知識,極大地提高了實踐能力,并對當前電子領(lǐng)域的研究狀況和發(fā)展方向有了一定的了解,這對我今后進一步學習單片機方面的知識有極大的幫助。在此,我
117、忠心感謝 老師的指導和支持。在未來的工作和學習中,我將以更好的成績來回報老師。</p><p> 在此,我還要感謝在一起愉快的度過四年學校生活的電子系全體老師和同門,正是由于你們的幫助和支持,我才能克服一個一個的困難和疑惑,直至本文的順利完成。 在論文即將完成之際,我的心情無法平靜,從開始進入課題到論文的順利完成,有多少可敬的師長、同學、朋友給了我無言的幫助,在這里請接受我誠摯的謝意!最后我還
118、要感謝培養(yǎng)我長大含辛茹苦的父母,謝謝你們!</p><p><b> 參考文獻</b></p><p> [1]胡漢才.單片機原理及其接口技術(shù) [M]. 北京:清華大學出版,1996</p><p> [2]余錫存 曹國華.單片機原理及接口技術(shù)[M].陜西:西安電子科技大學出版社,2000.7</p><p>
119、[3]雷麗文 等.微機原理與接口技術(shù)[M].北京:電子工業(yè)出版社,1997.2</p><p> [4]蔣萬君 .在論循環(huán)時序電路的簡便設(shè)計[J] .機電一體化,2005 第5期</p><p> [5] 沈紅偉.單片機應(yīng)用系統(tǒng)設(shè)計實例與分析.北京航空航天大學出版社.2003年1月</p><p> [6] 萬光毅,嚴義.單片機實驗與實踐教程.北京航空航天大學
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 模擬交通燈畢業(yè)設(shè)計
- 畢業(yè)設(shè)計模擬交通燈
- 模擬交通燈畢業(yè)設(shè)計
- 模擬交通燈畢業(yè)設(shè)計
- 模擬交通燈畢業(yè)設(shè)計
- 模擬交通燈畢業(yè)設(shè)計 (2)
- 交通燈畢業(yè)設(shè)計
- 交通燈設(shè)計畢業(yè)設(shè)計
- 單片機模擬交通燈畢業(yè)設(shè)計
- 單片機模擬交通燈畢業(yè)設(shè)計
- 畢業(yè)設(shè)計----模擬交通燈控制系統(tǒng)
- 畢業(yè)設(shè)計—模擬交通燈控制系統(tǒng)
- 交通燈畢業(yè)設(shè)計論文
- 交通燈畢業(yè)設(shè)計3
- 畢業(yè)設(shè)計---智能交通燈
- 交通燈畢業(yè)設(shè)計論文
- plc交通燈畢業(yè)設(shè)計
- plc交通燈畢業(yè)設(shè)計
- 交通燈畢業(yè)設(shè)計論文
- 智能交通燈畢業(yè)設(shè)計
評論
0/150
提交評論