|
介紹了基于C8051F410的電子秤設(shè)計(jì),包含原理圖及上位機(jī)(組態(tài)王)部分。
Altium Designer畫的原理圖如下:(51hei附件中可下載工程文件)
0.png (49.43 KB, 下載次數(shù): 40)
下載附件
2018-5-20 02:53 上傳
0.png (46.93 KB, 下載次數(shù): 28)
下載附件
2018-5-20 02:52 上傳
單片機(jī)主函數(shù)源程序如下:
- #include"COM_WEIGHT.h"
- sbit key1 = P1^4;
- xdata union{float F[16];long L[16];int I[32];char R[64];}A_DAT; //數(shù)據(jù)聯(lián)合體
- /*********************************全局變量***************************************/
- float A,C;
- unsigned int i;
- /*********************************碼值20次采樣****************************************/
- void cs1238_average()
- {
- for(i=0;i<=19;i++)
- {
- cs1238();
- C=((Weight_A-Weight_Z)/1.0/Weight_K);
- A = C + A;
- }
- }
- void Delay1(unsigned int z)
- {
- for(z;z>0;z--);
- }
- //長延時(shí)函數(shù)
- /*
- void Delay2(unsigned int z)
- {
- for(z;z>0;z--)
- {
- Delay1(60000);
- }
- }
- */
- /*************************************************************************/
- //聯(lián)合體變量初始化函數(shù)
- void A_DAT_INIT()
- {
- Stand_No =1;
- Weight_A =0;
- Weight_B=0; //重量
- Weight_K = 128.38887666555; //轉(zhuǎn)換斜率
- Weight_Z = 0; //0點(diǎn)碼值
- Weight_peel = 0; //去皮重量
- Weight_per = 0; //單價(jià)
- Weight_total = 0; //總價(jià)
- }
- /*************************************************************************/
- void main ()
- {
- Init_Device();
- rx_start();
- A_DAT_INIT();
- LCD_Init();
- CS1238_WR_CONFIG(0x0c); //AD初始化
- cs1238();
- Weight_Z = Weight_A;
- LCD_Write_String(0,1,"Weight:");
- LCD_Write_String(10,1,"G");
- LCD_Write_String(0,0,"AD_CODE:");
- while (1)
- {
- A = 0;
- // if(Weight_B >= 5000)
- // {
- // Weight_B = 5005;
- // }
- cs1238_average();
- Weight_B=(A/20*10) - Weight_peel*10;
- // if(Weight_B >= 5000)
- // {
- // Weight_B = 5004;
- // }
- ……………………
- …………限于本文篇幅 余下代碼請從51黑下載附件…………
復(fù)制代碼
91MBMH4X3_6@%3$VAUEW)I7.png (89.14 KB, 下載次數(shù): 41)
下載附件
weight為上位機(jī)程序及畫面,最終版為下位機(jī)程序,weight_1為原理圖。
2018-5-19 11:01 上傳
所有資料51hei提供下載:
電子秤.rar
(270.84 KB, 下載次數(shù): 108)
2018-5-19 10:59 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|
評分
-
查看全部評分
|