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

正文內(nèi)容

基于單片機(jī)的液位控制系統(tǒng)設(shè)計(jì)-資料下載頁

2025-06-27 19:44本頁面
  

【正文】 設(shè)計(jì)(論文) 19 (31)KHzRCfclk60)(1.??其振蕩頻率約為606kHz ,滿足芯片要求。另外,以阻抗型液位傳感器為模型,液位傳感器阻值變化與液位的高度是成正比的,因此需要將電阻值轉(zhuǎn)換為電壓值匹配A/D轉(zhuǎn)換器。常用的阻抗電壓轉(zhuǎn)換法如歐姆法。由于被測(cè)阻抗兩端電壓正比于被測(cè)電阻,可把被測(cè)阻抗轉(zhuǎn)換為電壓測(cè)量。即 (32)xNxRaIU?式中, 是轉(zhuǎn)化電壓, 恒定電流, 為被測(cè)電阻, 為比例系數(shù)。因此,液位高度xUNI的變化同樣正比于輸入電壓,故而A/D轉(zhuǎn)換器輸出的數(shù)據(jù)正比于液位高度。為了簡(jiǎn)化設(shè)計(jì)調(diào)試過程,使用系統(tǒng)內(nèi)部5V電壓作為模擬輸入,VIN()直接接地,通過接入傳感器分壓將阻抗轉(zhuǎn)換為電壓信號(hào),接入電位器可實(shí)現(xiàn)模擬輸入。根據(jù)以上參數(shù)分析,設(shè)計(jì)電路如圖311:Vcc 20CLK R 19DB0 18DB1 17DB2 16DB3 15DB4 14DB6 12DB5 13DB7 11CS1RD2WR3CLK IN4INTR5Vin(+)6Vin()7A GND8Vref9D GND10ADC0804U9ADC0804R410kR61kR71kVCCR510kC4150pFAD_WRAD_RDVCCAD0AD1AD2AD3AD4AD5AD6AD712JP2JPR810kVCCS2SWSPDT圖 311 A/D 轉(zhuǎn)換單元電路圖 通信單元硬件設(shè)計(jì)MAX485僅有8個(gè)管腳,電路設(shè)計(jì)比較簡(jiǎn)單。RO 引腳接到單片機(jī)串口接收引腳 RXD() ,DI 引腳接到單片機(jī)串口發(fā)送引腳TXD( ) 。由于 MAX485 為半雙工通信方式,不能同時(shí)發(fā)送和接收數(shù)據(jù),只能通過圖 312 MAX485 引腳圖金小龍:基于單片機(jī)的液位控制系統(tǒng)的設(shè)計(jì) 20 控制 RE 和 DE 引腳的狀態(tài)來進(jìn)行發(fā)送數(shù)據(jù)和接收數(shù)據(jù)的轉(zhuǎn)換。為了節(jié)省單片機(jī) I/O 口資源,將 RE 和 DE 引腳連在一起,輸入低電平時(shí), MAX485 處于接收狀態(tài);輸入高電平時(shí),其處于發(fā)送數(shù)據(jù)狀態(tài)。定義 RE 和 DE 連接在一起的網(wǎng)絡(luò)標(biāo)號(hào)為 E,接入單片機(jī)P1 口,用于發(fā)送與接收的轉(zhuǎn)換。A,B 端為發(fā)送接收差分信號(hào)端,一般需在 A,B 端之間加匹配電阻,匹配電阻為 120Ω。硬件電路如圖313:圖 313 串行通信模塊電路圖 其他外圍電路的設(shè)計(jì)繼電器電路設(shè)計(jì)。由于使用單片機(jī)I/O口的驅(qū)動(dòng)電流較弱,不滿足繼電器吸合電流參數(shù)的要求,所以需使用三極管驅(qū)動(dòng)繼電器吸合。設(shè)計(jì)電路如圖314。為了防止電源尖峰脈沖引發(fā)的噪聲干擾以及高頻信號(hào)線間的耦合干擾,在電源入口處及芯片頂端或底端,接入去耦電容,以增強(qiáng)系統(tǒng)的穩(wěn)定性。電源指示燈設(shè)計(jì)如圖315。圖 314 繼電器部分電路圖安徽工程大學(xué)畢業(yè)設(shè)計(jì)(論文) 21 圖 315 電源指示燈電路圖金小龍:基于單片機(jī)的液位控制系統(tǒng)的設(shè)計(jì) 22 第 4 章 系統(tǒng)軟件設(shè)計(jì) 系統(tǒng)軟件 系統(tǒng)軟件編譯開發(fā)環(huán)境8051系類單片機(jī)共擁有111條系統(tǒng)指令,可實(shí)現(xiàn)51種基本操作。然而匯編語言指令卻有程序的可讀性低,程序開發(fā)人員的開發(fā)時(shí)間長(zhǎng)與開發(fā)難度大,程序移植性差等缺點(diǎn)。C語言是一種編譯型程序設(shè)計(jì)語言。它兼顧了多種高級(jí)語言的特點(diǎn),并具備匯編語言的功能。用C語言來編寫目標(biāo)系統(tǒng)軟件,會(huì)大大縮短開發(fā)周期,增加軟件的可讀性,便于改進(jìn)和擴(kuò)充。用C語言進(jìn)行51系列單片機(jī)程序設(shè)計(jì)是單片機(jī)開發(fā)與應(yīng)用的必然趨勢(shì)。KEIL C51開發(fā)工具套件可用于匯編C語言程序、匯編源程序,鏈接和定位目標(biāo)文件和庫,創(chuàng)建HEX文件以及調(diào)試目標(biāo)程序。本設(shè)計(jì)使用KEIL C51 μVision3為開發(fā)編譯環(huán)境,使用 C語言編寫程序,實(shí)現(xiàn)各模塊功能設(shè)計(jì)。 系統(tǒng)主程序流程圖系統(tǒng)主程序的功能主要是完成對(duì)單片機(jī)的初始化,設(shè)置警戒液位的上下限,實(shí)時(shí)顯示液位值以及鍵盤掃描等工作。主程序流程圖如圖41所示。 系統(tǒng)初始化該模塊在系統(tǒng)上電開機(jī)時(shí)將系統(tǒng)端口、數(shù)據(jù)存儲(chǔ)區(qū)、標(biāo)志位、指針、地址等賦予有含義的值。具體分為以下幾個(gè)模塊列表描述。表41 初始化參數(shù)及含義模塊 變量/端口 初始值 功能adRD/ 1 A/D轉(zhuǎn)換芯片數(shù)據(jù)讀入控制,初始為不讀入adWR/ 0 A/D轉(zhuǎn)換芯片轉(zhuǎn)換控制,初始為停止E/ 0 通信接收發(fā)送控制,初始為接收DIS/ 0 顯示數(shù)據(jù)鎖存控制,初始為保持控制端口初始化 RELAY/ 1 繼電器控制,初始狀態(tài)為斷開TMOD 0x22 單片機(jī)片內(nèi)定時(shí)/計(jì)數(shù)器工作在方式二SCON 0x40 串行口為 8位UART工作方式TH1 0xf4TL1 0xf4 波特率設(shè)置為4800bps波特率發(fā)生器初始化 IE 0 禁止定時(shí)器中斷安徽工程大學(xué)畢業(yè)設(shè)計(jì)(論文) 23 TR1 1 啟動(dòng)定時(shí)器REN 1 允許串行口接收數(shù)據(jù)sec 0x00min 0x00hr 0x00date 0x01mon 0x01day 0x06時(shí)間初始化year 0x11初始化系統(tǒng)時(shí)間為2022年1月1日0時(shí)0分0秒星期六其中sec,min,hr,date,mon,day,year依次為秒、分、時(shí)、日、月、星期、年xmark 0x7531 數(shù)據(jù)存儲(chǔ)狀態(tài)標(biāo)志字節(jié)指針numtab 0x0001 數(shù)據(jù)存儲(chǔ)區(qū)指針uplq 0xCF 高液位警戒高度,初始值數(shù)據(jù)參數(shù)初始化 downlq 0x10 低液位警戒高度,初始值初始化過程中,調(diào)用A/D轉(zhuǎn)換模塊獲得首次液位數(shù)據(jù),同時(shí)將其顯示,完成初始化工作金小龍:基于單片機(jī)的液位控制系統(tǒng)的設(shè)計(jì) 24 開始CPU 初始化參數(shù)設(shè)定是否有按鍵采樣子程序顯示實(shí)時(shí)液位數(shù)據(jù)處理子程序控制電機(jī)啟停按鍵處理是否圖 41 主程序流程圖 顯示與A/D轉(zhuǎn)換的數(shù)據(jù)處理系統(tǒng)中,顯示輸出的要求為壓縮BCD碼,而A/D轉(zhuǎn)換輸入的數(shù)據(jù)是8位16進(jìn)制碼,因此在實(shí)現(xiàn)顯示之前需要編碼的轉(zhuǎn)換。對(duì)8位A/D轉(zhuǎn)換器而言,其十六進(jìn)制、相對(duì)滿偏電壓比率、相對(duì)電壓幅值的關(guān)系對(duì)應(yīng)如表42:表42 A/D轉(zhuǎn)換幅值數(shù)據(jù)關(guān)系對(duì)照表滿刻度比率 相對(duì)電壓幅值Vref= 二進(jìn)制高四位 低四位 高四位電壓 低四位電壓F 1111 15/16 15/256 E 1110 14/16 14/256 D 1101 13/16 13/256 安徽工程大學(xué)畢業(yè)設(shè)計(jì)(論文) 25 C 1100 12/16 12/256 B 1011 11/16 11/256 A 1010 10/16 10/256 9 1001 9/16 9/256 0 1000 8/16 8/256 7 0111 7/16 7/256 6 0110 6/16 6/256 5 0101 5/16 5/256 4 0100 4/16 4/256 3 0011 3/16 3/256 2 0010 2/16 2/256 1 0001 1/16 1/256 0 0000 0/16 0/256 綜上,電壓幅值與液位高度在數(shù)值上是相等的。為了通過LED直觀顯示液位高度,進(jìn)行轉(zhuǎn)換的思路如下:設(shè)輸入8位二進(jìn)制數(shù)據(jù)為 , 的商即為以分米為單位的液位高度數(shù)據(jù),余數(shù)為n5/以厘米為單位的數(shù)據(jù),由于顯示位數(shù)僅為2位,最低位為分米,固使用“二舍三入”的辦法保留分米單位的整數(shù)倍數(shù)據(jù) 。為了將這個(gè)數(shù)據(jù)轉(zhuǎn)換為為壓縮BCD碼,再將 ,1 10/n得到的商左移四位(相當(dāng)于乘以16)為壓縮BCD碼高四位,余數(shù)為壓縮BCD 碼低四位,二者相加,就是最終的結(jié)果。顯示轉(zhuǎn)換部分程序簡(jiǎn)略如下:uchar dis_transform(uchar num){uchar ac, quotient, play, mid 。ac = num%5。quotient = (numac)/5。if(ac2)quotient++。ac=quotient%10。mid=(quotientac)/10。play=ac+mid*16。return play。} 按鍵部分軟件設(shè)計(jì)由于使用的按鍵較少,所以本文采用了獨(dú)立式鍵盤,即每個(gè)按鍵單獨(dú)占用一根口線。在程序查詢方式下,通過I/O端口讀入按鍵狀態(tài),當(dāng)有按鍵按下時(shí),相應(yīng)的端口變?yōu)榈碗娖?,這樣通過讀入I/O口狀態(tài)判斷是否有按鍵按下。查詢式鍵盤的程序流程圖如下:鍵盤管理程序入口金小龍:基于單片機(jī)的液位控制系統(tǒng)的設(shè)計(jì) 26 下面給出鍵盤掃描的主程序,其分支程序省略。void judge_key(void){uchar Key_value=0。Key_value=P3amp。0x3c。 /*讀取鍵值*/switch(Key_value ){case 0x38:delay(30000)。 /*調(diào)用延時(shí)子程序*/if(Key_value==(P3amp。0x3c)) /*進(jìn)行判斷按鍵是否為干擾*/{manage_key2()。break。} /*調(diào)用子函數(shù)*/else break。……case 0x1c:delay(30000)。if(Key_value==(P3amp。0x3c)){manage_key5()。break。}else break。default:break。}} 顯示模塊的軟件設(shè)計(jì)由于使用了靜態(tài)鎖存顯示,需要對(duì)顯示數(shù)據(jù)進(jìn)行處理后進(jìn)行鎖存控制。硬件設(shè)計(jì)中使用了74LS273鎖存數(shù)據(jù)。它的特點(diǎn)是在ALE輸入信號(hào)的下降沿到來時(shí)鎖存信號(hào),因Key_value=P3amp。0x3c是否有按鍵按下調(diào)用延時(shí)程序Key_value==P3amp。0x3c調(diào)用相應(yīng)子程序是否圖 42 鍵盤程序流程圖安徽工程大學(xué)畢業(yè)設(shè)計(jì)(論文) 27 此首先置控制引腳高電平,延遲幾個(gè)時(shí)鐘周期待信號(hào)穩(wěn)定,P0口輸出處理后的數(shù)據(jù),同樣延遲幾個(gè)時(shí)鐘周期待信號(hào)穩(wěn)定,控制引腳置低電平,數(shù)據(jù)鎖存,顯示輸出。液位顯示部分程序簡(jiǎn)略如下:display(){DIS=0。_nop_()。_nop_()。_nop_()。P0=dis_transform(prelq)。_nop_()。_nop_()。_nop_()。DIS=1。} A/D轉(zhuǎn)換模塊軟件設(shè)計(jì)A/D轉(zhuǎn)換的控制變量有兩個(gè),即adWR與adRD ;上文中已說明了它的功能,故不再重復(fù)。該模塊分為兩個(gè)階段,第一階段是為A/D轉(zhuǎn)換啟動(dòng)控制,通過 adWR復(fù)位→延遲→置位完成。第二階段是數(shù)據(jù)的提取過程,由于P0 口做輸入時(shí)的特性,首先軟件上將P0口寄存器置為 0xFF,延遲適當(dāng)時(shí)間后adRD復(fù)位,輸出A/D 轉(zhuǎn)換結(jié)果,隨之通過P0口讀入數(shù)據(jù),還原adRD為高,該階段結(jié)束。兩個(gè)階段中可加如適當(dāng)?shù)难舆t,以滿足ADC0804 100ns的轉(zhuǎn)換時(shí)間。 電機(jī)控制模塊軟件設(shè)計(jì)本設(shè)計(jì)采用單片機(jī)主控芯片控制繼電器外圍電路,用于驅(qū)動(dòng)電機(jī)的啟動(dòng)與關(guān)停。其程序流程圖如圖43所示。以下是液位檢測(cè)與電機(jī)控制部分源程序代碼:check_lq(){ad_start()。_nop_()。_nop_()。_nop_()。ad_read()。if(prelq=uplq amp。amp。 key==1){RELAY=1。key=0。makemark(1)。}else if(prelq=downlq amp。amp。 key==0){金小龍:基于單片機(jī)的液位控制系統(tǒng)的設(shè)計(jì) 28 RELAY=0。key=1。makemark(0)。}} 通信協(xié)議及通信模塊軟件設(shè)計(jì)1) 通信協(xié)議為了使PC上位機(jī)與設(shè)備實(shí)現(xiàn)有意義的通信,設(shè)計(jì)了簡(jiǎn)單的通信協(xié)議。通信波特率設(shè)計(jì)為4800bps,過高的波特率在沒有檢糾錯(cuò)方式的情況下易發(fā)生數(shù)據(jù)的丟失,過低的波特率會(huì)使傳輸變慢;8位有效數(shù)據(jù)位;無奇偶校驗(yàn)位;1位停止位。傳送以字節(jié)為單位,發(fā)送命令與數(shù)據(jù)。通信協(xié)議命令控制字如表43。軟件設(shè)計(jì)上,系統(tǒng)以查詢的方式檢測(cè)上位機(jī)的命令控制字,并及時(shí)進(jìn)入各響應(yīng)函數(shù)予以響應(yīng)。通信檢測(cè)流程如圖44所示。表43 通信協(xié)議上位機(jī)命令控制字 含 義下位機(jī)命令控制字 含 義0x00 請(qǐng)求聯(lián)機(jī)檢測(cè) 0xF0 響應(yīng)聯(lián)機(jī)檢測(cè)成功0x01 讀系統(tǒng)時(shí)間 0xF1 響應(yīng)寫時(shí)間指令,發(fā)送7字節(jié)時(shí)間數(shù)據(jù)0x02 設(shè)置系統(tǒng)時(shí)間 0xF2 響應(yīng)度時(shí)間指令,接收7字節(jié)時(shí)間數(shù)據(jù)0x03 讀當(dāng)前液位 0xF3 響應(yīng)讀當(dāng)前液位指令,發(fā)送1字節(jié)液位數(shù)據(jù)啟動(dòng) A/D 轉(zhuǎn)換讀取液位數(shù)據(jù) 開始實(shí)際液位≥高警戒液位且電機(jī)已啟動(dòng)關(guān)閉電機(jī)記錄數(shù)據(jù)實(shí)際液位≤低警戒液位且電機(jī)關(guān)閉返回 啟動(dòng)電機(jī)記錄數(shù)據(jù)是否 是否圖 43 液位檢測(cè)流程圖安徽工程大學(xué)畢業(yè)設(shè)計(jì)(論文) 29 0x04 讀記錄數(shù)據(jù) 0xF4 響應(yīng)讀記錄數(shù)據(jù)指令,發(fā)送2字節(jié)數(shù)據(jù)量及 相應(yīng)數(shù)據(jù)0x05 讀液位上下限 0xF5 響應(yīng)讀液位上下限指令,發(fā)送2字節(jié)液位上 下限數(shù)據(jù)0x06 設(shè)置液位上下限 0xF6 響應(yīng)設(shè)置液位上下限指令,接收2字節(jié)液位 上下限數(shù)據(jù)0x07 讀當(dāng)前液位及電機(jī) 狀態(tài) 0xF7 響應(yīng)讀當(dāng)前液位及電機(jī)狀態(tài)指令,發(fā)送
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1