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

正文內(nèi)容

畢業(yè)設(shè)計(jì)-基于單片機(jī)的超聲波液位測(cè)量系統(tǒng)(文件)

 

【正文】 部中斷請(qǐng)求,執(zhí)行外部中斷服務(wù)子程序,讀取時(shí)間差,計(jì)算距離。用C編寫程序比匯編更符合人們的思考習(xí)慣,開發(fā)者可以擺脫與硬件無必要的接觸,更專心的考慮功能和算法而不是考慮一些細(xì)節(jié)問題,這樣就減少了開發(fā)和調(diào)試的時(shí)間。C語言對(duì)數(shù)據(jù)進(jìn)行了許多專業(yè)性的處理,避免了運(yùn)行中間非異步的破壞;(5)C語言提供復(fù)雜的數(shù)據(jù)類型 (數(shù)組、結(jié)構(gòu)、聯(lián)合、枚舉、指針等),極大地增強(qiáng)了程序處理能力和靈活性;(6)中斷服務(wù)程序的現(xiàn)場(chǎng)保護(hù)和恢復(fù),中斷向量表的填寫,是直接與單片機(jī)相關(guān)的,都由C編譯器代辦;(7)提供常用的標(biāo)準(zhǔn)函數(shù)庫(kù),以供用戶直接使用;(8)頭文件中定義宏、說明復(fù)雜數(shù)據(jù)類型和函數(shù)原型,有利于程序的移植和支持單片機(jī)的系列化產(chǎn)品的開發(fā);(9)有嚴(yán)格的句法檢查,錯(cuò)誤很少,可容易地在高級(jí)語言的水平上很快被排除。指令寄存器(IR)用于存放從程序存儲(chǔ)器中取出的指令碼,定時(shí)控制邏輯用于對(duì)IR中指令碼譯碼,并在OSC配合下產(chǎn)生指令的時(shí)序脈沖,以完成相應(yīng)指令的執(zhí)行。時(shí)鐘頻率越高,單片機(jī)控制器的控制節(jié)拍就越快,運(yùn)算速度也就越快。 CIP51 包含一個(gè)擴(kuò)展的中斷系統(tǒng),支持20 個(gè)中斷源,每個(gè)中斷源有兩個(gè)優(yōu)先級(jí)。 如果中斷被允許,在中斷標(biāo)志被置位時(shí)將產(chǎn)生中斷。中斷標(biāo)志置1 與否不受中斷允許/禁止?fàn)顟B(tài)的影響。例如: // 在‘C’語言程序中: EA = 0 。 … 跟隨一條2 字接操作碼的指令 如果在“CLR EA”操作碼(或任何清除EA 位的指令)的執(zhí)行期間產(chǎn)生了一個(gè)中斷,并且該指令的后面是一條單周期指令,則中斷可能被響應(yīng)。但大多數(shù)中斷標(biāo)志不是由硬件清除的,必須在 ISR 返回前用軟件清除。如果中斷標(biāo)志被允許,系統(tǒng)將產(chǎn)生一個(gè)中斷請(qǐng)求,CPU 將轉(zhuǎn)向與該中斷標(biāo)志對(duì)應(yīng)的ISR 地址。如果/INT0 或/INT1 外部中斷被配置為邊沿觸發(fā),CPU 在轉(zhuǎn)向 ISR 時(shí)將自動(dòng)清除相應(yīng)的中斷標(biāo)志。一個(gè)低優(yōu)先級(jí)的中斷服務(wù)程序可以被高優(yōu)先級(jí)的中斷所中斷,但高優(yōu)先級(jí)的中斷不能被中斷。 中斷響應(yīng)時(shí)間 中斷響應(yīng)時(shí)間取決于中斷發(fā)生時(shí) CPU的狀態(tài)。因此,最長(zhǎng)的中斷響應(yīng)時(shí)間(沒有其它中斷正被服務(wù)或新中斷具有較高優(yōu)先級(jí))發(fā)生在 CPU 正在執(zhí)行 RETI指令,而下一條指令是 DIV 的情況。在系統(tǒng)軟件中,要完成發(fā)射脈沖信號(hào)、采集回波信號(hào)。, 所示。KEIL uVISION3 是眾多單片機(jī)應(yīng)用開發(fā)軟件中優(yōu)秀的軟件之一,它支持眾多不同公司的MCS51 架構(gòu)的芯片,它集編輯,編譯,仿真等于一體,同時(shí)還支持,PLM,匯編和C 語言的程序設(shè)計(jì),它的界面和常用的微軟VC++的界面相似,界面友好,易學(xué)易用,在調(diào)試程序,軟件仿真方面也有很強(qiáng)大的功能。sfr P0M0 = 0X94。sfr P2M0 = 0X96。 //測(cè)試用引腳uchar code SEG7[10]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90}。 //測(cè)量成功標(biāo)志//********函數(shù)聲明void conversion(uint temp_data)。 uchar CONT_1。 P2M1 = 0。 i=0。 //首先拉低脈沖輸入引腳 TMOD=0x11。 //打開定時(shí)器0中斷 //ET1=1。Trig=1。 //等待Echo回波引腳變高電平succeed_flag=0。 //定時(shí)器1清零TF1=0。//等待測(cè)量的結(jié)果,(可用中斷實(shí)現(xiàn)) TR1=0。 //放入16位的高8位distance_data=distance_data|outeL。 //沒有回波則清零test = !test。 /// pai_xu()。 if(b!=a) CONT_1++。 } /// i=0。 //至成功測(cè)量的標(biāo)志 EX0=0。 P2=0xfd。P2=0xfe。P2=0xfb。TL1=0。break。break。break。 //寫入定時(shí)器0初始值 TL0=0x77。 //取出定時(shí)器的值 outeL =TL1。 b=a。 a=distance_data。 //將測(cè)量結(jié)果的數(shù)據(jù)放入緩沖區(qū) /// i++。 //因?yàn)槎〞r(shí)器默認(rèn)為12分頻distance_data/=58。 //關(guān)閉外部中斷if(succeed_flag==1){ distance_data=outeH。 //啟動(dòng)定時(shí)器1EA=1。 //打開外部中斷TH1=0。Trig=0。 //關(guān)閉外部中斷 EA=1。 //啟動(dòng)定時(shí)器0 IT0=0。 test =0。 P1M0 = 0XFF。 //系統(tǒng)時(shí)鐘為12MHz晶振 P0M1 = 0。//void pai_xu()。 //測(cè)距接收緩沖區(qū)uchar ge,shi,bai,temp,flag,outeH,outeL,i。 //產(chǎn)生脈沖引腳sbit Echo = P3^2。sfr P1M0 = 0X92。2 C程序//超聲波液位計(jì)程序清單://晶振=12MHz//MCU=AT89C51////Trig = P1^0//Echo = P3^2include //包括一個(gè)51標(biāo)準(zhǔn)內(nèi)核的頭文件define uchar unsigned char //定義一下方便使用define uint unsigned intdefine ulong unsigned long//***********************************************sfr CLK_DIV = 0x97。 開始程序初始化定時(shí)中斷子程序收到回波結(jié)束是否外部中斷子程序 主程序流程圖定時(shí)中斷服務(wù)子程序完成超聲波的發(fā)射和接收,外部中斷服務(wù)子程序主要完成時(shí)間值的讀取、距離計(jì)算、結(jié)果的輸出等工作。RAM中存儲(chǔ)的計(jì)數(shù)值并不能作為距離值直接顯示輸出,因?yàn)橛?jì)數(shù)值為十六進(jìn)制數(shù),先要將十六進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù),然后根據(jù)計(jì)數(shù)值與實(shí)際距離的轉(zhuǎn)換公式計(jì)算出距離值。如果CPU正在執(zhí)行一個(gè)具有相同或更高優(yōu)先級(jí)的中斷的 ISR,則新中斷要等到當(dāng)前ISR 執(zhí)行完(包括 RETI和下一條指令)才能得到服務(wù)。最快的響應(yīng)時(shí)間為 5個(gè)系統(tǒng)時(shí)鐘周期:一個(gè)周期用于檢測(cè)中斷,4個(gè)周期完成對(duì) ISR的長(zhǎng)調(diào)用(LCALL) 。如果兩個(gè)中斷同時(shí)發(fā)生,具有高優(yōu)先級(jí)的中斷先得到服務(wù)。在 ISR返回前必須使該中斷請(qǐng)求無效,否則將產(chǎn)生另一個(gè)中斷請(qǐng)求。(2) 外部中斷 兩個(gè)外部中斷源(/INT0和/INT1)可被配置為低電平觸發(fā)或下降沿觸發(fā)輸入,由 IT0( IT1()的設(shè)置決定。 (1) MCU 中斷源和中斷向量 MCU 支持20 個(gè)中斷源。當(dāng)“CLR EA”操作碼后面是一條多周期指令時(shí),則中斷不會(huì)被響應(yīng)。 // … 跟隨一條2 字接操作碼的指令 // 在匯編語言程序中: CLR EA 。不管每個(gè)中斷允許位的設(shè)置如何,清‘0’EA 位將禁止所有中斷。每個(gè)ISR 必須以RETI 指令結(jié)束,使程序回到中斷前執(zhí)行完的那條指令的下一條指令。每個(gè)中斷源可以在一個(gè)SFR 中有一個(gè)或多個(gè)中斷標(biāo)志。計(jì)算機(jī)中的中斷是指CPU暫停原程序執(zhí)行轉(zhuǎn)而為外部設(shè)備服務(wù),并在服務(wù)完后回到原程序執(zhí)行的過程。引腳XTAL1為反向放大管Q4的輸入端,XTAL2為Q2的輸出端。指令寄存器(IR)用于存放從程序存儲(chǔ)器中取出的指令碼,定時(shí)控制邏輯用于對(duì)IR中指令碼譯碼,并在OSC配合下產(chǎn)生指令的時(shí)序脈沖,以完成相應(yīng)指令的執(zhí)行[18]。不同的功能模塊,分別指定相應(yīng)的入口參數(shù)和出口參數(shù),對(duì)于一些要重復(fù)調(diào)用的程序一般把其編成函數(shù),這樣可以減少程序代碼的長(zhǎng)度,又便于整個(gè)程序的管理,還可增強(qiáng)可讀性和移植性。但是用于單片機(jī)的C語言和標(biāo)準(zhǔn)C語言區(qū)別很大。距離的計(jì)算公式為: (41)其中,d為被測(cè)物與測(cè)距儀的距離,s為聲波的來回的路程,c為聲速,t為聲波來回所用的時(shí)間。 報(bào)警電路第4章 系統(tǒng)軟件的設(shè)計(jì)超聲波測(cè)距儀的軟件設(shè)計(jì)主要有主程序、超聲波發(fā)生程序、超聲波接收中斷程序及顯示子程序組成。在這一瞬時(shí),只有這一位在顯示,其他幾位則暗。 符號(hào)和引腳 共陰極 共陽(yáng)極 數(shù)碼管類型 數(shù)碼管顯示器有兩種工作方式,即靜態(tài)顯示方式和動(dòng)態(tài)掃描顯示方式。二極管的陰極連接在一起,通常此公共陰極接地,而共陽(yáng)極則將發(fā)光二極管的陽(yáng)極連接在一起,接入+5V的電壓。 LED數(shù)碼管的外形結(jié)構(gòu)如圖,外部有12個(gè)引腳,其中數(shù)字1,2,3,4為公共端也稱位選端,其余8個(gè)引腳稱為段選端,當(dāng)要使某一位數(shù)碼管顯示某一數(shù)字((09中的一個(gè))必須在這個(gè)數(shù)碼管的段選端加上與數(shù)字顯示數(shù)字對(duì)應(yīng)的8位段選碼(也稱字形碼),在位選端加上低電平即可。假如內(nèi)部功耗超出了散熱范圍,熱關(guān)斷電路將會(huì)啟動(dòng),防止芯片過熱。 電源電路經(jīng)過降壓、橋式整流、濾波后通過LM7805穩(wěn)壓并直接為單片機(jī)和其它器件供電,作為齊納二極管/電阻組合的替換方案時(shí),LM7805和LM7812通??梢愿纳朴行л敵鲎杩惯_(dá)兩個(gè)數(shù)量級(jí),并降低靜態(tài)電流。 顯示單元電路。所謂靜態(tài)顯示,就是每一個(gè)顯示器都要占用單獨(dú)的具有鎖存功能的I/O接口用于筆劃段字形代碼。6腳C:該腳與GND之間接入一個(gè)積分電容,標(biāo)準(zhǔn)值為330pF,如果該電容取得太大,會(huì)使探測(cè)距離變短。3腳C0:該腳與GND之間連接檢波電容,電容量大為平均值檢波,瞬間相應(yīng)靈敏度低;若容量小,則為峰值檢波,瞬間相應(yīng)靈敏度高,但檢波輸出的脈沖寬度變動(dòng)大,易造成誤動(dòng)作。 超聲波檢測(cè)接收電路CX20106A的引腳注釋:1腳IN:超聲波信號(hào)輸入端,該腳的輸入阻抗約為40kΩ。 超聲波接收電路設(shè)計(jì)超聲波接收電路CX20106A是一款紅外線檢波接收的專用芯片,常用于電視機(jī)紅外遙控接收器。當(dāng)它的兩極外加脈沖信號(hào),其頻率等于壓電晶片的固有振蕩頻率時(shí),壓電晶片會(huì)發(fā)生共振,并帶動(dòng)共振板振動(dòng)產(chǎn)生超聲波,這時(shí)它就是一個(gè)超聲波發(fā)生器;反之,如果兩電極問未外加電壓,當(dāng)共振板接收到超聲波時(shí),將壓迫壓電晶片作振動(dòng),將機(jī)械能轉(zhuǎn)換為電信號(hào),這時(shí)它就成為超聲波接收換能器。216。216。216。216。216。216。DS18B20可以直接讀出被測(cè)溫度值,而且采用了一線制與單片機(jī)相連,減少了外部的硬件電路,具有低成本和易使用的特點(diǎn)。l XTAL2:來自反向振蕩器的輸出。l /EA/VPP:當(dāng)/EA保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000HFFFFH),不管是否有內(nèi)部程序存儲(chǔ)器。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過一個(gè)ALE脈沖。l ALE/PROG:當(dāng)訪問外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。l /RD:外部數(shù)據(jù)存儲(chǔ)器讀選通。l /INT1:外部中斷1。l P0,P1,P2,P3:輸入/輸出端口。由于將多功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATMEL的AT89C51是一種高效微控制器,AT89C51是它的一種精簡(jiǎn)版本。第3章 各單元硬件電路設(shè)計(jì) 單片機(jī)最小系統(tǒng)電路AT89C51是一種帶4K字節(jié)FLASH存儲(chǔ)器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低電壓、高性能CMOS 8位微處理器,俗稱單片機(jī)。對(duì)盲區(qū)問題普遍處理辦法是對(duì)繞射虛假信號(hào)作屏蔽,而屏蔽辦法多種多樣。從圖中的c點(diǎn)以后,發(fā)射信號(hào)己低于閥值,接收信號(hào)才基本上擺脫了發(fā)射信號(hào)的影響而能明顯地分辨出來。在超聲波檢測(cè)中,接收信號(hào)的衰減程度設(shè)計(jì)的比發(fā)射信號(hào)余振的衰減慢得多,如圖中實(shí)線所示。 盲區(qū)處理超聲波是由壓電晶片振動(dòng)產(chǎn)生的,壓電晶片的振動(dòng)是由信號(hào)控制的,當(dāng)信號(hào)停止的同時(shí),晶片由于慣性要等一段時(shí)間才能停下來,之后才能接收回波信號(hào),這段時(shí)間內(nèi)超聲波傳感器仍然在發(fā)射信號(hào),因此不能接收回波信號(hào),故稱之為盲區(qū)。C至+85176。獨(dú)特的一線接口,只需要一條口線通信多點(diǎn)能力,簡(jiǎn)化了分布式溫度傳感應(yīng)用無需外部元件可用數(shù)據(jù)總線供電。AD590共有I、J、K、L、M五檔,其中M檔精度最高,在55℃~+150℃范圍內(nèi),非線性誤差為177。電源電壓可在4V6V范圍變化,電流變化1mA,相當(dāng)于溫度變化1K。AD590是美國(guó)模擬器件公司生產(chǎn)的單片集成兩端感溫電流源。實(shí)驗(yàn)證明用CX20106A接收超聲波(無信號(hào)時(shí)輸出高電平),具有很好的靈敏度和較強(qiáng)的抗干擾能力。主要取決于制造晶片本身。工作溫度。晶片的大小,如直徑和厚度也各不相同,因此每個(gè)探頭的性能是不同的,我們使用前必須預(yù)先了解它的性能。超聲波傳感器是一種采用壓電效應(yīng)的傳感器,常用材料是壓電式陶瓷。超聲波測(cè)距的原理是利用超聲波的發(fā)射和接受,根據(jù)超聲波傳播的時(shí)間來計(jì)算出傳播距離。超聲波測(cè)距主要應(yīng)用于倒車提醒、建筑工地、工業(yè)現(xiàn)場(chǎng)等的距離測(cè)量,雖然目前的測(cè)距量程上能達(dá)到百米,但測(cè)量的精度往
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1