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

📄 temperature.c

📁 无线单片机CC1110的一些使用源代码
💻 C
字号:
#include "emot.h"
#include "iocc1110.h"
#include "hal.h"

#define CS_TC77   P1_4
#define MISO      P1_7
#define SCK       P1_5

#define COUNT_NUM     40   //采样次数设置

extern char aa[4];        //显示缓冲

extern uchar LEDPOINT;    //小数点在该位后显示

/*********************************************************************
*函数功能 :初始化TC77
*入口参数 :无
*返 回 值 :无
*说    明 :无
*********************************************************************/
void senor_temperature_int(void)
{
        IO_DIR_PORT_PIN(1,4,IO_OUT);
        IO_DIR_PORT_PIN(1,5,IO_OUT);
        IO_DIR_PORT_PIN(1,7,IO_IN);
	CS_TC77 = 1;
}
/*********************************************************************
*函数功能 :读TC77温度值高8位,精度为1度
*入口参数 :无
*返 回 值 :温度值(10进制)
*说    明 :无
*********************************************************************/
unsigned char read_tempterature(void)
{
	unsigned int temp=0;
	unsigned char  i;	
        IO_DIR_PORT_PIN(1,7,IO_IN);   //因为TC77和数码管引用共用,在读温度时设为输入 ,在显示时设为输出
	SCK = 0;        //上升沿取数
	CS_TC77 = 0;	//开始读数
	for(i=0; i<16; i++)
	{
		temp <<= 1;
		SCK = 1;
		asm("nop");
		if(MISO)temp++;
		SCK = 0;
		asm("nop");
	}
	CS_TC77 = 1;
        IO_DIR_PORT_PIN(1,7,IO_OUT);  //P1_7改回显示用输出引脚
        i = temp >> 7;
	return i;
}

/*********************************************************************
*函数功能 :读温度并将生成显示字串
*入口参数 :无
*返 回 值 :无
*说    明 :在主函数中直接调用
*********************************************************************/
void temp_main(void)
{
  UINT8 tt;
  while(1)
  {
    senor_temperature_int();  //初始TC77读写引脚
    IO_DIR_PORT_PIN(1,7,IO_OUT);//将I/O用于显示
    halWait(50);               //等待温度传感器转换完成
    EA = 0;                   //读数时关中断
    tt = read_tempterature(); //读温度
    EA = 1;                   //开中断,中断用于显示

    if(tt<10)                 //生成显示数据
    {
      aa[0] = 11;             //8段全灭
      aa[1] = 11;
      aa[2] = 11;
      aa[3] = tt%10;

      LEDPOINT = 0xff;           //小数点灭
    }
    else if(tt<100)
    {
      aa[0] = 11;
      aa[1] = 11;
      aa[2] = tt/10;
      aa[3] = tt%10;

      LEDPOINT = 0xff;
    }

  }
}






⌨️ 快捷键说明

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