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