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

正文內(nèi)容

基于單片機(jī)的自行車速度里程表設(shè)計(編輯修改稿)

2024-11-28 10:20 本頁面
 

【文章內(nèi)容簡介】 部時鐘或外部定時脈沖使用。:外部程序存儲器讀選通信號。在讀外部ROM時,有效(低電平),以實現(xiàn)外部ROM單元的讀操作。:訪問程序存儲控制信號。當(dāng)信號為低電平時,對ROM的讀操作限定在外部程序存儲器;當(dāng)信號為高電平時,對ROM的讀操作是從內(nèi)部程序存儲器開始,并可延至外部程序存儲器。RST:復(fù)位信號。當(dāng)輸入的復(fù)位信號延續(xù)兩個機(jī)器周期以上的高電平時即為有效,用以完成單片機(jī)的復(fù)位初始化操作。XTALl和XTAL2:外接晶體引線端。當(dāng)使用芯片內(nèi)部時鐘時,此二引線端用于外接石英晶體和微調(diào)電容;當(dāng)使用外部時鐘時,用于接外部時鐘脈沖信號。VSS:地線。 VCC:+5V電源。以上是MCS51單片機(jī)芯片40條引腳的定義及簡單功能說明。由于工藝及標(biāo)準(zhǔn)化等原因,芯片的引腳數(shù)目是有限制的。例如,MCS51系列把芯片引腳數(shù)目限定為40條,但單片機(jī)為實現(xiàn)其功能所需要的信號數(shù)目卻遠(yuǎn)遠(yuǎn)超過此數(shù),因此就出現(xiàn)了需要與可能的矛盾。如何解決這個矛盾? “兼職”是唯一可行的辦法,即給一些信號引腳賦以雙重功能。如果把前述的信號定義為引腳第一功能的話,則根據(jù)需要再定義的信號就是它的第二功能。下面介紹一些信號引腳的第二功能。(1) P3 口線的第二功能。P3的8條口線都定義有第二功能, P3口引腳與第二功能引腳第二功能信號名稱RXD串行數(shù)據(jù)接收TXD串行數(shù)據(jù)發(fā)送外部中斷0申請外部中斷1申請T0定時/計數(shù)器0的外部輸入T1定時/計數(shù)器1的外部輸入外部RAM寫選通外部RAM讀選通 (2) EPROM存儲器程序固化所需要的信號。有內(nèi)部EPROM的單片機(jī)芯片(例如8751),為寫入程序需提供專門的編程脈沖和編程電源,這些信號也是由信號引腳以第二功能的形式提供的,即:編程脈沖:30腳(ALE/)編程電壓(25V):31腳(/VPP)(3) 備用電源引入。MCS51單片機(jī)的備用電源也是以第二功能的方式由9腳(RST/VPD)引入的。當(dāng)電源發(fā)生故障,電壓降低到下限值時,備用電源經(jīng)此端向內(nèi)部RAM提供電壓,以保護(hù)內(nèi)部RAM中的信息不丟失。 單片機(jī)中斷系統(tǒng)介紹在本次設(shè)計當(dāng)中,中斷部分的設(shè)計尤為重要,所謂中斷,是當(dāng)計算機(jī)執(zhí)行正常程序時,系統(tǒng)中出現(xiàn)某些急需處理的事件,CPU暫時中止當(dāng)前的程序,轉(zhuǎn)去執(zhí)行服務(wù)程序,以對發(fā)生的更緊迫的事件進(jìn)行處理,待處理結(jié)束后,CPU自動返回原來的程序執(zhí)行。AT89S52系列單片機(jī)的系統(tǒng)有5個中斷源,2個優(yōu)先級,可實現(xiàn)二級中斷服務(wù)嵌套。由片內(nèi)特殊功能寄存器中的中斷允許寄存器IE控制CPU是否響應(yīng)中斷請求;有中斷優(yōu)先級寄存器IP安排各優(yōu)中斷源的優(yōu)先級;同一優(yōu)先級內(nèi)各終端同時提出中斷請求時,由內(nèi)部的查詢邏輯確定其響應(yīng)次序。本次設(shè)計采用的外部中斷方式包括外部中斷0和外部中斷1,它們的中斷請求信號分別由單片機(jī)引腳/。外部中斷請求有兩種信號方式:電平觸發(fā)方式和脈沖觸發(fā)方式。電平觸發(fā)方式的中斷請求是低電平有效。只要在和引腳上出現(xiàn)有效低電平時,就激活外部中斷方式。脈沖觸發(fā)方式的中斷請求則是脈沖的負(fù)跳變有效。在這種方式下,在兩個相鄰機(jī)器周期內(nèi),活引腳電平發(fā)生變化,即在第一個機(jī)器周期內(nèi)為高電平,第二個機(jī)器周期內(nèi)為低電平,就激活外部中斷。由此可見,在脈沖方式下,中斷請求信號的高電平和低電平狀態(tài)都應(yīng)至少維持一個機(jī)器周期,以使CPU采樣到電平狀態(tài)的變化,本次設(shè)計所采用的觸發(fā)方式為脈沖觸發(fā)方式。CPU對中斷系統(tǒng)所有中斷以及某個中斷源的開放和屏蔽是由中斷允許寄存器IE控制的。IE的狀態(tài)可通過程序由軟件設(shè)定,某位設(shè)定為1,相應(yīng)的中斷源中斷允許;某位設(shè)定為0,相應(yīng)的中斷源中斷屏蔽。CPU復(fù)位時,IE各位為0,禁止所有中斷。IE寄存器各位的定義如下。EX0()外部中斷允許位;ET0()定時/計數(shù)器T0中斷允許位;EX1()外部中斷允許位;ET1()定時/計數(shù)器T1中斷允許位;ES()串行口中斷允許位;EA()CPU中斷允許位。AT89S52單片機(jī)有兩個中斷優(yōu)先級,即可實現(xiàn)二級中斷服務(wù)嵌套。每個中斷源的中斷優(yōu)先級都是由中斷優(yōu)先級寄存器IP中的相應(yīng)的狀態(tài)來規(guī)定的。IP的狀態(tài)由軟件設(shè)定,某位設(shè)定為1,則相應(yīng)的中斷源為高優(yōu)先級中斷;。單片機(jī)復(fù)位時,IP各位清0,各中斷源同為低優(yōu)先級中斷。IP寄存器各位的定義如下。PX0()外部中斷優(yōu)先級設(shè)定位;PT0()定時/計數(shù)器T0中斷優(yōu)先級設(shè)定位;PX1()外部中斷中斷優(yōu)先級設(shè)定位;PT1()定時/計數(shù)器T1中斷優(yōu)先級設(shè)定位;PS()串行口中斷優(yōu)先級設(shè)定位。 單片機(jī)定時/計數(shù)功能介紹AT89S52單片機(jī)定時/計數(shù)器的工作由兩個特殊功能寄存器控制。TMOD用于設(shè)置其工作方式;TCON用于控制其啟動和中斷請求。工作方式寄存器TMOD用于設(shè)置定時/計數(shù)器的工作方式。GATE:門控位。GATE=0時,只要用軟件使TCON中的TR0或TR1為1,就可以啟動定時/計數(shù)器工作;GATE=1時,要用軟件TR0或TR1為1,同時外部中斷引腳或也為高電平時,才能啟動定時/計數(shù)器工作。:定時/計數(shù)模式選擇位。=0為定時模式; =1為計數(shù)模式。M1M2:工作方式設(shè)置位。定時/計數(shù)器有4種工作方式,由M1M2進(jìn)行設(shè)置。本次設(shè)計TMOD為90H,即選通定時/計數(shù)器定時功能、工作方式1。工作方式16位定時/計數(shù)器。TF1()定時/計數(shù)器T1溢出中斷請求標(biāo)志位。定時/計數(shù)器T1計數(shù)溢出時由硬件自動置TF1為1。CPU響應(yīng)中斷后TF1由硬件自動清零。T1工作時,CPU可隨時查詢TF的狀態(tài)。所以,TF1可用作查詢測試的標(biāo)志。TF1也可以用軟件置1或清零,同硬件置1或清零的效果一樣。TR1()定時/計數(shù)器T1運(yùn)行控制位。TR1置1時時,定時/ 計數(shù)器T1開始工作;TR1置0時,定時/計數(shù)器T1停止工作。TR1由軟件置1或清0。TF0():定時/計數(shù)器T0溢出中斷請求標(biāo)志位。TR0():定時/計數(shù)器T0運(yùn)行控制位。 單片機(jī)外圍電路的設(shè)計 時鐘電路的設(shè)計時鐘是單片機(jī)的心臟,單片機(jī)各功能部件的運(yùn)行都是以時鐘頻率為基準(zhǔn),有條不紊地一拍一拍地工作。因此,時鐘頻率直接影響單片機(jī)的速度,時鐘電路的質(zhì)量也直接影響單片機(jī)系統(tǒng)的穩(wěn)定性。AT89S52片內(nèi)由一個反相放大器構(gòu)成振蕩器,可以由它產(chǎn)生時鐘。常用的時鐘電路有兩種方式,一種是內(nèi)部時鐘方式,另一種為外部時鐘方式。本設(shè)計采用前者。單片機(jī)內(nèi)部有一個用于構(gòu)成振蕩器的高增益反相放大器,該高增益反相放大器的輸入為芯片引腳XTAL1,輸出端為引腳XTAL2。這兩個引腳跨接石英晶體振蕩器和電容,就構(gòu)成一個穩(wěn)定的自激振蕩器。 單片機(jī)片內(nèi)振蕩電路電路中的電容C1和C2常選擇為30pF左右。對外接電容的值雖然沒有嚴(yán)格的要求,但電容的大小會影響振蕩器的高低、振蕩器的穩(wěn)定性、起振的快速性和溫度的穩(wěn)定性。而外接晶體的振蕩頻率的大小,主要取決于單片機(jī)的工作頻率范圍,每一種單片機(jī)都有自己的最大工作頻率,外接的晶體振蕩頻率不大于單片機(jī)的最大工作頻率即可。此外,如果單片機(jī)有串行通信,則應(yīng)該選擇振蕩頻率除以串行通信頻率可以除盡的晶體。本設(shè)計晶振采用12MHz,則計數(shù)周期為T=S 復(fù)位電路的設(shè)計AT89S52單片機(jī)的復(fù)位輸入引腳RET為AT89S52提供了初始化的手段。有了它可以使程序從指定處開始執(zhí)行,即從程序存儲器中的0000H地址單元開始執(zhí)行程序。在89S52的時鐘電路工作后,只要在RET引腳上出現(xiàn)兩個機(jī)器周期以上的高電平時,單片機(jī)內(nèi)部則初始復(fù)位。只要RET保持高電平,則89S52循環(huán)復(fù)位。只有當(dāng)RET由高電平變成低電平以后,89S52才從0000H地址開始執(zhí)行程序。本系統(tǒng)的復(fù)位電路是采用按鍵復(fù)位的電路,是常用復(fù)位電路之一。單片機(jī)復(fù)位通過按動按鈕產(chǎn)生高電平復(fù)位稱手動復(fù)位。上電時,剛接通電源,電容C相當(dāng)于瞬間短路,+5V立即加到RET/VPD端,該高電平使89S52全機(jī)自動復(fù)位,這就是上電復(fù)位;若運(yùn)行過程中需要程序從頭執(zhí)行,只需按動按鈕即可。按下按鈕,則直接把+5V加到了RET/VPD端從而復(fù)位稱為手動復(fù)位。復(fù)位后,P0到P3并行I/O口全為高電平,其它寄存器全部清零,只有SBUF寄存器狀態(tài)不確定。 按鍵復(fù)位電路工作原理:上電瞬間,RC電路充電,RST引腳出現(xiàn)高電平,只要RST端保持10ms以上高電平,就能使單片機(jī)有效地復(fù)位。 顯示電路的設(shè)計本設(shè)計中采用LED數(shù)碼管顯示。在單片機(jī)系統(tǒng)中,通常用LED數(shù)碼顯示器來顯示各種數(shù)字或符號。由于它具有顯示清晰、亮度高、使用電壓低、壽命長的特點,因此使用非常廣泛。八段LED顯示器由8個發(fā)光二極管組成。其中7個發(fā)光二極管構(gòu)成字型“8”的各個筆畫段,另一個發(fā)光二極管為小數(shù)點。LED顯示器有兩種不同的形式:一種是發(fā)光二極管的陽極都連在一起的,稱之為共陽極LED顯示器;另一種是發(fā)光二極管的陰極都連在一起的,稱之為共陰極LED顯示器。本次設(shè)計采用共陽極接法。 八段LED顯示器LED顯示方式有動態(tài)顯示和靜態(tài)顯示兩種方式。本系統(tǒng)采用動態(tài)掃描顯示接口電路,動態(tài)顯示接口電路是把所有顯示器的8個筆劃段ah同名端連在一起,而每一個顯示器的公共極COM各自獨(dú)立地受I/O線控制。CPU向字段輸出口送出字型碼時,所有顯示器接收到相同的字型碼,但究竟是哪個顯示器亮,則取決于COM端。也就是說我們可以采用分時的方法,輪流控制各個顯示器的COM端,使各個顯示器輪流點亮。在輪流點亮掃描過程中,每位顯示器的點亮?xí)r間是極為短暫的(約1ms),由于人的視覺暫留現(xiàn)象及發(fā)光二極管的余輝效應(yīng),盡管實際上各位顯示器并非同時點亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù),不會有閃爍感。、~,通過軟件編程,先把所要顯示的數(shù)據(jù)放入存儲單元,然后把數(shù)據(jù)送入段選通對應(yīng)的地址,再選通某一個LED,逐步完成四個LED的顯示。 報警電路的設(shè)計本次報警電路采用蜂鳴器報警,當(dāng)即時速度超過預(yù)定值時蜂鳴器響,指示燈亮。 報警電路圖4 自行車速度/里程表軟件程序設(shè)計 概述在硬件設(shè)計完畢之后,接下來就是設(shè)計中最核心和最為主要的軟件部分設(shè)計。所謂軟件設(shè)計就是把軟件需求變換成軟件的具體設(shè)計方案(即模塊結(jié)構(gòu))的過程。模塊化結(jié)構(gòu)設(shè)計即是根據(jù)要求和硬件設(shè)計的結(jié)構(gòu),將整個系統(tǒng)的功能分成許多小的功能模塊,再根據(jù)這些小的功能模塊進(jìn)行程序編寫的過程。這樣的設(shè)計方法,使得系統(tǒng)的整個功能和各部分的功能趨于明朗化。當(dāng)系統(tǒng)出現(xiàn)問題,就可以根據(jù)功能設(shè)置找出問題的根源,從而更快地解決問題。所以說,在整個設(shè)計過程中,軟件設(shè)計必須與硬件設(shè)計緊密地結(jié)合在一起?;诨魻杺鞲衅髯孕熊囁俣?里程表的軟件設(shè)計包括上電初始化程序、中斷子程序、速度調(diào)用子程序、里程調(diào)用子程序、LED顯示子程序、延時子程序等幾大部分。由于要實現(xiàn)很多功能,所以采用模塊化設(shè)計,下面就其主要部分分別加以分析。 自行車速度/里程表總體程序設(shè)計在主程序模塊中,需要完成對各接口芯片的初始化、自行車?yán)锍毯退俣鹊某跏蓟⒅袛嘞蛄康脑O(shè)計以及開中斷、循環(huán)等待等工作。另外,在主程序模塊中還需要設(shè)置啟動/清除標(biāo)志寄存器、里程寄存器、速度寄存器,并對它們進(jìn)行初始化。然后主程序?qū)⒏鶕?jù)各標(biāo)志寄存器的內(nèi)容,分別完成啟動、清除、計程和計速等不同的操作。,低電平為顯示速度,高電平為顯示里程。中斷0用于對輪子圈數(shù)的計數(shù)輸入,輪子每轉(zhuǎn)一圈,霍爾傳感器輸出一個低電平脈沖。將根據(jù)里程寄存器中的內(nèi)容計算和判斷出行駛里程數(shù)。中斷1用于控制定時器T1的啟/停,當(dāng)輸入為0時關(guān)閉定時器。此控制信號是將輪子圈數(shù)的計數(shù)經(jīng)二分頻后形成。這樣,每次定時器T1的開啟時間剛好為轉(zhuǎn)一圈的時間,根據(jù)輪子的周長就可以計算出自行車的速度。 開始初始化開中斷,啟動定時器=1?調(diào)用速度處理子程序NY調(diào)用里程處理子程序 主程序流程圖 中斷子程序的設(shè)計定時中斷是為滿足定時或計數(shù)的需要而設(shè)置的。為此在單片機(jī)內(nèi)部有兩個定時/計數(shù)器,以對其中的計數(shù)結(jié)構(gòu)進(jìn)行計數(shù)的方法,來實現(xiàn)定時或計數(shù)功能。當(dāng)結(jié)構(gòu)發(fā)生計數(shù)溢出時,即表明定時時間或計數(shù)值已滿,這時就以計數(shù)溢出信號作為中斷請求,去置位一個溢出標(biāo)志,作為單片機(jī)接受中斷請求的標(biāo)志。這種中斷請求是在單片機(jī)芯片內(nèi)部發(fā)生的,因此無須在芯片上設(shè)置引入端。關(guān)中斷開始現(xiàn)場保護(hù)開中斷中斷處理關(guān)中斷現(xiàn)場恢復(fù)開中斷中斷返回定時/計數(shù)器控制寄存器TCON是8位寄存器,地址為88H,可以位尋址。其高4位用于定時/計數(shù)器中斷控制,低4位借給外部
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1