本系统采用单片机AT89S52为控制核心,实现电子秤的基本控制功能。主要分 为五个模块:物体重量采集模块、AD转化模块、单片机处理模块、数据显示模块及电源模块。通过四个压力传感器采集参数,经过放大电路放大信号,在通过AD转换芯片变成数字信号,经单片机处理,显示在液晶屏上。
本系统采用单片机AT89S52为控制核心,实现电子秤的基本控制功能。主要分 为五个模块:物体重量采集模块、AD转化模块、单片机处理模块、数据显示模块及电源模块。通过四个压力传感器采集参数,经过放大电路放大信号,在通过AD转换芯片变成数字信号,经单片机处理,显示在液晶屏上。
举个例子,一个称重设备给单片机一个模拟信号,起初肯定不知道这个信号是代表多重,但是我用标准重量比如A称一下,告诉你记下这个模拟量B,那么以后称别的重量,只要知道模拟量X,并根据A和B这两个常量,就可以算出来要求的重量Y了。前面的得到常量A和B的过程就是标定。这个简单了。给你一个程序框架
sbit key1=P0^0
sbit key2=P0^1
sbit key3=P0^2
//还可以多写几个键
void main(){
unsigned char zt=0//程序运行状态变量,用它来标定程序运行在哪个段
while(1){
//按键扫描没加滤波这个如果有需要你自己加吧
if(~key1){zt=0}//当按键1按下时运行程序段0;
if(~key2){zt=1}//当按键2按下时运行程序段1;
if(~key3){zt=2}//当按键3按下时运行程序段2;
//状态机程序
switch(zt){
case 0://程序段0
//在这里添加相应的功能程序,如点阵,LED,等等
break
case 1://程序段1
//在这里添加相应的功能程序,如点阵,LED,等等
break
case 2://程序段2
//在这里添加相应的功能程序,如点阵,LED,等等
break
}
}
}
希望能帮到你。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)