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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

LM35+ADC0809使用51單片機制作溫度顯示(問題解決)

查看數: 4814 | 評論數: 18 | 收藏 4
關燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發布時間: 2021-9-13 19:09

正文摘要:

本帖最后由 hslcac 于 2021-9-16 21:20 編輯 學習調試過程中,單獨顯示輸入沒問題,關鍵的ADC0809的數據不顯示,請幫忙看一下哪里除了問題,謝謝。問題已經解決,謝謝各位老師指點,謝謝,后面附完成后的程序。 / ...

回復

ID:92810 發表于 2023-1-9 16:32
hslcac 發表于 2021-9-16 21:16
問題已經解決,上傳完成主程序,顯示程序及電路沒變。

謝謝樓主分享啦
ID:89072 發表于 2021-9-16 21:48
溫度和AD0809輸入電壓名稱標錯位置了,電壓顯示的是LM358輸出至0809IN0的電壓,制作板子的時候沒有計算好,358的最大輸出電壓測量3.74V,實際與顯示的電壓準確(沒有具體檢測),有借鑒制作溫度及數控電源的程序比較接近(針對新手)。
ID:89072 發表于 2021-9-16 21:09
lkc8210 發表于 2021-9-16 15:03
在網頁看,沒留意到那一段注釋掉了
正因為注釋掉了
又重覆了5樓的問題1

為什么要加個‘’+48‘’,非常感謝,已經找到問題了,第一、沒有加48,第二,num定義錯誤應該是uint型。再次非常感謝各位老師指點,謝謝,上傳完成程序。
ID:161164 發表于 2021-9-16 15:03
hslcac 發表于 2021-9-16 12:44
是使用的1602,原來的數碼管顯示沒問題,修改的,定時器是1ms的啊

在網頁看,沒留意到那一段注釋掉了
正因為注釋掉了
又重覆了5樓的問題1
沒有定時器1的中斷函數,又當機了

第117行
volt_data[6]=num/1000;          //取處理后的數據千位,對應顯示溫度值的十位
缺了個"+48"
又重覆了5樓的問題2
ID:89072 發表于 2021-9-16 13:18
188610329 發表于 2021-9-16 12:55
液晶屏刷新是電壓翻轉一次就定格了,一般,沒有內容變化就不必反復刷新,和數碼管需要不斷的供電點亮是不 ...

嗯嗯明白了,謝謝,
ID:624769 發表于 2021-9-16 12:55
hslcac 發表于 2021-9-16 12:44
是使用的1602,原來的數碼管顯示沒問題,修改的,定時器是1ms的啊

液晶屏刷新是電壓翻轉一次就定格了,一般,沒有內容變化就不必反復刷新,和數碼管需要不斷的供電點亮是不同的,所以,8210才提醒你一下。
ID:89072 發表于 2021-9-16 12:44
lkc8210 發表于 2021-9-16 00:40
定時器1的中斷是2ms一次吧?
對LCD1602來說太頻密了
再加上注釋

是使用的1602,原來的數碼管顯示沒問題,修改的,定時器是1ms的啊
ID:161164 發表于 2021-9-16 00:40
定時器1的中斷是2ms一次吧?
對LCD1602來說太頻密了
再加上注釋
你好像抄錯了數碼管的動態掃描代碼了吧
ID:89072 發表于 2021-9-15 23:33
請路過的大師幫我看一下
ID:89072 發表于 2021-9-15 09:14
yzwzfyz 發表于 2021-9-14 15:04
1、顯示程序:應能顯示某個變量于LED上,如A3。
2、采樣程序:應能將采樣的數值,轉換成溫度,再放入A3中 ...

謝謝指導,我按您的辦法試試。
ID:89072 發表于 2021-9-15 09:13
lkc8210 發表于 2021-9-14 11:20
經過半天排查
發現是你初始化了定時器1但又沒有相應的中斷函數
結果在定時器1第一次溢出后單片機就當機了 ...

非常感謝,開始測試使用的中斷刷新顯示,調試后放在主函數內做顯示,我再改一下試試。
ID:123289 發表于 2021-9-14 15:04
1、顯示程序:應能顯示某個變量于LED上,如A3。
2、采樣程序:應能將采樣的數值,轉換成溫度,再放入A3中。
做到以上兩點不就OK了嗎?有什么難度呢?
ID:161164 發表于 2021-9-14 11:20
經過半天排查
發現是你初始化了定時器1但又沒有相應的中斷函數
結果在定時器1第一次溢出后單片機就當機了
應加上
void timer1() interrupt 3
{
}

另外,LCD1602要顯示字符,lcd_wdat();的形參要以ASCII值輸入
lcd_wdat(volt);//自己想一下怎樣改
lcd_wdat(seg1);>>>>>>>>>>>>lcd_wdat('0'+seg1);
lcd_wdat(seg2);>>>>>>>>>>>>lcd_wdat('0'+seg2);
lcd_wdat(seg3);>>>>>>>>>>>>lcd_wdat('0'+seg3);
ID:89072 發表于 2021-9-14 09:36
munuc_w 發表于 2021-9-14 08:28
顯示不顯示和0809無關,問題可能出現在數據處理上,仔細檢查0809后的數據處理過程。

出現亂碼是不是0809數據錯誤啊
ID:752974 發表于 2021-9-14 08:28
顯示不顯示和0809無關,問題可能出現在數據處理上,仔細檢查0809后的數據處理過程。

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表