⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.c

📁 LCD显示电子计价秤方案 1. 该方案使用的传感器为20KG,灵敏度约为0.5mv/v,选用新传感器线性较好的一段(100g-15Kg),直接处理,没有做非线性修正,称重可能会有偏差. 2. 软件
💻 C
字号:
/*******************************************************************************************************
  File name:		banlance demo		 							// 文件名
  Author: 		 	xcwy											// 作者
  Version:		  	2.0												// 版本
  Date: 		  	2008年5月										// 完成日期
  MCU:				AT89S52											// 单片机型号
  					11.0592M										// 单片机使用的晶体频率
					keilc v3.05c									// 软件开发环境
  Description:      本程序是深圳市天微电子有限公司电子秤延时程序,采用C语言编写
					1.本程序使用TM7705(TM7715,TM7714)测试重量并通过LED,lcd显示出来
  																	// 用于详细说明此程序文件完成的主要功能,与其他模块
                  													// 或函数的接口,输出值、取值范围、含义及参数间的控
                  													// 制、顺序、独立或依赖等关系
  Others:         	本程序为深圳市天微电子有限公司自主开发,任何个人或企业不得抄袭或者转载 					
  																	// 其它内容的说明
  Function List:  	  					
  																	// 主要函数列表,每条记录应包括函数名及功能简要说明
    																
  History:        													// 修改历史记录列表,每条修改记录应包括修改日期、修改
                  													// 作者及修改内容简述  
	1. Date: 		2008年5月17日
	   Author:		xcwy
       Modification:
	   				1)只称重,并显示物体的重量
*******************************************************************************************************/ 
#include<def.h>
#if board==finishboard
	#include<eeprom.h>	//读写EEPROM
	#include<keyscan.h>	//按键扫描
	#include<intt.h>	//T0中断处理
#endif
uchar  	bdata  	configbyte;
		sbit	adcbit0=configbyte^0;
		sbit	adcbit1=configbyte^1;
		sbit	disbit=configbyte^2;
		sbit	keybit=configbyte^3;	//为0则用MCU扫描,否则用LED驱动芯片扫描
//------------------------------------------初始化-------------------------------------------------
void init()
{
	//初始化端口
	P0=0XFF;
	P1=0XFF;
	P2=0XFF;
	P3=0XFF;
}
//-------------------------------------------配置程序----------------------------------------------
void configprom()
{
	uchar configres=0;		//低4为选择显示板,高4为选择ADC,默认选择TM7705+LED显示板
	//显示板的配置
	LED=1;
	_nop_();
	_nop_();
	if(LED==1)
	{
		disbit=1;	//外接LED显示板	
		keybit=1;
	}
	else
	{  		
		disbit=0;   //外接LCD显示板
		keybit=0;
	}

	//ADC的配置
	#if tm7707
	{
		//已经选定了ADC为TM7707
		adcbit1=1;	
	}
	#else
	{
		adcbit1=0;
		SET=1;
		_nop_();
		_nop_();
		if(SET==1)
		{
			adcbit0=0;	//选择TM7705
		}
		else
		{
			adcbit0=1;	//选择TM7715
		}
	}
	#endif
}
//------------------------------------------主程序-------------------------------------------------
void main()
{
//	uint uartdatah,uartdatal;
	init();	
	adcdata_int=0;
	adcdata_mea=0;
	weight=0;
	price=0;
	money=0; 
//	uartinit();
#ifdef ONKEYSCAN
	store_cyc=0;
	point_cyc=0;
#endif	
	configbyte=0;	//配置寄存器初始化	
	configprom();	//调用配置程序
	adcinit();		//调用ADC初始化
	discheck();		//调用显示自检程序
	LED=0; 	
#ifdef ONINTT_T0	
	//配置T0,定时20mS
	IE=0x82;	//开全局中断,开T0中断,禁止其他中断
	TMOD=0x11;	//选择T0的方式1
	TCON=0x00;	
	TH0=0xb8;	
	TL0=0x00;	//设置定时器的初值
	TR0=1;		//启动T0
#endif
  	while(1)
	{
		LED=0;
		adcdata_mea=adccon();	//调用AD转换程序,得到称重物体的重量	
//		uartdatah=adcdata_mea/65536;
//		uartdatal=adcdata_mea%65536;
//		printf("%x%x%x%x\n",0x78,uartdatah,uartdatal,0x79);
		datamanage();			//数据采集结束做数据处理
		ser_display_a();		//调用显示程序
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -