以高整合度混合信號(hào)單片機(jī)實(shí)現(xiàn)電子計(jì)價(jià)秤應(yīng)用
3.3.2 ADC數(shù)據(jù)處理
本文引用地址:http://www.ex-cimer.com/article/275891.htmADC設(shè)置為對(duì)輸入信號(hào)ÄSI放大128倍,數(shù)據(jù)輸出率為ADC-CK/32768,每秒輸出10筆數(shù)據(jù),最終取有效位數(shù)為16Bit。截取原始數(shù)據(jù)16Bit,進(jìn)行平均滑動(dòng)濾波處理。每8筆數(shù)據(jù)做一次平均值,得到的平均值再截取高16Bit作為ADC最終轉(zhuǎn)換值。平均滑動(dòng)濾波實(shí)現(xiàn)如圖所示。啟動(dòng)ADC后,丟棄前2筆數(shù)據(jù),第3筆數(shù)據(jù)開(kāi)始存儲(chǔ)。
由于小訊號(hào)放大到128倍,ADC的輸出Bit只能達(dá)到±15 Bit,如果使用軟件平均方式可以再將ADC的分辨率提升1~2Bit。將新的ADC值與7個(gè)ADC Buffer值相加除以8輸出到ADC OUT如圖,此目的是將8筆ADC做平均輸出,這可以將Noise平均提高信號(hào)輸出的Bit數(shù)。
當(dāng)ADC平均輸出后,將新值移到Buffer 1 ,Buffer 1移到Buffer 2…Buffer6移到Buffer 7,如圖。
由于平均輸出的反應(yīng)時(shí)間比較慢,當(dāng)有較大的ADC值變化時(shí),需要跳過(guò)此平均程序。當(dāng)ADC新值大于ADC 平均值超過(guò)0X200時(shí),先記錄此新ADC值,但不加入平均值運(yùn)算,如果下一次的ADC值還是超過(guò)0X200,將新值取代所有ADC的Buffer并輸出;如果下一次的ADC值沒(méi)有超過(guò),可回到平均流程。
ADC校正信息:
此操作只在稱重模式下有效,操作流程如圖所示。
圖ADC校正模式工作流程
3.3.3矩陣按鍵處理
3.4.3 LCD顯示處理
MCU與LCD Driver通過(guò)IIC通訊協(xié)議,兼容EEPROM的讀寫(xiě)通訊協(xié)議,所以LCD Driver可以與EEPROM等其它IIC通訊協(xié)議的組件可共享一條IIC BUS。LCD Driver的設(shè)備地址為0X7C,根據(jù)MSB的最高位是0或1決定下一個(gè)Byte是發(fā)送命令還是數(shù)據(jù)。
LCD Driver操作步驟:
(01)初始化開(kāi)始條件并啟動(dòng)I2C。
(02)發(fā)送Slaver Address。
(03)發(fā)送命令或地址,根據(jù)數(shù)據(jù)的最高位為0或1決定下1個(gè)Byte是發(fā)送數(shù)據(jù)還是命令。
通過(guò)命令可以設(shè)置相關(guān)的LCD 功能,包括功耗模式、Reset、關(guān)閉/打開(kāi)顯示、背光功能及設(shè)置Duty及Bias,以適應(yīng)不同的LCD顯示屏。
1. 實(shí)驗(yàn)紀(jì)錄
模擬信號(hào)相關(guān)文章:什么是模擬信號(hào)
adc相關(guān)文章:adc是什么
單片機(jī)相關(guān)文章:單片機(jī)教程
單片機(jī)相關(guān)文章:單片機(jī)視頻教程
單片機(jī)相關(guān)文章:單片機(jī)工作原理
評(píng)論