找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2267|回复: 0
打印 上一主题 下一主题
收起左侧

基于单片机的hx711称重模块电路代码

[复制链接]
跳转到指定楼层
楼主
ID:342802 发表于 2018-6-1 12:37 来自手机 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include <reg52.h>
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char
sbit lcdrs=P2^4;
sbit lcden=P2^6;
sbit lcdrw=P2^5;
sbit ADDO = P2^0;
sbit ADSK = P2^1;
uchar code table[] = { 0xC0,0xF9,0xA4,0xB0,0x99, 0x92,0x82,0xF8,0x8 0,0x90,};
void delay_ms(uint z)
{
uint x; uchar y; for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
unsigned long get_ADValue(void)
{
uchar i;
unsigned long value=0;

ADDO=1;//51 CPU I/O input enable
ADSK=0;//enable AD
while (ADDO);
_nop_();//delay T1>0.1us
for (i=0;i<24;i++)
{
ADSK=1;
_nop_();//delay T3>0.2us
if (ADDO)
value++;
value=value<<1; ADSK=0;
_nop_();//delay T4>0.2us
}
ADSK=1;
_nop_();//delay T3>0.2us
ADSK=0;
_nop_();//delay T4>0.2us
value=value&0x007FFFFF;
return (value);
}
void display(uchar qian,uchar bai,uchar shi,uchar ge)
{
P0=table[qian];
P2=0xFE;//1111_1110,display bit[qian] delay_ms(100);
P0=table[bai];
P2=0xFD;//1111_1101,display bit[bai] delay_ms(100);
P0=table[shi];
P2=0xFB;//1111_1011,display bit[shi] delay_ms(100);
P0=table[ge];
P2=0xF7;//1111_0111,display bit[ge] delay_ms(100);
}
void main()
{
unsigned long num;
float num_f;
uchar qian,bai,shi,ge;
while (1)
{
num=get_ADValue();
num_f=num/8388607.0*4.80;//(2^13-1)*Power V oltage num=(num_f*1000-64.044)*1/0.763;
qian=num%10000/1000;
bai=num%1000/100;
shi=num%100/10;
ge=num%10;
display(qian,bai,shi,ge); }
}
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表