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

正文內(nèi)容

40-畢業(yè)設(shè)計(jì)論文-基于單片機(jī)的汽車行駛狀態(tài)記錄儀系統(tǒng)的軟件設(shè)計(jì)(存儲版)

2025-09-05 05:05上一頁面

下一頁面
  

【正文】 [2] [D].2005年 成都 電子科技大學(xué) [3] Peter L J.Wouters,John M.J.Bos.Traffic Accident Reduction by Monitoring Driver Behaviour with in sbit B=P2^7。 //日歷時(shí)鐘片選信號管腳sbit DS1302I_O=P1^4。 //0xff表示未按鍵狀態(tài)uchar disp_b[]={km}。 //車輛狀態(tài)初始化uint tingche=0。 //顯示車號,并按鍵輸入車號信息key=zlg7289_key ()。 } else if(key=0amp。amp。 break。 //日歷顯示 delay_xms (1)。 } ICcunchu ( 1,1,0,DISP_NUM,10 ) //每分鐘存10(實(shí)時(shí)時(shí)間里程速度停車數(shù)到站數(shù)1)字節(jié)數(shù)據(jù) }key=zlg7289_key ()。j++ )。 //定時(shí)器0工作在方式1,定時(shí)器1工作在方式2 TH0=0x3c。}/*定時(shí)器0中斷子程序 */void timer0 ( void ) inter。 //允許外部中斷0中斷 IT0=1。 while ( x ) { for ( j=0。 if ( key==0x0a ) //如果到站鍵(0x0a)按下 tingche++。while (1) //死循環(huán){ If ( car_state==0 ) //車輛啟動并處于停止?fàn)顟B(tài) { while (1) //等待 { delay_xms (1)。amp。 //兩位數(shù)工號的第一位數(shù)while (1){ if (key==0xff) //若沒有鍵按下,則等待 { while (1) {delay_xms (10)。 }key=zlg7289_key ()。 //zlg7289初始化 delay_xms (1)。 uchar counter40=0。 //片外數(shù)據(jù)存儲器寫選通信號管腳sbit fm1808_OE=P3^7。 //IC卡時(shí)鐘信號管腳sbit SIDataFlash=P1^1。 //74ALS574時(shí)鐘信號管腳sbit 373LE=ALE。深深感謝敬愛的父母和親人對我的支持和鼓勵(lì),他們給了我無微不至的關(guān)懷,使我能全力以赴地投入大學(xué)的學(xué)習(xí)中。軟件設(shè)計(jì)上實(shí)現(xiàn)了對駕駛員信息、車輛信息、速度、里程、超速度、停車次數(shù)、到站情況等數(shù)據(jù)的記錄,具有超速報(bào)警的功能,并能在液晶顯示屏上實(shí)時(shí)顯示時(shí)間和行駛里程。當(dāng)彈飛的程序落到非程序區(qū)(如EPROM 中未使用的空間、程序中的數(shù)據(jù)表格區(qū))時(shí)前一個(gè)條件即不滿足,當(dāng)彈飛的程序在沒有碰到冗余指令之前,已經(jīng)自動形成一個(gè)死循環(huán),這時(shí)第二個(gè)條件也不滿足。但不能加入太多的冗余指令,以免明顯降低程序正常運(yùn)行的效率。當(dāng)CPU受到干擾后,往往將一些操作數(shù)當(dāng)作指令碼來執(zhí)行,引起程序混亂。在實(shí)際程序執(zhí)行中,數(shù)組show_t[]用來存儲十進(jìn)制數(shù),先將c向右移動4位,目的在于屏蔽掉BCD碼的低4位,以便獲取十進(jìn)制數(shù)的十位,并將該數(shù)存入show_[0]中;后將c同0FH相“與”,目的在于屏蔽掉BCD碼的高4位,得到低4位,從而獲得十進(jìn)制數(shù)的個(gè)位,同時(shí)指針加1,即將該數(shù)存入show_[1]中,最終完成碼制的轉(zhuǎn)換。小時(shí)寄存器:D7用于定義芯片在12小時(shí)與24小時(shí)之間的切換,當(dāng)此位為“1”時(shí),選擇12小時(shí)模式,當(dāng)此位為“0”時(shí)選擇24小時(shí)。圖411 DS1302單字節(jié)寫時(shí)序圖圖412 DS1302單字節(jié)讀時(shí)序圖控制字總是從最低位開始輸出。這種工作方式可以避免在程序中因重新裝入初值而對定時(shí)精度的影響,非常適用于作為波特率發(fā)生器等需要產(chǎn)生相當(dāng)精度的定時(shí)時(shí)間的應(yīng)用場合[23]。定義如下:8FH 8EH 8DH 8CH 8BH 8AH 89H 88HTF1TR1TF0TR0IE1IT1IE0IT0TFTF0:定時(shí)器0溢出標(biāo)志,T1(T0)溢出時(shí)由硬件置1并申請中斷,CPU響應(yīng)中斷后,由硬件清0也可由軟件清零;TRTR0:定時(shí)器0運(yùn)行控制位,可由軟件置1或清0來啟動或停止T1(T0);ITIT0:外部中斷0觸發(fā)方式選擇位。如果在寫的過程中CS引腳由低變高,芯片仍將繼續(xù)完成該操作。如果寫到緩存區(qū)的最后一個(gè)地址,下一個(gè)寫入的數(shù)據(jù)將會寫到緩存區(qū)的第一個(gè)地址。最后兩位為無關(guān)位。狀態(tài)寄存器決定了器件的忙/閑狀態(tài)、頁大小、主存和緩存頁比對結(jié)果、頁保護(hù)狀態(tài)和芯片密度。下面將分別介紹每個(gè)部分的實(shí)現(xiàn)情況:程序?yàn)関oid At45WriteByte(uchar Bytename),形參Bytename表示要寫入的1bit數(shù)據(jù)。具體鍵值0X00~0X09為數(shù)字鍵,分別表示從0~9的10個(gè)數(shù)字,鍵值0X0A為到站鍵,鍵值0X0B為終點(diǎn)站到站鍵。如果程序中采用低電平觸發(fā)中斷,則進(jìn)入中斷完成讀取鍵值操作后,還必須要等待INT信號恢復(fù)為高電平,即等待操作者放鍵,在等待期間,CPU幾乎不能再干其它事情,造成浪費(fèi)。某個(gè)按鍵按下時(shí),ZLG7289的INT引腳會出現(xiàn)低電平,向主控制器發(fā)出中斷請求。該芯片與單片機(jī)之間采用SPI串行總線接口,操作方便,占用I/O資源少。2.顯示狀態(tài)開/關(guān)指令:D7 D6 D5 D4 D3 D2 D1 D000001DCB其中D=1:整體顯示ON,C=1:游標(biāo)ON,B=1:游標(biāo)位置ON。在確認(rèn)停車后,通過調(diào)用按鍵中斷子程序,確認(rèn)是否按下到站鍵,若到站鍵未按下,表明車輛只是普通的途中停車,記錄停車時(shí)間后,停車次數(shù)加1,并將這些信息存入IC卡后,繼續(xù)判斷車輛是否行駛,形成循環(huán)。初始化完成后,液晶主屏顯示提示信息:車號、工號及起始站,用戶可以通過鍵盤輸入相關(guān)信息。這種模塊化程序便于設(shè)計(jì)和調(diào)試,有容易完成并可提供多個(gè)程序共享等優(yōu)點(diǎn),但各模塊之間的連接有一定的難度。軟件的設(shè)計(jì)原則應(yīng)遵循以下幾個(gè)方面:★ 設(shè)計(jì)對于分析模型應(yīng)是可跟蹤的:軟件的模塊可能被映射到多個(gè)需求上;★ 設(shè)計(jì)結(jié)構(gòu)應(yīng)該盡可能的模擬實(shí)際問題;★ 設(shè)計(jì)應(yīng)該表現(xiàn)出一致性;★ 不要把設(shè)計(jì)當(dāng)成編寫代碼;★ 在創(chuàng)建設(shè)計(jì)時(shí)就應(yīng)該能夠評估質(zhì)量;★ 評審設(shè)計(jì)以減少語言性的錯(cuò)誤。⑦ 生成的目標(biāo)代碼質(zhì)量高。③ 表達(dá)能力強(qiáng)。匯編語言的機(jī)器代碼生成效率高但可讀性不強(qiáng),而C語言在大多數(shù)情況下,其機(jī)器代碼生成效率和匯編語言相當(dāng),而可讀性和可移植性卻遠(yuǎn)遠(yuǎn)超過匯編語言。本系統(tǒng)的報(bào)警電路采用的是鳴音報(bào)警方式。日歷芯片接口電路如圖36所示:圖36 DS1302日歷芯片接口電路圖37 鍵盤接口電路ZLG7289能夠管理多達(dá)64只按鍵,并能自動消除抖動,本次設(shè)計(jì)中只使用了其中16只按鍵。噪聲容限為2V,即要求接收器能識別低至+3V的信號作為邏輯“0”,高到3V的信號作為邏輯“1”。開關(guān)在閉合和斷開的過程中,往往存在一定的尖峰脈沖干擾;同時(shí)由于汽車的工作環(huán)境比較惡劣,開關(guān)信號的頻率信號中也會含有較多的高頻干擾成分。同時(shí),AT89C51可降至0Hz的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式。系統(tǒng)控制核心芯片選用AT89C51單片機(jī);實(shí)時(shí)液晶顯示部分采用DM12864芯片;按鍵顯示部分采用ZLG7289芯片;實(shí)時(shí)時(shí)鐘部分采用DS1302日歷芯片;片外擴(kuò)展的數(shù)據(jù)緩存采用FM1808鐵質(zhì)存儲器; IC卡芯片AT45DB041用來存儲完整數(shù)據(jù);用“看門狗”芯片MAX706監(jiān)視單片機(jī)的運(yùn)行情況;串口采用MAX232芯片。整個(gè)記錄儀采用并行總線的工作方式進(jìn)行連接。因此,國家標(biāo)準(zhǔn)GB_T190562003要求記錄儀能夠在一定的電壓波動范圍內(nèi)正常工作[13]。在獲取行駛狀態(tài)信息后,系統(tǒng)需要對信息進(jìn)行實(shí)時(shí)的處理、顯示、存儲,存儲后的信息可以用來進(jìn)行分析。管理部門為了實(shí)時(shí)掌握相關(guān)的運(yùn)輸狀況,就要不斷地監(jiān)測記錄儀的記錄數(shù)據(jù),不斷了解運(yùn)輸車輛的狀態(tài)和位置。管理系統(tǒng)可以利用疑點(diǎn)數(shù)據(jù)仿真再現(xiàn)事故的發(fā)生過程,幫助交通管理部門準(zhǔn)確、科學(xué)地執(zhí)法。管理式記錄儀主要由車載記錄系統(tǒng)和管理系統(tǒng)組成,車載記錄部分完成相當(dāng)于記錄式記錄儀的工作,將記錄數(shù)據(jù)傳遞給管理系統(tǒng)進(jìn)行高級處理。目前市面上的汽車行駛狀態(tài)記錄儀主要有以下類型:★ 記錄式記錄儀記錄式記錄儀的主要特點(diǎn)是模擬航空記錄儀的工作方式,記錄車輛的實(shí)時(shí)狀態(tài)數(shù)據(jù)并保存,為交通肇事的評判提供佐證。視頻功能對存儲空間要求較高,實(shí)現(xiàn)復(fù)雜,成本較高。據(jù)報(bào)道,僅通用一家公司就為600萬輛出廠車安裝了黑匣子[]。1934年,德國發(fā)明了世界上第一臺紙盤式行駛記錄儀,至今已有75年的歷史。 基于單片機(jī)的汽車行駛狀態(tài)記錄儀系統(tǒng)的軟件設(shè)計(jì)1 緒論 隨著交通的迅速發(fā)展,汽車已經(jīng)成為現(xiàn)代社會的一種重要的交通工具。統(tǒng)計(jì)資料表明,汽車黑匣子的使用,使交通事故率降低37%~52%,大大減少了人員傷亡和財(cái)產(chǎn)損失,產(chǎn)生了顯著的社會效益和經(jīng)濟(jì)效益[4]。NTSB正式要求各汽車生產(chǎn)廠家安裝汽車黑匣子,通用、福特等汽車公司隨即紛紛行動。隨著半導(dǎo)體技術(shù)和集成電路的發(fā)展,容量大體積小的存儲芯片層出不窮,而且相對磁盤來說,存儲芯片具有抗震性能,更適合車輛的行駛環(huán)境,在車輛行駛記錄裝置上得到了廣泛應(yīng)用。2004年5月北京巴士旅游分公司的150輛旅游車上都已經(jīng)安裝了記錄儀[10]?!?管理式記錄儀管理式記錄儀在使用應(yīng)用上與記錄式有所不同,它是記錄式記錄儀的升級,是為滿足車輛營運(yùn)管理要求而設(shè)計(jì)的,主要的應(yīng)用是基于加強(qiáng)車隊(duì)營運(yùn)管理。這些數(shù)據(jù)在事故調(diào)查中具有重要作用?!?特殊運(yùn)輸管理 特殊運(yùn)輸包括重要人物、物資的運(yùn)輸以及危險(xiǎn)品運(yùn)輸。經(jīng)過這些處理就可以得到較為全面的行駛狀態(tài)信息了[12]。(1)電氣性能要求:由于汽車的供電系統(tǒng)通常為蓄電池,隨著汽車行駛狀態(tài)的不同,汽車放電機(jī)的輸出電壓會有較大的波動;另外隨著蓄電池使用年限和工作狀態(tài)等的不同,其輸出電壓往往有一定波動,從而影響到整個(gè)汽車的供電電壓。主板以AT89C51作為中央處理器。 3 系統(tǒng)硬件設(shè)計(jì)本章將以汽車行駛狀態(tài)記錄儀為例,根據(jù)系統(tǒng)的功能和設(shè)計(jì)要求介紹系統(tǒng)的總體構(gòu)成框圖各部分硬件電路的設(shè)計(jì)方案,并對主要芯片原理與應(yīng)用加以介紹。該CPU有4K字節(jié)Flash閃存,128字節(jié)內(nèi)部RAM,32個(gè)I/O口線,2個(gè)16位定時(shí)/計(jì)數(shù)器,一個(gè)5向量兩級中斷結(jié)構(gòu),一個(gè)全雙工串行通信口,片內(nèi)振蕩器及時(shí)鐘電路。對于+12V車輛系統(tǒng),其開關(guān)量的信號電平是+12V,開關(guān)量信號的頻率很低,不高于4Hz。即:邏輯“1”的電平在5V—15V;邏輯“0”的電平在+5V—+15V。DS1302與單片機(jī)之間能簡單地采用同步串行的方式進(jìn)行通信,僅需用到三個(gè)口線:RET復(fù)位、I/O數(shù)據(jù)線和SCLK串行時(shí)鐘。但對于某些緊急狀態(tài)或反常狀態(tài),為了使操作人員不致忽視,以便及時(shí)采取措施,往往還需要有某種更能引人注意、提起警覺的報(bào)警信號。數(shù)據(jù)存儲器擴(kuò)展電路如圖39所示:圖39 FM1808數(shù)據(jù)存儲器擴(kuò)展電路4 系統(tǒng)軟件設(shè)計(jì)在單片機(jī)應(yīng)用系統(tǒng)開發(fā)過程中,程序設(shè)計(jì)有兩種方法:一種是基于匯編語言的程序設(shè)計(jì)方法,另一種是基于C語言的程序設(shè)計(jì)方法。采用C語言編寫的程序,不依賴機(jī)器硬件,可以不加修改地移植到別的機(jī)器上。C語言具有直接訪問機(jī)器物理地址的能力,Keil的C51編譯器和Franklin的C51編譯器都可以直接對單片機(jī)的內(nèi)部特殊功能寄存器和I/O端口進(jìn)行操作,可以直接訪問片內(nèi)或片尾存儲器,還可以進(jìn)行各種位操作。隨后,根據(jù)各個(gè)程序模塊的實(shí)現(xiàn)功能寫出流程,一般需要寫出具體的實(shí)現(xiàn)功能描述。在程序設(shè)計(jì)方法上,模塊程序設(shè)計(jì)是單片機(jī)應(yīng)用中最常用的程序設(shè)計(jì)方法。汽車啟動后,系統(tǒng)先進(jìn)行初始化,包括對程序執(zhí)行過程中用到的相關(guān)變量初始化和各模塊初始化。通過測試car_state是否等于OXFF,判斷是否停車:若未停車,則繼續(xù)實(shí)時(shí)顯示時(shí)間、里程等信息。1.功能設(shè)定指令:D7 D6 D5 D4 D3 D2 D1 D00011XREXX其中RE=1為擴(kuò)充指令集動作,RE=0為基本指令集動作,初始化中RE=0。按鍵掃描采用ZLG7289芯片。表42 ZLG7289的SPI串行接口信號信號名稱引腳序號描述CS6SPI總線片選輸入信號,低電平有效CLK7SPI總線時(shí)鐘輸入信號,上升沿有效DIO8SPI總線數(shù)據(jù)信號,雙向圖47讀鍵盤指令時(shí)序圖(命令字在前,鍵值在后)ZLG7289在掃描鍵盤時(shí),已經(jīng)采取了消抖動措施,因此在程序中不必另外編寫消抖動的代碼。按下某個(gè)鍵時(shí),ZLG7289B會在INT引腳產(chǎn)生低電平信號,這低電平信號直到松開按鍵時(shí)才會撤除。本次論文設(shè)計(jì)了16個(gè)按鍵,故在軟件設(shè)計(jì)時(shí),可將第2字節(jié)的高4位均置0,低4位表示鍵值的范圍0~15(0X00~0X0F)。車輛實(shí)時(shí)數(shù)據(jù)存入IC卡程序設(shè)計(jì)主要包括寫字節(jié)、讀字節(jié)、讀狀態(tài)寄存器、將數(shù)據(jù)寫入從某個(gè)地址(0~263)開始的buffer(緩存)中及將緩存中的數(shù)據(jù)寫入主內(nèi)存中5個(gè)部分。程序?yàn)閡char
點(diǎn)擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1