久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2152|回復: 1
打印 上一主題 下一主題
收起左側(cè)

基于單片機的智能數(shù)字電子秤proteus仿真設(shè)計

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:190577 發(fā)表于 2023-8-27 17:33 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
一、系統(tǒng)方案
1、當電子稱開機時,單片機會進入一系列初始化,進入1602顯示模式設(shè)定,如開關(guān)顯示、光標有無設(shè)置、光標閃爍設(shè)置,定時器初始化,進入定時器模式,如初始值賦值。之后液晶會顯示W(wǎng)elcome To Use Electronic Scale,這是一個歡迎使用界面:
2、此電子秤是開機檢測托盤重量,并將托盤重量清零(即電子秤每次開機后檢測托盤重量,并程序中自動將托盤重量保存在一個變量中,稱量過程中每次都將獲得的重量減去托盤重量,而得到所要稱量物體的真正的重量),然后單片機進入等待稱重界面:WE代表貨物重量,PR代表貨物單價,MONEY代表貨物總價。
3、在支架上放上待稱重物體時,HX711會采集稱重傳感器的模量量,并將這個模擬量轉(zhuǎn)化數(shù)字量,發(fā)送給單片機,單片機通過計算,將重量顯示在1602上面,由于仿真里面沒有真實的貨物,就用兩個按鍵模量重量,連接HX711的2個按鍵就是模擬重量加減,一個按鍵按下,貨物重量加,另外一個按鍵,貨物重量就會減。
4、在支架上放上待稱重物體時,通過矩陣鍵盤設(shè)置好單價,單片機會根據(jù)重量乘以單價計算出總價。如果單價設(shè)置有錯,按清除按鍵,重新設(shè)置。如果重量有錯誤,可以按去皮按鍵清除,校準加,校準減按鍵可以對貨物重量進行微調(diào)。
5、在支架上放上待稱重物體總量超過10KG時,蜂鳴器是不停的報警,LED閃爍,1602上面顯示W(wǎng)E;-.---,直到重量少于10KG蜂鳴器停止報警,LED停止閃爍。


二、硬件設(shè)計
原理圖如下:

三、單片機軟件設(shè)計
1、首先是系統(tǒng)初始化
Init_LCD1602();                                                                        //初始化LCD1602
   EA = 0;
   Data_Init();
   Timer0_Init();
   //初中始化完成,開斷
   EA = 1;
        
//        Get_Maopi();
        LCD1602_write_com(0x80);                                                //指針設(shè)置
   LCD1602_write_word(" Welcome To Use ");        //  
   LCD1602_write_com(0x80+0x40);                                                //指針設(shè)置
   LCD1602_write_word("Wlectronic Scale");
//   Delay_ms(2000);
   Get_Maopi();
   LCD1602_write_com(0x80);                                                //指針設(shè)置
   LCD1602_write_word("WE:0.000 PR:00.0");
   LCD1602_write_com(0x80+0x40);                                //指針設(shè)置
   LCD1602_write_word("MONEY:  0.00    ");
   Display_Price();
//        Get_Maopi();                                //稱毛皮重量
2、液晶顯示程序
//****************************************************
//MS延時函數(shù)(12M晶振下測試)
//****************************************************
void LCD1602_delay_ms(unsigned int n)
{
        unsigned int  i,j;
        for(i=0;i<n;i++)
                for(j=0;j<123;j++);
}
//****************************************************
//寫指令
//****************************************************
void LCD1602_write_com(unsigned char com)
{
        LCD1602_RS = 0;
        LCD1602_delay_ms(1);
        LCD1602_EN = 1;
        LCD1602_PORT = com;
        LCD1602_delay_ms(1);
        LCD1602_EN = 0;
}
//****************************************************
//寫數(shù)據(jù)
//****************************************************
void LCD1602_write_data(unsigned char dat)
{
        LCD1602_RS = 1;
        LCD1602_delay_ms(1);        
        LCD1602_PORT = dat;
        LCD1602_EN = 1;
        LCD1602_delay_ms(1);
        LCD1602_EN = 0;
}
3、按鍵程序
  unsigned char Getkeyboard(void)
{
    unsigned char number = 0;
    unsigned char i;
        
        //行輸入低電平
    ROW1=ROW2=ROW3=ROW4=0;
        //如果列輸出不全為高,則說明有鍵按下
        if ((COL1!=1)||(COL2!=1)||(COL3!=1)||(COL4!=1))
        {
           //輸入0111
           ROW1=0;
           ROW2=ROW3=ROW4=1;
           for (i=0;i<20;i++);
           if (COL1==0) return 1;           // 7
           else if (COL2==0) return 2;        //         8
           else if (COL3==0) return 3;         //        9
           else if (COL4==0) return 10;         //         10
           //輸入1011
           ROW2=0;
           ROW1=ROW3=ROW4=1;
           for (i=0;i<20;i++);
           if (COL1==0) return 4;          //4
           else if (COL2==0) return 5; //  5
           else if (COL3==0) return 6;        // 6
           else if (COL4==0) return 11;         //        11
           //輸入1101
           ROW3=0;
           ROW1=ROW2=ROW4=1;
           for (i=0;i<20;i++);
           if (COL1==0) return 7;  //1
           else if (COL2==0) return 8;          // 2
           else if (COL3==0) return 9;          //   3
           else if (COL4==0) return 12;          //   12
           //輸入0111
           ROW4=0;
           ROW1=ROW2=ROW3=1;
           for (i=0;i<20;i++);
           if (COL1==0) return 14;
           else if (COL2==0) return 0;
           else if (COL3==0) return 15;
           else if (COL4==0) return 13;
           //沒有檢測到列低電平
           return 99;
        }
        return 99;
}
4、核心算法程序
  //****************************************************
