📄 d.c
字号:
#include "reg52.h"
#include "intrins.h"
#include "absacc.h"
#define uchar unsigned char
#define uint unsigned int
sbit T0831_SK=P2^4;//时钟I/O端口
sbit T0831_DO=P2^2;//数据I/O端口
sbit dula=P2^6;
sbit wela=P2^7;
sbit key1=P3^3;
sbit key2=P3^6;
uchar code table[]= {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,
0xf8,0x80,0x90};
uchar code table1[]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,
0x78,0x00,0x10};
uchar code select[]={0x01,0x02,0x04,0x08,0x10,0x20};
uchar code select1[]={0xfe,0xfd};
//****延迟*******************//
uchar i,j;
uchar state;
uint temp1;
uchar c;
uchar T0831_CS;
uchar data date1;
void delay1(uchar k)
{for(i=0;i<k;i++);
}
void delay(uchar m)
{for(i=0;i<m;i++)
for(j=0;j<200;j++);
}
//*****************************************************//
//******************串口初始化**********************//
void Init_Com(void)
{
TMOD = 0x20;
PCON = 0x00;
SCON = 0x50;
TH1 = 0xFd;
TL1 = 0xFd;
TR1 = 1;
}
//****************************************************//
//********************初始化ADC8031***************//
uchar T0831Read()
{
uchar b,DataSoute;
P1=select1[c];
delay1(10);
T0831_SK=1;
P1=select1[c];
T0831_SK=0;
_nop_();
for(b=0;b<8;b++)
{
T0831_SK=1;
T0831_SK=0;
if(T0831_DO) DataSoute++;
DataSoute<<=1;
}
P1=select1[c]; T0831_SK=1;
delay1(20);
return(DataSoute);
}
//**************************************//
//********温度转化为使十进制************//
uint tmp()
{
temp1=date1;
return temp1;
}
//**************************************//
//***********显示部分******************//
void display(uint temp1)
{ uchar A1,A2,A2t,A3,ser;
ser=date1;
SBUF=ser;
temp1=temp1*10;
temp1=temp1/2;
A1=temp1/100;
A2t=temp1%100;
A2=A2t/10;
A3=A2t%10;
P0=table[A1];
P3=select[4];
delay(5);
P3=0;
P0=table1[A2];
P3=select[5];
delay(5);
P3=0;
P0=table[A3];
P3=select[2];
delay(5);
P3=0;
}
//********************************************//
//**********键盘****************************//
void keyscan(void)
{if(!key1)
{delay(15);
if(!key1)
{state++;
if(state==2)
{state=0;
}
}
while(!key1);
}
}
//***************************************************//
void main(void)
{uchar a;
Init_Com();
while(1)
{
keyscan();
switch(state)
{case 0: for(c=0;c<2;c++)
{date1=T0831Read();
{
for(a=0;a++;a<20)
display(tmp());
}
}
case 1: if(!key2)
for(c=0;c<2;c++)
{date1=T0831Read();
for(a=0;a++;a<20)
{display(tmp());}
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -