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

正文內容

轉速自動測試系統(tǒng)設計(警報)畢業(yè)論文(編輯修改稿)

2025-07-16 13:43 本頁面
 

【文章內容簡介】 的P0口,,同時加上上拉電阻,該LCD顯示器為兩行顯示,第一行顯示測得的當前速度值,第二行顯示設置的高速值,低速值。電路設計如下圖413所示。圖413 液晶顯示電路 按鍵電路設計本系統(tǒng)需要對預設的高低速值進行設置,需要用到鍵盤,鍵盤一般分為獨立式鍵盤和矩陣鍵盤。當按鍵數(shù)量較少時,用獨立鍵盤較合適。當按鍵數(shù)量較多時,往往采用矩陣式鍵盤,可以節(jié)省I/O接口線,而且鍵位越多,情況越明顯,矩陣鍵盤用I/O接口線組成行、列結構,鍵位設置在行列的交點上。例如4*4的行、列結構可組成16個鍵的鍵盤,比一個鍵位用一根I/O接口線的獨立式鍵盤少了一半的I/O接口線。在本設計中,矩陣式鍵盤直接連接于單片機的P1口。P1的8條I/O口線分為4條行線和4條列線,,按鍵開關的兩端分別接在行線和列線上。其接口電路見圖414。 圖414 鍵盤電路圖由圖和相應的鍵的鍵值定義的各個鍵的功能如下:S1~S4號鍵: 高速值10,高速值1,高速值+1,高速值+10;S5~S8號鍵: 低速值10,低速值1,低速值+1,低速值+10;S9~S12號鍵: 無定義;S13~S16號鍵: 按鍵聲開,按鍵聲關,報警聲開,報警聲關。 蜂鳴器報警電路設計蜂鳴器是一種一體化結構的電子訊響器,采用直流電壓供電,廣泛應用于計算機、打印機、復印機、報警器、電子玩具、汽車電子設備、電話機、定時器等電子產(chǎn)品中,作為發(fā)聲器件。本設計中選用電磁式蜂鳴器作為報警器。電磁式蜂鳴器由振蕩器、電磁線圈、磁鐵、振動膜片及外殼等組成。蜂鳴器實物見圖415。圖415 報警器圖蜂鳴器發(fā)聲原理:電流通過電磁線圈,使電磁線圈產(chǎn)生磁場來驅動振動膜發(fā)聲的,因此需要一定的電流才能驅動它,單片機IO引腳輸出的電流較小,單片機輸出的TTL電平基本上驅動不了蜂鳴器,因此需要增加一個電流放大的電路。本設計采用S8550PNP小功率三極管進行放大電流,其引腳圖見圖416。圖416 S8550引腳圖其主要性能參數(shù)為:(貼片:);放大倍數(shù) 50200;集電極到發(fā)射極電壓Vceo為25V;集電極到基極電壓Vcbo為40V;;;引腳排列為EBC或ECB;按三極管后綴號分為BCD檔,貼片為LH檔;放大倍數(shù)B85160,C120200,D160300,L100200,H200350.報警模塊主要負責聲音報警和燈光報警,報警電路均比較簡單,聲音報警由單片機引腳接上拉電阻,晶體管及揚聲器構成,燈光報警由三個發(fā)光二極管和電阻串聯(lián)構成,電路接線圖見圖417。圖417 蜂鳴器報警電路蜂鳴器的正極性的一端連接到5V電源上面,另一端連接到三極管的集電極,,電路導通,蜂鳴器響,電路不導通,蜂鳴器不響,‥的高低電平,驅動聲光報警電路報警。當測得的轉速不足所設定的低速值時,則發(fā)光二極管DS3亮。若測得的轉速值高于所設計的高速值時,則發(fā)光二極管DS5亮。當測得的轉速值在設定的低速值和高速值之間時,則發(fā)光二極管DS4亮。 5 軟件設計 系統(tǒng)開發(fā)環(huán)境隨著單片機開發(fā)技術的不斷發(fā)展,單片機的開發(fā)軟件也在不斷發(fā)展,Keil軟件是目前流行的用于開發(fā)51系列單片機的軟件。該軟件提供了包含C編譯器、宏匯編、鏈接器庫管理和一個功能強大的仿真調試器等在內的完整開發(fā)方案,通過一個集成開發(fā)環(huán)境(μVision)將這些部分組合在一起。運行Keil軟件需要Pentium或以上的CPU,16MB或更多RAM、20MB以上空閑的硬盤空間、Win9NT、Win2000、WinXP等操作系統(tǒng)。其界面見圖51.圖51 Kell運行環(huán)境界面 系統(tǒng)開發(fā)語言KeilC51是美國Keil Software公司出品的51系列兼容單片機C語言軟件開發(fā)系統(tǒng)。與匯編相比,C語言在功能上、結構性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學易用。用過匯編語言后再使用C來開發(fā),體會更加深刻。C語言具有良好的模塊化,容易閱讀和維護等優(yōu)點。由于模塊化,用C語言編寫的程序有很好的可移植性,功能化代碼能夠很方便地從一個工程移植到另一個工程,從而減少開發(fā)時間。用C語言編寫程序比用匯編編寫程序更符合人們的思考習慣,開發(fā)者可以更專心地考慮算法而不是考慮一些細節(jié)問題,這樣就減少了開發(fā)和調試時間。使用像C這樣的語言,編寫者不必十分熟悉處理器的運算過程。很多處理器支持C編譯器,這意味著對新的處理器也能很快上手,而不必知道處理器的具體內部結構,這使得用C語言編寫的程序比匯編程序有更好的可移植性。對大多數(shù)51系列單片機,使用C語言這樣的高級語言與使用匯編語言相比具有如下優(yōu)點:(1)不需要了解處理器的指令集,也不必了解存儲器結構;(2)寄存器分配和尋址方式由編譯器進行管理,編程時不需要考慮存儲器的尋址和數(shù)據(jù)類型等細節(jié);(3)指定操作的變量選擇組合提高了程序的可讀性;(4)可使用與人的思維更相近的關鍵字和操作函數(shù);(5)與使用匯編語言編程相比,程序的開發(fā)和調試時間大大縮短;(6)C語言中的庫文件提供許多標準的方程,例如:格式化輸出、數(shù)據(jù)轉換和浮點運算等;(7)通過C語言可實現(xiàn)模塊編程技術,從而可將已編制好的程序加入到新程序中;(8)C語言可移植性好且非常普及,C語言編譯器幾乎適用于所有的目標系統(tǒng),已完成的軟件項目可以很容易地轉換到其它的處理器或環(huán)境中。所以在本畢業(yè)設計中選用單片機C語言來進行程序代碼的編寫。 軟件總體設計根據(jù)系統(tǒng)要求,對軟件進行了整體設計,該軟件系統(tǒng)實現(xiàn)的功能是在單片機內部計數(shù),在計算出轉速后進行顯示,設定按鍵的各個功能,實現(xiàn)聲光報警。整個系統(tǒng)軟件由主程序、T0中斷服務子程序,鍵盤掃描子程序,轉速值計算顯示子程序,蜂鳴器子程序及延時子程序等組成。軟件總體框圖見圖52。 圖52總體框圖主程序主要完成系統(tǒng)初始化功能,包括LCD顯示初始化,定時/計數(shù)器初始化,中斷開、關等功能。中斷程序主要完成定時、計數(shù)功能。轉速值顯示子程序主負責將測得的當前轉速值的顯示和設定的高速、低速值的顯示。蜂鳴器程序主要完成報警功能。主程序流程圖見圖53。 圖53主程序流程圖主程序部分流程圖如下:main(){ lcd_init()。 //初始化LCDTMOD=0x51。 //設置定時器工作方式,即T0為16位定時器、T1為16位計數(shù)器TH0=0x3C。TL0=0xB0。 //T0初始化TH1=0x00。TL1=0x00。 //T1初始化EA=1。 //打開總中斷ET0=1。 //允許T0中斷TR0=1。TR1=1。 //啟動T0,T1 while(1) { } } 定時/計數(shù)中斷程序 定時/計數(shù)器介紹定時/計數(shù)器的實質是加1計數(shù)器(16位),由高8位和低8位兩個寄存器組成。TMOD是定時/計數(shù)器的工作方式寄存器,確定工作方式和功能;TCON是控制寄存器,控制T0、T1的啟動和停止及設置溢出標志。定時/計數(shù)器結構見圖54。 圖54 定時/計數(shù)器結構工作方式寄存器TMOD用于設置定時/計數(shù)器的工作方式,低四位用于T0,高四位用于T1。其格式見表51。表51 工作方式寄存器TMODGATE:門控位。GATE=0時,以運行控制位TRX(X=0,1)來啟動定時/計數(shù)器運行;GATA=1時,要用軟件使TR0或TR1為1,同時外部中斷引腳或也為高電平時,才能啟動定時/計數(shù)器工作;C/T:計數(shù)器模式和定時器模式選擇位。C/T=1時,選擇計數(shù)器模式,計數(shù)器對外部輸入引腳T0()或T1()的外部脈沖計數(shù);C/T=0時,選擇定時器模式。M1M0:工作方式設置位。定時/計數(shù)器有四種工作方式,由M1M0進行設置,其選擇情況見表52。表52 定時/計數(shù)器工作方式在本軟件設計中,設置工作方式寄存器TMOD=0x51??刂萍拇嫫鱐CON用于控制定時/計數(shù)器的啟動和溢出,它的字節(jié)地址為88H,可以進行位尋址,其低4位用于控制外部中斷,TCON的高4位用于控制定時/計數(shù)器的啟動和中斷申請。其格式如見表53。表53控制寄存器TCON位76543210字節(jié)地址:88HTF1TR1TF0TR0TF1():T1溢出中斷請求標志位。T1計數(shù)溢出時由硬件自動置TF1為1。CPU響應中斷后TF1由硬件自動清0。T1工作時,CPU可隨時查詢TF1的狀態(tài)。所以,TF1可用作查詢測試的標志。TF1也可以用軟件置1或清0,同硬件置1或清0的效果一樣。TR1():T1運行控制位。TR1置1時,T1開始工作;TR1置0時,T1停止工作。TR1由軟件置1或清0。所以,用軟件可控制定時/計數(shù)器的啟動與停止。TF0():T0溢出中斷請求標志位。當定時/寄存器T0記滿時,由硬件使它置位,如中斷允許則觸發(fā)T 0中斷。進入中斷處理后由內部硬件電路自動清除。TR0():T0運行控制位,TR0置1時,T0開始工作;TR0置0時,T0停止工作。TR0由軟件置1或清0。所以,用軟件可控制定時/計數(shù)器的啟動與停止。 中斷控制CPU對中斷系統(tǒng)所有中斷以及某個中斷源的開放和屏蔽是由中斷允許寄存器IE控制,IE的字節(jié)地址為A8H,可以進行位尋址,各位的定義見表54。表54 中斷允許寄存器IE位76543210字節(jié)地址:A8HEAESET1EX1ET0EX0167。 EX0(),外部中斷0的中斷允許位。EX0=0,禁止外部中斷;EX0=1,允許外部中斷。167。 ET0(),定時/計數(shù)器T0的溢出中斷允許位。ET0=0,禁止T0中斷;ET0=1,允許T0中斷。 167。 EX1(),外部中斷1的中斷允許位。EX1=0,禁止外部中斷;EX1=1,允許外部中斷。167。 ET1(),定時/計數(shù)器T1的溢出中斷允許位。ET1=0,禁止T0中斷;ET1=1,允許T0中斷。167。 ES(),串行口中斷允許位。ES=0,禁止串行口中斷;ES=1,允許串行口中斷。167。 EA (),CPU中斷允許(總允許)位。EA=0,屏蔽所有的中斷請求,EA=1,開放中斷。EA的作用是使中斷允許形成兩級那個控制,即各中斷源首先要受EA位的控制,其次還要受中斷源自己的中斷允許位控制。系統(tǒng)復位時,中斷允許寄存器IE的內容為00H,如果要開放某個中斷源,則必須使IE中的總控置位和對應的中斷允許位置“1”。 定時/計數(shù)器初值計算MCS51的定時/計數(shù)器是可編程的,可以設定為對機器周期進行計數(shù)實現(xiàn)定時功能,也可以設定為對外部脈沖計數(shù)實現(xiàn)計數(shù)功能。有四種工作方式,使用時可根據(jù)情況選擇其中一種。單片機定時/計數(shù)器初始化過程如下:1) 根據(jù)要求選擇方式,確定方式控制字,寫入方式控制寄存器TMOD。2) 根據(jù)要求計算定時/計數(shù)器的計數(shù)值,再由計數(shù)值求得初值,寫入初值寄存器。3) 根據(jù)需要開放定時/計數(shù)器中斷。4) 設置定時/計數(shù)器控制寄存器TCON的值,啟動定時/計數(shù)器開始工作。5) 等待定時/計數(shù)時間到,到則執(zhí)行中斷服務程序。如用查詢處理則編寫查詢程序來判斷溢出標志,溢出標志等于1,則進行相關處理。根據(jù)設計需要,定時/計數(shù)器選擇方式1合適,方式寄存器TMOD=01010011B=0x51。此時,T0作為16位定時器,定時時間為50ms,循環(huán)10次后,關閉中斷。T1作為16位計數(shù)器對霍爾傳感器產(chǎn)生的脈沖()進行計數(shù)。(1)T0用于定時工作方式,其定時時間為:T=(216T0的初值)機器周期此設計采用的是12MHz的晶振,則機器周期為1μs,定時器T0定時為50ms,將參數(shù)帶入公式 :T0的初值=6553650000=15536;換成十六進制,T0的初值=0x3CB0。所以對于定時/計數(shù)器T0有:TH0 = 0x3C;TL0 = 0xB0;對于計數(shù)器T1,初始化時為清零狀態(tài),即.(2)TI用于計數(shù)工作方式,初始化時為清零狀態(tài),即TH1=0x00;TL1=0x00。計數(shù)的最大長度為:216=65536,即在規(guī)定時間(500ms)內外部脈沖個數(shù)不超過65536。 定時中斷流程圖定時中斷程序主要負責完成定時、計數(shù)功能。在中斷程序中,定時50ms,用T0count對定時的時間進行計數(shù),每50ms就加1,當計數(shù)值到了10時,此時定時了500ms,關閉中斷,T0count清零。在每一次定時過程中,都對鍵盤進行掃描。此時計數(shù)器T1統(tǒng)計在500ms內所得到的脈沖數(shù),然后通過轉速值計算子程序對得到的脈沖數(shù)進行計算,得到每秒的轉速,再通過顯示子程序把得到的數(shù)值顯示出來。最后重置T0、T1值,并重新開啟中斷。其具體的流程圖見圖55。 圖55 定時中斷程序流程圖 按鍵掃描程序流程圖對矩陣式鍵盤的工作過程可以分為兩步:第一步是CPU上檢測鍵盤上是否有鍵按下;第二步是識別是哪個鍵按下。(1)檢測鍵盤上是否有鍵按下的方法:將列線送入全掃描字,讀入行線的狀態(tài)來判別。其具體過程如下:其P1口的列線全置為低電平,行線全置為高電平。如果有鍵按下,總會有一根行線電平被拉至低電平,從而使行輸入狀態(tài)不全為“1”。(2)去除鍵抖動。當檢測到有鍵按下后,延時一段時間再做下一步的檢測判斷。(3)識別鍵盤中哪一個鍵按下的處理方法是:將列線全置為1,行線全置為0,逐列掃描,當鍵按下時,總有一根列線被拉至低電平,則按下的鍵在該列與0電平行線相交的點上。當發(fā)現(xiàn)有鍵按下時,為確保按一次鍵只確認一次,必須消除按鍵抖動。該矩陣式鍵盤工作采用的是定時掃描方式,利用單片機內部定時器產(chǎn)生定時(50ms),當定時時間到,CPU執(zhí)行定時器中斷服務程序,對鍵盤進行掃描,如果有鍵按下則識別出該鍵位,并執(zhí)行相應的鍵處理功能。按鍵掃描程序具體流程圖見圖56。圖56 按鍵掃描程序流程圖 速度計算及顯示程序 速度
點擊復制文檔內容
環(huán)評公示相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1