51单片机数码管显示温度程序

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

//项目:数码管温度显示器

//编写:LGY

//功能:数码管显示温度

#include"reg52.h"

#include"intrins.h"

#define uchar unsigned char

#define uint unsigned int

//******************位定义*******************************//

sbit RX =P3^0;

sbit TX =P3^1;

sbit RX_TX_con =P3^2;

//sbit Fre_check =P3^5;

sbit DQ =P3^5;

sbit SDA =P3^6;

sbit SCL =P3^7;

sbit LED_1 =P0^2;

sbit LED_2 =P0^0;

sbit LED_3 =P0^1;

sbit LED_4 =P0^3;

unsigned char a1,a2,a3,a4;

unsigned int temper;

unsigned char code displaycode[]=

{

// 0 1 2 3 4 5 6 7 8 9

0x28, 0xee, 0x32, 0xa2, 0xe4, 0xa1, 0x21, 0xea, 0x20, 0xa0,

};

unsigned char code displaycode1[]=

{

// 0. 1. 2. 3. 4. 5. 6. 7. 8. 9.

0x08, 0xce, 0x12, 0x82, 0xc4, 0x81, 0x01, 0xca, 0x00, 0x80, };

void INT()

{

P0=0xff;

P1=0xff;

P2=0;

P3=0;

DQ=1;

// Fre_check=1;

}

void Delay(uint x)

{

uint a,b;

for(a=x;a>0;a--)

for(b=110;b>0;b--);

}

/*

void Delay1(uint x,uchar y)

{

uint i;

uchar j;

for(i=x;i>0;i--);

for(j=y;j>0;j--);

}

void reset()

{

unsigned char st=1;

Fre_check=1;

//_nop_();

//_nop_();

while(st)

{

Fre_check=0;

Delay1(70,30);

Fre_check=1;

Delay1(4,4);

if(Fre_check==1) st=1;

else st=0;

Delay1(50,10);

}

}

void write_byte(unsigned char date)

{

unsigned char temp,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_();_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;

}

}

unsigned char read_byte()

{

unsigned char i,date;

static bit j;

for(i=8;i>0;i--)

{

date=date>>1;

Fre_check=1;

_nop_();

_nop_();

Fre_check=0;

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

Fre_check=1;

_nop_();

_nop_();

_nop_();

_nop_();

j=Fre_check;

if(j==1) date=date|0x08;

Delay1(1,1);

}

return (date);

}

*/

void delay1(int b)

{

int s;

for (s = 0; s

}

unsigned char ow_reset(void)

{

相关文档
最新文档