欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: PCF8591寫DA問題,請大佬指點下單片機程序 [打印本頁]

作者: byyw    時間: 2023-4-25 15:10
標題: PCF8591寫DA問題,請大佬指點下單片機程序
主程序如下:
void        main()
{
        long date;
        initialize();//液晶初始化        
        while(1)
        {        
                date = Get_Voltage();      // 讀取 A/D 轉換結果
               
                write_byte(date);//啟動DA,將讀取結果重新賦給DA輸出
               
                date=date*450/255; // 將采樣結果轉換為電壓值
        
                show(1,1,0x30+date/100);
                show(1,2,'.');
                show(1,3,0x30+date%100/10);
                show(1,4,0x30+date%100%10);
                show(1,5,'V');  
        }
}

實現(xiàn)以下功能:(已經(jīng)實現(xiàn),就是存在小問題)
1.用AD模式讀出電位器當前電壓,顯示在LCD1206上.(沒有問題)
2.然后把讀到的這個電壓寫進DA,用DA輸出控制LED亮度。(存在小問題)

當前現(xiàn)象:
LED會一直微微閃爍,雖然閃的不明顯但是可以看出來。

分析原因:(純純根據(jù)自己理解分析,如果有錯誤,還望指出)
因為寫DA函數(shù)在大循環(huán)里,也就是說會無限循環(huán)寫入數(shù)據(jù)的,當在寫入數(shù)據(jù)這個過程時,DA輸出會不穩(wěn)定,數(shù)據(jù)寫完后,DA輸出變穩(wěn)定,一直循環(huán)這個過程,所以LED亮度會看見微微閃爍。但是寫DA函數(shù)還必須在while循環(huán)里面。

目前想到解決辦法:
當檢測到電位器電壓不變的時候,停止寫DA,當檢測到電位器電壓重新開始變化的時候啟動寫DA。

想了好久沒想出來程序怎么實現(xiàn),還請高手指點下。





作者: byyw    時間: 2023-4-25 15:35
當前程序DA輸出波形


作者: yzwzfyz    時間: 2023-4-26 16:53
方法一:
加個遲滯回線。
設計定一個Δ,
開始:
1、記錄一個采樣值X并送去顯示。
2、下個:當新的采樣值在X±Δ之內(nèi),不改顯示。
3、當新的采樣值在X±Δ之外,回到1、。
方法2:去頭去尾求平均。
采樣2M+N次(如M=4,N=8),去除最大的M次,去除最小的M次,余下的N次求平均后,再送出。
方法3,壓倉。
例:那個倉位,可存16個采樣值。每次采樣后,去掉最前面的第16個值,存入當前值,再求16個值的平均值,取用。
方法多多,但有一點,顯示與硬件有關,硬件上在DA未轉換穩(wěn)定前不應該有輸出變化,即應該有OE控制。
作者: byyw    時間: 2023-4-28 15:59
yzwzfyz 發(fā)表于 2023-4-26 16:53
方法一:
加個遲滯回線。
設計定一個Δ,

感謝指明方向,我再去試試!!!




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1