资源描述:
《液晶显示电冰箱温控器的设计代码部分》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、液晶显示电冰箱温控器的设计代码部分DS18B20.c模块#defineucharunsignedchar#defineuintunsignedint#include#includesbitDQ=P1^0;bdatauchardat;sbitdat0=dat^0;sbitdat7=dat^7;ucharcodeid[2][8]={{0x28,0x30,0xc5,0xb8,0x00,0x00,0x00,0x8e},{0x28,0x31,0xc5,0xb8,0x00,0x00,0x00,0xb9}};voiddelay15(ucharn)//15
2、us延时函数{do{_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();n--;}while(n);}voidlate(void){uchari;for(i=0;i<200;i++)delay15(200);}bitreset(void)//初始化DS18B20{biterr;DQ=0;//在数据线上产生600us的低电平delay15(40);DQ=1;//数据线拉高delay15(4);//延时60userr=DQ;//读取数据线状态,e
3、rr=0:复位成功delay15(18);//err=1:复位失败return(err);}voidwrbyte(uchard)//向DS18B20写入一个字节{uchari;dat=d;for(i=8;i>0;i--)//循环写8位(先低位,后高位){DQ=0;//产生15us的负脉冲delay15(1);DQ=dat0;//将当前数据位送数据线dat=dat>>1;//将下一位要写入的数据移到最低位delay15(1);//延时15usDQ=1;//数据线拉高,为写入下一位做准备}}ucharrdbyte(void)//从DS18B20读取一个字节{uchari;dat=0;
4、//读出数据初值为0for(i=8;i>0;i--)//循环读8位(先低位,后高位){dat=dat>>1;//读出数据先右移一位DQ=0;//产生1us的负脉冲_nop_();DQ=1;//数据总线拉高delay15(1);//延时15usdat7=DQ;//读取数据delay15(4);//延时,为读下一位做准备}return(dat);}voidreadid(ucharid[]){ucharn;reset();//复位DS18B20wrbyte(0x33);//发READROM命令for(n=0;n<=8;n++)//读取8个字节的序列号id[n]=rdbyte();}vo
5、idgettemp(inttemp[]){ucharm,n;ucharh,l;reset();wrbyte(0xcc);wrbyte(0x44);late();for(m=0;m<2;m++){reset();wrbyte(0x55);for(n=0;n<8;n++)wrbyte(id[m][n]);wrbyte(0xbe);l=rdbyte();h=rdbyte();temp[m]=h*256+l;}}main.c模块#include#defineucharunsignedchar#defineuintunsignedintexternvoidLCD_Disp
6、Ini(void);externvoidLCD_DispFill(ucharfilldata);externvoidLCD_DispChar(ucharcy,ucharcx,chardispdata);externvoidLCD_DispStr(ucharcy,ucharcx,char*disp_str);externvoidLCD_DispHZ(ucharcy,ucharcx,uchardispdata);externvoidLCD_DispHZStr(ucharcy,ucharcx,uchar*disp_str);externvoidgettemp(inttemp[]);ex
7、ternvoidInitTimer0(void);uchardp[16]={0,0,1,1,2,3,3,4,5,5,6,6,7,8,8,9};//小数部分转换#defineKSET0xe0#defineKSET_LONG0xe1#defineKINC0xd0#defineKDEC0xb0#defineKDOWN0x70uintcount;chardbuf[2]={5,-5};ucharstr[6]={0,0,0,0,0,0};charcang=5;chardong=-5;ucha