-
大小: 2.93MB文件类型: .zip金币: 1下载: 0 次发布日期: 2023-09-11
- 语言: 其他
- 标签:
资源简介
基于51的电子秤,包括仿真图,51程序说明,电路图文档详细解析,所用芯片的详细资料,高精度电子秤设计和高精度体重计设计
代码片段和文件信息
#include
typedef unsigned char uint8;
typedef unsigned int uint16;
sbit rs=P2^6;
sbit rw=P2^5;
sbit e=P2^7;
sbit scl=P2^1;
sbit sda=P2^0;
uint8 num[]=“0123456789“;
uint8 d1[]=“RMB/kg: “;
uint16 ad[5]m[5];
uint8 kn=10;
uint8 keynum[3];
uint16 pric=0;
void delay(uint16 i)
{
while(i--);
}
void wrc(uint8 c)
{
delay(1000);
rs=0;
rw=0;
e=0;
P0=c;
e=1;
delay(10);
e=0;
}
void wrd(uint8 dat)
{
delay(1000);
rs=1;
rw=0;
e=0;
P0=dat;
e=1;
delay(10);
e=0;
rs=0;
}
void init()
{
delay(1000);
wrc(0x38);
wrc(0x38);
wrc(0x38);
wrc(0x06);
wrc(0x0c);
wrc(0x01);
}
void iicinit()
{
sda=1;
scl=1;
}
void iicstart()
{
sda=1;
scl=1;
delay(10);
sda=0;
delay(10);
scl=0;
delay(10);
}
void iicstop()
{
sda=0;
scl=1;
delay(10);
sda=1;
delay(10);
sda=0;
delay(10);
}
void ack()
{
sda=1;
scl=0;
delay(2);
sda=0;
delay(2);
scl=1;
delay(10);
scl=0;
delay(2);
sda=1;
delay(5);
}
void noack()
{
sda=0;
scl=0;
delay(2);
sda=1;
delay(2);
scl=1;
delay(10);
scl=0;
delay(2);
sda=0;
delay(5);
}
void iicwrbyte(uint8 dat)
{
uint8 i;
scl=0;
for(i=0;i<8;i++)
{
if(dat&0x80)
{
sda=1;
}
else
{
sda=0;
}
dat<<=1;
scl=1;
delay(10);
scl=0;
delay(10);
}
sda=1;
delay(10);
}
uint8 iicread()
{
uint8 idat;
scl=0;
sda=1;
for(i=0;i<8;i++)
{
dat<<=1;
if(sda==1)
{
dat|=0x01;
}
scl=1;
delay(10);
scl=0;
delay(10);
}
return dat;
}
void pcf8591wrbyte(uint8 channel)
{
iicinit();
iicstart();
iicwrbyte(0x90); //pcf8591写数据 1001 A2A1A0 R/W
ack();
iicwrbyte(channel|0x70); //通过打开通道channelX,模拟输出使能打开
noack();
iicstop();
}
uint8 pcf8591read()
{
uint8 dat;
iicinit();
iicstart();
iicwrbyte(0x90);
ack();
iicstart();
iicwrbyte(0x91); // pcf8591读数据 1001 A2A1A0 R/W
ack();
dat=iicread();
noack();
iicstop();
return dat;
}
void pcf8591dac(uint8 value) //DA转换
{
iicinit();
iicstart();
iicwrbyte(0x90);
ack();
iicwrbyte(0x70); //不需要打开通道channelX,模拟输出使能打开
ack();
iicwrbyte(value);
noack();
iicstop();
}
uint8 keyscan() //按键扫描程序
{
uint8 hlvalue;
P1=0x0f;
h=P1&0x0f;
if(h!=0x0f)
{
delay(1);
if(h!=0x0f)
{
h=P1&0x0f;
l=P1|0xf0;
P1=l;
l=P1&0xf0;
h=P1&0x0f;
value=h+l;
}
return value;
}
}
void keypros() //按键处理函数
{
uint8 key;
key=keyscan();
switch(key)
{
case 0xee: kn=0;break;
case 0xde: kn=1;break;
case 0xbe: kn=2;break;
case 0x7e: kn=3;break;
case 0xed: kn=4;break;
case 0xdd: kn=5;break;
case 0xbd: kn=6;break;
case 0x7d: kn=7;break;
case 0xeb: kn=8;break;
case 0xdb: kn=9;break;
case 0xbb: break;
case 0x7b: break;
case 0xe7: kn=12;break; //小数点按下标志位
case 0xd7: kn=11;break; //计价确认按键标志
case 0xb7: kn=13;break; //clear清空计价输入
case 0x77: break;
default : break;
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2015-02-01 14:42 基于单片机设计的数字电子秤(程序,proteus仿真,原理图都有)\
文件 209086 2014-06-11 16:38 基于单片机设计的数字电子秤(程序,proteus仿真,原理图都有)\$H6W5_]KG‘9W033(F7QP}7F.jpg
文件 238080 2014-06-12 15:11 基于单片机设计的数字电子秤(程序,proteus仿真,原理图都有)\PCF8591ADDA总结.doc
文件 225994 2014-06-11 16:42 基于单片机设计的数字电子秤(程序,proteus仿真,原理图都有)\hx711(海芯).pdf
文件 718421 2014-05-05 11:21 基于单片机设计的数字电子秤(程序,proteus仿真,原理图都有)\pcf8591中文.pdf
目录 0 2015-02-01 14:42 基于单片机设计的数字电子秤(程序,proteus仿真,原理图都有)\proteus仿真图设计\
文件 23797 2014-06-13 19:35 基于单片机设计的数字电子秤(程序,proteus仿真,原理图都有)\proteus仿真图设计\Backup Of New Project.pdsbak
文件 23767 2014-06-13 19:59 基于单片机设计的数字电子秤(程序,proteus仿真,原理图都有)\proteus仿真图设计\New Project.pdsprj
文件 2198 2014-06-12 17:30 基于单片机设计的数字电子秤(程序,proteus仿真,原理图都有)\proteus仿真图设计\New Project.pdsprj.PC-20140609AOQY.Administrator.workspace
文件 162 2015-01-30 12:07 基于单片机设计的数字电子秤(程序,proteus仿真,原理图都有)\~$高精度体重计.doc
目录 0 2015-02-01 14:42 基于单片机设计的数字电子秤(程序,proteus仿真,原理图都有)\仿真现象\
文件 659773 2014-06-13 20:01 基于单片机设计的数字电子秤(程序,proteus仿真,原理图都有)\仿真现象\77VC%YAGFBNDP_6K%3Y7JLH.jpg
文件 650337 2014-06-13 20:01 基于单片机设计的数字电子秤(程序,proteus仿真,原理图都有)\仿真现象\Y5J5(0PV4{‘@KSRD2}2J%R8.jpg
文件 675254 2014-06-13 20:00 基于单片机设计的数字电子秤(程序,proteus仿真,原理图都有)\仿真现象\~6‘D76Y4QX)3‘ZQ[YZ5~940.jpg
文件 750 2014-06-13 20:16 基于单片机设计的数字电子秤(程序,proteus仿真,原理图都有)\总结.txt
目录 0 2015-02-01 14:42 基于单片机设计的数字电子秤(程序,proteus仿真,原理图都有)\程序设计\
文件 16265 2015-01-30 12:05 基于单片机设计的数字电子秤(程序,proteus仿真,原理图都有)\程序设计\基于单片机设计的数字电子秤
文件 870 2015-01-30 12:05 基于单片机设计的数字电子秤(程序,proteus仿真,原理图都有)\程序设计\基于单片机设计的数字电子秤.LST
文件 24938 2015-01-30 12:05 基于单片机设计的数字电子秤(程序,proteus仿真,原理图都有)\程序设计\基于单片机设计的数字电子秤.M51
文件 18618 2015-01-30 12:05 基于单片机设计的数字电子秤(程序,proteus仿真,原理图都有)\程序设计\基于单片机设计的数字电子秤.OBJ
文件 4936 2014-06-13 20:22 基于单片机设计的数字电子秤(程序,proteus仿真,原理图都有)\程序设计\基于单片机设计的数字电子秤.c
文件 5587 2015-01-30 12:05 基于单片机设计的数字电子秤(程序,proteus仿真,原理图都有)\程序设计\基于单片机设计的数字电子秤.hex
文件 84 2015-01-30 12:05 基于单片机设计的数字电子秤(程序,proteus仿真,原理图都有)\程序设计\基于单片机设计的数字电子秤.lnp
文件 1624 2015-01-30 12:05 基于单片机设计的数字电子秤(程序,proteus仿真,原理图都有)\程序设计\基于单片机设计的数字电子秤.plg
文件 55319 2015-01-30 12:06 基于单片机设计的数字电子秤(程序,proteus仿真,原理图都有)\程序设计\基于单片机设计的数字电子秤.uvopt
文件 13330 2014-06-12 17:30 基于单片机设计的数字电子秤(程序,proteus仿真,原理图都有)\程序设计\基于单片机设计的数字电子秤.uvproj
文件 55319 2014-06-13 20:22 基于单片机设计的数字电子秤(程序,proteus仿真,原理图都有)\程序设计\基于单片机设计的数字电子秤_uvopt.bak
文件 13330 2014-06-12 11:30 基于单片机设计的数字电子秤(程序,proteus仿真,原理图都有)\程序设计\基于单片机设计的数字电子秤_uvproj.bak
文件 529920 2014-06-11 10:13 基于单片机设计的数字电子秤(程序,proteus仿真,原理图都有)\高精度体重计.doc
文件 804864 2014-06-11 16:25 基于单片机设计的数字电子秤(程序,proteus仿真,原理图都有)\高精度电子秤设计.doc
- 上一篇:uCOS-II 中文手册 高清版 pdf
- 下一篇:组态王高级培训教程精华版.pdf
评论
共有 条评论