//讀取HX711
//****************************************************
unsigned long HX711_Read(void)        //增益128
{
        unsigned long count;
        unsigned char i;
          HX711_DOUT=1;
        Delay__hx711_us();
          HX711_SCK=0;
          count=0;
          while(HX711_DOUT);
          for(i=0;i<24;i++)
        {
                  HX711_SCK=1;
                  count=count<<1;
                HX711_SCK=0;
                  if(HX711_DOUT)
                        count++;
        }
        HX711_SCK=1;
    count=count^0x800000;//第25個脈沖下降沿來時,轉(zhuǎn)換數(shù)據(jù)
        Delay__hx711_us();
        HX711_SCK=0;  
        return(count);
}
四、proteus仿真設(shè)計
Proteus軟件是一款應(yīng)用比較廣泛的工具,它可以在沒有硬件平臺的基礎(chǔ)上通過自身的軟件仿真出硬件平臺的運行情況,這樣就可以通過軟件仿真來驗證我們設(shè)計的方案有沒有問題,如果有問題,可以重新選擇器件,連接器件,直到達到我們設(shè)定的目的,避免我們搭建實物的時候,如果當初選擇的方案有問題,我們器件都已經(jīng)焊接好了,再去卸載下去,再去焊接新的方案的器件,測試,這樣會浪費人力和物力,也給開發(fā)者帶來一定困惑,Proteus仿真軟件就很好的解決這個問題,我們在設(shè)計之初,就使用該軟件進行模擬仿真,測試,選擇滿足我們設(shè)計的最優(yōu)方案。最后根據(jù)測試沒問題的仿真圖紙,焊接實物,調(diào)試,最終完成本設(shè)計的作品。

評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

沙發(fā)
ID:1115214 發(fā)表于 2024-4-2 21:28 來自觸屏版 | 只看該作者
有錯誤
回復

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美久久精品一级黑人c片 91免费在线视频 | 丝袜美腿一区二区三区动态图 | 欧美一区二区三区在线观看视频 | 日本一区二区高清不卡 | 自拍偷拍精品 | 欧美在线国产精品 | 一区二区三区视频在线 | 国产一区在线免费观看视频 | 日韩欧美三级电影在线观看 | 国产高清免费视频 | 婷婷综合色| 国内成人免费视频 | 男人天堂网址 | 草久久免费视频 | h片在线看 | 在线中文一区 | 日韩国产精品一区二区三区 | 欧美精品福利视频 | 欧美一区二区 | 久久99精品久久久久久琪琪 | 国产精品久久久久久久久久久新郎 | 日韩欧美成人一区二区三区 | 欧美成人免费在线 | 一区二区三区四区日韩 | 天天射网站 | 婷婷五月色综合香五月 | 国产成人精品午夜视频免费 | 2023亚洲天堂| 国产精品一区二区视频 | 亚洲久草视频 | 91亚洲精品久久久电影 | 亚洲午夜精品一区二区三区他趣 | 男人天堂午夜 | 欧美日韩一区二区在线 | 欧美一区二区久久 | 真人毛片| 精品国产乱码久久久久久丨区2区 | 日韩中文字幕 | 成人av在线播放 | 91在线观看免费 | 在线成人 |