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

正文內(nèi)容

基于單片機(jī)的交通燈自動(dòng)控制畢業(yè)論文-資料下載頁(yè)

2025-02-26 11:55本頁(yè)面

【導(dǎo)讀】機(jī)自動(dòng)控制交通燈及時(shí)間顯示的方法。同時(shí)給出了軟硬件設(shè)計(jì)方法,設(shè)計(jì)過(guò)程包括硬。本文對(duì)十字路口狀態(tài)預(yù)設(shè)為,兩種,一種是正常狀態(tài),另一種是繁忙狀態(tài)。并分別用紅、黃、綠燈的不同組合來(lái)指揮兩個(gè)方向通車(chē)與禁行,用LED. 與狀態(tài)燈保持同步,在保持交通安全的同時(shí)最大限度的提高交通能順暢交替運(yùn)行。交通規(guī)則及背景信息。城市交通問(wèn)題是困擾城市發(fā)展、制約城市經(jīng)濟(jì)建設(shè)的重要因素。城市道路增長(zhǎng)的有限與車(chē)輛增加的無(wú)限這一對(duì)矛盾是導(dǎo)致城市交通擁擠的根本原因。內(nèi)還不可能改變。實(shí)際進(jìn)展,交通控制領(lǐng)域的控制邏輯方面始終沒(méi)能取得重大突破??梢钥隙ǖ恼f(shuō),對(duì)于減輕交通擁塞及其副作用一特別是對(duì)于大的交通網(wǎng)絡(luò)而言,仍然缺乏一種真正的交通響應(yīng)控制策略。由此造成的影響是很多交通控制策略根本不能實(shí)現(xiàn)。制策略確實(shí)能得以實(shí)現(xiàn),但他們卻沒(méi)能對(duì)早期的控制策略進(jìn)行改進(jìn)。決策的阻塞處理則是智能交通控制優(yōu)化管理的關(guān)鍵和突破口。因此,研究基于智能集

  

