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

正文內(nèi)容

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

2025-02-26 11:26本頁(yè)面

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

  

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