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

正文內(nèi)容

基于at89c51單片機的電子秒表的設計(編輯修改稿)

2025-02-14 14:33 本頁面
 

【文章內(nèi)容簡介】 1端口和外部中斷0端口。同樣設置為位低電平有效。顯示電路由五位數(shù)碼管組成,采用動態(tài)顯示方式,因此有8位段控制端和5位位控制端,八位段控制接P0口,~、b、c、d、e、f、g、dp顯示,AT89C52的P0口沒有集成上拉電阻,高電平的驅(qū)動能力很弱,所以需要接上拉電阻來提高P0的高電平驅(qū)動能力。~,NPN三極管9013做為位控制端的開關,~,與其相對應的三極管就導通,對應的數(shù)碼管導通顯示。通過以上設計已經(jīng)將各部分電路與單片機有機的結合到一起,硬件部分的設計以大功告成,剩下的部分就是對單片機的編程,使單片機按程序運行,實現(xiàn)數(shù)字電子秒表的全部功能。第三章 系統(tǒng)軟件的設計待硬件電路接線完成后,通??上染帉懞唵蔚臏y試程序?qū)τ布娐愤M行測試,排除硬件電路設計中存在的錯誤。然后根據(jù)設計任務的要求確定系統(tǒng)程序的整體結構,盡可能采用模塊化程序設計的方法,將任務劃分為相對獨立的功能模塊,明確各模塊的功能、時間順序和相互關系,并畫出各程序模塊的流程圖,根據(jù)流程圖逐一編寫程序,最后將各個模塊連接成完整的程序。本設計決定采用C語言進行編寫。首先是考慮到對C語言程序的編寫比匯編要熟識的多,當然對于程序的編寫C語言也會方便簡單易懂的多。C語言的特點:(1)程序結構簡潔、緊湊、規(guī)整,表達式簡練、使用靈活。(2)編寫的程序可讀性強,編譯效率高。(3)具有豐富的運算符,多達34種。豐富的數(shù)據(jù)類型與豐富的運算符相結合,使C語言具有表達靈活和效率高等特點。(4)數(shù)據(jù)類型種類繁多。C語言具有5種基本的數(shù)據(jù)類型和多種構造數(shù)據(jù)類型以及復合的導出類型,同時還提供了與地址密切相關的指針機器運算符。指針可以指向各種類型的簡單變量、數(shù)組、結構和聯(lián)合,乃至函數(shù)等。此外,C語言還允許用戶自己定義數(shù)據(jù)類型。(5)是一種結構化程序設計語言,特別適合大型程序的模塊化設計。C語言具有編寫結構化程序所必需的基本流程控制語句,C語言程序是由函數(shù)集合構成的,函數(shù)各自獨立,并且作為模塊化設計的基本單位。說明:C語言的源文件,可以分割成多個源程序,分別進行編譯,然后連接起來構成可知性的目標文件,為開發(fā)大型軟件提供了極大的方便。C語言還提供了多種存儲屬性,使數(shù)據(jù)可以按其需要在相應的作用域起作用,從而提高了程序的可靠性。(6)語法限制不太嚴格,程序設計自由度大。例如,對數(shù)組下標越界不作檢查,由程序編寫者自己保證程序的正確。一般的高級語言語法檢查比較嚴,能檢測出幾乎所有的語法錯誤,而C語言允許程序編寫者有較大的自由度,因此放寬了語法的檢查。程序員應當仔細檢查程序,保證其正確,而不要過分依賴C語言編譯程序去查錯。(7)允許直接訪問物理地址,能進行位(bit)操作,能實現(xiàn)匯編語言的大部分功能,可以直接對硬件進行操作。因此,C語言既具有高級語言的功能,又兼容低級語言的許多功能,可用來編寫系統(tǒng)軟件。(8)生成的目標代碼質(zhì)量高,程序執(zhí)行效率高。它一般只比匯編程序生成的目標代碼率低10%~20%。(9)具有較高的可移植性。它的語句基本上無須修改就能用于各種型號的計算機和各種操作系統(tǒng)。C語言是處于匯編語言和高級語言之間的一種中間型程序設計語言,常被稱為中級語言。它既有高級語言的基本特點,又具有匯編語言面向硬件和系統(tǒng),可以直接訪問硬件的功能。 程序流程圖設計這里采用順序結構,通過對按鍵的掃描,判斷要實現(xiàn)什么功能。如圖31所示。圖31程序流程圖Proteus ISIS是英國Labcenter公司開發(fā)的電路分析與實物仿真軟件,它可以仿真、分析(SPICE)各種模擬器件和集成電路。該軟件的主要特點總結后有以下四點:①實現(xiàn)了單片機仿真和SPICE電路仿真相結合的功能。②支持目前主流單片機系統(tǒng)的仿真。③提供了軟件調(diào)試功能,并可以與WAVE聯(lián)合仿真調(diào)試。④具有強大的原理圖繪制功能??傊撥浖且豢罴瘑纹瑱C和SPICE分析于一身的仿真軟件,功能極其強大。在電子領域中也起到了很大的作用,它的出現(xiàn)仿真不需要先焊接電路,可以先仿真調(diào)試通過后在焊電路,節(jié)省了不少在硬件調(diào)試上所花的時間。Proteus ISIS的工作界面是一種標準的Windows界面。它包括標題欄、主菜單、狀態(tài)欄、標準工具欄、繪圖工具欄、對象選擇按鈕、預覽對象方位控制按鈕、仿真進程控制按鈕、預覽窗口、對象選擇器窗口、圖形編輯窗口等十幾個工具,方便了使用者的使用。Proteus ISIS繪制原理圖的操作與Protel 99se繪制原理圖的操作基本相同,在這里就不再作贅述。下面拿本設計中的一個仿真例子作簡述說明。運行Proteus ISIS后,繪制病床呼叫系統(tǒng)的原理圖。首先打開已經(jīng)畫好的proteus DSN文件,雙擊圖中的AT89C51芯片,就彈出一個窗口,在Program File項中通過路徑選擇在WAVE中生成的HEX文件,雙擊選中后確定,這樣仿真圖中的AT89C51芯片就已經(jīng)讀取了本設計中的HEX文件。單擊“三角形按鈕”進行仿真。通過對仿真結果的觀察來對程序進行修改,最終使程序到達設計要求。仿真圖如圖32所示。圖32仿真圖第四章 系統(tǒng)調(diào)試 軟件程序編譯與調(diào)試(1)輸入源程序打開keil軟件,輸入源程序,輸入時應以西文方式輸入字母和符號,且中文注釋前要加分號。(2)對源程序進行編譯和糾錯根據(jù)自動編譯提供的錯誤信息逐條糾正錯誤,直至編譯信息提示“錯誤(0)”,編譯結束。(3)確定調(diào)試方案在調(diào)試程序前一定要認真分析源程序,明確各功能程序運行的預期結果。然后結合源程序應達到的結果,確定出如何通過某些關鍵參數(shù)和實驗現(xiàn)象檢驗程序運行結果正確與否。(4)調(diào)試程序調(diào)試程序時首先要明確程序的具體功能,對程序做認真分析。程序運行后,觀察有無顯示,時鐘是否工作,運行結果是否正確。若運行結果不正確,首先應根據(jù)程序運行的實際現(xiàn)象分析判斷哪些因素可引起相關故障,再通過調(diào)試方法逐一認證和排除。通過反復調(diào)試,發(fā)現(xiàn)并排除軟件與硬件存在的各類問題,以滿足系統(tǒng)設計的預期目的。在編譯調(diào)試通過以后,生成hex文件以待仿真之用。 系統(tǒng)聯(lián)調(diào)系統(tǒng)聯(lián)調(diào)就是把程序加載到單片機上去進行調(diào)試。首先是把顯示程序加載上去,進行調(diào)試時,看數(shù)碼管的顯示是否正確,還要看顯示的亮度是否太暗或太亮,是否出現(xiàn)了閃爍現(xiàn)象,如果顯示不正確,就檢查一下數(shù)碼管的引腳和單片機的連線是否接錯了。如果有太暗或太亮的問題,說明限流的電阻的電阻值不合理,應適當調(diào)整。如果出現(xiàn)閃爍現(xiàn)象,就要改變一下延時時間,直到合理為止。然后把整個的設計程序都加載到單片機上去調(diào)試。把單片機放到電路板上,進行整個系統(tǒng)程序的調(diào)試。接上電源,按一下開始按鈕??匆幌嘛@示是否正確,時間運行是否符合運行軌跡。也對照一下數(shù)碼管顯示的次序是否正確。運行一段時間后,按一下停止按鈕,讓秒表停止。27致謝在畢業(yè)論文的完成過程中,我首先要感謝我的指導教師袁芬老師的耐心指導!老師細心給我們講解了有關論文的各方面主義的事項,還有有關電子秒表講解,老師在這一方面給了我們很大的幫助,有不懂的老師細心的給我們講解,非常感謝老師。主要是編程學的不太成功,在老師的細心指導下,然后再加以修改錯誤,最后完成設計。在論文的格式和排版問題有很多小地方的錯誤,經(jīng)過老師的耐心指導,終于完成了畢業(yè)設計。接著,我還要感謝我的寢室同學和身邊的朋友,正是在這樣一個團結友愛,相互促進的環(huán)境中,在和他們的相互幫助和啟發(fā)中,才有我今天的小小收獲。這次的畢業(yè)設計讓我學到了許多東西,讓我知道了做什么事都要細心、耐心,一個畢業(yè)設計需要許多方面的幫助才能完成,最后再次向所有幫助過我的老師同學學表示感謝。參考文獻[1] 李朝青. 單片機原理及接口技術(第3版)[M]. 北京:航空航天大學出版社,2006[2] 趙建領. 51系列單片機開發(fā)寶典[M]. 北京:電子工業(yè)出版社,2007 [3] 耿永剛,陶國正. 單片機與接口應用技術[M]. 上海:華東師范大學出版社,2008 [4] 孫惠芹. 單片機項目設計教程[M]. 北京:電子工業(yè)出版社,2009[5] 楊欣,王玉鳳,劉湘黔. 電子設計從零開始[M]. 北京:清華大學出版社,2005[6] 余永權. ATMEL89系列單片機應用技術[M]. 北京:北京航空航天大學出版社,2002附錄附錄1 系統(tǒng)總程序 include typedef unsigned char uint8。typedef unsigned int uint16。typedef unsigned long uint32。 code uint8 number[] = {0xc0,0xf9,0xa4,0xb0, 0x99,0x92,0x82,0xf8, 0x80,0x90,0x88,0x83, 0xa7,0xa1,0x86,0x8e}。uint8 a[6]。 uint16 counter = 0。uint8 q=1。sbit d1 = P3^0。sbit d2 = P3^1。sbit d3 = P3^2。sbit d4 = P3^3。sbit d5 = P3^4。sbit d6 = P3^5。sbit sw=P1^0。void timer1_init(){ TMOD |= 0x10。 TMOD amp。= 0xdf。 TH1 = 0xFC。 TL1 = 0x67。 TR1 = 1。}void int_init(){ ET1 = 1。 EA = 1。}void refresh_led(){ static uint8 j = 0。 switch(j) { case 0: d1 = 0。j++。P2 = number[a[0]]。P3=0xff。break。 case 1: d6 = 0。j++。P2 = number[a[1]]。P3=0xff。break。 case 2: d5 = 0。j++。P2 = number[a[2]]。P3=0xff。break。 case 3: d4 = 0。j++。P2 = number[a[3]]。P3=0xff。break。 case 4: d3 = 0。j++。P2
點擊復制文檔內(nèi)容
電大資料相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1