ADuC845單片機(jī)和PTR2000的無(wú)線數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)
3.2 LED顯示與鍵盤(pán)電路設(shè)計(jì)
LED顯示與鍵盤(pán)電路的設(shè)計(jì)主要是用于采集、顯示、打印等操作。ZLG7289是一片具有串行接口,可同時(shí)驅(qū)動(dòng)8位共陰式數(shù)碼管的智能顯示驅(qū)動(dòng)芯片。該芯片同時(shí)還可連接多達(dá)64鍵的鍵盤(pán)矩陣,單片即可完成LED顯示、鍵盤(pán)接口的全部功能,且不占用單片機(jī)系統(tǒng)資源。
電路的兩個(gè)下拉電阻R1、R2阻值為100 kΩ,8個(gè)按鍵與位選線DIG0~DIG7相連的8只電阻為位選電阻。SG~DP引腳為行掃描輸出,DIG7~DIG0引腳為列掃描輸出。LED顯示與鍵盤(pán)電路如圖5所示。本文引用地址:http://2s4d.com/article/194455.htm
4 軟件設(shè)計(jì)
根據(jù)數(shù)據(jù)采集系統(tǒng)的功能要求,進(jìn)行系統(tǒng)軟件的設(shè)計(jì)。包括主程序部分和子程序部分,主程序部分主要完成系統(tǒng)對(duì)各個(gè)硬件的初始化工作,子程序主要是完成和單片機(jī)進(jìn)行交互并實(shí)現(xiàn)本部分的功能。主程序流程如圖6所示。
子程序包括A/D轉(zhuǎn)換、LED顯示與鍵盤(pán)、通信模塊和無(wú)線收發(fā)模塊等。數(shù)據(jù)采集子程序用來(lái)啟動(dòng)A/D轉(zhuǎn)換,將采集值存放在內(nèi)部RAM以及將采樣值送入顯示緩存區(qū)。ADC的設(shè)置和控制是通過(guò)專用寄存器中的一組寄存器來(lái)實(shí)現(xiàn)的,在進(jìn)行數(shù)據(jù)采集時(shí)可以采取每隔一段時(shí)間采集一次、采集多次取平均值的方法來(lái)減小系統(tǒng)帶來(lái)的誤差。A/D數(shù)據(jù)采集流程如圖7所示。
編寫(xiě)ADC程序中的主要函數(shù)有:
◆ void InitTIATION(),主要功能是端口初始化、主要包括初始化ADC、RAM、讀寫(xiě)初始化;
◆ void ADC_Int(),ADC初始化函數(shù);
◆ void Delay(),延時(shí)功能;
◆ void Extern_Interrupt_Open(),開(kāi)外部中斷函數(shù);
◆ void Extern_Interrupt_Close(),關(guān)外部中斷函數(shù);
◆ void ADC_Conversion_Start(),A/D轉(zhuǎn)換啟動(dòng)函數(shù)。
顯示子程序負(fù)責(zé)將顯示緩存區(qū)的數(shù)據(jù)進(jìn)行顯示。監(jiān)控子程序負(fù)責(zé)系統(tǒng)的正常運(yùn)行,以及調(diào)用各種子程序和管理中斷服務(wù)程序。系統(tǒng)的通信發(fā)送子程序負(fù)責(zé)與PC機(jī)的通信和發(fā)送采集的數(shù)據(jù)。PC機(jī)通信接收子程序負(fù)責(zé)接收單片機(jī)發(fā)送來(lái)的數(shù)據(jù)并處理。
5 結(jié)論
數(shù)據(jù)采集系統(tǒng)充分利用ADuC845具有多通道高速數(shù)據(jù)采集特性,實(shí)現(xiàn)了對(duì)溫度、濕度、壓力等信號(hào)的采集和處理功能;ADuC845具有2個(gè)獨(dú)立的高分辨(24位)的A/D轉(zhuǎn)換器,溫漂和失調(diào)系數(shù)都很小,符合高速數(shù)據(jù)采集系統(tǒng)的要求。PTR2000無(wú)線數(shù)據(jù)傳輸模塊是一種超小型、低功耗、高速率的無(wú)線收發(fā)傳輸模塊,通過(guò)PTR2000無(wú)線傳輸芯片,構(gòu)建了一個(gè)數(shù)據(jù)采集、處理、顯示、控制為一體的無(wú)線數(shù)據(jù)采集系統(tǒng)。該系統(tǒng)具有精度高、速度快、成本低等優(yōu)點(diǎn)。
評(píng)論