资源描述:
《51单片机数码管显示温度程序》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、//项目:数码管温度显示器//编写:LGY//功能:数码管显示温度#include"reg52.h"#include"intrins.h"#defineucharunsignedchar#defineuintunsignedint//******************位定义*******************************//sbitRX=P3^0;sbitTX=P3^1;sbitRX_TX_con=P3^2;//sbitFre_check=P3^5;sbitDQ=P3^5;sbitSDA=P3^6;sbitSCL=P3^7;sbitLED_1=P0^
2、2;sbitLED_2=P0^0;sbitLED_3=P0^1;sbitLED_4=P0^3;unsignedchara1,a2,a3,a4;unsignedinttemper;unsignedcharcodedisplaycode[]={//01234567890x28,0xee,0x32,0xa2,0xe4,0xa1,0x21,0xea,0x20,0xa0,};unsignedcharcodedisplaycode1[]={//0.1.2.3.4.5.6.7.8.9.0x08,0xce,0x12,0x82,0xc4,0x81,0x01,0xca,0x00,0x8
3、0,};voidINT(){P0=0xff;P1=0xff;P2=0;P3=0;DQ=1;//Fre_check=1;}voidDelay(uintx){uinta,b;for(a=x;a>0;a--)for(b=110;b>0;b--);}/*voidDelay1(uintx,uchary){uinti;ucharj;for(i=x;i>0;i--);for(j=y;j>0;j--);}voidreset(){unsignedcharst=1;Fre_check=1;//_nop_();//_nop_();while(st){Fre_check=0;Delay1(
4、70,30);Fre_check=1;Delay1(4,4);if(Fre_check==1)st=1;elsest=0;Delay1(50,10);}}voidwrite_byte(unsignedchardate){unsignedchartemp,i;Fre_check=1;//_nop_();//_nop_();for(i=8;i>0;i--){temp=date&0x01;Fre_check=0;//Delay1(1);_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_
5、();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();if(temp==1)Fre_check=1;Delay1(2,2);Fre_check=1;date=date>>1;}}unsignedcharread_byte(){unsignedchari,date;staticbitj;for(i=8;i>0;i--){date=date>>1;Fre_check=1;_nop_();_nop_();Fre_check=0;_nop_();_
6、nop_();_nop_();_nop_();_nop_();_nop_();Fre_check=1;_nop_();_nop_();_nop_();_nop_();j=Fre_check;if(j==1)date=date
7、0x08;Delay1(1,1);}return(date);}*/voiddelay1(intb){ints;for(s=0;s
8、DQ=1;//allowlinetoreturnhighdelay1(3);//waitforpresencepresence=DQ;//getpresencesignaldelay1(25);//waitforendoftimeslotreturn(presence);//presencesignalreturned}//presence=0,nopart=1unsignedcharread_bit(void){unsignedchari;DQ=0;//pullDQlowtostarttimeslotDQ=1;//thenreturnhighfor(i=0;i