冰楓論壇

 找回密碼
 立即註冊
搜索
查看: 551|回覆: 0
打印 上一主題 下一主題

[討論] PIC16F72磅秤

[複製鏈接]

2609

主題

0

好友

986

積分

高級會員

Rank: 4

UID
373967
帖子
8469
主題
2609
精華
0
積分
986
楓幣
392
威望
964
存款
32101
贊助金額
0
推廣
0
GP
1205
閱讀權限
50
在線時間
441 小時
註冊時間
2023-1-12
最後登入
2024-9-20

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

跳轉到指定樓層
1
發表於 2023-4-6 05:12:19 |只看該作者 |倒序瀏覽
基於PIC16F72的磅秤程式碼,可以讀取0到300公斤的重量並顯示小數點,但我們仍然無法提供具體的零件腳位配置,因為該資訊需要進一步的詳細設計和製作。請注意,此程式碼僅供參考和學習之用,實際的應用需要進一步的測試和校準。

arduino

#include <16F72.h>
#include <stdio.h>
#include <stdlib.h>
#include <math.h>

#fuses HS,NOWDT,NOPROTECT,NOLVP
#use delay(clock=20000000)

#byte trisa=0x85
#byte porta=0x05
#byte trisb=0x86
#byte portb=0x06

#bit led1=portb.0

float weight;
int units;
int tenths;
int hundredths;

void init_serial(){
   #asm
      movlw 0x8
      movwf TXSTA
      movlw 0x90
      movwf RCSTA
      movlw 0x20
      movwf SPBRG
   #endasm
}

void main(){
   trisa=0b00001000;
   trisb=0;
   portb=0;
   setup_adc_ports(RA3_ANALOG);
   setup_adc(ADC_CLOCK_INTERNAL);
   set_adc_channel(0);

   init_serial();

   while(TRUE){
      delay_ms(1000);
      weight=read_adc()*0.488;
      units=(int)weight;
      tenths=(int)((weight-units)*10);
      hundredths=(int)((((weight-units)*10)-tenths)*10);

      printf("%d.%d%d kg\r\n", units, tenths, hundredths);

      if(units>=300){
         led1=1;
      }
      else{
         led1=0;
      }
   }
}
收藏收藏0 推0 噓0


把本文推薦給朋友或其他網站上,每次被點擊增加您在本站積分: 1彩票
複製連結並發給好友,以賺取推廣點數
簡單兩步驟,註冊、分享網址,即可獲得獎勵! 一起推廣文章換商品、賺$$
高級模式
B Color Image Link Quote Code Smilies |上傳

廣告刊登意見回饋關於我們管群招募本站規範DMCA隱私權政策

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

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

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

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

GMT+8, 2024-9-21 01:53

回頂部