新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > rs485轉(zhuǎn)rs232接口電路

rs485轉(zhuǎn)rs232接口電路

作者: 時(shí)間:2018-07-30 來源:網(wǎng)絡(luò) 收藏

本文引用地址:http://m.butianyuan.cn/article/201807/384520.htm

由于adc0809芯片內(nèi)部沒有時(shí)鐘脈沖源, 可利用單片機(jī)89c51提供的地址鎖存控制輸入信號ale經(jīng)d觸發(fā)器四分頻后,作為adc0809的時(shí)鐘輸入。當(dāng)cpu訪問外部存儲器時(shí).ale的輸出作為外部鎖存地址的低字節(jié)的控制信號:當(dāng)不訪問外部存儲器時(shí),ale端以1/6的時(shí)鐘振蕩頻率固定地輸出正脈沖,可取單片機(jī)的時(shí)鐘頻率為12 mhz。則ale端輸出的頻率為2 mhz。再經(jīng)四分頻后為500khz,符合adc0809對時(shí)鐘的要求。

如圖2所示。adc0809內(nèi)部設(shè)有地址鎖存器,通道地址由p2口的低3位直接與adc0809的a、b、c相連,通道基本地址為0000h~0007h。模擬量由adc0809的in0~in7輸入.數(shù)字量由adc0809的do~d7輸出并接到單片機(jī)i/o口的p0口,adc0809其他引腳如:start、oe、ale、a、b、c等直接接到單片機(jī)的p2口。最后adc0809的結(jié)束信號端口直接接到單片機(jī)的p2.7口。


圖2 adc0809與單片機(jī)的

3 軟件設(shè)計(jì)

3.1 單片機(jī)程序設(shè)計(jì)

下位機(jī)程序完成a/d轉(zhuǎn)換和通信收發(fā)的功能,串口接收采用中斷方式.為方便上位機(jī)識別數(shù)據(jù)以及減少錯(cuò)誤率,發(fā)送時(shí)加上前后校驗(yàn)碼。照度、溫度、電壓、電流4類數(shù)據(jù)分別采用不同的前后校驗(yàn)碼。在主程序中,a/d轉(zhuǎn)換完成后,將數(shù)據(jù)處理后并儲存,緊接著查看上位機(jī)發(fā)送回來的信息,將指定類型數(shù)據(jù)發(fā)送給上位機(jī)。

3.2 上位機(jī)程序設(shè)計(jì)

上位機(jī)主要是完成3項(xiàng)任務(wù):與下位機(jī)的通信;將下位機(jī)發(fā)送回來的數(shù)據(jù)進(jìn)行處理及存儲:設(shè)計(jì)一個(gè)顯示界面。把數(shù)據(jù)變化情況以圖表形式顯示出來。

程序采用labview軟件平臺進(jìn)行編寫,labview是當(dāng)下最流行的圖形化編程開發(fā)軟件,利用它可以大量使用圖表、菜單、圖形等可視化工具,使系統(tǒng)具有豐富、靈活的畫面和圖表顯示功能。

labview通過visa與串行接口儀器通信。visa是應(yīng)用于儀器編程的標(biāo)準(zhǔn)i/o應(yīng)用程序接口(api),它本身并不具有儀器編程能力,而是為用戶提供了一套獨(dú)立的可方便調(diào)用的標(biāo)準(zhǔn)i/o底層函數(shù)。利用hbview中的visa函數(shù),可實(shí)現(xiàn)上位機(jī)與單片機(jī)之間的通信。通過labview平臺內(nèi)豐富的底層函數(shù),可進(jìn)行高速精確的數(shù)據(jù)處理。其設(shè)計(jì)分為前面板和后面板,前面板為可視化的用戶界面,而后面板就是支撐系統(tǒng)運(yùn)行的程序,并且采用圖形化的編程,數(shù)據(jù)的傳輸通過各函數(shù)之間的連線實(shí)現(xiàn)。

在前面板設(shè)立5個(gè)波形圖表控件,分別用于顯示照度、溫度、電流、電壓、功率5類數(shù)據(jù)信息的實(shí)時(shí)變化情況,若干數(shù)值顯示控件用于顯示各數(shù)據(jù)的平均值及發(fā)電量總值。

后面板串口通信利用labview中的visa配置串口函數(shù)、visa寫入函數(shù)、visa讀取函數(shù)可完成對串口的配置及串口收發(fā)。visa關(guān)閉函數(shù)用于關(guān)閉visa資源名稱指定的串口會話句柄或事件對象。是一個(gè)串口接收和發(fā)送的子vi,上位機(jī)可以向單片機(jī)發(fā)送命令及接受單片機(jī)發(fā)送回來的 數(shù)據(jù)。

主程序采用平鋪式順序結(jié)構(gòu),先利用子vi生成5個(gè)電子表格文件以保存當(dāng)天的數(shù)據(jù),然后在循環(huán)結(jié)構(gòu)下,調(diào)用串口收發(fā)子vi為每類數(shù)據(jù)分別發(fā)送獲取指令,讓下位機(jī)把相應(yīng)數(shù)據(jù)發(fā)送過來。接收數(shù)據(jù)后,比對前后校驗(yàn)碼,若有誤則重新發(fā)送,若正確則獲取數(shù)據(jù)碼進(jìn)行數(shù)據(jù)處理。數(shù)據(jù)處理包括將數(shù)據(jù)還原、存人相應(yīng)表格文件以及送人波形圖表控件進(jìn)行顯示。

此外。設(shè)計(jì)子vi從各電子表格文件中獲取儲存的累計(jì)數(shù)據(jù).則可計(jì)算各類數(shù)據(jù)的平均值以及總發(fā)電量,便可得到光伏發(fā)電系統(tǒng)的發(fā)電信息。在labview中可自行設(shè)立用戶菜單,程序運(yùn)行時(shí)操作用戶菜單,可方便用戶設(shè)置串vi參數(shù)及查看歷史數(shù)據(jù)。

4 結(jié)語

經(jīng)系統(tǒng)實(shí)際運(yùn)行測試。系統(tǒng)可穩(wěn)定地監(jiān)測到各類參數(shù)的變化情況。各類參數(shù)的平均值和總發(fā)電量通過儲存的累計(jì)數(shù)據(jù)得到,并通過控件顯示。整個(gè)系統(tǒng)可完成數(shù)據(jù)的采集、處理、儲存、統(tǒng)計(jì)、顯示等功能,實(shí)現(xiàn)對光伏發(fā)電系統(tǒng)的監(jiān)測目的。將系統(tǒng)運(yùn)用到光伏發(fā)電領(lǐng)域中,能夠供電站工作人員實(shí)時(shí)了解電站的環(huán)境情況及發(fā)電信息,還可對歷史數(shù)據(jù)進(jìn)行統(tǒng)計(jì)分析。通過監(jiān)測界面能夠及時(shí)有效地發(fā)現(xiàn)電站運(yùn)行故障。以實(shí)現(xiàn)系統(tǒng)檢修及有針對性地進(jìn)行維護(hù),提高光伏運(yùn)行效率。


上一頁 1 2 下一頁

關(guān)鍵詞: rs485 rs232 接口電路

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