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

正文內(nèi)容

基于單片機(jī)的交通燈自動(dòng)控制畢業(yè)論文(參考版)

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

【正文】 所以測(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)立即予以備份。那么系統(tǒng)復(fù)位后可據(jù)此單元判系統(tǒng)原來(lái)的運(yùn)行狀態(tài),并跳到出錯(cuò)處理程序中恢復(fù)系統(tǒng)原運(yùn)行狀態(tài)。在已執(zhí)行測(cè)控 50 分鐘的情況下,系統(tǒng)電壓異常引起復(fù)位,此時(shí)若系統(tǒng)復(fù)位后又從頭開(kāi)始進(jìn)行測(cè)控則會(huì)造成不必要的時(shí)間消耗。 ◆ 正常開(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)尤為重要。當(dāng)系統(tǒng)正常運(yùn)行時(shí),設(shè)置一可掉電保護(hù)的觀測(cè)單元。若用兩個(gè)單元作上電標(biāo) 志,則這種判別方法的可靠性更高。 圖 51 硬、軟件復(fù)位識(shí)別流程圖 此外, 由于硬件復(fù)位時(shí)片內(nèi) RAM 狀態(tài)是隨機(jī)的,而軟件復(fù)位片內(nèi) RAM 則可保持復(fù)位前狀態(tài),因此可選取片內(nèi)某一個(gè)或兩個(gè)單元作為上電標(biāo)志。那么系統(tǒng)復(fù)位時(shí)只需檢測(cè) 標(biāo)志位或 SP 值便可判此是否硬件復(fù)位。而軟件復(fù)位則對(duì) SP、 SPW 無(wú)影響。 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í)別。限于篇幅不贅述。若檢測(cè)到某觀測(cè)變量變化不正常,比如應(yīng)當(dāng)加 1 而未加 1,則轉(zhuǎn)到出錯(cuò)處理程序作排除故障處理。這種軟件 “ 看門(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。采用這種環(huán)形結(jié)構(gòu)的軟件 “ 看門(mén)狗 ”具有良好的抗干擾性能,大大提高了系統(tǒng)可靠性。 筆者在實(shí)際應(yīng)用中,采用環(huán)形中斷監(jiān)視系統(tǒng)。則系統(tǒng)無(wú)法定時(shí) “ 喂狗 ” ,硬件看門(mén)狗電路失效。 “ 看門(mén)狗 ” 技術(shù)可由硬件實(shí)現(xiàn),也可由軟件實(shí)現(xiàn)。 3 軟件 “ 看門(mén)狗 ” 技術(shù) 若失控的程序進(jìn)入 “ 死循環(huán) ” ,通常采用 “ 看門(mén)狗 ” 技術(shù)使程序脫離 “ 死循環(huán) ” 。如果故障診斷程序與系統(tǒng)自恢復(fù)程序的設(shè)計(jì)可靠、 完善,用 “LJMP 0000H” 作返回指令可直接進(jìn)入故障診斷程序,盡早地處理故障并恢復(fù)程序的運(yùn)行。當(dāng)使用的中斷因干擾而開(kāi)放時(shí),在對(duì)應(yīng)的中斷服務(wù)程序中設(shè)置軟件陷阱,能及時(shí)捕獲錯(cuò)誤的中斷。最后一條應(yīng)填入 020210,當(dāng)亂飛程序落到此區(qū),即可自動(dòng)入軌。通常在 EPROM 中非程序區(qū)填入以下指令作為軟件陷阱: NOP NOP LJMP 0000H 其機(jī)器碼為 0000020210。通過(guò)軟件陷阱,攔截亂飛程序,將其引向指定位置,再進(jìn)行出 錯(cuò)處理。因此先要合理設(shè)計(jì)陷阱,其次要將陷阱安排在適當(dāng)?shù)奈恢谩? 2 攔截技術(shù) 所謂攔截,是指將亂飛的程序引向指定位置,再進(jìn)行出錯(cuò)處理。這樣即使亂飛程序飛到操作數(shù)上,由于空操作指令 NOP的存在,避免了后面的指令被當(dāng)作操作數(shù)執(zhí)行,程序自動(dòng)納入正軌。 在關(guān)鍵地方人為插入一些單字節(jié)指令,或?qū)⒂行巫止?jié)指令重寫(xiě)稱(chēng)為指令冗余。當(dāng) PC 受干擾出現(xiàn)錯(cuò)誤,程序便脫離正常軌道 “ 亂飛 ” ,當(dāng)亂飛到某雙字節(jié)指令,若取指令時(shí)刻落在操作數(shù)上,誤將操作數(shù)當(dāng)作操作碼,程序?qū)⒊鲥e(cuò)。 本文針對(duì)后者提出了幾種有效的軟件抗干擾方法。下面以 MCS51 單片機(jī)系統(tǒng)為例,對(duì)微機(jī)系統(tǒng)軟件抗干擾方法進(jìn)行研究。彩色辨詞正文等 * 使用工程( project)技術(shù) :一次將工程的全部源文件、頭文件、用戶(hù) 庫(kù)文件送入工程管理器 ,統(tǒng)一管理匯編 /編譯和連接 /定位 * 使用 MAKE 技術(shù):自動(dòng)辨用匯編器 /編譯器 。 * 中、高檔仿真器的人機(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)既所得 。 總線(xiàn)封閉的產(chǎn)品最可靠 使用單片機(jī) C語(yǔ)言編程 * C 語(yǔ)言是簡(jiǎn)潔、高效、而又最貼近硬件的高級(jí)編程語(yǔ)言 * 90 年代初單片機(jī) C語(yǔ)言就已成熟為專(zhuān)業(yè)水平的高級(jí)語(yǔ)言 ,不應(yīng)再有顧慮 * 當(dāng)前廠(chǎng)商在推出新的單片機(jī)產(chǎn)品時(shí)紛紛配套 C語(yǔ)言編譯器 使用中、高檔的單片機(jī)仿真工具 * 只有中、高檔仿真工具才能仿真總線(xiàn)封閉式的單片機(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)。 是最正統(tǒng)的單片機(jī)使用模式 交通燈演示: 在 Proteus 里可以根據(jù)自己的愛(ài)好設(shè)計(jì)界面背景的顏色,字體的大小、類(lèi)型以及邊框的粗細(xì)、顏色,以使自己的 設(shè)計(jì)更為美觀。 在 Proteus 里畫(huà)好的電路圖中,雙擊 AT89C52 單片機(jī)并單擊黃色文件夾選擇一個(gè)后綴名為交通燈 .hex 的文件,這樣就把程序燒到單片機(jī)中,結(jié)果如圖 43所示: 圖 43 Proteus 程序燒到單片機(jī)中 其中的 Program File 一項(xiàng) 那是我們選擇后綴為 hex 的文件的它將關(guān)系到單 片機(jī)的功能實(shí)現(xiàn)。 SNL=SNL1。 SN=SN1。//EW 黃燈亮,等待停止信號(hào), SN 紅燈 Display()。 while(Time_EW=0) {Flag_EW_Yellow=1。//EW 左拐綠燈亮, SN紅燈 Display()。 //EW 關(guān)黃燈顯示信號(hào) Time_EW=EWL。//EW 黃燈亮,等待左拐信號(hào), SN 紅燈 Display()。 while(Time_EW=0) {Flag_EW_Yellow=1。 //EW 通行, SN紅燈 Display()。 Time_SN=EW。//SN 人行道禁止 Flag_SN_Yellow=0。 /*******S4 狀態(tài) **********/ EW_ManGreen=~EW_ManGreen。 EWL=EWL1。} /***********賦值 **********/ EW=EW1。 //SN 開(kāi)黃燈信號(hào)位 EW_Red=1。} /*******S3 狀態(tài) **********/ P1=0x00。 while(Time_SN=5) {P1=S[2]。 } /*******S2 狀態(tài) **********/ Flag_SN_Yellow=0。 //SN 開(kāi)黃燈信號(hào)位 EW_Red=1。} /*******S1 狀態(tài) **********/ P1=0x00。 while(Time_SN=5) {P1=S[0]。 //EW 關(guān)黃燈顯示信號(hào) Time_EW=EW。 //EW 人行道禁止 SN_ManGreen=1。//開(kāi)外部 INTO 中 斷 TR0=1。 //CPU 開(kāi)中斷總允許 ET0=1。//定時(shí)器賦初值 TL0=(6553650000)%256。 //INT0 負(fù)跳變觸發(fā) TMOD=0x01。 Special_LED=0。} count=0。 if(Flag_SN_Yellow==1)//測(cè)試南北黃燈標(biāo)志位 {SN_Yellow=~SN_Yellow。} } if(count==20) { Time_EW。 if(count==10) { if(Flag_SN_Yellow==1) //測(cè)試南北黃燈標(biāo)志位 {SN_Yellow=~SN_Yellow。 TL0=(6553650000)%256。//開(kāi)中 斷 } /**********************T0 中斷服務(wù)程序 *******************/ void timer0(void)interrupt 1 using 1 { static uchar count。//關(guān)繁忙信號(hào)燈 Special_LED =1。 SNL1=19。 SN1=55。//關(guān)特殊信號(hào)燈 Busy_LED=1。 SNL1=14。 SN1=30。//關(guān)繁忙信號(hào)燈 Special_LED =0。 SNL1=19。 SN1=40。 SN1=20。 SN1=5。 SN1=79。 SN1+=5。 } /**********************外部 0中斷服務(wù)程序 ************************/ void EXINT0(void)interrupt 0 using 1 { EX0=0。 Delay(2)。 P0=table[h]。 Delay(2)。 P0=table[l]。 h= EW1/10。 Delay(2)。 P0=table[h]。 Delay(2)。 P0=table[l]。 h=Time_SN/10。 Delay(2)。 P0=table[h]。 Delay(2)。 P0=table[l]。 h=Time_EW/10。 while(i){。//交通信號(hào)燈控制代碼 /**********************延時(shí)子程序 ************************/ void Delay(uchar a) { uchar i。//用于存放修改值的變量 uchar code table[10]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F}。//南北方向倒計(jì)時(shí)單元 uchar EW=60,SN=40,EWL=19,SNL=19。//EW 黃燈標(biāo)志位 char Time_EW。//時(shí)間減 bit Flag_SN_Yellow。//交通特殊按鍵 sbit Add_Button=P3^3。//交通正常按鍵 sbit Busy_Btton=P3^6。//交通正常指示燈 sbit Busy_LED=P2^7。//EW 人行道綠燈 sbit SN_ManGreen=P3^1。//EW 紅燈 sbit SN_Red=P1^7。//SN 黃燈 sbit EW_Yellow=P1^2。 //SN_LED2 控制位 sbit SN_LED1=P2^0。 //EW_LED2 控制位 sbit EW_LED1=P2^2。//Time_Show_LED2 控制位 sbit Time_Show_LED1=P2^4。 注:相應(yīng)的人行橫道燈也相應(yīng)方程式的變化而變化。南北兩個(gè)方向的通車(chē)時(shí)間 減少 5秒。東西方向的通車(chē)時(shí)間延長(zhǎng) 5 秒。 2) 按 時(shí)間 +開(kāi)關(guān)按鈕時(shí) 。方程式控 制,具體如下: 1) 按一次 繁忙 開(kāi)關(guān)按鈕時(shí),系統(tǒng)以 繁忙方式 控制交通燈系統(tǒng)。 ( 4)紅、綠信號(hào)燈轉(zhuǎn)換時(shí),需亮 3s的黃燈作為過(guò)渡,以使行駛中的車(chē)輛有時(shí)間??康浇芯€(xiàn)以外。 ( 2)正常狀態(tài)下主干道通車(chē)時(shí)間為 60s,次干道通車(chē)時(shí)間為 40s。 繁忙 情況用 控制,當(dāng)不同時(shí)段,車(chē)流量增加的程度不一樣時(shí),可通過(guò)方程式控制按鈕開(kāi)關(guān) 繁忙 狀態(tài)來(lái)選擇合適的周期。按以上系統(tǒng)構(gòu)架設(shè)計(jì), AT89C52 單片機(jī)端口剛好滿(mǎn)足要求。 采用 AT89C52 單片機(jī)作為控制器,通行倒計(jì)時(shí)顯示采用 LED數(shù)碼管,通行指示燈采用發(fā)光二極管, LED 顯示采用動(dòng)態(tài)掃描,以節(jié)省端口數(shù)。并能在高峰期根據(jù)實(shí)際狀況結(jié)合方程式控制按鈕來(lái)調(diào)整主次干道的通車(chē)時(shí)間,降低交通擁擠堵塞現(xiàn)象。 設(shè)計(jì)一個(gè)十字路口交通燈控制電路,根據(jù)設(shè)定好的周期時(shí)間能夠指揮車(chē)輛在十字路口完成 左轉(zhuǎn)和直行
點(diǎn)擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1