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

正文內(nèi)容

畢業(yè)設(shè)計-基于單片機超速報警器的設(shè)計(編輯修改稿)

2024-07-11 03:07 本頁面
 

【文章內(nèi)容簡介】 車輛實際時速,用 MAX7219 芯片驅(qū)動 LED進行動態(tài)顯示。 軟件分為主程序、初始化程序、按鍵子程序 、中斷服務(wù)子程序等。 第二節(jié) 主程序 此系統(tǒng)由眾多單元組成,為了便于修改,采用模塊化分層管理。主程序中應(yīng)該包含單片機初始化, MAX7219_Init 初始化,數(shù)據(jù)、地址傳人模塊,顯示測量速度,顯示設(shè)定的初始速度,報警等單元。 圖 第三節(jié) 初始化 程序 單片機初始化,我們先來寫 TCON 的控制字,首先將 EA 置為 0,屏蔽所有的中斷請求。接下來設(shè)定時器 /計數(shù)器控制寄存器 TCON。 TCON 用于控制 T0、 T1 的啟動 16 和停止。我們選擇電平觸發(fā)方式,故 IT=0,其最位 D0 應(yīng)該設(shè)為 0; IE0 為外部中斷請求 0 的中斷請求標志位,在每個機器周期的 S5P2 采樣 /INT0 引腳,若 /INT0 腳為低電平,則 IE0 清 “0”,故 D1 為設(shè)為 0。同理, D D3 是對外部中斷 1 設(shè)定的,與外部中斷 0 一樣都設(shè)為 0。當啟動 T0 計數(shù)后,定時器 /計數(shù)器 T0 從初值開始加 1 計數(shù)當最高位產(chǎn)生溢出時,由硬件使 TF0 置 “1”,向 CPU 申請中斷。 CPU 響應(yīng) TF0 中斷時, TF0 自動清 “0”, TF0 也可由軟件清 “0”,我們將其 D5 設(shè)為 0。同理 D7=0。故 TCON狀態(tài)字設(shè)為 0x00。 特殊功能計數(shù)器 TMOD 用于選擇定時器 /計數(shù)器 T0、 T1 的工作模式和工作方式,接下來我們來寫 TMOD 的狀態(tài)字。 TMOD 高 4 位控制 T1 方式,最高位 D7 為門控位,當其為 0 時,金庸運行控制位 TRx( x=0,1)來控制定時器 /計數(shù)器計數(shù)。將其設(shè)定為方式 1, 16 位定時計數(shù)器 /計數(shù)器,故 D5,D4 設(shè)定為 0 和 1。將 T1 設(shè)定為計數(shù)器,故D6=1。同理, T0 工作在方式 1 下, T0 為定時器模式。故其狀態(tài)字設(shè)為 0x51。 將定時器 /計數(shù)器寫好初值后,將 TR0, TR1 置為 1,均打開,寫中斷允許寄存器IE 將其最高位 D7 設(shè)為 1,允許所有的中斷請求,允許 T1, T0 溢出中斷,故 D3, D1均寫。故其狀態(tài)字為 0x8a。 第四節(jié) 按鍵掃描程序 圖 按鍵掃描流程圖 先檢測 K1 是不是低電平(按下),若沒有按下,就執(zhí)行延時程序,等待其輸入數(shù)據(jù);再次,檢測 K2 是否按下,以此類推檢測 K3,就可以設(shè)定其最大速度。17 結(jié) 論 該系統(tǒng)的設(shè)計思想是主動式的,從人本主義出發(fā),考慮的是時刻提醒駕駛員的自我安全意識,最大限度避免因為車輛超速造成交通事故。 此系統(tǒng)硬件主要包括以下四大模塊 : 89C51 主控模塊、傳感器模塊、報警模塊和顯示模塊等。其中 89C51 主要完成外圍硬件的控制以及一些運算功能 。 傳感器完成信號的采樣功能 ,報警模塊主要負責聲音 報警和燈光報警 ,顯示模塊完成字符、數(shù)字的顯示功能。 此基于單片機的車速報警系統(tǒng)利用 51 單片機及高集成化的串行輸入 /輸出的共陰極 LED顯示驅(qū)動器 MAX7219實現(xiàn) , 這里敘述了該系統(tǒng)硬件設(shè)計方面的理論分析、軟件設(shè)計方面的理論分析以及有關(guān)電路設(shè)計的實踐經(jīng)驗。利用 MAX7219 芯片僅使用單片機三根引腳即可,電路設(shè)計簡單,驅(qū)動共八位 7 段加小數(shù)點的共陰極數(shù)碼管,每四位分別顯示當前速度和設(shè)定的速度上限,通過四個按鍵可以對速度上限不同要求地進行更改設(shè)置,方便使用。該系統(tǒng)具有硬件簡單 可靠性高 抗干擾性強 實用性好等優(yōu)點, 可以廣泛應(yīng)用在各種機動車輛上。 通過了廣泛地尋找資料,結(jié)合各種資料總結(jié),掌握 Proteus 的基本用法及了解了不少新知識,參考其他相關(guān)的設(shè)計資料,并設(shè)計出相應(yīng)的報警系統(tǒng)。對于 C語言編程有了更進一步的了解。同時通過 Proteus 仿真驗證了設(shè)計的正確性,使理論結(jié)果與實踐相結(jié)合 , 加深理論的理解。通過本次課程設(shè)計,理解到知識的廣泛性,本身知識仍然不夠,以后將會繼續(xù)努力拓展知識面。 1 致謝 本課題在選題及研究過程中得到 劉靜 老師的悉心指導(dǎo)。 劉 老師多次詢問研究進程,并為我指點迷津,幫助我開拓研究思路,精心點撥、熱忱 鼓勵。 劉 老師一絲不茍的作風,嚴謹求實的態(tài)度,踏踏實實的精神,不僅授我以文,而且教我做人,雖歷時三載,卻給以終生受益無窮之道。對 劉 老師的感激之情是無法用言語表達的。 最后還要謝謝同學(xué)們對我的幫助,沒有你們的幫助,我也不能及時完成畢業(yè)論文,以后我還會繼續(xù)努力學(xué)習專業(yè)技能和理論知識,在實踐中磨礪成長。 2 參考文獻 [1] 張俊謨 .《 單片機的發(fā)展與應(yīng)用 》 . 電子制作 , 2021,(08):31。 [2] 袁霞 .婁云 .《 汽車燈光網(wǎng)絡(luò)化控制系統(tǒng)的研究 》 . 河南機電高等??茖W(xué)校學(xué)報 , 2021,(05):1819, 32。 [3] 李新 .孫利生 .《 基于 DSP 的汽車發(fā)動機轉(zhuǎn)速測量系統(tǒng)研究 》 . 汽車科技 , 2021,(05):6164。 [4] 任國峰 .李軍偉 .張雨 .《 單片機在發(fā)動機轉(zhuǎn)速測量中的應(yīng)用 》 . 汽車科技 , 2021,(01):3840。 [5] 周旭艷 .彭宣戈 .朱兵 . 《 8051 在車輛超速報警系統(tǒng)中的應(yīng)用 》 . 井岡山學(xué)院學(xué)報 . 2021.(07)。 [6] 吳有林 .安玉 .熊飛橋 .吳先緒 .《 智能化汽車速度控制報警系統(tǒng)的設(shè)計 》 . 重慶大學(xué)學(xué)報 (自然科學(xué)版 ). 2021 年 ,(12). [7] 魏勛 .《 單片機車速數(shù)顯及報警系統(tǒng)設(shè)刮 》 .電子制作 , 2021 年 12 期 。 [8] DRACO. A transient recorder for road accidents. Fincham,[C] W.。 Fowkes, M.。 Ghibaudi, P. IEE Conference Publication, n 346, 1991, P 135139。 3 附 錄 源程序代碼 : ifndef _Max7219_H_ define _Max7219_H_ include include define uchar unsigned char define uint unsigned int define DECODE_MODE 0x09 //譯碼方式 define INTENSITY 0x0A //亮度寄存器 define SCAN_LIMIT 0x0B //掃描位數(shù)寄存器 define SHUT_DOWN 0x0C //低功耗模式寄存器 define DISPLAY_TEST 0x0D //顯示測試寄存器 define delay1us _nop_()。//定義一微秒時間 define delay2us {delay1us。 delay1us 。} define delay4us {delay2us。 delay2us 。} define delay5us {delay4us。 delay1us 。} define delay12us {delay4us。 delay4us 。 delay4us。} sbit din=P2^0。 //MAX7219 串行數(shù)據(jù)輸入,位操作, p2 口 0 位 sbit load=P2^1。//MAX7219 顯示數(shù)據(jù)鎖存控制 sbit clk=P2^2。//MAX7219 串行時鐘 等下調(diào)用,函數(shù)聲明 void Max7219_Wr_byte(uchar wrdat)。//寫一個字節(jié), void Max7219_Wr_data(uchar addr,uchar dat)。//寫一個數(shù)據(jù)( 2 個參數(shù)) void Init_Max7219(void)。初始化子函數(shù) void Disp_speed(uint speed)。顯示速度 void Disp_set_speed(uint set_speed)。顯示設(shè)置速度 //初始化 MAX7219 void Max7219_Init(void) 初始化 { Max7219_Wr_data(SHUT_DOWN, 0x01)。 地址,顯示內(nèi)容 Max7219_Wr_data(DISPLAY_TEST, 0x00)。 寫字節(jié)子函數(shù) 4 Max7219_Wr_data (DECODE_MODE, 0xff)。 Max7219_Wr_data (SCAN_LIMIT, 0x07)。 Max7219_Wr_data (INTENSITY, 0x0a)。 } void Max7219_Wr_byte (uchar wrdat) { bit dat。 uchar i。 for (i=0。i8。i++) { clk=0。 // 口打開 dat=(bit)(wrdtamp。0x80)。 //取最高位,并強制轉(zhuǎn)化 if(dat) din=1。 else din=0。 wrdat=1。 //左移 clk=1。 // 關(guān)閉 } } void Max7219_Wr_data(uchar addr,uchar dat) { load=0。 // 口打開 Max7219_Wr_byte ( addr )。 //傳遞一個地址 Max7219_Wr_byte(dat)。 //傳遞一個數(shù)據(jù) load=1。// 口關(guān)閉 } void Disp_speed (uint speed) { 5 uchar speed_buf [4]。 uchar i。 speed_buf[0]=speed%10。 speed_buf[1]=speed/10%10|0x80 。 speed_buf[2]=speed/100%10。 speed_buf[3]=speed/1000。 if(0==speed_buf[3]) { speed_buf[3]=0x0f。 if(0==speed_buf[2]) speed_buf[2]=0x0f。 } for(i=1。i=4。i++) { Max7219_Wr_data (i, speed_buf [i1])。 } } void Disp_set_speed (uint set_speed) { uchar speed_buf[4]。 uchar i。 speed_buf[0]=set_speed%10。 speed_buf[1]=set_speed/10%10|0x80。 speed_buf[2]=set_speed/100%10。 speed_buf[3]=set_speed/1000。 if(0==speed_buf[3]) { speed_buf[3]=0x0f。 if(0==speed_buf[2]) speed_buf[2]=0x0f。 } 6 for(i=1。i=4。i++) { Max7219_Wr_data (i+4, speed_buf [i1])。 } } endif //結(jié)束條件編譯,編譯時與前面最近的 if、 ifdef 或 ifndef 作為一對 include sbit KEY0=P2^3。 sbit KEY1=P2^4。 sbit KEY2=P2^5。 sbit KEY3=P2^6。 sbit SPK=P2^7。 sbit LED_GREEN=P1^6。 sbit LED=P1^7。 uint set_speed。 uint speed。 uchar sec_t。 void Init_8051(void)。 void Delay(uchar time)。 uint Get_key(void)。 void Warn_ring(void)。 void main(void) { Init_8051 ( )。 Max7219_Init ( )。 while (1) { 7 set_speed=Get_key ( ); //按鍵數(shù)據(jù)放入設(shè)定速度 Disp_speed (speed)。 Disp_set_speed (set_speed)。 Warn_ring ( )。 } } void Delay(uchar time) { uchar t1,t2。 for(t1=time。t10。t1 ) for(t2=248。t20。t
點擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1