【正文】 態(tài) **********/ P1=0X00。 while(Time_EW=0) {Flag_EW_Yellow=1。//EW 開(kāi)黃燈信號(hào)位 SN_Red=1。//EW 黃燈亮,等待左拐信號(hào), SN 紅燈 Display()。} /*******S6 狀態(tài) **********/ Flag_EW_Yellow=0。 //EW 關(guān)黃燈顯示信號(hào) Time_EW=EWL。 while(Time_EW=5) {P1=S[6]。//EW 左拐綠燈亮, SN紅燈 Display()。} /*******S7 狀態(tài) **********/ P1=0X00。 while(Time_EW=0) {Flag_EW_Yellow=1。 //EN 開(kāi)黃燈信號(hào)位 SN_Red=1。//EW 黃燈亮,等待停止信號(hào), SN 紅燈 Display()。} /***********賦值 **********/ EW=EW1。 SN=SN1。 EWL=EWL1。 SNL=SNL1。 } } 然后可把此程序編譯,保證全部編譯完,最后會(huì)生成一個(gè)以 HEX 后綴的文件,把此文件復(fù)制到 Proteus 的文件夾下,就可以了。 在 Proteus 里畫(huà)好的電路圖中,雙擊 AT89C52 單片機(jī)并單擊黃色文件夾選擇一個(gè)后綴名為交通燈 .hex 的文件,這樣就把程序燒到單片機(jī)中,結(jié)果如圖 43所示: 圖 43 Proteus 程序燒到單片機(jī)中 其中的 Program File 一項(xiàng) 那是我們選擇后綴為 hex 的文件的它將關(guān)系到單 片機(jī)的功能實(shí)現(xiàn)。單擊那個(gè)文件夾圖標(biāo)就會(huì)出現(xiàn)下圖 44: 圖 44 文件夾圖標(biāo) 然后就可以從其中選擇我們需要的文件,點(diǎn)擊打開(kāi)按鈕并單擊 ok 鍵,初步設(shè)置就算是完成了。 交通燈演示: 在 Proteus 里可以根據(jù)自己的愛(ài)好設(shè)計(jì)界面背景的顏色,字體的大小、類(lèi)型以及邊框的粗細(xì)、顏色,以使自己的 設(shè)計(jì)更為美觀。通過(guò)上面的操作我們就可以仿真自己的設(shè)計(jì)了,回到設(shè)計(jì)的主面上,點(diǎn)擊 Debug 按鈕就出現(xiàn)下圖 45 效果: 圖 46 運(yùn)行圖 第 5 章 單片機(jī)開(kāi)發(fā)的注意事項(xiàng) 單片機(jī)開(kāi)發(fā)調(diào)試應(yīng)注意的問(wèn)題 使用總線不外引的單片機(jī) 是最正統(tǒng)的單片機(jī)使用模式 符合小型、簡(jiǎn)單、可靠、廉價(jià)的單片機(jī)設(shè)計(jì)初衷 總線封閉的產(chǎn)品最可靠 使用單片機(jī) C語(yǔ)言編程 * C 語(yǔ)言是簡(jiǎn)潔、高效、而又最貼近硬件的高級(jí)編程語(yǔ)言 * 90 年代初單片機(jī) C語(yǔ)言就已成熟為專(zhuān)業(yè)水平的高級(jí)語(yǔ)言 ,不應(yīng)再有顧慮 * 當(dāng)前廠商在推出新的單片機(jī)產(chǎn)品時(shí)紛紛配套 C語(yǔ)言編譯器 使用中、高檔的單片機(jī)仿真工具 * 只有中、高檔仿真工具才能仿真總線封閉式的單片機(jī) * 仿真器必須使用 bandout chip 或 hooks chip * 應(yīng)支持高級(jí)語(yǔ)言的調(diào)試 ,提供全數(shù)據(jù)類(lèi)型的查看和修改 * 支持多家軟件公司匯編和編譯產(chǎn)生的目標(biāo)代碼格式 * 中檔仿真器的起步要求是至少 解決了上述前 3 個(gè)難點(diǎn)和部分地解決了第 4個(gè)難點(diǎn)。高檔仿真器則還有更高的要求。 * 中、高檔仿真器的人機(jī)界面有四個(gè)檔次: DOS 下的簡(jiǎn)單命令行及批處理文件 ,DOS 下的窗口命令行 ,Borland 風(fēng)格的 DOS 窗口菜單 ,Microsoft 風(fēng)格的WINDOWS/WIN95 窗口菜單 集成開(kāi)發(fā)平臺(tái) * 編輯 — 匯編 /編譯 — 連接 /定位 — 調(diào)試 — 裝入目標(biāo)系統(tǒng)一條龍 * 全屏幕編輯 ,就地修改 ,所見(jiàn)既所得 ??缥募麎K剪貼技術(shù) 。彩色辨詞正文等 * 使用工程( project)技術(shù) :一次將工程的全部源文件、頭文件、用戶 庫(kù)文件送入工程管理器 ,統(tǒng)一管理匯編 /編譯和連接 /定位 * 使用 MAKE 技術(shù):自動(dòng)辨用匯編器 /編譯器 。每次調(diào)試循環(huán)僅做增量匯編 /編譯和連接 /定位 * 當(dāng)有的文件被破壞 ,使用 build 技術(shù)跳出 MAKE 循環(huán) ,重新全面地進(jìn)行匯編 /編譯和連接 /定位 * 錯(cuò)誤和警告自動(dòng)定位、明朗的錯(cuò)誤自動(dòng)修正 * 擴(kuò)展的運(yùn)行類(lèi)型(放開(kāi)運(yùn)行、動(dòng)畫(huà)式運(yùn)行 ,遇光標(biāo)終止、出函數(shù)前終止、出函數(shù)后終止) * 擴(kuò)展的單步類(lèi) 型(指令單步、語(yǔ)句單步、函數(shù)單步) * 擴(kuò)展的斷點(diǎn)類(lèi)型(指令斷點(diǎn)、語(yǔ)句斷點(diǎn)、循環(huán)斷點(diǎn)、內(nèi)容斷點(diǎn)、條件斷點(diǎn)) * 模擬器代替仿真器進(jìn)行無(wú)目標(biāo)機(jī)的虛擬調(diào)試 單片機(jī)系統(tǒng)軟件抗干擾方法 在 提高硬件系統(tǒng)抗干擾能力的同時(shí),軟件抗干擾以其設(shè)計(jì)靈活、節(jié)省硬件資源、可靠性好越來(lái)越受到重視。下面以 MCS51 單片機(jī)系統(tǒng)為例,對(duì)微機(jī)系統(tǒng)軟件抗干擾方法進(jìn)行研究。 軟件抗干擾方法的研究 在工程實(shí)踐中,軟件抗干擾研究的內(nèi)容主要是: 一、消除模擬輸入信號(hào)的嗓聲(如數(shù)字濾波 技術(shù)); 二、程序運(yùn)行混亂時(shí)使程序重入正軌的方法。 本文針對(duì)后者提出了幾種有效的軟件抗干擾方法。 1指令冗余 CPU 取指令過(guò)程是先取操作碼,再取操作數(shù)。當(dāng) PC 受干擾出現(xiàn)錯(cuò)誤,程序便脫離正常軌道 “ 亂飛 ” ,當(dāng)亂飛到某雙字節(jié)指令,若取指令時(shí)刻落在操作數(shù)上,誤將操作數(shù)當(dāng)作操作碼,程序?qū)⒊鲥e(cuò)。若 “ 飛 ” 到了三字節(jié)指令,出錯(cuò)機(jī)率更大。 在關(guān)鍵地方人為插入一些單字節(jié)指令,或?qū)⒂行巫止?jié)指令重寫(xiě)稱(chēng)為指令冗余。通常是在雙字節(jié)指令和三字節(jié)指令后插入兩個(gè)字節(jié)以上的 NOP。這樣即使亂飛程序飛到操作數(shù)上,由于空操作指令 NOP的存在,避免了后面的指令被當(dāng)作操作數(shù)執(zhí)行,程序自動(dòng)納入正軌。 此外,對(duì)系統(tǒng)流向起重要作用的指令如 RET、 RETI、 LCALL、 LJMP、 JC 等指令之前插入兩條 NOP,也可將亂飛程序納入正軌,確保這些重要指令的執(zhí)行。 2 攔截技術(shù) 所謂攔截,是指將亂飛的程序引向指定位置,再進(jìn)行出錯(cuò)處理。通常用軟件陷阱來(lái)攔截亂飛的程序。因此先要合理設(shè)計(jì)陷阱,其次要將陷阱安排在適當(dāng)?shù)奈恢谩? ◆ 軟件陷阱的設(shè)計(jì) 當(dāng)亂飛程序進(jìn)入非程序區(qū),冗余指令便無(wú)法起作用。通過(guò)軟件陷阱,攔截亂飛程序,將其引向指定位置,再進(jìn)行出 錯(cuò)處理。軟件陷阱是指用來(lái)將捕獲的亂飛程序引向復(fù)位入口地址 0000H 的指令。通常在 EPROM 中非程序區(qū)填入以下指令作為軟件陷阱: NOP NOP LJMP 0000H 其機(jī)器碼為 0000020210。 ◆ 陷阱的安排 通常在程序中未使用的 EPROM 空間填 0000020210。最后一條應(yīng)填入 020210,當(dāng)亂飛程序落到此區(qū),即可自動(dòng)入軌。在用戶程序區(qū)各模塊之間的空余單元也可填入陷阱指令。當(dāng)使用的中斷因干擾而開(kāi)放時(shí),在對(duì)應(yīng)的中斷服務(wù)程序中設(shè)置軟件陷阱,能及時(shí)捕獲錯(cuò)誤的中斷。如某應(yīng)用系統(tǒng)雖未用到外部中斷 1, 外部中斷 1的中斷服務(wù)程序可為如下形式: NOP NOP RETI 返回指令可用 “RETI” ,也可用 “LJMP 0000H” 。如果故障診斷程序與系統(tǒng)自恢復(fù)程序的設(shè)計(jì)可靠、 完善,用 “LJMP 0000H” 作返回指令可直接進(jìn)入故障診斷程序,盡早地處理故障并恢復(fù)程序的運(yùn)行。 考慮到程序存貯器的容量,軟件陷阱一般 1K空間有 23 個(gè)就可以進(jìn)行有效攔截。 3 軟件 “ 看門(mén)狗 ” 技術(shù) 若失控的程序進(jìn)入 “ 死循環(huán) ” ,通常采用 “ 看門(mén)狗 ” 技術(shù)使程序脫離 “ 死循環(huán) ” 。通過(guò)不斷檢測(cè)程序循環(huán)運(yùn)行時(shí)間,若發(fā)現(xiàn)程序循環(huán)時(shí)間超過(guò)最大循環(huán)運(yùn)行時(shí)間, 則認(rèn)為系統(tǒng)陷入 “ 死循環(huán) ” ,需進(jìn)行出錯(cuò)處理。 “ 看門(mén)狗 ” 技術(shù)可由硬件實(shí)現(xiàn),也可由軟件實(shí)現(xiàn)。 在工業(yè)應(yīng)用中,嚴(yán)重的干擾有時(shí)會(huì)破壞中斷方式控制字,關(guān)閉中斷。則系統(tǒng)無(wú)法定時(shí) “ 喂狗 ” ,硬件看門(mén)狗電路失效。而軟件看門(mén)狗可有效地解決這類(lèi)問(wèn)題。 筆者在實(shí)際應(yīng)用中,采用環(huán)形中斷監(jiān)視系統(tǒng)。用定時(shí)器 T0監(jiān)視定時(shí)器 T1,用定時(shí)器 T1監(jiān)視主程序,主程序監(jiān)視定時(shí)器 T0。采用這種環(huán)形結(jié)構(gòu)的軟件 “ 看門(mén)狗 ”具有良好的抗干擾性能,大大提高了系統(tǒng)可靠性。對(duì)于需經(jīng)常使用 T1 定時(shí)器進(jìn) 行串口通訊的測(cè)控系統(tǒng),則定時(shí)器 T1 不能進(jìn)行中斷,可改由串口中斷進(jìn)行 監(jiān)控(如果用的是 MCS52系列單片機(jī),也可用 T2 代替 T1進(jìn)行監(jiān)視)。這種軟件 “ 看門(mén)狗 ” 監(jiān)視原理是:在主程序、 T0 中斷服務(wù)程序、 T1 中斷服務(wù)程序中各設(shè)一運(yùn)行觀測(cè)變量,假設(shè)為 MWatch、 T0Watch 、 T1Watch,主程序每循環(huán)一次, MWatch加1,同樣 T0、 T1 中斷服務(wù)程序執(zhí)行一次, T0Watch、 T1Watch 加1。在 T0中斷服務(wù)程序中通過(guò)檢測(cè) T1Watch 的變化情況判定 T1 運(yùn)行是否正常,在 T1中斷服務(wù)程序中檢測(cè) MWatch 的變化情況判定主程序是否正常運(yùn)行,在主程序中通過(guò)檢測(cè) T0Watch 的變化 情況判別 T0是否正常工作。若檢測(cè)到某觀測(cè)變量變化不正常,比如應(yīng)當(dāng)加 1 而未加 1,則轉(zhuǎn)到出錯(cuò)處理程序作排除故障處理。當(dāng)然,對(duì)主程序最大循環(huán)周期、定時(shí)器 T0和 T1定時(shí)周期應(yīng)予以全盤(pán)合理考慮。限于篇幅不贅述。 系統(tǒng)故障處理、自恢復(fù)程序的設(shè)計(jì) 單片機(jī)系統(tǒng)因干擾復(fù)位或掉電后復(fù)位均屬非正常復(fù)位,應(yīng)進(jìn)行故障診斷并能自動(dòng)恢復(fù)非正常復(fù)位前的狀態(tài)。 1 非正常復(fù)位的識(shí)別 程序的執(zhí)行總是從 0000H 開(kāi)始,導(dǎo)致程序從 0000H 開(kāi)始執(zhí)行有四種可能: 一、系統(tǒng)開(kāi)機(jī)上電復(fù)位; 二、軟件故障復(fù)位; 三、看門(mén)狗超時(shí)未喂狗硬件復(fù) 位; 四、任務(wù)正在執(zhí)行中掉電后來(lái)電復(fù)位 ; 四種情況中除第一種情況外均屬非正常復(fù)位,需加以識(shí)別。 ◆ 硬件復(fù)位與軟件復(fù)位的識(shí)別 此處硬件復(fù)位指開(kāi)機(jī)復(fù)位與看門(mén)狗復(fù)位,硬件復(fù)位對(duì)寄存器有影響,如復(fù)位后PC=0000H, SP= 07H, PSW= 00H 等。而軟件復(fù)位則對(duì) SP、 SPW 無(wú)影響。故對(duì)于微機(jī)測(cè)控系統(tǒng),當(dāng)程序正常運(yùn)行時(shí),將 SP 設(shè)置地址大于 07H,或者將 PSW的第 5位用戶標(biāo)志位在系統(tǒng)正常運(yùn)行時(shí)設(shè)為 1。那么系統(tǒng)復(fù)位時(shí)只需檢測(cè) 標(biāo)志位或 SP 值便可判此是否硬件復(fù)位。圖 51是采用 作上電標(biāo)志位判別硬、 軟件復(fù)位的程序流程圖。 圖 51 硬、軟件復(fù)位識(shí)別流程圖 此外, 由于硬件復(fù)位時(shí)片內(nèi) RAM 狀態(tài)是隨機(jī)的,而軟件復(fù)位片內(nèi) RAM 則可保持復(fù)位前狀態(tài),因此可選取片內(nèi)某一個(gè)或兩個(gè)單元作為上電標(biāo)志。設(shè) 40H 用來(lái)做上電標(biāo)志,上電標(biāo)志字為 78H,若系統(tǒng)復(fù)位 后 40H 單元內(nèi)容不等于 78H,則認(rèn)為是硬件復(fù)位,否則認(rèn)為是軟件復(fù)位,轉(zhuǎn)向出錯(cuò)處理。若用兩個(gè)單元作上電標(biāo) 志,則這種判別方法的可靠性更高。 ◆ 開(kāi)機(jī)復(fù)位與看門(mén)狗故障復(fù)位的識(shí)別 開(kāi)機(jī)復(fù)位與看門(mén)狗故障復(fù)位因同屬硬件復(fù)位,所以要想予以正確識(shí)別,一般要借助非易失性 RAM 或者 EEROM。當(dāng)系統(tǒng)正常運(yùn)行時(shí),設(shè)置一可掉電保護(hù)的觀測(cè)單元。當(dāng)系統(tǒng)正常運(yùn)行時(shí),在定時(shí)喂狗的中斷服務(wù)程序中使該觀測(cè)單元保持正常值(設(shè)為 AAH),而在主程中將該單元清零,因觀測(cè)單元掉電可保護(hù),則開(kāi)機(jī)時(shí)通過(guò)檢測(cè)該單元是否為正常值可判斷是否看門(mén)狗復(fù)位。 ◆ 正常開(kāi)機(jī)復(fù)位與非正常開(kāi)機(jī)復(fù)位的識(shí)別 識(shí)別測(cè)控系統(tǒng)中因意外情況如系統(tǒng)掉電等情況引起的開(kāi)機(jī)復(fù)位與正常開(kāi)機(jī)復(fù)位,對(duì)于過(guò)程控制系統(tǒng)尤為重要。如某以時(shí)間為控制標(biāo)準(zhǔn)的測(cè)控系統(tǒng),完成一次測(cè)控任務(wù)需 1 小時(shí)。在已執(zhí)行測(cè)控 50 分鐘的情況下,系統(tǒng)電壓異常引起復(fù)位,此時(shí)若系統(tǒng)復(fù)位后又從頭開(kāi)始進(jìn)行測(cè)控則會(huì)造成不必要的時(shí)間消耗。因此可通過(guò)一監(jiān)測(cè)單元對(duì)當(dāng)前系統(tǒng)的運(yùn)行狀態(tài)、系統(tǒng)時(shí)間予以監(jiān)控,將控制過(guò)程分解為若干步或若干時(shí)間段,每執(zhí)行完一步或每運(yùn)行一個(gè)時(shí)間段則對(duì)監(jiān)測(cè)單元置為關(guān)機(jī)允許值,不同的任務(wù)或任務(wù)的不同階段有不同的值,若系統(tǒng)正在進(jìn)行測(cè) 控任務(wù)或正在執(zhí)某時(shí)間段,則將監(jiān)測(cè)單元置為非正常關(guān)機(jī)值。那么系統(tǒng)復(fù)位后可據(jù)此單元判系統(tǒng)原來(lái)的運(yùn)行狀態(tài),并跳到出錯(cuò)處理程序中恢復(fù)系統(tǒng)原運(yùn)行狀態(tài)。 2 非正常復(fù)位后系統(tǒng)自恢復(fù)運(yùn)行的程序設(shè)計(jì) 對(duì)順序要求嚴(yán)格的一些過(guò)程控制系統(tǒng),系統(tǒng)非正常復(fù)位否,一般都要求從失控的那一個(gè)模塊或任務(wù)恢復(fù)運(yùn)行。所以測(cè)控系統(tǒng)要作好重要數(shù)據(jù)單元、參數(shù)的備份,如系統(tǒng)運(yùn)行狀態(tài)、系統(tǒng)的進(jìn)程值、當(dāng)前輸入、輸出的值,當(dāng)前時(shí)鐘值、觀測(cè)單元值等,這些數(shù)據(jù)既要定時(shí)備份,同時(shí)若有修改也應(yīng)立即予以備份。 當(dāng)在已判別出系統(tǒng)非正常復(fù)位的情況下,先要恢復(fù)一些必要的系統(tǒng) 數(shù)據(jù),如顯示模塊的初始化、片外擴(kuò)展芯片的
點(diǎn)擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1