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

正文內(nèi)容

自行車里程測速儀設(shè)計本科畢業(yè)論文-資料下載頁

2025-06-02 01:18本頁面
  

【正文】 中斷返 回 開始 調(diào)試與仿真 18 5 調(diào)試與仿真 Proteus 及 Keil 軟件簡介 Proteus 軟件 Proteus 軟件是一種低投資的電子設(shè)計自動化軟件,提供可仿真數(shù)字和模擬、交流和直流等數(shù)千種元器件和多達 30 多個元件庫。 Proteus 軟件提供多種現(xiàn)實存在的虛擬儀器儀表。此外, Proteus 還提供圖形顯示功能,可以將線路上變化的信號,以圖形的方式實時地顯示出來。這些虛擬儀器儀表具有理想的參數(shù)指標,例如極高的輸入阻抗、極低的輸出阻抗,盡可能減少儀器對測量結(jié)果的影響, Proteus 軟件提供豐富的測試信號用于電路的測試。這些測試信號包括模擬信號和數(shù)字信號。提供 Schematic Drawing、SPICE 仿真與 PCB 設(shè)計 功能,同時可以仿真單片機和周邊設(shè)備,可以仿真 51 系列、AVR、 PIC 等常用的 MCU,并提供周邊設(shè)備的仿真,例如 LED、示波器等。 Proteus提供了大量的元件庫,有 RAM、 ROM、鍵盤、馬達、 LED、 LCD、 AD/DA、部分 SPI器件、部分 IIC 器件,編譯方面支持 Keil 和 MPLAB 等編譯器。一臺計算機、一套電子仿真軟件,在加上一本虛擬實驗教程,就可相當于一個設(shè)備先進的實驗室。以虛代實、以軟代硬,就建立一個完善的虛擬實驗室。在計算機上學(xué)習(xí)電工基礎(chǔ)、模擬電路、數(shù)字電路、單片機應(yīng)用系統(tǒng)等課程,并進行電路設(shè)計、仿 真、調(diào)試等工作。 Keil 軟件 KeilC51是美國 Keil Software 公司出品的 51系列兼容單片機 C語言軟件開發(fā)系統(tǒng)。與匯編相比, C 語言在功能上、結(jié)構(gòu)性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學(xué)易用。用過匯編語言后再使用 C 來開發(fā),體會更加深刻。 KeilC51 軟件提供豐富的庫函數(shù)和功能強大的集成開發(fā)調(diào)試工具, 全 Windows 界面。另外重要的一點,只要看一下編譯后生成的匯編代碼,就能體會到 KeilC51 生成的目標代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時更能 體現(xiàn)高級語言的優(yōu)勢。 Uvision 與 Ishell 分別是 C51 for Windows 和 For Dos的集成開發(fā)環(huán)境 ( IDE) ,可以完成編輯、編譯、連接、調(diào)試、仿真等整個開發(fā)流程。開發(fā)人員可用 IDE 本身或其它編輯器編輯 C 或匯編源文件, 然后分別由 C51 及 A51編譯器編譯生成目標文件 ( OBJ) 。目標文件可由 LIB51 創(chuàng)建生成庫文件,也可以與庫文件一起經(jīng) L51 連接定位生成絕對目標文件 ( ABS) 。 ABS 文件由 OH51 轉(zhuǎn)換成標準的Hex 文件,以供調(diào)試器 DScope51 或 TScope51 使用進行源代碼級調(diào)試,也可由仿真器調(diào)試與仿真 19 使用直接對目標板進行調(diào)試,也可以直接寫入程序存貯器如 EPROM 中。 應(yīng)用 Keil 軟件進行程序調(diào)試 軟件的調(diào)試必須在開發(fā)系統(tǒng)的支持下進行。先分別調(diào)試通過各個模塊程序 , 然后調(diào)試中斷服務(wù)程序 , 最后調(diào)試主程序 , 將各部分連接進行調(diào)試。調(diào)試的范圍可以由小到大 , 逐步增加 , 必要的中間信號可以先做設(shè)定。通常交叉使用單步運行 , 斷點運行 ,連續(xù)運行等多種方式 , 每次執(zhí)行完畢后 , 檢查 CPU 執(zhí)行現(xiàn)場 , RAM 的有關(guān)內(nèi)容 , I/O接口的狀態(tài)等, 發(fā)現(xiàn)一個問題 , 解決一個問題 , 直至全部通過。 首先新建一個工程項目文件 ; 其次為工程選擇目標器件 ; 再次為工程項目設(shè)置軟硬件調(diào)試環(huán)境;并創(chuàng)建源程序文件并輸入程序代碼,及保存創(chuàng)建的源程序項目文件;最后把源程序文件添加到項目中。 Proteus 軟件仿真 原理圖是在原理圖編輯窗口中的藍色方框內(nèi)繪制完成的,通過文件中的新建設(shè)計選項,可以調(diào)整原理圖設(shè)計頁面大小。繪制原理圖時首先應(yīng)根據(jù)需要選取元器件,Proteus 庫中提供了大量元器件原理圖符號,利用 Proteus 的搜索功能能很方便地查找需要的元器件。 首先根據(jù)需要選擇器件。單擊元器件列表窗口上邊的按鈕 P,彈出元器件選擇窗口。在該窗口左上方的關(guān)鍵字欄內(nèi)鍵入 AT89C51, 窗口中間的結(jié)果欄將顯示出元器件庫中所有 AT89C51 單片機芯片,選擇其中的 AT89C51,窗口右上方將顯示出 AT89C51圖形符號,同時顯示該器件的虛擬仿真模型,單擊確定按鈕后, AT89C51 將出現(xiàn)在器件列表窗口, 照此方法選擇所有需要的元器件。 器件選擇完畢后,就可以開始繪制原理圖了。先用鼠標從器件選擇窗口選中需要的器件,預(yù)覽窗口將出現(xiàn)該器件的圖標。再將鼠標指向編輯窗口并單擊左鍵,將選中的器件放置到原理圖中。 放置電源和地線端時,要從終端按鈕欄中選取。在兩個元器件之間進行連線的方式很簡單,先將 鼠標指向第一個器件的連接點并單擊左鍵,再將鼠標移到另一個器件的連接點并單擊左鍵,這兩個點就連接到一起了。對于相隔較遠,直接連線不方便的器件,可以用標號的方式進行連接。 仿真結(jié)果 (1)頻率計輸入 調(diào)試與仿真 20 用頻率計輸入頻率為 5HZ 和 1HZ 的信號時,仿真結(jié)果分別如圖 5 52 所示。 圖 51 頻率計輸入 5HZ的信號所得值 用頻率計輸入頻率為 5HZ 的信號,得到速度 ,其中 LCD 顯示的分別為歷程 L、全程平均速度、運行時間, LED 顯示的偉瞬時速度。 圖 52頻率計輸入 1HZ的信號所得值 用頻 率計輸入頻率為 1HZ 的信號,得到速度 ,其中 LCD 顯示的分別為歷程 L、全程平均速度、運行時間, LED 顯示的偉瞬時速度。 (2)手動按鈕 手動按鈕,得到當前速度 ,按鈕按得越快,速度越高,相反,不按按鈕的調(diào)試與仿真 21 話,速度回慢慢降為 0。這是因為按鈕按一下相當于一個脈沖信號,按的越快,脈沖的頻率越高,則所得的速度越高。仿真結(jié)果如圖 53 所示。 圖 53手動按鈕得到的值 (3)全部運行結(jié)果(超速報警) 當行駛速度超過 7m/s 時,系統(tǒng)紅燈點亮以報警,仿真結(jié)果如圖 54 所示。 圖 54 全部運 行結(jié)果 1(報警) (4)全部運行結(jié)果(未超速,報警燈未亮) 當行駛速度小于 7m/s 時,系統(tǒng)不報警,報警燈未亮,仿真結(jié)果如圖 55 所示。 調(diào)試與仿真 22 圖 55 全部運行結(jié)果 2(未報警 ) (5)復(fù)位清零 當按下復(fù)位按鈕時, LCD 所有數(shù)據(jù)將清零,重新統(tǒng)計,仿真結(jié)果如圖 56 所示。 圖 56 按復(fù)位鍵清零 結(jié)論 23 6 結(jié)論 該課題的主要任務(wù)是開發(fā)一個以 AT89C51 單片機為核心的自行車的速度里程表。本設(shè)計主要分為硬件部分和軟件部分,硬件部分著重考慮硬件電路的簡單性,故盡可能簡化硬件電路,節(jié)省線路板的空間,達到硬件電路最優(yōu)化 設(shè)計。軟件采用匯編語言編寫,采用模塊化設(shè)計思想,程序可讀性強。通過仿真、實驗驗證了系統(tǒng)的可行,能滿足設(shè)計要求,達到設(shè)計的指標,實現(xiàn)對自行車里程 /速度的計算功能,并用 LCD 顯示,里程與速度分別根據(jù)以下公式求得: 里程 =脈沖總數(shù) 車輪周長 ; 速度 =車輪周長 247。車輪轉(zhuǎn)一圈所用的時間 ; 根據(jù)此公式將最終顯示出里程和速度。當車輪轉(zhuǎn)動,小磁片滑過霍爾元件時,霍爾元件輸出一脈沖,可根據(jù)車輪周長計算里程,選擇不同的車輪周長,里程數(shù)的變化有所不同;當按下開關(guān),顯示速度時, LCD 會根據(jù)轉(zhuǎn)速的不同顯示不同的數(shù)字。 本次設(shè)計電路簡單 、低成本,而且能夠滿足人們對高性能、多功能自行車的要求,可在很多里程 /速度測量場合使用,具有廣泛的應(yīng)用前景。 本系 統(tǒng)的設(shè)計與制作工作已經(jīng)全部完成,基本達到了預(yù)期的目的與要求。 系統(tǒng)的調(diào)試 與仿真結(jié)果讓人滿意 。動態(tài)顯示、顯示內(nèi)容的實時更新、 數(shù)據(jù)的準確度等方面做得比較 好,但是由于時間倉促、條件有限,設(shè)計結(jié)果并不是很好,還存在諸如:顯示內(nèi)容的單一,數(shù)據(jù)波動、抗干擾能力差等問題, 所以此設(shè)計還存在諸多需要改進的地方。 從選題到現(xiàn)在已經(jīng)有幾個月 的時間了,這個設(shè)計主要經(jīng)歷了以下幾個過程:廣泛查閱資料、文獻綜述、總體思路的確定 、方案的具體化及論證、方案的確定、設(shè)計制板及硬件電路的完成、軟件的調(diào)試、系統(tǒng)的調(diào)試,還包括論文的定搞,我認為整個過程是一個聯(lián)系非常緊密的過程,前一過程的結(jié)果為后一過程奠定了基礎(chǔ)。在整個過程中,本人不僅對單片機控制系統(tǒng)的每一個細節(jié)有了比較深入的掌握,而且對關(guān)于系統(tǒng)擴展的相關(guān)知識有了感性的認識,不僅掌握了大量的專業(yè)知識,更學(xué)會了系統(tǒng)模塊設(shè)計的基本思想。 參考文獻 24 參考文獻 [1]張友德 .單片微型機原理、應(yīng)用與實驗 [M].上海 :復(fù)旦大學(xué)出版社 ,2021. [2]何立民 .單片機高級教程 應(yīng)用與設(shè)計 [M].北京 :北京航空航天 大學(xué)出版社 ,2021. [3]李剛 ,林凌 .新概念單片機教程 [M].天津 :天津大學(xué)出版社 ,2021. [4]宋受俊 .基于單片機的電機運動控制系統(tǒng)設(shè)計 [J].機電產(chǎn)品開發(fā)與創(chuàng)新 ,2021. [5]高峰 .單片微型計算機原理與接口技術(shù) [M].北京 :北京科學(xué)出版社 ,2021. [6]樊尚春 .傳感器技術(shù)及應(yīng)用 [M].北京 :北京航空航天大學(xué)出版社 ,2021. [7]潘永雄 .新編單片機原理與應(yīng)用 [M].西安 :西安電子科技大學(xué)出版社 ,2021. [8]張毅剛 .單片機原理及應(yīng)用 [M].北京 :高等教育出版社 ,2021. [9]李 學(xué)禮 .基于 Proteus 的 8051單片機實例教程 [M].北京 :電子工業(yè)出版社 ,2021. [10]沈紅衛(wèi) .單片機應(yīng)用系統(tǒng)設(shè)計實例與分析 [M].北京 :北京航空航天大學(xué)出版社 ,2021. [11]徐愛鈞 .單片機原理實用教程基于 Proteus虛擬仿真 [M].北京 :電子工業(yè)出版社 ,2021. [12]陳興文 ,劉燕 .單片機應(yīng)用系統(tǒng)硬件調(diào)試技巧 [J].中國測控網(wǎng) ,2021. [13]陳享成 ,耿長青 .基于單片機的 LCD顯示終端設(shè)計 [J].電力自動化設(shè)備 ,2021年 09期 . [14]代啟化 .基于 Proteus的電路設(shè)計與仿 真 [J].現(xiàn)代電子技術(shù) .2021年 19期 . [15]侯玉寶 .基于 Proteus的 51系列單片機設(shè)計與仿真 [M].北京 :電子工業(yè)出版社 ,2021. [16]蔡希彪 ,曹洪奎 .單片機電子時鐘系統(tǒng)的設(shè)計與仿真 [J].中國科技信息 ,2021年 04期 . [17]李光飛 .單片機設(shè)計實例指導(dǎo) [M].北京 :北京航空航天大學(xué)出版社 ,2021. [18]王為青 ,程國鋼 .單片機 Keil Cx51 應(yīng)用開發(fā)技術(shù) [M].北京 :人民郵電出版社, 2021. [19]雷玉堂 .光電檢測技術(shù) (第二版 )[M].北京 :中國計量出版社 ,2021. [20]劉暢生 ,寇寶明 ,鐘龍 .霍爾傳感器實用手冊 [M].北京 :中國電力出版社 ,2021. 致謝 25 致謝 時間飛逝,四年的大學(xué)生活即將結(jié)束,同時也預(yù)示著我的學(xué)生時代即將結(jié)束,步入人生的另一個階段。在論文工作即將結(jié)束之際,回顧四年來的求學(xué)歷程,深刻感受到自己取得的每一點進步都離不開老師和同學(xué)們的關(guān)懷和幫助。 首先要感謝我的指導(dǎo)導(dǎo)師 — 老師,我在做畢業(yè)設(shè)計的時候遇到許多問題,老師總是很熱情、積極的幫我解決,并提出自己的建議。還有老師一直在督促我的論文進展,使我為論文的完成贏得了時間。在資料的準備中,網(wǎng)絡(luò)資源給了我許多論文相關(guān) 的信息量,同時學(xué)院圖書館的書籍也發(fā)揮了重要作用。在設(shè)計時,老師給予了很好的指點。我要深深地感謝老師。 其次,我要衷心感謝所有信息工程學(xué)院的授課老師以及工作人員,他們廣博的知識和學(xué)術(shù)方面高深的造詣使我能夠掌握許多新的知識和技能 。他們認真敬業(yè)的工作態(tài)度和孜孜不倦的教誨幫助我得以順利完成學(xué)業(yè)。 我還要感謝平時關(guān)心和幫助過我的同學(xué),特別是幾位室友。他們在我的大學(xué)階段的學(xué)習(xí)和生活中,也給予了極大的關(guān)心和幫助的指導(dǎo),使我能夠順利的完成實驗和論文工作。 最后,我要感謝我的父母,這么年來他們一直給我鼓勵和支持。他們無私的奉 獻是我在人生道路上克服困難,勇往直前的最大動力。附錄 26 附錄 程序 源代碼: include include //包含 _nop_()。函數(shù)定義的頭文件 void timer0_int()。 sbit LED=P3^7。 sbit E=P3^2。 //1602 使能引腳 sbit RW=P3^1。 //1602 讀寫引腳 sbit RS=P3^0。 //1602 數(shù)據(jù) /命令選擇引腳 unsigned char hour,minute,second。 unsigned char n,count。 unsigned long lengthbuf,lengthvalue。 unsigned char code Table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}。 //0~9 的共陰極七段管代碼 unsigned char code Table1[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef}。 //0~9 的共陰極七段管代碼,帶小數(shù)點 void Delay0(int Times)。 void Display()。 void delay() //延時 5US { _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 } bit Busy(void) //讀狀態(tài)函數(shù),判斷液晶模塊的忙碌狀態(tài) { 附錄 27 bit busy_flag = 0。 RS = 0。 RW = 1。 E = 1。 delay()。 busy_flag = (bit)(P0 amp。 0x80)。 E = 0。 return busy_flag。 } void wcmd(unsigned char del) //將模式設(shè)置指令或顯示地址寫入液晶模塊 { while(Busy())。 RS = 0。 RW = 0。 E = 0。 delay()。 P0 = del。 delay()。 E = 1。 delay()。 E = 0。 } void wdata(unsigned char del) ///將數(shù)據(jù)(字符 ASCII 碼)寫入液晶模塊 { while(Busy())。 RS = 1。 RW = 0。 E = 0。 delay()。 P0 = del。 delay()。 附錄 28 E = 1。 delay()。 E = 0。 } void L1602_init(void) //初始化液晶模塊 { wcmd(0x38)。 //功能設(shè)置, 8 位字長, 2 行, 5*7 點陣 wcmd(0x0c)。 //顯示設(shè)置,顯示屏右移 wcmd(0x06)。 //顯示設(shè)置,光標右移,字符不移 wcmd(0x01)。 //清屏命令 } void L1602_string(unsigned char hang,unsigned char lie,unsigned char p) //將數(shù)據(jù)寫入液晶模塊 { unsigned char a。 if(hang == 1) a = 0x80。 //顯示在第一行 if(hang == 2) a = 0xc0。 //顯示在第一行 a = a + lie 1。 wcmd(a)。 wdata(p)。 } void timer0_int() interrupt 1 using 3 //中斷,用于構(gòu)成時鐘 { n++。 if(n==100) { n=0。 count++。 second++。 附錄 29 if(second=60) { second=0。 minute++。 if(minute=60) { minute=0。 hour++。 if(hour=24) hour=0。 } } } if(count==5) { count=0。 lengthvalue=(TL1+TH1*256)*215lengthbuf。 lengthbuf=(TL1+TH1*256)* } TH0=0xd8。 TL0=0xf0。 } int timer() //以秒為單位計算運行總時間 { unsigned char a=100。 unsigned char b。 b=second+minute*60+hour*60*60。 return b。 }
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1