• 方案介紹
  • 附件下載
  • 推薦器件
  • 相關(guān)推薦
申請入駐 產(chǎn)業(yè)圖譜

基于51單片機(jī)的電子秤proteus仿真設(shè)計

2024/07/31
4542
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

設(shè)計資料獲取聯(lián)系方式.doc

共1個文件

原理圖Altium Designer
仿真圖proteus 7.8
程序編譯器:keil 4/keil 5
編程語言:C語言
編號C0033

數(shù)據(jù)采集模塊+最小系統(tǒng)模塊+超重報警模塊+鍵盤+顯示模塊。
1、數(shù)據(jù)采集模塊包括稱重傳感器和A/D轉(zhuǎn)換電路
2、最小系統(tǒng)部分主要包括AT89C51、晶振電路復(fù)位電路;
3、鍵盤由4X4位矩陣鍵盤組成,可以控制顯示重量和價錢等信息;
4、顯示部分由LCD1602液晶顯示。
5、可以實現(xiàn)稱重、置零、計價和顯示等功能。其稱重范圍為0~10Kg,分度值為0.001g。仿真圖(提供源文件):

在這里插入圖片描述

??程序:

main函數(shù)

//****************************************************
//主函數(shù)
//****************************************************
void main()
{
	init_eeprom();  //開始初始化保存的數(shù)據(jù)
	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("Electronic 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();				//稱毛皮重量

	while(1)
	{
//每0.5秒稱重一次
	  if (FlagTest==1)
		{
			Get_Weight();
			FlagTest = 0;
		}			
	  	
	  keycode = Getkeyboard();
	  //有效鍵值0-15
	  if (keycode<16)
	  {
		 KeyPress(keycode);
		 Buzzer=0;
		 Delay_ms(100);
		 Buzzer=1;
		 while(keycode<16)
		 {
			if(keycode==12||keycode==13)
			{
				Buzzer=0;
				 Delay_ms(10);
				 Buzzer=1;
				 KeyPress(keycode);
				 Get_Weight();
				 flag_key=1;
			}
			keycode = Getkeyboard();
		 }
		 write_eeprom();			   //保存數(shù)據(jù)
	  }
	}
}

HX711驅(qū)動

#include "HX711.h"


//****************************************************
//延時函數(shù)
//****************************************************
void Delay__hx711_us(void)
{
	_nop_();
	_nop_();
}

//****************************************************
//讀取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);
}







在這里插入圖片描述

??原理圖 :

在這里插入圖片描述

??參考論文:

在這里插入圖片描述

  • 設(shè)計資料獲取聯(lián)系方式.doc
    下載

推薦器件

更多器件
器件型號 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊 ECAD模型 風(fēng)險等級 參考價格 更多信息
ATXMEGA128A1U-CUR 1 Microchip Technology Inc IC MCU 8BIT 128KB FLASH 100CBGA

ECAD模型

下載ECAD模型
$8.4 查看
MK70FN1M0VMJ12R 1 Freescale Semiconductor 32-BIT, FLASH, 120MHz, RISC MICROCONTROLLER, PBGA256, 17 X 17 MM, MAPBGA-256
暫無數(shù)據(jù) 查看
ATXMEGA128A4U-CU 1 Microchip Technology Inc IC MCU 8BIT 128KB FLASH 49VFBGA

ECAD模型

下載ECAD模型
$5.69 查看

相關(guān)推薦

方案定制

去合作
方案開發(fā)定制化,2000+方案商即時響應(yīng)!