⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 p3.c

📁 关于温度传感器和电机测速的单片机程序
💻 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 + -