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

正文內(nèi)容

畢業(yè)設計-基于單機片的帶遙控功能的交通燈控制系統(tǒng)(編輯修改稿)

2025-01-06 19:09 本頁面
 

【文章內(nèi)容簡介】 中對某種數(shù)據(jù)類型的運算種類,這對越復雜的數(shù)據(jù)類型效果越明顯。在進行數(shù)據(jù)計算時,在一定的精度范圍內(nèi),可以用一些近似的計算來完成一些運算 ,既不損失精度又能減少大量的代碼。優(yōu)化程序結構:一個任務的實現(xiàn)可以有多個不同的程序結構來完成,采用哪種程序結構形式,能產(chǎn)生更為高效的代碼,可以通過最后生成的二進制 /十六進制文件的大小來優(yōu)化程序。 最后再論述下關于數(shù)據(jù)存儲器的分配。單片機內(nèi)部數(shù)據(jù)存儲器 RAM 只有幾百字節(jié),如果通過擴展外部存儲器 RAM來提高數(shù)據(jù)存儲量的話,那必將會增加硬件成本,并使系統(tǒng)更加復雜。訪問外部程序存儲器比訪問內(nèi)部存儲器所需的代碼也要長得多。有效地使用內(nèi)部存儲器、提高存儲器空間的利用率對開發(fā)者來說十分關鍵。內(nèi)部處理器、內(nèi)部堆棧、壓縮棧、 所有程序變量和所有包含進來的庫函數(shù)都將使用數(shù)量有限的內(nèi)部數(shù)據(jù)存儲器 RAM。因為 C語言采用了存儲器的覆蓋技術,可以在程序進行連接時,將那些已經(jīng)被其他程序釋放了的存儲器空間重新定義給另一個程序段的變量使用,當這個程序運行結束時再將這些存儲器釋放以供其他程序段使用。全局變量的作用范圍是整個程序,因此不能被釋放,靜態(tài)變量由于在函數(shù)的調(diào)用中專用不變,也不能被釋放只有局部變量中的動態(tài)變量可以被釋放。因此在進行程序設計時應該盡量的使用局部變量,提高內(nèi)部數(shù)據(jù)存儲器的使用率。在 C 語言中程序中 結構及參數(shù)傳遞是通過內(nèi)部的寄存器 來完成的,若內(nèi)部的存儲器不夠,那將會給程序帶來許多莫名其妙的錯誤。 總之, C 語言具有很強的功能性和結構性,可以縮短單片機控制系統(tǒng)的開發(fā)周期,而且易于調(diào)試和維護,已經(jīng)成為目前單片機語言中最流行的編程語言。 軟件總體流程圖 系統(tǒng)的總體流程圖如圖 。當按下測試電路開始鍵,系統(tǒng)會進入第一相位狀態(tài),這時 此時系統(tǒng)開始計數(shù),以 MS 為單位。當再有正確的鍵按下時,系統(tǒng)才會停止計時,數(shù)碼管顯示倒計時 時間 ,這時可進入時間修改狀態(tài) 。 當系統(tǒng)收到遙控信息時,這時系統(tǒng)進入遙控狀態(tài)。 主程序如下所示。 主程序流程圖如圖 所 示。 圖 主程序流程圖 ////////////////////////////////////////////// void main(void) { //uint i。 bit jj=0。 ////////////////////////////////////////// P4SW=P4SW | 0x10。//擴展 P4SW=P4SW | 0x20。 P4SW=P4SW | 0x40。 ////////////////////////////////////////// time_init()。 /////////////////////////////////////////// TR0=1。 ET0=1。 第一相位 黃燈( 3S) 1=0 綠燈( 20S) 1=0 是 是 否 否 第二相位 綠燈( 20S) 1=0 黃燈( 3S) 1=0 第三相位 綠燈( 20S) 1=0 黃燈( 3S) 1=0 第四相位 綠燈( 20S) 1=0 黃燈( 3S) 1=0 收到遙 控信號 退出自動狀 態(tài) 有按鍵 按下 進入調(diào)整時間狀態(tài) 設置完畢返回第一相位 有中斷信號 for(。) { if(auto_on) { xiangwei()。//交通控制 display()。//顯示計數(shù) key_in()。//按鍵輸入 } else { wr595(getcode(9))。//顯示 9 out595()。//輸出 P2=0x00。//開啟三極管 } yaokong()。//遙控 } }//這個是主函數(shù)的 紅綠燈循環(huán)顯示模塊 紅綠燈的日常顯示由紅綠燈循環(huán)顯示模塊控制顯示,并由其控制完成設計要求的顯示效果。紅綠燈在正常顯示狀態(tài),應按照規(guī)定的順序和第二章計 算得到的延時時間依次點亮,其點亮方法為逐級漸進點亮。 下面我們以自動狀態(tài)下相位 1為例,程序部分如下所 示。程序流程圖如圖 所示。 case 0: //相位 1 { if(now_time=n_b_time1) //南北綠燈時間 { time_canshu_init()。//時間參數(shù)初始化 zhuangtai_data=1。 P1=0xff。 P3=0xff。//關閉所有燈 } else { nan_green=0。//南向北綠燈 bei_red=0。//北向南紅燈 dong_red=0。//東往西紅燈 xi_red=0。//西往東紅燈 n_b_green=0。//南北人行道綠燈 d_x_red=0。//東西人行道紅燈 time1=n_b_time1 now_time+n_b_time3。 //計算各個數(shù)碼管顯示的時間 time2=time1。 time3=time2+n_b_time1+n_b_time3。 time4=time3+d_x_time1+d_x_time3。 } }break。 case 1: //相位 1黃燈 { if(now_time=n_b_time3) { time_canshu_init()。//時間參數(shù)初始化 zhuangtai_data=2。 P1=0xff。 P3=0xff。//關閉所有燈 } else { nan_yellow=0。//南向北 黃 燈 bei_red=0。//北向南紅燈 dong_red=0。//東往西紅燈 xi_red=0。//西往東紅燈 n_b_green=0。//南北人行道綠燈 d_x_red=0。//東西人行道紅燈 time1=n_b_time3 now_time。 time2=time1。 time3=time2+n_b_time1+n_b_time3。 time4=time3+d_x_time1+d_x_time3。 } }break。 遙控部分程序 遙控器有四個按鍵組成,分別為 ABCD 四個按鍵。 AB 鍵為復用鍵。 A 鍵功能(復用):按第一下為相位一功能,無倒計時狀態(tài)。按第二下為相位二功能,無倒計時功能。 B 鍵功能(復用):按第一下為相位三功能,無倒計時狀態(tài)。按第二 下為相位四功能,無倒計時功能。 C鍵:緊急按鍵,四個路口全紅燈,無倒計時功能。 D鍵:退出遙控狀態(tài),切換到自動狀態(tài)相位一。 程序流程圖如 圖 所示。 完整程序詳見附錄。 按鍵 1程序如下所示。 if(yk_in1==0) { //delay(1)。 if(yk_in1==0) { ET0=0。 TR0=0。 auto_on=0。//清除自動 if(fuyong1==0) { fuyong1=1。 自動狀態(tài)下 相位 1 南向北綠燈 1=0 南向北黃燈 1=0 自動狀態(tài)下 相位 2 相位 2 是 是 否 否 P1=0xff。 P3=0xff。//關閉所胡燈 nan_green=0。//南向北綠燈 bei_red=0。//北向南紅燈 dong_red=0。//東往西紅燈 xi_red=0。//西往東紅燈 n_b_green=0。//南北人行道綠燈 d_x_red=0。//東西人行道紅燈 } else { fuyong1=0。 P1=0xff。 P3=0xff。//關閉所有燈 bei_green=0。//北向南綠燈 nan_red=0。//北向南紅燈 dong_red=0。//東往西紅燈 xi_red=0。//西往東紅燈 n_b_green=0。//南北人行道綠燈 d_x_red=0。//東西人行道紅燈 } delay(5)。 while(yk_in1==0)。 } } 按鍵 4程序如下所示。 if((yk_in4==0) amp。amp。 (auto_on==0)) { //delay(1)。 if(yk_in4==0) { // ET0=1。//重新開放中斷 TR0=1。 TH0=0x3c。 TL0=0xb0。 small_time=0。 //清零各個參數(shù) miao=0。 now_time=0。 zhuangtai_data=0。//恢復最原先的狀態(tài) fuyong1=0。 fuyong2=0。 auto_on=1。 delay(5)。 while(yk_in4==0)。 } } } 圖 遙控狀態(tài)流程圖 按鍵 1 第 1 次 按鍵 1 第 2 次 按鍵 2 第 1 次 按鍵 2 第 2 次 按鍵 3 按鍵 4 遙控狀態(tài) 相位 1 相位 2 相位 3 相位 4 緊急狀態(tài),四個路口全紅燈 退出遙控狀態(tài),返回自動控制狀態(tài)相位 1 5 結論 拿到課題后,開始著手設計。查閱了大量相關資料,結合畢業(yè)設計任務書中的指標要求, 進行了方案 論證 ,確定了設計方案 :將 系統(tǒng) 分為 控制模塊、通行燈顯示模塊、時間顯示模塊、 遙控控制模塊 四部分。 設計方案 與元器件參數(shù) 確定后,就開始采購元器件,然后進行硬件制作。在制作硬件的過程中,每制作一步,都要檢查這一步的正確性,可靠性。最后硬件制作完畢后,先進行了靜態(tài)調(diào)試, 根據(jù)硬件電路圖核對了元器件的型號,極性,安裝是否正確,檢查硬件電路連線是否與電路圖一致。然后是通電調(diào)試,先調(diào)試電源部分。再 調(diào)試 單片機的復位和晶振電路。 硬件電路制作完畢后,采用仿真器進行了軟件調(diào)試,這個過程相當復雜艱難 ,出現(xiàn)了很多問題,例如輸出燈不按規(guī) 律顯示,倒計時數(shù)碼 管 顯示不正確等。每一個問題都相當棘手,遇到這些問題后,首先檢測硬件電路,對硬件電路排查完畢并確定無誤后,對軟件進行修改及再調(diào)試。問題一一被解決后最后得出所需軟件部分。這個過程 讓 我 學到 很多東西 : 首先必須具有的是耐心和細心,問題出現(xiàn)后,必須分析問題,找出可能出現(xiàn)此種問題的原因,然后進行一一檢測,進行多次修改后才得到所需結果。最后是軟硬件聯(lián)調(diào),將程序燒入到 單片機 ,進行調(diào)試 直到成功。 通過本次設計, 本人 的知識領域得到進一步擴展,專業(yè)技能得到進一步提高,同時提高了分析和解決實際問題的綜合能力。另外, 也培養(yǎng)了自己嚴肅認真的科學態(tài)度和嚴謹求實的作風。 由于本人水平有限,本次設計還存在一些不足之處,請 評閱與答辯的 各位老師 批評 指正。 參考文獻 [1]王幸之 .AT89系列單片機原理與接口技術 [M] .北京 : 北京航空航天大學出版社, 2021. [2]李忠國 .單片機應用技能實訓 [M] .北京:人民郵電出版社, 2021. [3]先鋒工作室 .單片機程序設計實例 [M] .北京:清華大學出版社, 2021. [4] 李朝青 .單片機原理及接口技術(修訂版) [M] .北京:北京航空航天大學出版社, 1998. [5] 余永權 .世界流行單片機技術手冊 —— 美國系列 [M] .北京:北京航空航天大學出版社,
點擊復制文檔內(nèi)容
公司管理相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1