• 方案介绍
  • 附件下载
  • 推荐器件
  • 相关推荐
申请入驻 产业图谱

基于51单片机的电子秤proteus仿真设计

2024/07/31
3131
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

设计资料获取联系方式.doc

共1个文件

原理图Altium Designer
仿真图proteus 7.8
程序编译器:keil 4/keil 5
编程语言:C语言
编号C0033

数据采集模块+最小系统模块+超重报警模块+键盘+显示模块。
1、数据采集模块包括称重传感器和A/D转换电路
2、最小系统部分主要包括AT89C51晶振电路复位电路
3、键盘由4X4位矩阵键盘组成,可以控制显示重量和价钱等信息;
4、显示部分由LCD1602液晶显示。
5、可以实现称重、置零、计价和显示等功能。其称重范围为0~10Kg,分度值为0.001g。仿真图(提供源文件):

在这里插入图片描述

☀️程序:

main函数

//****************************************************
//主函数
//****************************************************
void main()
{
	init_eeprom();  //开始初始化保存的数据
	Init_LCD1602();									//初始化LCD1602
   EA = 0;
   Data_Init();
   Timer0_Init();
   //初中始化完成,开断
   EA = 1;
	
//	Get_Maopi();
	LCD1602_write_com(0x80);						//指针设置
   LCD1602_write_word(" Welcome To Use ");	//  
   LCD1602_write_com(0x80+0x40);						//指针设置
   LCD1602_write_word("Electronic Scale");
//   Delay_ms(2000);
   Get_Maopi();
   LCD1602_write_com(0x80);						//指针设置
   LCD1602_write_word("WE:0.000 PR:00.0");
   LCD1602_write_com(0x80+0x40);				//指针设置
   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();			   //保存数据
	  }
	}
}

HX711驱动

#include "HX711.h"


//****************************************************
//延时函数
//****************************************************
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个脉冲下降沿来时,转换数据
	Delay__hx711_us();
	HX711_SCK=0;  
	return(count);
}







在这里插入图片描述

☀️原理图 :

在这里插入图片描述

☀️参考论文:

在这里插入图片描述

  • 设计资料获取联系方式.doc
    下载

推荐器件

更多器件
器件型号 数量 器件厂商 器件描述 数据手册 ECAD模型 风险等级 参考价格 更多信息
STM32F756ZGY6TR 1 STMicroelectronics High-performance and DSP with FPU, Arm Cortex-M7 MCU with 1 Mbyte of Flash memory, 216 MHz CPU, Art Accelerator, L1 cache, HW crypto, SDRAM, TFT

ECAD模型

下载ECAD模型
$12.73 查看
FT232RL-REEL 1 FTDI Chip USB Bus Controller, CMOS, PDSO28, 10.20 X 5.30 MM, GREEN, SSOP-28

ECAD模型

下载ECAD模型
$4.79 查看
STM32F767ZIT6 1 STMicroelectronics High-performance and DSP with FPU, Arm Cortex-M7 MCU with 2 Mbytes of Flash memory, 216 MHz CPU, Art Accelerator, L1 cache, SDRAM, TFT, JPEG codec, DFSDM

ECAD模型

下载ECAD模型
$25.18 查看

相关推荐