【正文】
模擬信號變成數字信號,并進行 分析 、處理、存儲和顯示。Data is gathered。設備從簡單的存儲器發(fā)展到復雜的電腦系統(tǒng)。 今天的大學學生很可能在 PC 機上自動處理和分析數據,有很多種可供你選擇的方法去采集數據。而你所需要的就是捕捉到多路數字信息( DMM) ,然后開始用手記錄數據。舉例來說 , 如果 DMM 沒有配備處理溫度的傳感器 ,舊需要動手找比例。一旦建立了長條圖表記錄儀,在沒有操作員或計算機的情況下,大多數記錄儀具有足夠的內部智能運行。舉例來說,他們不能夠與另外的裝置輪流作用。它們時常具有高達每秒 1000 的閱讀速率。 數據 采集器 及國內外研究現(xiàn)狀 數據采集器 是典型的單機儀器,一旦配備它們 ,就能測量、記錄和顯示數據而不需要操作員或計算機參與。 第 6 頁 近十幾年來,隨著移動通信技術飛速發(fā)展,越來越多的信息采集和遠程控制系統(tǒng)采用了無線數據傳送技術,它與有線數傳相比主要有布線成本低、安裝簡便、便于移動的優(yōu)點,而且隨著互聯(lián)網技術的迅猛發(fā)展和快速普及,越來越多的基于單片機為微控制器的的測控設備或智能儀器儀表都需要通過互聯(lián)網上進行數據交換或傳輸數據。為了測量其他輸入信號,如電壓、溫度和阻力,你也許需要一些外部信號監(jiān)測的器件。大部分能夠直 接地測量若干不同的輸入信號,而不需要額外的信號監(jiān)測器件。一旦你全部設定好, 數據采集器 就如同無與倫比的裝置運行。靠 A/ D 轉換技術 ,一定的 數據采集器 閱讀的速率比較低,尤其是跟 PC 機插件卡片比較。 在前面的 分析 基礎上,現(xiàn)在開始發(fā)展數據采集器 ,數據采集器是采集數據的理想選擇。 最新版本的Protel 軟件可以毫無障礙地讀 Orcad、 Pads、 Accel(PCAD)等知名 EDA 公司設計文件,以便用戶順利過渡到新的 EDA 平臺。 Keil C51 是美國 Keil Software 公司出品的 51 系列兼容單片機 C 語言軟件開發(fā)系統(tǒng),與匯編相比, C 語言在功能上、結構性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學易用。在開發(fā)大型軟件時更能體現(xiàn)高級語言的優(yōu)勢。然后分別由 C51 及 A51 編譯器編譯生成目標文件 (.OBJ)。如果硬件工程師要同時設計軟件和硬件,經常會采 用匯編語言來做程序。使用像 C 這樣的語言程序員不必十分熟系處理器的運算過程,這意味著對新的處理器也能很快上手不必知道處理器的具體內部結構。 TOP851 采用 RS232 串口與 PC 機連接通信,自動檢測元件是否插好,如果插錯了位置有提示,避免無謂的 損失。 使用時包括硬件安裝和軟件安裝。 系統(tǒng)結構圖 : 圖 2 系統(tǒng)結構圖 第 12 頁 硬件 芯片選擇 及功能簡介 主控制芯片使用 AT89C51 芯片,轉換模塊使用 ADC0809 模數轉換芯 片,用雙 D觸發(fā)器 74LS74 四分頻 89C51 的 ALE 信號輸出腳 2MHz 為 500KHz 為 ADC0809 提供時鐘信號,串口 轉換芯片 MAX232, 另外用 74LS244 驅動 LED 數碼管。 兩個工作頻率范圍: 6 時鐘模式時為 0 到 20MHz, 12 時鐘模 式時為 0 到 33MHz。 低功耗模式 : 時鐘停止模式 : 靜態(tài)設計使時鐘頻率可以降至 0MHz(停止 )。 空閑模式 : CPU 進入睡眠狀態(tài) , 但片內的外圍電路仍然保持工作狀態(tài) 。 掉電模式 : 為了進一步降低功耗 , 通過軟件可實現(xiàn)掉電模式 。 它 由一個 8路模擬 開關、 一個 地址鎖存譯碼 器 、 一個 A/D 轉換器 和 一個 三態(tài)輸出鎖存 器 組成(見圖 1) 。 地址輸入和控制線: 4條; ALE 為地址鎖存允許輸入線 , 高 電 平有效 。 CBA 選 擇 的通 道 : 表一 C B A IN C B A IN 0 0 0 IN0 1 0 0 IN4 0 0 1 IN1 1 0 1 IN5 0 1 0 IN2 1 1 0 IN6 0 1 1 IN3 1 1 1 IN7 第 15 頁 數 字 量 輸出 及 控制線: 11 條 . ST 為 轉換 啟動 信號 。 OE為輸出允 許信號 , 用于 控制三條輸出鎖存 器 向 單片機 輸出 轉換得到的數據。 因 ADC0809的 內 部沒 有 時 鐘 電路,所 需 時 鐘 信號 必須由 外界提供 ,通常 使 用 頻率 為 500KHZ, VREF( + ) , VREF(-)為 參考 電 壓輸入 。 ( 4) 在 ST端 給 出 一個 至少 有 100ns 寬 的 正脈沖 信號 。一個觸發(fā)器可以 2分頻,二個觸發(fā)器連接可提供 4分頻。 結構圖和功能圖為 : 圖 7 74LS244 第 18 頁 原理介紹 首先用 PROTEL 軟件設計的原理圖為 : 圖 8 系統(tǒng)原理圖 系統(tǒng)總的功能原理, 系統(tǒng)開機, 89C51 芯片工作,由 控制 發(fā)光二極管 1指示系統(tǒng)工作狀態(tài),亮表 示工作,暗表示不工作 由 控制發(fā)光二極管 2指示AD0809 工作狀態(tài),亮表示工作,暗表示不工作 。數碼管方面,有 P0 口輸出數據, 、 、 控 制位選。 RS232 實際上是串行通信的總線標準。 單片機串口通信的波特率設置是有單片機的定時記數器 1 提供時鐘。 串行口工作于模式 1時 , 傳輸的是 10位 ; 1 位起始位 0, 8位 數據低位在先及一位停止位 1。 發(fā)送過程是由執(zhí)行一條以 SBUF 為目的寄存器的指令啟動的 。 發(fā)送以激活 SEND 端開始 , 向 TxD發(fā)送一起始位一位時間以后 DATA端有效 , 使輸出 移位寄存器中數據得以送至 TxD。 這都發(fā)生于寫 SBUF后 16分頻計時器的第 10次翻轉時 。計數器的 16個狀態(tài)將每個位時間分為 16份 。 這用來防止錯誤的起始位 , 如果起始位有效 , 則被移入輸入移位寄存器 , 并開始接收這一幀中的其它位 。 上述兩個條件任一不滿足 ,所接收到的數據幀就會丟失 , 不再恢復 。 在 80C51 中模式 1 和模式 3 的波特率由定時器 1 的溢出速 率決定。 LED顯示原理,數碼管的發(fā)光和發(fā) 光 2極管的顯示原理相同。 下面講述主要制作過程: :打開 VC++ ,建立一個基于對話框的 MFC 應用程序 cg1 MSComm 控件 選擇 Project 菜單下 Add To Project子菜單中的 Components and Controls?選項,在彈出的對話框中雙擊Registered ActiveX Controls 項,則所有注冊過的 ActiveX 控件出現(xiàn)在列表框中。 向主對話框中添加兩個編輯框,一個用于接收顯示數據 ID為 IDC_EDIT_RXDATA,另一個用于輸入發(fā)送數據, ID 為 IDC_EDIT_TXDATA,再添加一個按鈕,功能是按一次就把發(fā)送編輯框中的內容發(fā)送一次,將其 ID 設為IDC_BUTTON_MANUALSEND。 這個函數是用來處理串口消息事件的,如每當串口接收到數據,就會產生一個串口接收數據緩沖區(qū)中有字符的消息事件,我們剛才添加的函數就會執(zhí)行,我們在 OnComm()函數加入相應的處理代碼就能實現(xiàn)自已想要的功能了。 BYTE rxdata[1024]。 //VARIANT 型變量轉換為ColeSafeArray 型變量 len=()。k,rxdata+k)。 //字符型 (%02x,bt)。 if (strtemp==ffffff82) m_strRXData+=2。 if (strtemp==ffffff86) m_strRXData+=6。 if (strtemp==ffffff8a) m_strRXData+=.。 在程序中做一個開始按鈕,在該按鈕的處理函數中打開串口。//打開串口 else AfxMessageBox(cannot open serial port)。 //參數 1表示每當串口接收緩沖區(qū)中有多于或等于 1個字符時將引發(fā)一個接收數據的 OnComm 事件 (0)。}//發(fā)送數據 最終我做出的軟件界面為: 第 25 頁 調試過程 由于各種原因,接好硬件后,燒入程序沒有預期的效果,這就要調試。 通過寫入鍵盤測試程序測試鍵盤部分是否正常,以備下面測試工作。 sbit b3=P3^4。 p0_7=1。 while(i) {。 b1=b3=1。 P0=0X7F。 while(i){。 串口測試程序: include void main() { while(1) { 第 27 頁 PCON=0x00。 TL1=0xfd。 while(!TI)。 我查出的錯誤是 AD 不工作,我通過測試 AD 轉換時鐘信號線查出了這一錯誤,測 74LS74 是否輸出 500KHz 信號,沒有表示時鐘不正常,通過檢查 74LS74 連接排除問題。 ( 2) 基于單片機數據采集理論,將數據采集過程和外圍電路結合在一起,擴展了系統(tǒng)的應用范圍,并提高了系統(tǒng)的實用性。為了進一步研究 數據采集技術,在今后的工作中,可以從以下幾個方面進行改進: ( 1) 數據傳輸范圍進一步擴大。 ( 3) 采集對象的進一步拓展。感謝他在畢業(yè)設計過程中給我提供指導,幫助我解決困難, 在這次畢業(yè)設計的整個過程中教誨我,在這里再一次表示感謝。 that is, the digital output corresponds to the quantized input, rather than the actual input. The difference between the actual input and the idealized input corresponds to an error of V. Figure 4 shows that the maximum error between the input and output is equal to Q/2. This error is called the quantization error. 第 36 頁 Figure 4 The error function of an ideal 3bit A/D converter The output from a real ADC can be r。 the extraction of a sample value of the signal to be processed and the actual conversion of that sample value into a binary form. Figure 2 gives the block diagram of an analog signal acquisition module. As the analogtodigital converter (ADC) at the heart of this module may be rather expensive, it is not unusual to provide a number of different analog channels, all using the same ADC. Each analog channel in figure 2 begins with a transducer that converts an analog quantity into an electrical value. A transducer exploits some physical property of matter to perform the conversion process. For example, the thermistor is a transducer posed of a substance whose electrical resistance varies with temperature. Figure 2 An analog signal acquisition module 第 33 頁 The electrical signal from the transducer is frequently very tiny (sometimes only a few microvolts) and must be amplified before further processing in order to bring it to a level well above the noise voltages present in later circuits. After amplification es filtering, a process designed to restrict the passage of certain signals through the circuit. Filtering blocks signals with a frequenc