冰楓論壇

用戶名  找回密碼
 立即註冊
帖子
查看: 635|回覆: 0
打印 上一主題 下一主題

[討論] PIC16F72和74HC30D進行溫度數據採集

[複製鏈接]

2609

主題

0

好友

1022

積分

金牌會員

Rank: 6Rank: 6

UID
373967
帖子
9417
主題
2609
精華
0
積分
1022
楓幣
7
威望
998
存款
38737
贊助金額
0
推廣
0
GP
1205
閱讀權限
70
在線時間
477 小時
註冊時間
2023-1-12
最後登入
2025-3-12

2023端午節紀念勳章 2023中秋節紀念勳章 2023聖誕節紀念勳章

跳轉到指定樓層
1
發表於 2023-4-11 05:28:11 |只看該作者 |倒序瀏覽
[閒聊] 楓糖嘴說主播兩等三等搞不清楚(發錢)
您需要以下零件:

溫度傳感器(例如LM35)
電容(用於穩壓電源)
電阻(用於校準傳感器)
電位器(用於調整採樣頻率)
七段數碼管(用於顯示溫度數據)
電路板、杜邦線等

以下是一個簡單的PIC16F72程序,用於從LM35溫度傳感器採集溫度數據,並將其顯示在七段數碼管上。

此程序需要74HC30D作為數字開關來控制七段數碼管的顯示。


#include <16F72.h>
#fuses HS,NOWDT,NOPROTECT,NOLVP
#use delay(clock=20000000)

#define digit_a pin_c0
#define digit_b pin_c1
#define digit_c pin_c2
#define digit_d pin_c3
#define digit_e pin_c4
#define digit_f pin_c5
#define digit_g pin_c6
#define dp pin_c7

void main() {
   float temperature = 0;
   int digit[4] = {0, 0, 0, 0}; // 數碼管的4個數字
   int digit_index = 0;
   int i = 0;
   
   setup_adc_ports(AN0); // 使用AN0口連接溫度傳感器
   setup_adc(ADC_CLOCK_INTERNAL); // 設置ADC時鐘
   set_adc_channel(0); // 設置ADC通道
   delay_ms(50); // 延時等待傳感器穩定
   
   while(TRUE) {
      temperature = (float)read_adc() * 5 / 1024 / 0.01; // 讀取溫度傳感器的值
      
      if(temperature >= 100) {
         temperature = 99.9; // 超過99.9度,顯示99.9度
      }
      
      digit[0] = (int)temperature / 10; // 獲取十位數
      digit[1] = (int)temperature % 10; // 獲取個位數
      digit[2] = 0; // 小數點
      digit[3] = 0; // 空位
      
      for(i = 0; i < 100; i++) { // 等待一段時間
         // 控制74HC30D數字開關
         output_bit(digit_a, bit_test(digit[digit_index], 0));
         output_bit(digit_b, bit_test(digit[digit_index], 1));
         output_bit(digit_c, bit_test(digit[digit_index], 2));
         output_bit(digit_d, bit_test(digit[digit_index], 3));
         output_bit(digit_e, bit_test(digit[digit_index], 4));
         output_bit(digit_f, bit_test(digit[digit_index], 5));
         output_bit(digit_g, bit_test(digit[digit_index], 6));
         output_bit(dp, bit_test(digit[digit_index], 7));
         delay_us(500); // 控制刷新速度
      }
      
      digit_index++;
      if(digit_index > 3) {
         digit_index = 0;
      }
   }
}
收藏收藏0 推0 噓0

把本文推薦給朋友或其他網站上,每次被點擊增加您在本站積分: 1鑰匙
複製連結並發給好友,以賺取推廣點數
簡單兩步驟,註冊、分享網址,即可獲得獎勵! 一起推廣文章換商品、賺$$
:):(:D:'(
:•̀ὤ•́:o:P:$
;P:L:Q:lol
:loveliness::funk::curse::dizzy:
高級模式
B Color Image Link Quote Code Smilies |

廣告刊登意見回饋關於我們管群招募本站規範DMCA隱私權政策詐騙防範及資料調閱

Copyright © 2011-2025 冰楓論壇, All rights reserved

免責聲明:本網站是以即時上載留言的方式運作,本站對所有留言的真實性、完整性及立場等,不負任何法律責任。

而一切留言之言論只代表留言者個人意見,並非本網站之立場,用戶不應信賴內容,並應自行判斷內容之真實性。

小黑屋|手機版|冰楓論壇

GMT+8, 2025-3-12 22:44

回頂部