完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本帖最后由 xch111 于 2015-5-16 17:16 编辑 在设计单片机电子秤时,在没接HX711传感器之前lcd显示正常,但在接上HX711烧入程序后会出现lcd上的重量位置上的数字不停的变动,蜂鸣器也不断的响,是为什么?求帮助啊~~~include #define uint unsigned int //无符号整型 宏定义 变量范围0~65535 #define ulong unsigned long #include "ds1302.h" #include uchar code table_num[]="0123456789abcdefg"; ***it rs=P1^0; //寄存器选择信号 H:数据寄存器 L:指令寄存器 ***it rw=P1^1; //寄存器选择信号 H:数据寄存器 L:指令寄存器 ***it e =P1^2; //片选信号 下降沿触发 ***it hx711_dout=P2^1; ***it hx711_sck=P2^0; ***it beep = P1^6; //蜂鸣器 uchar menu_1,menu_2; long weight; uint temp,qi_weight; bit chaozhong_flag; bit leiji_flag; bit flag_200ms ; ulong price,z_price; //单价 总价 uchar flag_p; /*************** 删除键 去皮 价格清零 ***************/ /******1ms延时函数***12M晶振**************/ void delay_1ms(uint q) { uint i,j; for(i=0;i for(j=0;j<120;j++); } /******************************************************************** * 名称 : delay_uint() * 功能 : 小延时。 * 输入 : 无 * 输出 : 无 ***********************************************************************/ void delay_uint(uint q) { while(q--); } /******************************************************************** * 名称 : write_com(uchar com) * 功能 : 1602命令函数 * 输入 : 输入的命令值 * 输出 : 无 ***********************************************************************/ void write_com(uchar com) { e=0; rs=0; rw=0; P0=com; delay_uint(3); e=1; delay_uint(25); e=0; } /******************************************************************** * 名称 : write_data(uchar dat) * 功能 : 1602写数据函数 * 输入 : 需要写入1602的数据 * 输出 : 无 ***********************************************************************/ void write_data(uchar dat) { e=0; rs=1; rw=0; P0=dat; delay_uint(3); e=1; delay_uint(25); e=0; } /***********************lcd1602上显示这字符函数************************/ void write_string(uchar hang,uchar add,uchar *p) { if(hang==1) write_com(0x80+add); else write_com(0x80+0x40+add); while(1) { if(*p == ' |