一、称重系统设计简述
当小车通过自己搭建称重系统时,可以在小车通过的瞬间测出小车的重力。并且可以算出其价格,也可以通过按键调节单价,通过LCD1602可以显示数据。
二、代码
main.c
```#include "DSP2833x_Device.h" // DSP2833x Headerfile Include File
#include "DSP2833x_Examples.h" // DSP2833x Examples Include File
#include "leds.h"
#include "lcd1602.h"
#include "time.h"
#include "smg.h"
#include "adc.h"
#include "key.h"
#include "uart.h"
#include "oled.h"
#include "24cxx.h"
#define u8 unsigned char
#define u16 unsigned int
char key_val;
float adc_para;
char test[6];
#define BUF_SIZE 8 // Sample buffer size
char adc_value[]="0000g 05yuan";
char adc_value1[]="0000g num: ";
volatile unsigned int adc[4];
volatile Uint16 SampleTable[BUF_SIZE];
//下面4项内容需要根据实际型号和量程修正
//最小量程 根据具体型号对应手册获取,单位是g,这里以RP-18.3-ST型号为例,最小量程是20g
#define PRESS_MIN 20
//最大量程 根据具体型号对应手册获取,单位是g,这里以RP-18.3-ST型号为例,最大量程是6kg
#define PRESS_MAX 6000
#define VOLTAGE_MIN 100
#define VOLTAGE_MAX 3300
long PRESS_A[4];
int VOLTAGE_A[4];
u8 val_flag=0;
int parameter=2400;
/*******************************************************************************
* 函 数 名 : main
* 函数功能 : 主函数
* 输 入 : 无
* 输 出 : 无
*******************************************************************************/
long map(long x, long in_min, long in_max, long out_min, long out_max) {
return (x - in_min) * (out_max - out_min) *1.18