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

📄 main.c

📁 单片机c语言程序设计100例--基于PIC+PROTEUS
💻 C
字号:
//-----------------------------------------------------------------
//  名称: 温度传感器LM35全量程应用测试.
//-----------------------------------------------------------------
//  说明: 本例运行时,连接在AN0模拟输入通道的LM35温度传感器温度值将显示
//        在6位的数码管上.
//
//-----------------------------------------------------------------
#include <pic.h> 
#define INT8U   unsigned char
#define INT16U  unsigned int
#define _XTAL_FREQ 1000000UL
//译码器使能位
#define EN_74LS138 RC5
//共阳数码管0~9的数字段码,最后4位为"-(10)/°(11)/C(12)/黑屏(13)"的段码
const INT8U SEG_CODE[] =
{0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xBF,0x9C,0xC6,0xFF};
//温度显示缓冲,显示格式示例:1/2- XXX℃
volatile INT8U a[] = {0,0,0,0,11,12};
//整型与浮点型电压变量
float f_Volt; int i_Volt;
//-----------------------------------------------------------------
// 获取指定通道的温度值,分解后存入显示缓冲
//-----------------------------------------------------------------
void Get_Temperature(INT8U Channel)
{   
   INT8U i,sign = 0;
   //设置ADCON0寄存器的通道选择位CHS[2..0]=Channel(0~7)

   
   //开始转换--->等待,直到一次转换结束(ADGO还可替换成GODONE)


   //读取转换结果,计算出AN0通道输入电压

   
   //求出LM35当前输出电压并放大1000倍,以便分解数据送数码管显示
   //调理电路将LM35电压提升了2V,误差值根据实际情况设定


   //判断符号位,并将结果转为非负数


   //温度值分解


   //依次处理百位,十位数的0屏蔽(个数为0不屏蔽)


   //负温度符号显示
   //对于负温度,由于最大值为-55,即-055℃,对于三位的整数,其最高位总是0
   //上面的循环至少循环一次才会退出,即i至少为1
   //因而下面的语句中在第i个非0数前面(i-1)加负号的语句内,
   //不会出现i-1=-1的负数下标.


}

//-----------------------------------------------------------------
// 主程序
//-----------------------------------------------------------------
void main()
{
   //初始时关闭译码器,否则将在开机瞬间数据管会出现无效数据显示


   //设置ADCON1寄存器中的端口配置控制位PCFG[3..0]为0010,AD4~AN0为模拟通道

  
   //以下配置用于TMR0定时器刷新数码管显示


   while(1)                                      //获取AN0通道温度值
   {


   }
}

//-----------------------------------------------------------------
// TMR0定时器溢出中断控制数码管刷新显示温度
//-----------------------------------------------------------------
void interrupt TMR0_ISR( )
{
    static INT8U i = 0;
    if (T0IF)
    {


    }
}

⌨️ 快捷键说明

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