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

📄 main.c

📁 单片机c语言程序设计100例--基于PIC+PROTEUS
💻 C
字号:
//-----------------------------------------------------------------
//  名称: SPI接口温度传感TC72应用测试
//-----------------------------------------------------------------
//  说明: 本例运行时,单片机将持续从TC72传感器读取温度数据并转换为
//        10进制温度值送串口显示.
//
//-----------------------------------------------------------------
#include <pic.h>
#include <stdio.h>
#include <math.h>
#include "USART.h"
//TC72寄存器地址定义
#define TC72_CTRL      0x80  //控制寄存器
#define TC72_TEMP_LSB  0x01  //温度低字节
#define TC72_TEMP_MSB  0x02  //温度高字节
#define TC72_MANU_ID   0x03  //制造商ID
//SPI使能与禁用
#define SPI_EN() (RC0 = 1)
#define SPI_DI() (RC0 = 0)
//-----------------------------------------------------------------
// 延时函数
//-----------------------------------------------------------------
void delayX100ms(INT8U x)
{
    while (--x) __delay_ms(100);
}

//-----------------------------------------------------------------
// SPI主机初始化
//-----------------------------------------------------------------
void SPI_MasterInit()
{
    //使能串行端口,并将SCK,SDO,SDI及SS配置为串行引脚


    //SPI主控方式,时钟 = _XTAL_FREQ/4


    //配置MSSP状态寄存器SSPSTAT(SMP,CKE清零)


    //RC0/CS,RC3/SDO,RC5/SCK引脚设为输出


    //RC4/SDI引脚设为输入


}

//-----------------------------------------------------------------
// SPI数据传输
//-----------------------------------------------------------------
INT8U SPI_Transmit(INT8U dat)
{


}

//-----------------------------------------------------------------
// 向TC72写入两字节(地址,数据)
//-----------------------------------------------------------------
void Write_TC72_Addr_Data(INT8U addr, INT8U dat)
{


}

//-----------------------------------------------------------------
// 写TC72配置数据
//-----------------------------------------------------------------
void config_TC72()
{       
    //配置为单次转换与关断模式


}

//-----------------------------------------------------------------
// 从TC72读取两字节温度数据
//-----------------------------------------------------------------
void Read_TC72_Temperature(INT8U T[])
{


}

//-----------------------------------------------------------------
// 读TC72制造商ID
//-----------------------------------------------------------------
INT8U Read_Manufacture_ID()
{


}

//-----------------------------------------------------------------
// 将读取的两字节温度数据转换为10进制温度
//-----------------------------------------------------------------
float Convert_Temperature(INT8U T[])
{


}

//-----------------------------------------------------------------
// 主程序
//-----------------------------------------------------------------
void main()
{
    INT8U Temp[2]; int d,f;    
    float Current_Temp = 0.00,Pre_Temp = 0.00;
    char DisplayBuffer[50];
    ADCON1 = 6;                             //RA端口设为数字端口
    Initialise_USART();                     //初始化串口       
    SPI_MasterInit();                       //SPI主机初始化 
    config_TC72(); delayX100ms(3);          //配置TC72    
    //读取并显示制造商ID
    sprintf(DisplayBuffer,"Manufacture ID: 0x%02X\r\n",Read_Manufacture_ID());
    PutStr(DisplayBuffer);
    //提示开始读取温度
    PutStr((char*)"Begin Read Temperature from TC72.............\n\n");
    while(1)
    {   



    }
}

⌨️ 快捷键说明

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