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

正文內(nèi)容

基于at89c51單片機的電子秒表的設(shè)計-在線瀏覽

2025-03-07 14:33本頁面
  

【正文】 Read Only Memory)的低電壓,高性能CMOS8位微處理器,俗稱單片機。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。圖22 單片機引腳圖4K字節(jié)可編程FLASH存儲器  數(shù)據(jù)保留時間:10年  三級程序存儲器鎖定  32可編程I/O線  5個中斷源  低功耗的閑置和掉電模式   GND:接地。當P1口的管腳第一次寫1時,被定義為高阻輸入。在FIASH編程時,P0 口作為原碼輸入口,當FIASH進行校驗時,P0輸出原碼,此時P0外部必須被拉高。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。 P2口:P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當P2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。這是由于內(nèi)部上拉的緣故。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當對外部八位地址數(shù)據(jù)存儲器進行讀寫時,P2口輸出其特殊功能寄存器的內(nèi)容。 P3口:P3口管腳是8個帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。RST:復(fù)位輸入?! LE/PROG:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的低位字節(jié)。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。然而要注意的是:每當用作外部數(shù)據(jù)存儲器時,將跳過一個ALE脈沖。此時, ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。在由外部程序存儲器取指期間,每個機器周期兩次/PSEN有效。  /EA/VPP: 當/EA保持低電平時,則在此期間外部程序存儲器(0000HFFFFH),不管是否有內(nèi)部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。  XTAL2:來自反向振蕩器的輸出。 由于單片機或CPU的數(shù)據(jù)/地址/控制總線端口都有一定的負載能力,如果負載超過其負載能力,一般應(yīng)加驅(qū)動器。 第2~9腳“A”信號輸入輸出端,A0=B0、A7=B7,A0與B0是一組,如果DIR=“1”O(jiān)E=“0”則A1輸入B1輸出,其它類同。 第11~18腳“B”信號輸入輸出端,功能與“A”端一樣,不再描述。 第10腳GND,電源地。 晶體振蕩電路MCS51單片機內(nèi)部的振蕩電路是一個高增益反相放大器,引線 XTAL1和XTAL2分別為反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入和來自反向振蕩器的輸出,該反向放大器可以配置為片內(nèi)振蕩器。電容器C1,C2起穩(wěn)定振蕩頻率,快速起振的作用,C1和C2可在20100PF之間取,這里取30P,接線時要使晶體振蕩器X1盡可能接近單片機。當單片機已在運行之中時,按下復(fù)位鍵也能使用使RST持續(xù)一段時間的高電平,從而實現(xiàn)上電加開關(guān)復(fù)位的操作。當程序出現(xiàn)錯誤時,可以隨時使電路復(fù)位。圖24 復(fù)位電路對于數(shù)字顯示電路而言,通常采用LCD顯示或LED顯示。而LED數(shù)碼管作為一種主動顯示器件,具有結(jié)構(gòu)簡單、亮度高、響應(yīng)速度快、價格便宜、易于購買等優(yōu)點,而且有遠距離視覺效果,很適合夜間或者遠距離操作。數(shù)碼管顯示可以分為靜態(tài)顯示和動態(tài)顯示兩種。動態(tài)顯示是一位一位地輪流點亮各位數(shù)碼管,這種逐位點亮顯示器的方式稱為位掃描。動態(tài)方式顯示時,各數(shù)碼管輪流選通,要使其穩(wěn)定顯示必須采用掃描方式,即在某一時刻只選通一位數(shù)碼管并送出相應(yīng)的段碼,在另一時刻選通另一數(shù)碼管,并送出相應(yīng)的段碼,依次規(guī)律循環(huán),即可以使各位數(shù)碼管顯示將要顯示的字符,雖然這些字符是在不同時刻分別顯示,但由于人眼存在視覺暫留效應(yīng),只要每位顯示間隔足夠短就可以給人同時顯示的感覺。在設(shè)計中,我們采用LED圖25數(shù)碼管結(jié)構(gòu)圖動態(tài)顯示,用P0口驅(qū)動顯示。電路如圖26所示。 電源電路電源電路是系統(tǒng)最基本的部分,任何電路都離不開電源部分,由于三端集成穩(wěn)壓器件所組成的穩(wěn)壓電源線路簡單,性能穩(wěn)定,工作可靠,調(diào)整方便,已逐漸取代分立元件,在生產(chǎn)中被廣泛采用。系統(tǒng)總電路圖如圖27所示。AT89C51單片機提供了XTAL1和XTAL2兩個專用引腳接晶振電路,因此只要將晶振電路接到兩個專用引腳即可為單片機提供時鐘脈沖,但在焊接晶振電路時要盡量使晶振電路靠近單片機,這樣可以為單片機提供穩(wěn)定的始終脈沖。按鍵電路與單片機的端口連接可以由用戶自己設(shè)定,均設(shè)為低電平有效。同樣設(shè)置為位低電平有效。~,NPN三極管9013做為位控制端的開關(guān),~,與其相對應(yīng)的三極管就導(dǎo)通,對應(yīng)的數(shù)碼管導(dǎo)通顯示。第三章 系統(tǒng)軟件的設(shè)計待硬件電路接線完成后,通常可先編寫簡單的測試程序?qū)τ布娐愤M行測試,排除硬件電路設(shè)計中存在的錯誤。本設(shè)計決定采用C語言進行編寫。C語言的特點:(1)程序結(jié)構(gòu)簡潔、緊湊、規(guī)整,表達式簡練、使用靈活。(3)具有豐富的運算符,多達34種。(4)數(shù)據(jù)類型種類繁多。指針可以指向各種類型的簡單變量、數(shù)組、結(jié)構(gòu)和聯(lián)合,乃至函數(shù)等。(5)是一種結(jié)構(gòu)化程序設(shè)計語言,特別適合大型程序的模塊化設(shè)計。說明:C語言的源文件,可以分割成多個源程序,分別進行編譯,然后連接起來構(gòu)成可知性的目標文件,為開發(fā)大型軟件提供了極大的方便。(6)語法限制不太嚴格,程序設(shè)計自由度大。一般的高級語言語法檢查比較嚴,能檢測出幾乎所有的語法錯誤,而C語言允許程序編寫者有較大的自由度,因此放寬了語法的檢查。(7)允許直接訪問物理地址,能進行位(bit)操作,能實現(xiàn)匯編語言的大部分功能,可以直接對硬件進行操作。(8)生成的目標代碼質(zhì)量高,程序執(zhí)行效率高。(9)具有較高的可移植性。C語言是處于匯編語言和高級語言之間的一種中間型程序設(shè)計語言,常被稱為中級語言。 程序流程圖設(shè)計這里采用順序結(jié)構(gòu),通過對按鍵的掃描,判斷要實現(xiàn)什么功能。圖31程序流程圖Proteus ISIS是英國Labcenter公司開發(fā)的電路分析與實物仿真軟件,它可以仿真、分析(SPICE)各種模擬器件和集成電路。②支持目前主流單片機系統(tǒng)的仿真。④具有強大的原理圖繪制功能。在電子領(lǐng)域中也起到了很大的作用,它的出現(xiàn)仿真不需要先焊接電路,可以先仿真調(diào)試通過后在焊電路,節(jié)省了不少在硬件調(diào)試上所花的時間。它包括標題欄、主菜單、狀態(tài)欄、標準工具欄、繪圖工具欄、對象選擇按鈕、預(yù)覽對象方位控制按鈕、仿真進程控制按鈕、預(yù)覽窗口、對象選擇器窗口、圖形編輯窗口等十幾個工具,方便了使用者的使用。下面拿本設(shè)計中的一個仿真例子作簡述說明。首先打開已經(jīng)畫好的proteus DSN文件,雙擊圖中的AT89C51芯片,就彈出一個窗口,在Program File項中通過路徑選擇在WAVE中生成的HEX文件,雙擊選中后確定,這樣仿真圖中的AT89C51芯片就已經(jīng)讀取了本設(shè)計中的HEX文件。通過對仿真結(jié)果的觀察來對程序進行修改,最終使程序到達設(shè)計要求。圖32仿真圖第四章 系統(tǒng)調(diào)試 軟件程序編譯與調(diào)試(1)輸入源程序打開keil軟件,輸入源程序,輸入時應(yīng)以西文方式輸入字母和符號,且中文注釋前要加分號。(3)確定調(diào)試方案在調(diào)試程序前一定要認真分析源程序,明確各功能程序運行的預(yù)期結(jié)果。(4)調(diào)試程序調(diào)試程序時首先要明確程序的具體功能,對程序做認真分析。若運行結(jié)果不正確,首先應(yīng)根據(jù)程序運行的實際現(xiàn)象分析判斷哪些因素可引起相關(guān)故障,再通過調(diào)試方法逐一認證和排除。在編譯調(diào)試通過以后,生成hex文件以待仿真之用。首先是把顯示程序加載上去,進行調(diào)試時,看數(shù)碼管的顯示是否正確,還要看顯示的亮度是否太暗或太亮,是否出現(xiàn)了閃爍現(xiàn)象,如果顯示不正確,就檢查一下數(shù)碼管的引腳和單片機的連線是否接錯了。如果出現(xiàn)閃爍現(xiàn)象,就要改變一下延時時間,直到合理為止。把單片機放到電路板上,進行整個系統(tǒng)程序的調(diào)試??匆幌嘛@示是否正確,時間運行是否符合運行軌跡。運行一段時間后,按一下停止按鈕,讓秒表停止。主要是編程學的不太成功,在老師的細心指導(dǎo)下,然后再加以修改錯誤,最后完成設(shè)計。接著,我還要感謝我的寢室同學和身邊的朋友,正是在這樣一個團結(jié)友愛,相互促進的環(huán)境中,在和他們的相互幫助和啟發(fā)中,才有我今天的小小收獲。參考文獻[1] 李朝青. 單片機原理及接口技術(shù)(第3版)[M]. 北京:航空航天大學出版社,2006[2] 趙建領(lǐng). 51系列單片機開發(fā)寶典[M]. 北京:電子工業(yè)出版社,2007 [3] 耿永剛,陶國正. 單片機與接口應(yīng)用技術(shù)[M]. 上海:華東師范大學出版社,2008 [4] 孫惠芹. 單片機項目設(shè)計教程[M]. 北京:電子工業(yè)出版社,2009[5] 楊欣,王玉鳳,劉湘黔. 電子設(shè)計從零開始[M]. 北京:清華大學出版社,2005[6] 余永權(quán). ATMEL89系列單片機應(yīng)用技術(shù)[M]. 北京:北京航空航天大學出版社,2002附錄附錄1 系統(tǒng)總程序 include typedef unsigned char uint8。typedef unsigned long uint32。uint8 a[6]。uint8 q=1。sbit d2 = P3^1。sbit d4 = P3^3。sbit d6 = P3^5。void timer1_init(){ TMOD |= 0x10。= 0xdf。 TL1 = 0x67。}void int_init(){ ET1 = 1。}void refresh_led(){ static uint8 j = 0。j++。P3=0xff。 case 1: d6 = 0。P2 = number[a[1]]。break。j++。P3=0xff。 case 3: d4 = 0。P2 = number[a[3]]。break。j++。P3=0xff。 case 5: d2 = 0。P2 = number[a[5]]。break。 } }main(){
點擊復(fù)制文檔內(nèi)容
電大資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1