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