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

正文內(nèi)容

基于單片機分布式數(shù)據(jù)采集系統(tǒng)設計畢業(yè)論文-資料下載頁

2025-02-26 11:26本頁面

【導讀】試環(huán)境要求較高等問題。人們需要一種應用范圍廣、性價比高的數(shù)據(jù)采集系統(tǒng)。該系統(tǒng)的性能測試及分析。需要源文件、上位機文件、仿真圖??

  

【正文】 擇 ADDA ADDB ADDC 通道選擇 ADDA ADDB ADDC IN0 0 0 0 IN4 0 0 1 IN1 1 0 0 IN5 1 0 1 IN2 0 1 0 IN6 0 1 1 IN3 1 1 0 IN7 1 1 1 ADC0808 時序圖及其接口電路 ADC0808 的時序圖如圖 所示: 圖 ADC0808 的時序圖 其工作過程是: ALE 的上升沿將 A、 B、 C 端選擇的通道地址鎖存到 8 位A/D 轉(zhuǎn)換器的輸入端。 START 的下降驗啟動 8 位 A/D 轉(zhuǎn)換器進行轉(zhuǎn)換。 A/D 轉(zhuǎn)換開始使 EOC 端輸出低電平。 A/D 轉(zhuǎn)換結束, EOC 輸出高電平。該信號通常可作為中斷申請信號。 OE 為讀出數(shù)據(jù)允許信號。 OE 端為高電平時,可以讀出轉(zhuǎn)換的數(shù)字量。硬件電路設計時,需根據(jù)時序關系及軟件進行設計。 ADC0808 與 AT89C51 單片機的接口方式,如圖 所示 。 23 圖 ADC0809 與單片機的連接圖 由于 ADC0808 具有輸出 3 態(tài)鎖存器,其八位數(shù)據(jù)輸出引腳可直接與數(shù)據(jù)總線相連。地址譯碼引腳 A、 B、 C 分別與地址總線低三位 A0、 A A2 相連,以選通 IN0~IN7 中的一個通道。在啟動 A/D 轉(zhuǎn)換時,由單片機的 控制 A/D 轉(zhuǎn)換器的地址鎖 存和轉(zhuǎn)換啟動,由于 ALE 和 START 連在一起,因此 AD0808 在鎖存通道的同時,也啟動了 A/D 轉(zhuǎn)換器。在讀取轉(zhuǎn)換結果時,用低電平的讀信號RD,產(chǎn)生的正脈沖作為 OE 信號,用以打開三態(tài)輸出鎖存器。將轉(zhuǎn)換結果輸出。而低電平的寫信號 WR 則表示轉(zhuǎn)換結束狀態(tài)信號。 由于 ADD C 接地,當單片機通過 ADD A 、 ADD B 引腳便能控制 ADC0808轉(zhuǎn)換器采集具體那一路的模擬電壓,由于 ADD A 與 P1^0 口相連, ADD B 與 P1^2口相連,當 P1^0 和 P1^2 輸入低電平時, ADC0808 采集 IN0 引腳所傳輸?shù)哪M電壓。 當 P1^0 輸入高電平, P1^2 輸入低電平時, ADC0808 采集 IN1 引腳所傳輸?shù)哪M電壓。當 P1^0 輸入低電平, P1^2 輸入高電平時, ADC0808 采集 IN2引腳所傳輸?shù)哪M電壓。 ADC0808 轉(zhuǎn)換過程中, 首先輸入 3 位地址,并使 ALE=1,將地址存入 地址鎖存器 中。此地址經(jīng) 譯碼 選通 8 路模擬輸入之一到 比較器 。START 上升沿將逐次逼近 寄存器 復位。下降沿啟動 A/D 轉(zhuǎn)換,之后 EOC 輸出信號變低,指示轉(zhuǎn)換正在進行。直到 A/D 轉(zhuǎn)換完成, EOC 變?yōu)楦唠娖剑甘?A/D轉(zhuǎn)換結束,結果數(shù)據(jù)已存入 鎖存器 ,這個信號可用作中斷申請 。當 OE 輸入高電平時,輸出三態(tài)門打開,轉(zhuǎn)換結果的數(shù)字量輸出到 數(shù)據(jù)總線 上 ,由于 ADC0808 24 輸出口引腳與單片機的 P2 口相連,數(shù)字量通過 P2 口傳輸?shù)絾纹瑱C中。 ADC0808 轉(zhuǎn)換時間取決于芯片的時鐘頻率,一般時鐘頻率選取在10kHz~650kHz,通常選取 500kHz,此時 Tconv=128us。 小結 本節(jié)分析了硬件電路總的概況,同時對每個小的電路模塊分別進行了分析。本系統(tǒng)是一個多路數(shù)據(jù)采集系統(tǒng), 3 路電壓表測量 3 個不同滑動變阻器間電壓值,將采集到的模擬電壓值通過 ADC0808 轉(zhuǎn)換器轉(zhuǎn)換成數(shù)字電壓,并在 LCD 上面顯示,通過串口發(fā)送到上位機。 89C51 單片機在電路中充當“大腦”的角色,通過控制各個模塊電路,實現(xiàn)數(shù)據(jù)采集、顯示、傳送。系統(tǒng)中復位電路,采用的是按鈕復位電路,通過 RC 振蕩電路實現(xiàn)內(nèi)部振蕩 。時鐘電路采用的 12MHz 頻率,外加兩個電容起穩(wěn)定振蕩頻率、快速起振的作用。通信電路采用的是 MAX232電平轉(zhuǎn)換 ,實現(xiàn)串行通信。 A/D 轉(zhuǎn)換電路,采用的是 ADC0808 模數(shù)轉(zhuǎn)換器,對ADD A、 ADD B、 ADD C 輸入電平的控制進行通道選擇, START 上升沿將逐次逼近寄存器復位,下降沿啟動 A/D 轉(zhuǎn)換,之后 EOC 輸 出信號變低,指示轉(zhuǎn)換進行,直到轉(zhuǎn)換完成。 4 軟件部分 單片機程序設計 程序設計有主函數(shù)模塊、 LCD 驅(qū)動模塊、 A/D 轉(zhuǎn)換器模塊、串口通信模塊組成。主函數(shù)模塊主要是通過將采集到的電壓值在 LCD 上面顯示,并將數(shù)據(jù)通過串 25 口發(fā)送到上位機上面,程序中最主要的是主函數(shù)模塊和串口通信模塊, 主函數(shù)流程 如圖 所示 圖 主 程序 首先設置定時器方式為 1,給 計數(shù)器 賦初值,由于選取的是方式 1, TH0 和TL0 組成了 16 為加法計數(shù)器 , TH0 為高 8 位, TL0 為低 8 位,當 TL0 低 8 位計數(shù)溢出時自動向 TH0 進位,而 TH0 溢出時向中斷位 TF0 進位,并申請中斷。 當GATE=0 時,經(jīng)非門后,或門輸出 1,這樣 TR0 將控制定時器的啟動和關閉,這時,如果 TR0=1 時,按同控制開關定時器從初值開始計數(shù)直到溢出,溢出時,16 位 16 位加計數(shù)器為 0, TF0 置位,申請中斷。如果循環(huán)計數(shù),則定時器需重置初值,當 TR0=0 時,則與門被封鎖,控制開關被關斷,停止計數(shù)。程序設計為 申請中斷,故,初值 TH0=0x3C,TL0=0Xb0,開總中斷, 當程序執(zhí)行 時,執(zhí)行中斷服 務程序,中斷服務程序工作寄存組采用 1 組,服務程序中,采用5 次中斷服務程序,執(zhí)行允許向 LCD 發(fā)送數(shù)據(jù)。程序中,通過對 ADC0808 引腳ADD A 和 ADD B 高低電平的輸送,選擇 LCD 顯示某一路數(shù)據(jù)。 向串口發(fā)送數(shù)據(jù)子程序 chuan () 。串口方式 3,設置波特率為 9600, 該程序首先 通過對串口初始化 , 判斷中斷,當中斷觸發(fā)時,判斷地址,如果地址正開始 初始化 啟動定時器 開總中斷 將數(shù)據(jù)顯示在 LCD上 繼續(xù)程序 判斷有無中斷請求 Y N 26 確 , 上位機接收數(shù)據(jù),否則恢復地址接收狀態(tài) 。 其流程圖如 所示 。 圖 串口程序 TI 串行口發(fā) 送標志位, CPU 將發(fā)送數(shù)據(jù)寫入發(fā)送緩沖器 SBUF 時,就啟動發(fā)送,沒發(fā)送完一個串行幀,硬件 TI自動置位。但 CPU響應中斷時不會自動清除。 上位機程序設計 在 軟件設計平臺下進行開發(fā),用 VB 軟件設計一個上位機進行數(shù)據(jù)處理,單片機將采集到的數(shù)據(jù)通過串口傳輸?shù)缴衔粰C上, 同時上位機 將數(shù)據(jù)保存在數(shù)據(jù)庫中。調(diào)用采集到的數(shù)據(jù)進行分析,也可以將采集到的數(shù)據(jù)自動繪制出曲線圖,以便可以更直觀的觀察數(shù)據(jù) 變化 登陸系統(tǒng) 和主界面 打開軟件,進入登陸界面 如圖 。 Y 串口初始化 串口中斷 接受地址 判斷地址 上位機接收數(shù)據(jù) 恢復地址接收狀態(tài) N Y 27 圖 登陸系統(tǒng)界面 登陸系統(tǒng)流程 圖 如圖 。 圖 登陸流程圖 打開上位機進入登陸系統(tǒng),在登陸系統(tǒng)中的賬號和密碼處輸入正確的賬號和密碼便可進入上位機數(shù)據(jù)采集系統(tǒng)界面,否則將彈出 對話框 如圖 所示。 N Y Y N 打開登陸系統(tǒng)統(tǒng) 輸入用戶名 輸入密碼 確定 進入系統(tǒng) 提示錯誤 重新登陸 修改密碼 輸入舊密碼 輸入新密碼 確定 修改成功 重新修改 28 圖 警告對話框 提示輸入正確的數(shù)值。也可以在登陸界面點擊修改密碼,進行密碼修改 。程序初始密碼為“ admin” ,將密碼保存在一個數(shù)據(jù)庫中。同時系統(tǒng)設置了一個萬能密碼,不管系統(tǒng)在任何狀態(tài)下,登陸此密碼均能成功登陸。但是,此密碼不能用來修改密碼,目的是為了方便忘記密碼的情況 下使用,當然不同權限下,不能都擁有此密碼。密碼修改窗體中通過三個標簽用來顯示輸入項的類型,通過三個text 文本框來輸入原密碼和新密碼,以及新密碼重復。當生成修改密碼窗體時,自動加載,將 text 文本框清除。用一個標簽充當按鈕,當鼠標移到按鈕上面時,按鈕顯示 嫩綠色,移動鼠標后為黑色。密碼修改窗體如圖 。 圖 密碼修改窗體 如果原密碼和新密碼均正確輸入,點擊確定后,在 6秒內(nèi)自動退出回到登陸界面,否則提示輸入數(shù)值錯誤。 登陸界面的賬號數(shù)據(jù)存儲在 中,密碼數(shù)據(jù)存放在 中,當輸入的賬號 、 密碼和 、 中的數(shù)據(jù)匹配上后才能進入系統(tǒng),修改密碼是通過修改密碼界面改變 中的數(shù)據(jù)并保持,從而到達更改密碼的目的。 登陸成功后,便進入數(shù)據(jù)采集系統(tǒng)主界面 如圖 所示。 29 圖 數(shù)據(jù)采集主界面 主 界面上方的串口、波特率、校驗位、數(shù)據(jù)位、停止位用來正確設置上位機,使上位機能夠和單片機能進行正常通信。當點擊采集數(shù)據(jù)時,通過串口傳輸上來的數(shù)據(jù)保存在一個文本框中,并保存在各個數(shù)據(jù)庫中,以便能夠更 方便 的調(diào)用、處理這些數(shù)據(jù)。 所有的電壓值、采集時間、采集日期都是通過改變 label的屬性名 來顯示所需要顯示的數(shù)據(jù)。當生成主界面時,登陸界面便自動銷毀。在生成主界面的同時,通過 load()語句實現(xiàn)對序號、信號口編號的序號生成,并將當前無法使用或者是不允許使用的按鈕的 enabled屬性 設置成 false。從而達到無法執(zhí)行按鈕背后的語句。 當點擊“采集數(shù)據(jù)”按鈕時,通過 timer()語句作為時間控制以一定的時間頻率從數(shù)據(jù)庫中抽取數(shù)據(jù)。電壓值數(shù)據(jù)是從數(shù)據(jù)庫中取出來的,采集時間、日期分別是用對 label的屬性設置為時間、日期達到顯示時間、日期的目的。程序中 每個 MSComm控件對應著一個串行端口,在使用 MSComm控件時, 1個MSConun控件只能同時對應 1個串口 。當通信事件發(fā)生時, MSConma控件會觸發(fā)OnComm事件,調(diào)用者可以捕獲該事件,通過檢查其 CommEveut屬性便可確認發(fā)生的是哪種事件或錯誤,從麗再傲相應的處理。 MSComm控件有很多重要的屬性,其中常用的是如下幾個: ( 1)ConmaPort設置并返回通信口號,缺省值為 COMI,可設置 l~ 16個 。 ( 2)SetSu39。mgs設置并返回波特率、奇偶校驗、數(shù)據(jù)位、停止位的字符串。其 30 中波特率的范圍為 300~ 19200b/s。 ( 3)PortOpen設置 并返回通信 13的狀態(tài),同時用來打開和關閉通信口。 ( 4)Inputk決定每次 Input讀入的字符個數(shù),缺省為 O,表示讀取接收緩沖區(qū)的 全部內(nèi)容。 ( 5)tnput讀入并清除接收緩沖區(qū)的字符。 ( 6)lnputMode定義 Input屬性獲得數(shù)據(jù)的方式; 0為文本; l為二進制。 主界面顯示 如圖 。 圖 主界面顯示圖 數(shù)據(jù)以每秒一次的速度更新,當數(shù)據(jù)庫中的數(shù)據(jù)沒發(fā)生改變時,界面上電壓的值不會發(fā)生改變。當點擊停止采集時,界面的電壓值和時間等不會發(fā)生變化,點擊清空記錄時,界面的電壓值、采集時間、采集日期 中的數(shù)據(jù)全部清除,當數(shù)據(jù)庫中的數(shù)據(jù)并沒有被清除 。 實時曲線 點擊 “ 歷史曲線 ” ,便進入了每個通道歷史數(shù)據(jù)的曲線顯示 。 實時曲線 ,是由 7 條線簡單的坐標變化而成的。所以實時曲線反應的只能是最近 7 次的數(shù)據(jù)。當數(shù)據(jù)增多的時候,舊數(shù)據(jù)通過新數(shù)據(jù)覆蓋舊數(shù)據(jù)的形式被刪除。每一條線后面都對應一個數(shù)據(jù)存儲點,當程序沒運行 1000ms 時,第 6 個數(shù)據(jù)點中的數(shù)據(jù)將賦 31 值給第 7 個數(shù)據(jù)點,新產(chǎn)生的數(shù)據(jù)將賦值給第一個數(shù)據(jù)點。每過 1000ms 時,刷新一次。在通過對曲線橫向坐標間距的測量(橫向坐標間距固定),縱向坐標的值不斷的改變。從而 達到曲線動態(tài)顯示的形式。 當點擊通路 1時,界面顯示通路1的數(shù)據(jù)曲線;當點擊通路 2時,界面顯示通路 2的數(shù)據(jù)曲線;當點擊通路 3時,界面顯示通路 3的數(shù)據(jù)曲線。 通路 1 實時曲線如圖 所示。 圖 通路 1實時曲線 當點擊通路 1 時,顯示通路 1的實時曲線。首先系統(tǒng)將數(shù)據(jù)存儲到了數(shù)據(jù)庫中, 但是每一次都只是存儲的一個數(shù)據(jù),通過覆蓋的形式將以前的數(shù)據(jù)覆蓋了。為了達到同時顯示 7個數(shù)據(jù)的實時曲線,并達到動態(tài)的效果。將數(shù)據(jù)分別存儲在7個不同的數(shù)據(jù)庫中。由于每一秒產(chǎn)生一個新的數(shù)據(jù),首先判斷產(chǎn)生數(shù)據(jù)的通路,根據(jù)通路選擇存 儲在某一數(shù)據(jù)庫中。當運行時,通過數(shù)據(jù)庫中后者復制前者數(shù)據(jù)的辦法達到了數(shù)據(jù)的動態(tài)性和實時性。為了結合曲線,將曲線的每一條線的坐標數(shù)據(jù)算出(由于橫坐標不變,根據(jù)縱坐標的變化)將每一個數(shù)據(jù)庫中的值分別賦值給每一條曲線的縱軸。達到曲線動態(tài)顯示的目的。 在根據(jù)不同的按鈕,顯示不同通路的曲線。 “通路 2”如圖 所示,“通路 3”如圖 所示。 32 圖 通路 2實時曲線 圖 通路 3實時曲線 33 5 調(diào)試 與 結果 該 系統(tǒng)是數(shù)據(jù)采集系統(tǒng) 。 系統(tǒng)調(diào)試以 硬件 程序 、上位機程序為主 ,硬件調(diào)試是根據(jù)電路圖的連接和 硬件模塊程序的表達進行。上位機調(diào)試是根據(jù)實現(xiàn)上位機的功能進行調(diào)試,同時保證程序的無誤。 在整個系統(tǒng)中, 硬件包含 89C51 單片機、 ADC0808 AD 轉(zhuǎn)換器、 LCD 液晶顯示器、上拉排阻、 MAX23公頭、電壓表、滑動變阻器等。在硬件系統(tǒng)中,通過硬件電路和程序結合,通過每隔 1 秒,在 LC
點擊復制文檔內(nèi)容
醫(yī)療健康相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1