找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1388|回復(fù): 3
打印 上一主題 下一主題
收起左側(cè)

PCF8591寫DA問題,請大佬指點(diǎn)下單片機(jī)程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:998389 發(fā)表于 2023-4-25 15:10 | 只看該作者 回帖獎勵 |倒序?yàn)g覽 |閱讀模式
主程序如下:
void        main()
{
        long date;
        initialize();//液晶初始化        
        while(1)
        {        
                date = Get_Voltage();      // 讀取 A/D 轉(zhuǎn)換結(jié)果
               
                write_byte(date);//啟動DA,將讀取結(jié)果重新賦給DA輸出
               
                date=date*450/255; // 將采樣結(jié)果轉(zhuǎn)換為電壓值
        
                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');  
        }
}

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

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

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

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

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




分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:998389 發(fā)表于 2023-4-25 15:35 | 只看該作者
當(dāng)前程序DA輸出波形

回復(fù)

使用道具 舉報(bào)

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

使用道具 舉報(bào)

地板
ID:998389 發(fā)表于 2023-4-28 15:59 | 只看該作者
yzwzfyz 發(fā)表于 2023-4-26 16:53
方法一:
加個遲滯回線。
設(shè)計(jì)定一個Δ,

感謝指明方向,我再去試試。。
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表