資源簡介
電子稱 51單片機 1602顯示 HX710AD芯片電子稱 51單片機 1602顯示 HX710AD芯片電子稱 51單片機 1602顯示 HX710AD芯片
代碼片段和文件信息
#include
#include??//包含_nop_()函數定義的頭文件
#define?uchar?unsigned?char
#define?uint?unsigned?int
#define?ulong?unsigned?long
sbit?ADDO?=?P1^1;? ??//AD_HX710?數據端口
sbit?ADSK?=?P1^0;? ??//AD_HX710時鐘端口
////1602位定義
sbit?rs=P2^2;
sbit?E=P2^4;
sbit?rw=P2^3;
uchar?code?digit[10]={“0123456789“};
ulong??weight?AD_DATA1AD_DATA2;
void?delay(uint?z);
void?init();
void?write_com(uchar?com);
void?write_data(uchar?date);
/******************************************************
??????????????AD讀取函數
?----------------------------
*******************************************************/
ulong?ReadCount(void)
{?
??ulong?Count;?
??uchar?i;?
??ADDO=1;???????????//非51類MCU,略去此行?
??ADSK=0;?
??Count=0;?
??while(ADDO);?
??for?(i=0;i<24;i++){?
????ADSK=1;?
????Count=Count<<1;?
????ADSK=0;?
????if(ADDO)?Count++;?
??}?
??ADSK=1;?
??Count=Count^0x800000;??
??ADSK=0;?
??return(Count);?
}?
/******************************************************
??????????????1602函數
?----------------------------
*******************************************************/
///////////////延時////////////
???void?delay(uint?z)
???{
??? uint?xy;
for(x=z;x>0;x--);
for(y=110;y>0;y--);
????}?
///////////////初始化///////////
void?init_1602()
??{
??rw=0;
??E=0;
??write_com(0x38);
??write_com(0xc);????//不顯示光標
??write_com(0x06);
??write_com(0x01);
??write_com(0x80+0x10);
評論
共有 條評論