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

📄 main.c

📁 小型便携式温度计的源代码第二版
💻 C
字号:
/********************************************************************
;便携式温度计
;数码管引脚连接:a=P1.3 b=P1.2 c=P1.1 d=P1.0 e=P1.6 f=P1.4 g=P1.5 h=nc共阳;
;编写人:芦庆
;时间:2008年7月27日
;主控芯片:AT89C2051-24PU
;温度传感器:DS18B20
;占用资源:定时器0,P1口,P3.2,P3.3,P3.4,P3.5,P3.7
;晶振速度:6MHz
;
;ROM指令                       	       	代码
;Read ROM(读ROM)                 [33H]
;Match ROM(匹配ROM)           [55H]
;Skip ROM(跳过ROM]             [CCH]
;Search ROM(搜索ROM)           [F0H]
;Alarm search(告警搜索)          [ECH]
;
;存储器操作指令 					代码
;Write Scratchpad(写暂存存储器)  	[4EH]
;Read Scratchpad(读暂存存储器)  	[BEH]
;Copy Scratchpad(复制暂存存储器) 	[48H]
;Convert Temperature(温度变换)   		[44H]
;Recall EPROM(重新调出) 			[B8H]
;Read Power supply(读电源)	    		[B4H]
************************************************************/
#include "config.h"

uint8 DispLED[4];//数码管显示缓冲区
uint8 code DispDB[15]={//字形码
	0xA0,0xF9,0x92,0xD0,0xC9,0xC4,0x84,0xF1,//0,1,2,3,4,5,6,7
	0x80,0xC0,0xDF,0xD9,0x87,0x81,0xAE};//8,9,-,-1,F,A,L
uint8 code DispCon[4]={0xFB,0xF7,0xEF,0xDF};//段位控制码
uint8 code DayStr[]=__DATE__;
uint8 code TimeStr[]=__TIME__;
uint8 Temp[2];//原始温度数据
uint8 flag_LED;//数码管显示段位标志
uint8 flag;

void main(void)
{
	TMOD = (TMOD & 0X0F) | 0X10;
	TL1 = 0x00;
	TH1 = 0x00;
	TR1 = 1;
	ET1 = 1;
	TT0();
    OSStart();
}

void DS18B20(void)
{
    while (1)
    {
        Temperature_all();
        init_1820();
        OSWait(K_TMO,4);
    } 
}

void LED(void)
{
    while (1)
    {
		P3|=0x3C;//关闭显示
		P1=DispDB[DispLED[flag_LED]];
		switch(flag_LED)
		{
			case 0:
				if(DispLED[0]==0)//首位0消隐
				{
					P3&=0xFF;//关闭显示
				}
				else
				{
					P3&=0xFB;
				}
				flag_LED+=1;
				break;
			case 1:
				if((DispLED[0]==0) && (DispLED[1]==0))//次位0消隐
				{
					P3&=0xFF;//关闭显示
				}
				else
				{
					P3&=0xF7;
				}
				flag_LED+=1;
				break;
			case 2:
				P3&=0xEF;
				flag_LED+=1;
				break;
			case 3:
				P3&=0xDF;
				flag_LED=0;
				break;
		}
		mDelay(1);
    }
}
void UserTickTimer()
{
	static uint8 stop_num=0;//系统停止计数器
	stop_num++;
	if(stop_num>=39)
	{
		P3=0XFF;
		PCON=STOP_;
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -