1910基于单片机16键电子称控制系统设计(原理图、程序等完整资料)【毕设课设】

摘要

本文介绍了一种基于STC89C52RC单片机的16键电子称控制系统设计。系统通过压力传感器采集被测物体的重量,经过信号放大和A/D转换后,将模拟信号转换为数字信号送入单片机进行处理。单片机通过控制译码显示器显示重量信息,同时实现电子秤的基本功能,如价格计算,并扩展了电子日历及时钟功能。人机交互界面采用4*4矩阵键盘和LCD1602液晶显示器,方便用户输入数据和查看信息。此外,系统还集成了语音报数模块,可语音报读重量、单价、金额等内容。

关键词:STC89C52RC单片机;电子称;压力传感器;A/D转换;LCD1602;矩阵键盘;语音报数

一、引言

随着科技的不断发展,电子称作为一种重要的计量工具,在日常生活和工业生产中得到了广泛应用。本文设计了一种基于STC89C52RC单片机的16键电子称控制系统,旨在实现准确、高效的重量测量和数据处理功能,同时提升用户体验。

二、系统设计方案

本系统主要由单片机最小系统、数据采集系统、人机交互界面系统、电源系统、时钟及语音报数模块组成。

1. 单片机最小系统

单片机最小系统由STC89C52RC单片机和经典复位电路组成,负责整个系统的控制和数据处理。

2. 数据采集系统

数据采集系统包括称重传感器、信号放大和A/D转换部分。称重传感器负责采集被测物体的重量,将其转换为模拟电压信号。信号放大和A/D转换部分由专用型高精度24位AD转换芯片HX711实现,将模拟信号转换为数字信号送入单片机进行处理。

3. 人机交互界面系统

人机交互界面系统采用4*4矩阵键盘和LCD1602液晶显示器。矩阵键盘方便用户输入数据和设置参数,LCD1602液晶显示器能够直观地显示重量、价格等信息。

4. 电源系统

电源系统为整个系统提供稳定的电源供应,确保系统的正常运行。

5. 时钟及语音报数模块

时钟模块由时钟芯片DS1302和时钟电路组成,用于实现电子日历及时钟功能。语音报数模块采用SC1010B电子称专用语音芯片,可语音报读重量、单价、金额等语音内容,提升用户体验。

三、软件设计

软件设计是系统实现的关键部分,主要包括数据采集、数据处理、人机交互和语音报数等功能。单片机通过编程实现对各模块的控制和数据处理,实现电子称的基本功能和扩展功能。

四、实验结果与分析

通过实际测试,本系统能够准确测量物体的重量,并实现价格计算、电子日历及时钟功能。人机交互界面友好,操作简便。语音报数模块能够清晰地报读相关信息,提升了用户体验。

五、结论

本文设计了一种基于STC89C52RC单片机的16键电子称控制系统,实现了准确、高效的重量测量和数据处理功能。系统扩展了电子日历及时钟功能,提升了用户体验。实验结果表明,该系统具有较高的实用性和可靠性,可广泛应用于日常生活和工业生产中。

 

#include <reg52.h>	         //调用单片机头文件
#define uchar unsigned char  //无符号字符型 宏定义	变量范围0~255
#define uint  unsigned int	 //无符号整型 宏定义	变量范围0~65535

#define ulong unsigned long

#include<intrins.h>

uchar code table_num[]="0123456789abcdefg";

sbit rs=P1^0;	 //寄存器选择信号 H:数据寄存器  	L:指令寄存器
sbit rw=P1^1;	 //寄存器选择信号 H:数据寄存器  	L:指令寄存器
sbit e =P1^2;	 //片选信号   下降沿触发

sbit hx711_dout=P2^1; 
sbit hx711_sck=P2^0; 

sbit beep = P1^3;     //蜂鸣器

long weight;

uint temp,qi_weight;
bit chaozhong_flag;
bit leiji_flag;
bit flag_300ms ;

ulong price,z_price;   //单价 总价
uchar flag_p;

/***************
删除键
去皮
价格清零

***************/

/******1ms延时函数***12M晶振**************/
void delay_1ms(uint q)
{
	uint i,j;
	for(i=0;i<q;i++)
		for(j=0;j<120;j++);
}

/********************************************************************
* 名称 : delay_uint()
* 功能 : 小延时。
* 输入 : 无
* 输出 : 无
***********************************************************************/
void delay_uint(uint q)
{
	while(q--);
}

/********************************************************************
* 名称 : write_com(uchar com)
* 功能 : 1602命令函数
* 输入 : 输入的命令值
* 输出 : 无
***********************************************************************/
void write_com(uchar com)
{
	e=0;
	rs=0;
	rw=0;
	P0=com;
	delay_uint(3);
	e=1;
	delay_uint(25);
	e=0;
}
部分程序...

资料下载地址:

https://docs.qq.com/doc/p/ffc421513a628b30450ae742547c0b850456d7c8

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值