欢迎来到天天文库
浏览记录
ID:55690371
大小:30.50 KB
页数:14页
时间:2020-05-25
《基于51单片机的电子秤程序.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、#include#include//#include"LCD1602.h"//#include"HX711.h"#defineuintunsignedint#defineucharunsignedcharsbitLCD1602_RS=P2^5;sbitLCD1602_RW=P2^6;sbitLCD1602_EN=P2^7;sbitHX711_DOUT=P2^0;sbitHX711_SCK=P2^1;unsignedlongHX711_Buffer=0;unsignedlongWeight_Maopi=0,Weight_Shiwu=0;char
2、Price_Count=0;ucharKEY_NUM=0;ucharPrice_Buffer[3]={0x00,0x00,0x00};unsignedlongMoney=0;bitFlag_OK=0;ucharcom;//延时函数//****************************************************voidDelay__hx711_us(void){_nop_();_nop_();}voidLCD1602_delay_ms(unsignedintn){unsignedinti,j;for(i=0;i3、);}voidDelay_ms(unsignedintn){unsignedinti,j;for(i=0;i4、(1);LCD1602_EN=0;}//****************************************************//写数据//****************************************************voidLCD1602_write_data(uchardat){LCD1602_RS=1;LCD1602_delay_ms(1);P0=dat;LCD1602_EN=1;LCD1602_delay_ms(1);LCD1602_EN=0;}//******************************************5、**********//连续写字符//****************************************************voidLCD1602_write_word(unsignedchar*s){while(*s>0){LCD1602_write_data(*s);s++;}}voidInit_LCD1602(){LCD1602_EN=0;LCD1602_RW=0;//设置为写状态LCD1602_write_com(0x38);//显示模式设定LCD1602_write_com(0x0c);//开关显示、光标有无设置、光标闪烁设置LCD1602_write_c6、om(0x06);//写一个字符后指针加一LCD1602_write_com(0x01);//清屏指令}//****************************************************//矩阵键盘扫描//****************************************************unsignedcharKEY_Scan(){unsignedchartemp=0;unsignedcharcom=0x55,com1=0,com2=0;P3=0xf0;if(P3!=0xf0){com1=P3;P3=0x0f;com2=P3;}P3=07、xf0;while(P3!=0xf0);temp=com18、com2;if(temp==0xee)com=1;//数字1if(temp==0xed)com=4;//数字4if(temp==0xeb)com=7;//数字7if(temp==0xe7)com=11;//备用键*号键if(temp==0xd7)com=0;//数字0if(temp==0xb7)com=14;//备用键*号键if(temp==0xde)com=2;//数字2if(temp==0xd
3、);}voidDelay_ms(unsignedintn){unsignedinti,j;for(i=0;i4、(1);LCD1602_EN=0;}//****************************************************//写数据//****************************************************voidLCD1602_write_data(uchardat){LCD1602_RS=1;LCD1602_delay_ms(1);P0=dat;LCD1602_EN=1;LCD1602_delay_ms(1);LCD1602_EN=0;}//******************************************5、**********//连续写字符//****************************************************voidLCD1602_write_word(unsignedchar*s){while(*s>0){LCD1602_write_data(*s);s++;}}voidInit_LCD1602(){LCD1602_EN=0;LCD1602_RW=0;//设置为写状态LCD1602_write_com(0x38);//显示模式设定LCD1602_write_com(0x0c);//开关显示、光标有无设置、光标闪烁设置LCD1602_write_c6、om(0x06);//写一个字符后指针加一LCD1602_write_com(0x01);//清屏指令}//****************************************************//矩阵键盘扫描//****************************************************unsignedcharKEY_Scan(){unsignedchartemp=0;unsignedcharcom=0x55,com1=0,com2=0;P3=0xf0;if(P3!=0xf0){com1=P3;P3=0x0f;com2=P3;}P3=07、xf0;while(P3!=0xf0);temp=com18、com2;if(temp==0xee)com=1;//数字1if(temp==0xed)com=4;//数字4if(temp==0xeb)com=7;//数字7if(temp==0xe7)com=11;//备用键*号键if(temp==0xd7)com=0;//数字0if(temp==0xb7)com=14;//备用键*号键if(temp==0xde)com=2;//数字2if(temp==0xd
4、(1);LCD1602_EN=0;}//****************************************************//写数据//****************************************************voidLCD1602_write_data(uchardat){LCD1602_RS=1;LCD1602_delay_ms(1);P0=dat;LCD1602_EN=1;LCD1602_delay_ms(1);LCD1602_EN=0;}//******************************************
5、**********//连续写字符//****************************************************voidLCD1602_write_word(unsignedchar*s){while(*s>0){LCD1602_write_data(*s);s++;}}voidInit_LCD1602(){LCD1602_EN=0;LCD1602_RW=0;//设置为写状态LCD1602_write_com(0x38);//显示模式设定LCD1602_write_com(0x0c);//开关显示、光标有无设置、光标闪烁设置LCD1602_write_c
6、om(0x06);//写一个字符后指针加一LCD1602_write_com(0x01);//清屏指令}//****************************************************//矩阵键盘扫描//****************************************************unsignedcharKEY_Scan(){unsignedchartemp=0;unsignedcharcom=0x55,com1=0,com2=0;P3=0xf0;if(P3!=0xf0){com1=P3;P3=0x0f;com2=P3;}P3=0
7、xf0;while(P3!=0xf0);temp=com1
8、com2;if(temp==0xee)com=1;//数字1if(temp==0xed)com=4;//数字4if(temp==0xeb)com=7;//数字7if(temp==0xe7)com=11;//备用键*号键if(temp==0xd7)com=0;//数字0if(temp==0xb7)com=14;//备用键*号键if(temp==0xde)com=2;//数字2if(temp==0xd
此文档下载收益归作者所有