广告

原创 msp430温度测量12232显示程序

2009-5-14 11:33 1327 0 分类: MCU/ 嵌入式

http://space.ednchina.com/Upload/2009/5/14/6d7d22ff-38c2-4ed0-83d8-4fc70102a306.rar//描述:数字温度传感器DS18B20+LCD12232(ST7920)演示
//编写:微控设计网 DC版主 日期:2007.9.
//编译环境:IAR EW430 V3.42A
//验证平台:
www.microcontrol.cn MC430F14+开发板 V2.0
//声明:此程序只供微控用户使用.在未得到DC版主的许可请勿将资料外公开和用于商业用途.
//******************************************************************************
#include <msp430x14x.h>
 #include "DS1820.h"
 #include "lcd_ch.h"


 const unsigned char digit[10] = {'0','1','2','3','4','5','6','7',
 '8','9'};


 unsigned char temp_display [9] = {'x','0','0','0','.','0','0','0','\0'};
 
//******************************************************************************


void delay_temp(unsigned int j)
{ unsigned int i;
   for (i=0; i!=j; i++);
}
//******************************************************************************
//将温度值转换成可显示十进制值
//取数范围整数3位,小数点后3位.
void display_number(float f_data)
{ unsigned long value;
  float n;
  n="f"_data *1000;
  value = (unsigned long int)n;


  //value = (unsigned long int)(value *1000);   //将浮点数变为整型数
 
  temp_display[1] = digit[value/100000];          //100位
  value = value%100000;
 
  temp_display[2] = digit[value/10000];           //10位
  value = value%10000;  
 
  temp_display[3] = digit[value/1000];            //1位
  value = value%1000;
 
  temp_display[5] = digit[value/100];             //0.1位
  value = value%100;


  temp_display[6] = digit[value/10];              //0.01位
  value = value%10;
 
  temp_display[7] = digit[value/1];               //0.001位
}
//******************************************************************************
//说明:实验标题1,应用单实形式发送.
void send_title()           //标题显示
{
  sendCMD(off_cursor);      //关光标
  sendCMD(LCD_L11);   
  display(LCD_L13,0xce,0xc2);  //温
  display(LCD_L14,0xb6,0xc8);  //度
  display(LCD_L15,0xb2,0xe2);  //测
  display(LCD_L16,0xc1,0xbf);  //量
 
  display(LCD_L21,0xce,0xc2);  //温
  display(LCD_L22,0xd6,0xb5);  //值
  display(LCD_L27,0xb6,0xc8);  //度
  sendCMD(LCD_L21);             //显示地址指回处
  sendCMD(off_cursor);                            //关光标
}
//******************************************************************************
//MSP430F14初始化
void mcuinit(void)
 {
   P1DIR |=BIT1;                                  //P1.1驱动LED
 
   initlcm();                                     //LCD初始化
   send_title();                                  //显示实验标题
 }
//******************************************************************************


//MC430F14 DS18B20实验主程序
void main(void)
 {
  WDTCTL = WDTPW + WDTHOLD;                       // 停止WDT
  delay_temp(5000);
  mcuinit();
  while(1)
  { P5OUT &= ~BIT4;
   GetTemp();                                     //读取温度
   P5OUT |= BIT4;
   if(symbol==1)
      temp_display[0] = '+';                      //处理正负符合
   else
       temp_display[0] = '-';
  
 
   P1OUT ^= BIT1;
   display_number(Temper);                      //数据变换显示数据
   char_string (temp_display,LCD_L23);
  }
 }
//******************************************************************************

广告

文章评论 0条评论)

登录后参与讨论
相关推荐阅读
aas7502987 2012-04-07 11:48
51/STC最小系统板资料(更新中)
图片欣赏    淘宝网址:http://item.taobao.com/auction/item_detail.htm?item_num_id=9073446988  二   程...
aas7502987 2011-10-13 22:59
YL-3 资料
YL-3数码管模块资料:YL-3 串行数码管资料.zip...
aas7502987 2011-09-24 09:10
USB转TTL小板驱动
xp系统驱动:XP系统支持STC下载的PL-2303HX新版驱动.rar WIN7系统驱动:WIN7系统支持STC下载的PL2303HX驱动.rar...
aas7502987 2011-05-24 22:48
STM32F103RBT6最小系统原理图 PCB
STM32F103RBT6最小系统板原理图 PCB 附件:做好的成品板:淘宝链接网址:http://item.taobao.com/item.htm?id=8864376956...
aas7502987 2011-05-08 12:53
YL-16 STM32F103最小系统板资料(更新中)
二 数据手册:  USB协议中文版:attachment download  中文数据手册:attachment downloadSTM32选型手册:attachment downloadSTM32勘...
aas7502987 2011-03-20 13:27
DS18B20温度测量模块
DS18B20 数码管温度显示程序:...
我要评论
0
0
广告
关闭 热点推荐上一条 /2 下一条