2、完成一个输出周期后,ADDO始终是1,闹雀一旦变成0,允许读取。
3、送出24个脉冲后,可依次读入24位。高位在前。count每次都是左移1位,把末位设成ADDO的值。count是变量。在计算机中一切数据和变量都是用二进制表达的。
你再理解调试看看,祝乱瞎你成功!
30是AD值吧,其实里面是AD采集原理,24970这个数尘迟链配值表示5kg,如果是派唤李2.5kg就是这个数值除以2,如果是1kg就是这个数值除以530大约是0.006千克,如果负数超过这个值,就说明是负重量,就报警。
单片机程序求注释#include <reg52.h> //调用单片机头文件#define uchar unsigned char //无符号字符型 宏定义 变量范围0~255
#define uint unsigned int //无符号整型 宏定义 变量范围0~65535
#include <intrins.h>// 有了他下面这些关键字随便用
/* _crol_ 字符循环左移
_cror_ 字符循环右移
_irol_ 整数循环左移
_iror_ 整数循环右移
_lrol_ 长整数循环左移
_lror_ 长整数循环右移
_nop_ 空 *** 作8051 NOP 指令
0 1 2 3 4 5 6 7 8 9
uchar code smg_du[]={0x28,0xe1,0x32,0xa2,0x54,0xa1,0x21,0xea,0x20,0xa0,
a b c d e f g //数组有code存在ROM没code保存在内存
0x60,0x25,0x39,0x26,0x31,0x71,0xff} //数码管段选定义亮激
uchar code smg_we[]={0xef,0xdf,0xbf,0x7f}//数码管位选定樱锋义
uchar dis_smg[8] = {0}
uchar smg_i = 4//显示数码管的个位数
sbit beep = P2^3//蜂鸣器IO口定义
bit flag_lj_en//按键连加使能
bit flag_lj_3_en//按键连3次连加后使能 加的数就越大了
uchar key_time,key_value//用做连加的中间变量
bit key_500ms
bit flag_300ms
uchar menu_1//菜单设计的变量
uint t_high = 20 //敬颂袜上限报警值
sbit hx711_dout=P2^7
sbit hx711_sck=P2^6//hx711模块端口选择
long weight
unsigned long HX711_Buffer = 0
unsigned long Weight_Maopi = 0
uint temp,qi_weight
bit chaozhong_flag
bit leiji_flag
uchar flag_200ms
#define GapValue 437.0
uint temp,qi_weight
bit chaozhong_flag
bit leiji_flag
/***********************1ms延时函数*****************************/
void delay_1ms(uint q)//无符号整形参数q
{
uint i,j//定义无符号整形变量i和j
for(i=0i<qi++) //变量i从0加到q
for(j=0j<120j++) //变量j从0加到120
}
/***********************数码显示函数*****************************/
void display()
{
static uchar i//申请无符号字符变量i
i++
if(i >= smg_i)//如果大于等于smg i向下执行
i = 0变量i清0
P1 = 0xff //消隐 单片机p1口发送11111111
P3 = smg_we[i] //位选 数组i送入单片机P3口
P1 = dis_smg[i] //段选 数组i的内容送到p1口
}
/*************定时器0初始化程序***************/
void t
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)