开机预热10分钟,再一次开机,在电子秤进行笔划自检的过程中,按“清零”键,显示将停止,再按“去皮”键,“起动”、“置零”键,就进入校电子秤程序,显示零位内码值,正常值在于11000以上,这时按“去皮”显示窗显示零,最右下角显示三角符号,说明进入1/3满量程调校程序,在如谨电子秤秤盘上放1/3满量程砝码,重量窗显示对应1/3满量程砝码的值,如果为砝码值,就说明已调校好,否则按“置零”键,此时重量窗将显示砝码值,再按一下“去皮”键,显示窗右下角的三符号将上跳一行,说明进入2/3满量程调校程序,在电子秤盘上放2/3满量程砝码,重量窗将显示对应砝码值,如果为砝码值,说明已校好,否则按“置零”键,此时重量窗将显示砝码值,再按一下“去皮”键,显示窗右下角的符号将上跳一行,说明进入江量程调校程序,在电子秤盘上放满量程砝码,重量窗显示对应砝码值,如果为砝码值,说明已校好,否则按“置零”键,此时重量窗将显示砝码值,重复上述乱改 *** 作直到对应1/3、2/3、3/3满量程的砝码分别显示正确。去皮如需去除器皿皮重,则先将器皿放于称盘上,待显示稳定后按“去皮”键,则天平显示“0.0g或0.00g”,然后将需称重物品放于器皿上,此时显示的数字为物品的净重,拿掉物品及器皿,天平显示的负值,仍按“去皮”键使天平显示回到“0.0g或0.00g”。
#include<msp430x14x.h>#include "HX711.h"
//****************************************************
/带判租/延时函数
//****************************************************
void Delay_hx711_us(uint t)
{
//_nop_()
//_nop_()
while(t--)
}
// I/O配冲没置
void PORT_Init(void)
{
P1SEL &=~ (BIT1+BIT2)
P1DIR &=~ BIT2//SDA
P1DIR |= BIT1//SCK
}
//****************************************************
//读取HX711
//****************************************************
unsigned long HX711_Read(void) //增益128
{
unsigned long count
unsigned char i
P1OUT |= BIT2//SDA
Delay_hx711_us(4)
P1OUT &=~ BIT1//SCK
count=0
while( P1IN&BIT2 )//SDA
for(i=0i<24i++)
{
P1OUT |= BIT1//SCK
count=count<<1
P1OUT &=~ BIT1/蠢兆/SCK
if(P1IN&BIT2)//SDA
count++
}
P1OUT |= BIT1//SCK
Delay_hx711_us(4)
P1OUT &=~ BIT1//SCK
return(count)
}
uart_init函数的问题。UCA0工作于UART模式时,需要设乱棚置相应的IO口,并打开IO口的第二功能。
还猛陪嫌有一点,建议不要使用20次累加算枝手法,建议8次或者16次,用移位来计算结果。因为430的除法是用软件实现的,会占用大量的CPU时间。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)