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

正文內(nèi)容

基于at89c51單片機的水質(zhì)監(jiān)測系統(tǒng)的設(shè)計(編輯修改稿)

2025-07-09 08:30 本頁面
 

【文章內(nèi)容簡介】 B0H F 71H 8EH 4 66H 99H P 73H 8CH 5 6DH 92H U 3EH C1H 6 7DH 82H T 31H CEH 7 07H F8H Y 6EH 91H 8 7FH 80H L 38H C7H 9 6FH 90H 8 FFH 0 A 77H 88H 滅 0 FFH B 7CH 83H ..... ….. ..... ( 2) 數(shù)顯電路設(shè)計 皖西學(xué)院本科畢業(yè)設(shè)計 第 11 頁 圖 數(shù)碼管顯示電路圖 傳感器的選擇 變光型濁度傳感器原理:當被測物質(zhì)濁度變化時,使光源的強度隨之變化,光源的強度可對應(yīng)到被測物質(zhì)的濁度。 當液體濁度增加時,由于液體阻礙增強,光的通過率低,光敏電阻器接受光線弱。當液體濁度下降時,光敏電阻器接受光線強。讓傳感器接收到的光信號強度一定,當被測物質(zhì)濁度發(fā)生變化時,使光源的強度隨之變化,光源強度可對應(yīng)到被測物的濁度。下圖為變光型濁度傳感器的結(jié)構(gòu) [5] 圖 變光型濁度傳感器的結(jié)構(gòu) 變光型濁度傳感器的結(jié)構(gòu):傳感器由 光敏電阻器 、 平衡檢測器 、固定電源、 反饋控制 、可調(diào)電源、光源 和外殼等組成,本傳感器的 最主要的 特點就是要求 2 個光敏電阻器的阻值相等,也就是他們接受的光強一樣,如不同平衡檢測器能識別 出來,然后,由反饋控制產(chǎn)生信皖西學(xué)院本科畢業(yè)設(shè)計 第 12 頁 號調(diào)整可調(diào)電源,從而調(diào)整光源的強度來實現(xiàn)這一要求。 此傳感器具有量程寬、標定過程簡單、功耗低、成本低、體積小等特點,該傳感器的另一個特點是在高渾濁度時分辨率比低渾濁度高,可滿足一些特殊的測量要求 [5]。 表 傳感器的性能 測試實驗數(shù)據(jù)表 測試點(序號) 1 2 3 4 5 6 7 8 9 10 濁度值( mg/L) 74 122 202 332 544 701 898 1156 1481 1904 電壓值( mV) 106 107 112 125 159 195 253 350 508 770 統(tǒng)計實驗數(shù)據(jù)可以得出:濁度值與電壓值之間近似一條二次曲線,因此,采用二次曲線擬和,得到濁度傳感器的測試公式為: 1 0 5V8 0 ? 式中 Z 為濁度 mg/L; V為濁度傳感器的電壓讀數(shù) mV。相關(guān)系數(shù) r= A/D 轉(zhuǎn)換 A/D 轉(zhuǎn)換:由于單 片機只能識別數(shù)字信號所以必把傳感器輸出的模擬信號進行數(shù)字化處理,因此,在智能儀器的輸入通道中加入能把模擬信號轉(zhuǎn)換成數(shù)字信號的芯片即 A/D 轉(zhuǎn)換芯片。使用 A/D 轉(zhuǎn)換器時需要根據(jù)實際所需精度與分辨率的不同選擇不同的 A/D 轉(zhuǎn)換芯片,確定采樣頻率一保證單片機的實時行要求。由于環(huán)境對 A/D 轉(zhuǎn)換器存在一定影響,一次在選擇A/D 轉(zhuǎn)換器的時候必須考慮環(huán)境因素。還應(yīng)根據(jù)單片機接口特征選擇 A/D 轉(zhuǎn)換器的輸出狀態(tài)。 A/D 轉(zhuǎn)換器與單片機的接口一般要完成的操作有單片機發(fā)出啟動轉(zhuǎn)換信號,單片機取回轉(zhuǎn)換結(jié)束狀態(tài)信號,讀取需要轉(zhuǎn)換的數(shù)據(jù) ????。由于 A/D 轉(zhuǎn)換對于提高數(shù)據(jù)精度具有較大影響,因此需要選擇一款精度較高的器件,所以本次采用 ADC0832 作為 A/D 轉(zhuǎn)換芯片 [6]。 ADC0832 是美國國家半導(dǎo)體公司生產(chǎn)的一種 8 位分辨率、 雙通道 A/D 轉(zhuǎn)換 芯片。由于它體積小,兼容性強,性價比高而深受單片機愛好者及企業(yè)歡迎,其目前已經(jīng)有很高的普及率。 ADC0832 具有以下特點: (1) 8 位分辨率; (2)雙通道 A/D 轉(zhuǎn)換; (3)輸入輸出電平與 TTL/CMOS 相兼容; 皖西學(xué)院本科畢業(yè)設(shè)計 第 13 頁 (4)5V 電供電時輸入電壓在 0~5V 之間; (5)工作頻率為 250KHZ,轉(zhuǎn)換時間為 32μ S; (6)一般功耗僅為 15mW; (7)8P、 14P— DIP(雙列直插) 、 PICC 多種封裝; (8)商用級芯片溫寬為 0176。C to +70176。C ,工業(yè)級芯片溫寬為 ?40176。C to +85176。C 單片機對 ADC0832 的控制原理:正常情況下單片機與 ADC0832 的接口應(yīng)該為 4 條數(shù)據(jù)線,分別是 DI、 CS、 DO、 CLK。但因為 DI 端和 DO端在通信時未同時有效地并與單片機的接口是雙向的,固電路設(shè)計時可以將 DI 和 DO并聯(lián)在一根數(shù)據(jù)線上使用 ,詳情見 下圖 [6]。 圖 ADC0832 與單片機的接口電路 皖西學(xué)院本科畢業(yè)設(shè)計 第 14 頁 4 水質(zhì)監(jiān)測系統(tǒng)的軟件設(shè)計 C 語言的特點和程序結(jié)構(gòu) 軟件設(shè)計就是用計算機所能接受的語言把所需解決問題的步驟逐一描述出來,也就是編制計算機的程序,在設(shè)計應(yīng)用系統(tǒng)時,軟件的編制是重要環(huán)節(jié)。 C 語言是近年來在國內(nèi)外普遍使用的一種程序設(shè)計語言,其功能豐富,表達力強,使用靈活方便,應(yīng)用面廣,目標程序效率高,可移植性好,而且也能直接對計算機硬件進行操作,既有高級語言的特點,也有匯編語言的特點。 ( 1)語言簡潔、緊湊,使用方 便、靈活 C 語言一共只有 32 個關(guān)鍵字, 9 種控制語句,程序書寫形式自由,與其他高級語言相比較,程序精煉、簡短。 ( 2)運算符豐富 C 語言包括很多種運算符,總共有 34 種,而且把括號、賦值、強制類型轉(zhuǎn)換等都作為運算符處理。表達式靈活、多樣,可以實現(xiàn)各種各樣的運算。 ( 3)數(shù)據(jù)結(jié)構(gòu)豐富,具有現(xiàn)代化語言的各種數(shù)據(jù)結(jié)構(gòu)。 C 語言的數(shù)據(jù)類型有整型、實型、字符型、數(shù)組類型、指針類型等。能用來實現(xiàn)各種復(fù)雜的數(shù)據(jù)結(jié)構(gòu)。 ( 4)可進行結(jié)構(gòu)化程序設(shè)計 C 語言具有各種結(jié)構(gòu)化的控制語句,如 if… else 語句、 while 語句、 do… while 語句、 switch 語句、 for 語句等。另外 C 語言程序以函數(shù)為模塊單位,一個 C 語言程序就是由許多個函數(shù)組成,一個函數(shù)相當于一個程序模塊,因此 C 語言程序可以很容易地進行結(jié)構(gòu)化程序設(shè)計。 ( 5) 可以直接對計算機 硬件進行操作 C 語言允許直接訪問物理地址, 能 進行 位 操作, 能實現(xiàn)匯編語言的大部分功能,可以對硬件進行操作。 ( 6) 生成目標代碼質(zhì)量高,程序執(zhí)行效率高 總所周知,用匯編語言生成的目標代碼的效率是最高的,但據(jù)統(tǒng)計表明,對于同一個問題,用 C 語言編寫的程序生成目標代碼的效率僅比匯 編語言編寫的程序低 10%~20%。而用 C 語言編寫的程序比用匯編語言編寫程序要方便、容易的多,而且可讀性強,開發(fā)時間也短的多。 ( 7) 可移植性好 不同的計算機匯編指令不一樣,用于匯編語言編寫的程序用于其他的機型使用時,必須改成對應(yīng)機型的指令代碼。而用 C 語言編寫的程序基本上都不用做修改就能用于各種機型和各種操作系統(tǒng) [7]。 皖西學(xué)院本科畢業(yè)設(shè)計 第 15 頁 水質(zhì)監(jiān)測主程序流程圖 圖 水質(zhì)監(jiān)測主程序流程圖 皖西學(xué)院本科畢業(yè)設(shè)計 第 16 頁 ADC0832 數(shù)據(jù)讀取程序流程 圖 ADC0832 數(shù)據(jù)讀取程序流程 皖西學(xué)院本科畢業(yè)設(shè)計 第 17 頁 總結(jié) 本系統(tǒng)編程采用 C 語言,用單片機 AT89C51 作系統(tǒng)核心,此次設(shè)計主要的難處在于軟件的設(shè)計部分以及外圍電路的鏈接,比如說如何將傳感器和數(shù)據(jù)采集元件有效的組合在 一起進行使用,而本設(shè)計不足在于只檢測了渾濁度和自由離子濃度兩 塊,若能加上其他的傳感器,則可以方便的檢測水中的 PH 值,溶解氧等。 通過這次設(shè)計使自己對單片機的應(yīng)用得到了更深的認識,另外傳感器的使用,程序的開發(fā),顯示系統(tǒng)設(shè)計,復(fù)位電路設(shè)計,單片機接口設(shè)計,如何濾波,怎么樣選擇 A/D 轉(zhuǎn)換等都有了更好的提升。知道了自己在學(xué)習(xí)單片機方面有哪些不足之處,以便 于以后更好更深入的來了解學(xué)習(xí)單片機。 皖西學(xué)院本科畢業(yè)設(shè)計 第 18 頁 附錄 1 自由離子濃度 和濁度監(jiān)測原理圖 2 仿真圖 皖西學(xué)院本科畢業(yè)設(shè)計 第 19 頁 3 程序清單 include include define uint unsigned int define uchar unsigned char define ushort unsigned short define ulong unsigned long uchar DisDX[] = {0xc0,0xf9,0xa4,0xb0, 0x99,0x92,0x82,0xf8, 0x80,0x90,0x7f,0xff}。 // 共陽數(shù)碼管 0,1,2,3,4,5,6,7,8,9,.,空 , uchar DisDX_dot[] = {0x40,0x79,0x24,0x30, 0x19,0x12,0x02,0x78, 0x00,0x10}。 // 共陽數(shù)碼管 帶點 uchar DisWX[] = {0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80}。 sbit LED_GN = P1^0。 sbit LED_RD = P1^1。 sbit CS = P1^2。 //ADC0832 控制端口 sbit DI = P1^3。 sbit DO = P1^3。 //DI 和 DO與單片機共接口 sbit Clk = P1^4。 sbit BUZ = P3^1。 uchar v[3]={0x00,0x00,0x00}。 //顯示緩沖區(qū) uchar dis[4]={0x00,0x00,0x00,0x00}。 //顯示緩沖區(qū) uchar TMP[3]={0x00,0x00,0x00}。 //顯示緩沖區(qū) uchar date=0。 //AD 值 uchar CH。 //ADC0832 通道值 uint i。 uint ZD。 皖西學(xué)院本科畢業(yè)設(shè)計 第 20 頁 uint Temp。 void delay(int x) { while(x) { for(i = 0。 i 75。 i++) 。 } } ushort sq(ulong a) { int i。 ulong rem = 0。 ulong root = 0。 ulong divisor = 0。 for(i=0。 i16。 i++) { root = 1。 rem = ((rem 2) + (a 30))。 a = 2。 divisor = (root1) + 1。 if(divisor = rem){ rem = divisor。 root++。 } } return (ushort)(root)。 } /***************************************** 皖西學(xué)院本科畢業(yè)設(shè)計 第 21 頁 AD0832 轉(zhuǎn)換程序 ******************************************/ uchar ADC0832(uchar CH) { uchar i,dis0,dis1。 Clk=0。 //拉低時鐘 DI=1。 //初始化 _nop_()。 CS=0。 //芯片選定 _nop_()。 Clk=1。 //拉高時鐘 _nop_()。 if(CH==0) //通道選擇 { Clk=0。 //第一次拉低時鐘 DI=1。 //通道 0 的第一位 _nop_()。 Clk=1。 //拉高時鐘 _nop_()。 Clk=0。 //第二次拉低時鐘, ADC0832 DI 接受數(shù)據(jù) DI=0。 //通道 0的第二位 _nop_()。 Clk=1。 _nop_()。 } else { 皖西學(xué)院本科畢業(yè)設(shè)計 第 22 頁 Clk=0。 DI=1。 //通道 1的第一位 _nop_()。 Clk=1。 _nop_()。 Clk=0。 DI=1。 //通道 1的第二位 _nop_()。 Clk=1。 _nop_()。 } Clk=0。 //第三次拉低時鐘 ,此前 DI 兩次賦值決定通道 DI=1。 //DI 開始失效,拉高電平,便于 DO 數(shù)據(jù)傳輸 for(i= 0。i8。i++) //讀取前 8位的 值 { _nop_()。 dis0= 1。
點擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1