资源简介

027 简易电子秤 LCD1602显示 超重报警 proteus仿真 51单片机

资源截图

代码片段和文件信息



#include 
#include 
#include 
#include 
#include 

#include “LCD1602.h“   //LCD1602液晶头文件

#define uint unsigned int
#define uchar unsigned char
/************端口定义********************/
sbit CS=P1^0;      //ADC0832片选
sbit CLK=P1^1;     //ADC0832时钟
sbit DIO=P1^2;     //ADC0832输入输出

sbit K1=P3^0;     //加
sbit K2=P3^1;     //减
sbit LED=P3^2;    //灯
sbit BEEP=P3^3;    //灯


void delay(uint t) //延时Xms
{
uchar ttt;
while(t--)
{
for(ttt=125;ttt<0;ttt++);
}
}


/*****************************************/
/********ADC0832的A/D转换程序************************/
uchar Get_AD_Result(uchar ch)
{
  uchar idat1=0dat2=0;

CS  = 0; _nop_(); _nop_();          //片选使能,低电平有效
CLK = 0; _nop_(); _nop_();           //芯片时钟输入
DIO = 1; _nop_(); _nop_();
CLK = 1; _nop_(); _nop_();
//第1个下降沿之前,设DI=1/0
//选择单端/差分(SGL/DIF)模式中的单端输入模式
CLK = 0;DIO = 1; _nop_(); _nop_();
CLK = 1;         _nop_(); _nop_();
//第2个下降沿之前设置DI=0/1选择CHO/CH1

CLK = 0;

if(ch==0)
DIO = 0;  //通道0 内部电压测试
else DIO = 1; //通道1 

_nop_(); _nop_(); 

CLK = 1;  _nop_(); _nop_();
//第3个下降沿之前设置DI=1
CLK = 0;DIO = 1; _nop_(); _nop_();
   //第4-11个下降沿读数据(MSB->LSB)
for(i=0;i<8;i++)
{
  CLK = 1; _nop_(); _nop_();
CLK = 0; _nop_(); _nop_();
dat1 = dat1 << 1 | DIO;
}
//第11-18个下降沿读数据(LSB->MSB)
for(i=0;i<8;i++)
{
CLK = 1; _nop_(); _nop_();
CLK = 0; _nop_(); _nop_();
  dat2 = dat2 << ((uchar)(DIO)< }
CS = 1;//取消片选一个周期结束
//如果MSB->LSB和LSB->MSB读取的结果相同则返回读取的结果否则返回0
return dat1;
// return (dat1 == dat2) ? dat1:0;//取消校验
}




/*****************************************/
/**********主程序*************************/
void main()
{
char adc5adc6adc7;
unsigned long adcdata=0;

unsigned long maxweight=400;

LCD1602_init();
LCD1602_Print(00“WEIGHT:     kg“);
LCD1602_Print(01“MAX:        kg“);

LED=1;
BEEP=1;

while(1)
{
/////////////获取 adc  单位0.01kg
adcdata=(unsigned long)(Get_AD_Result(0)*1.9608-1);

/////////////转换数据

adc5=adcdata%1000/100;
adc6=adcdata%100/10 ;
adc7=adcdata%10/1;


/////////////显示数据
GotoXY(70);
LCD1602_Write(1adc5+0x30);
LCD1602_Write(1‘.‘);
LCD1602_Write(1adc6+0x30);
LCD1602_Write(1adc7+0x30);

/////////////转换数据

adc5=maxweight%1000/100;
adc6=maxweight%100/10 ;
adc7=maxweight%10/1;


/////////////显示数据
GotoXY(71);
LCD1602_Write(1adc5+0x30);
LCD1602_Write(1‘.‘);
LCD1602_Write(1adc6+0x30);
LCD1602_Write(1adc7+0x30);

///////////////开关处理
if(K1==0)
{
while(K1==0);
maxweight+=10;
}
if(K2==0)
{
while(K2==0);
maxweight-=10;
}
///////////////报警处理
if(adcdata>maxweight)
{
LED=0;
BEEP=0;
}else 
{
LED=1;
BEEP=1;
}



delay(100);

}  
}


 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2019-04-24 16:34  027 简易电子秤\
     文件       93782  2018-06-19 19:58  027 简易电子秤\QQ图片20180619195841.jpg
     目录           0  2019-04-24 16:34  027 简易电子秤\电子秤仿真\
     文件       22397  2018-06-19 20:38  027 简易电子秤\电子秤仿真\Backup Of dainzic.pdsbak
     文件       22457  2018-06-22 15:21  027 简易电子秤\电子秤仿真\dainzic.pdsprj
     文件        2244  2019-04-24 16:34  027 简易电子秤\电子秤仿真\dainzic.pdsprj.ANOOP.PC1.workspace
     文件       22420  2018-06-21 20:18  027 简易电子秤\电子秤仿真\Last Loaded dainzic.pdsbak
     文件        5025  2018-03-24 20:56  027 简易电子秤\电子秤仿真\LCD1602.h
     文件        3071  2018-06-21 20:25  027 简易电子秤\电子秤仿真\main.c
     文件        7533  2018-06-21 20:27  027 简易电子秤\电子秤仿真\main.LST
     文件       17163  2018-06-21 20:27  027 简易电子秤\电子秤仿真\main.OBJ
     文件       16205  2018-06-21 20:27  027 简易电子秤\电子秤仿真\PWM_MOTOS
     文件        5405  2018-06-21 20:27  027 简易电子秤\电子秤仿真\PWM_MOTOS.hex
     文件          45  2018-06-21 20:27  027 简易电子秤\电子秤仿真\PWM_MOTOS.lnp
     文件       15609  2018-06-21 20:27  027 简易电子秤\电子秤仿真\PWM_MOTOS.M51
     文件        2176  2018-06-21 20:27  027 简易电子秤\电子秤仿真\PWM_MOTOS.plg
     文件       71192  2019-04-24 16:34  027 简易电子秤\电子秤仿真\PWM_MOTOS.uvgui.PC1
     文件        4953  2019-04-24 16:34  027 简易电子秤\电子秤仿真\PWM_MOTOS.uvopt
     文件       13776  2019-04-24 16:34  027 简易电子秤\电子秤仿真\PWM_MOTOS.uvproj
     文件       56052  2018-06-21 19:02  027 简易电子秤\电子秤仿真\PWM_MOTOS_uvopt.bak
     文件           0  2018-05-13 17:17  027 简易电子秤\电子秤仿真\PWM_MOTOS_uvproj.bak
     文件       15453  2018-06-22 11:31  027 简易电子秤\电子秤仿真\新建 Microsoft Word 文档.docx
     文件        8615  2018-06-22 11:27  027 简易电子秤\电子秤仿真\新建文本文档.txt
     文件      274617  2018-11-21 20:51  如何运行仿真.docx
     文件         691  2019-04-24 15:13  说明书.txt

评论

共有 条评论