📄 p3.c
字号:
#include <REG51F.H>
#define unchar unsigned char
#define unint unsigned int
extern bit ow_reset(void); // 0=presence, 1 = no part
extern int Read_Temperature(void);
extern int Read_ROM(char k);
unchar data CharTab[] ={0x03,0x9F,0x25,0x0D,0x99,0x49,0x41,0x1F,
0x01,0x09,0x11,0xC1,0x63,0x85,0x61,0x71,0xFF};
unchar data LedSel[] ={0x10,0x30,0x50,0x70,0x90,0xB0};
unchar data Timebuf[6] = {0x00,0x00,0x00,0xFF,0xFF,0xFF};
unchar flag;
/*----------- T1定时器初始化 ------ -------*/
void Ini_T1() //T1提供COM端的振荡信号,而且一定要提供
{
TMOD = (TMOD & 0x0F) | 0x10;
TR1 = 0;
TH1 = 0xFE;
TL1 = 0x0;
ET1 = 1;
TR1 = 1;
}
/*-------- 定时器T1中断服务程序 -----------*/
void T1_srv(void) interrupt 3 using 2
{
TH1 = 0xFE;
TL1 = 0x00;
P2 = 0x0F;
P0 = Timebuf[flag];
P2 = LedSel[flag];
flag ++;
if(flag == 6) flag = 0;
}
/*-------------- 主函数 ---------------*/
main()
{
int Temp;
EA = 0;
Ini_T1();
EA = 1;
while(1)
{
Temp = Read_Temperature();
Timebuf[0] = CharTab[Temp % 10];
Temp = Temp / 10;
Timebuf[1]= CharTab[Temp % 10];
Temp = Temp / 10;
Timebuf[2]= CharTab[Temp % 10];//的温度
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -