国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

基于msp430單片機(jī)1602 DS1802溫度顯示

發(fā)布時間:2016-9-13 11:21    發(fā)布者:designapp
關(guān)鍵詞: msp430 , 1602 , DS1802
  最近調(diào)好了DS1802溫度傳感器,用的是430G2553單片機(jī),溫度保留兩位小數(shù)。把源代碼分享給大家。
  /*****************************************
  msp430g2553實現(xiàn)1602溫度顯示
  來源:汪中原的博客
  ******************************************/
  #include
  #define uchar unsigned char
  #define uint unsigned int
  #define CPU_F ((double)1000000)
  #define delay_us(x) __delay_cycles((long)(CPU_F*(double)x/1000000.0)) //延時x us
  #define ds_1 P2OUT |=BIT3 //DS18B20數(shù)據(jù)端高電平輸入(P2.3端口)
  #define ds_0 P2OUT &=~BIT3 //DS18B20數(shù)據(jù)端低電平輸入(P2.3端口)
  #define lcdrs_1 P2OUT |=BIT1; //1602 RS寫數(shù)據(jù)(P2.1端口)
  #define lcdrs_0 P2OUT &=~BIT1; //1602 RS寫指令(P2.1端口)
  #define lcden_1 P2OUT |=BIT0; //1602使能信號開(P2.0端口)
  #define lcden_0 P2OUT &=~BIT0; //1602使能信號關(guān)(P2.0端口)
  uchar table[]="wzy,come on"; //開機(jī)第一行顯示
  uchar table1[]="believe yourself"; //開機(jī)第二行顯示
  uint temp,T;
  float temp_f;
  uchar shi,ge,dian1,dian2,num; //定義溫度十位、各位、小數(shù)點后一位、后二位
  /*************************************************************
  * 名 稱:void init(void)
  * 功 能:1602顯示配置端口初始化
  * 入口參數(shù):無
  * 出口參數(shù):無
  * 說 明: P1、P2端口設(shè)為輸出低電平
  *************************************************************/
  void init(void)
  {
  WDTCTL=WDTPW + WDTHOLD;
  P1DIR=0xff;
  P2DIR=0x1f;
  P1OUT=0x00;
  P2OUT=0x00;
  }
  /*************************************************************
  * 名 稱:void delay(uint a)
  * 功 能:簡單的延時
  * 入口參數(shù):uint a
  * 出口參數(shù):無
  * 說 明: 可作為1602顯示簡單的延時
  *************************************************************/
  void delay(uint a)
  {
  uint i,j;
  for(i=a;i>0;i--)
  for(j=110;j>0;j--);
  }
  /*************************************************************
  * 名 稱:void write_date(uchar date)
  * 功 能:1602寫數(shù)據(jù)
  * 入口參數(shù):date
  * 出口參數(shù):無
  * 說 明: 用P1口輸入數(shù)據(jù)
  *************************************************************/
  void write_date(uchar date)
  {
  lcdrs_1;
  P1OUT=date;
  delay(5);
  lcden_1;
  delay(5);
  lcden_0;
  }
  /*************************************************************
  * 名 稱:void write_com(uchar com)
  * 功 能:1602寫指令
  * 入口參數(shù):com
  * 出口參數(shù):無
  * 說 明: 用P1口輸入指令
  *************************************************************/
  void write_com(uchar com)
  {
  lcdrs_0;
  P1OUT=com;
  delay(5);
  lcden_1;
  delay(5);
  lcden_0;
  }
  /*************************************************************
  * 名 稱:void uinit()
  * 功 能:初始化及其他顯示設(shè)置指令
  * 入口參數(shù):無
  * 出口參數(shù):無
  * 說 明: 1602初始化設(shè)置
  *************************************************************/
  void uinit()
  {
  lcden_0;
  write_com(0x38);
  write_com(0x0c);
  write_com(0x06);
  write_com(0x01);
  }
  /*************************************************************
  * 名 稱:void LCD_display()
  * 功 能:1602顯示
  * 入口參數(shù):無
  * 出口參數(shù):無
  * 說 明: 將前幾個函數(shù)綜合起來,顯示字符內(nèi)容及區(qū)域
  *************************************************************/
  void LCD_display()
  {
  init();
  uinit();
  write_com(0x80);
  for(num=0;num>= 1;
  ds_0;
  delay_us(6);
  ds_1;
  delay_us(8);
  P2DIR &= ~BIT3;
  _NOP();
  if(P2IN & BIT3)
  temp |= 0x80;
  delay_us(45);
  P2DIR |=BIT3;
  ds_1;
  delay_us(10);
  }
  return temp;
  }
  /*************************************************************
  * 名 稱:void write_temp(uchar data)
  * 功 能:DS18B20寫入數(shù)據(jù)
  * 入口參數(shù):data
  * 出口參數(shù):無
  * 說 明: 寫入一個字節(jié)
  *************************************************************/
  void write_temp(uchar data)
  {
  uchar i;
  for(i = 0; i >= 1;
  ds_1;
  delay_us(10);
  }
  }
  /*************************************************************
  * 名 稱:void temp_change(void)
  * 功 能:DS18B20溫度轉(zhuǎn)化指令
  * 入口參數(shù):無
  * 出口參數(shù):無
  * 說 明: 跳過rom并溫度轉(zhuǎn)化
  *************************************************************/
  void temp_change(void)
  {
  write_temp(0xcc);
  write_temp(0x44);
  }
  /*************************************************************
  * 名 稱:uint temp_get()
  * 功 能:DS18B20溫度獲取
  * 入口參數(shù):無
  * 出口參數(shù):T
  * 說 明: 獲取溫度并四舍五入為保留兩位小數(shù)
  *************************************************************/
  uint temp_get()
  {
  uchar a,b;
  DS18B20_init();
  delay(1);
  write_temp(0xcc);
  write_temp(0xbe);
  a=read_temp(); //讀低8位
  b=read_temp(); //讀高8位
  T=b;
  T 0;a--)
  delay_us(60000);
  do
  {
  a = DS18B20_init();
  }
  while(a);
  dis_temp(temp_get());
  init();
  uinit();
  write_com(0x80+0x0b);
  write_date('0'+shi);
  delay(5);
  write_date('0'+ge);
  delay(5);
  write_date('.');
  delay(5);
  write_date('0'+dian1);
  delay(5);
  write_date('0'+dian2);
  delay(5);
  }
  }
  效果圖:上面的數(shù)字即為當(dāng)前溫度
  

                                
                                                               
                                
               
本文地址:http://m.qingdxww.cn/thread-173700-1-1.html     【打印本頁】

本站部分文章為轉(zhuǎn)載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀點和對其真實性負(fù)責(zé);文章版權(quán)歸原作者及原出處所有,如涉及作品內(nèi)容、版權(quán)和其它問題,我們將根據(jù)著作權(quán)人的要求,第一時間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區(qū)
  • 使用SAM-IoT Wx v2開發(fā)板演示AWS IoT Core應(yīng)用程序
  • 使用Harmony3加速TCP/IP應(yīng)用的開發(fā)培訓(xùn)教程
  • 集成高級模擬外設(shè)的PIC18F-Q71家族介紹培訓(xùn)教程
  • 探索PIC16F13145 MCU系列——快速概覽
  • 貿(mào)澤電子(Mouser)專區(qū)

相關(guān)在線工具

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 美女挑战50厘米长的黑人| 日本一区二区三区在线网| 欧美呦呦| 日本在线高清视频| 色喜国模苏茜人体一2| 亚洲午夜精品一级在线| 国产精品欧美一区二区在线看| 日本xxx在线观看免费播放| 在教室轮流被澡高H林萌| 亚洲人成一区二区三区| 日韩中文字幕一区| 在线播放高清国语自产拍免费| 亚洲欧美一级夜夜爽w| 国产精品一区二区在线播放| 亚洲va久久久久| 亚洲福利专区| 日本tv欧美tv天堂| 亚洲免费二区| 在线成人国产| 国产人在线成免费视频| 色婷婷国产麻豆AV| 欧美激情一级欧美精品| 奇米影视888狠狠狠777九色| 特级aaa片毛片免费观看| 天堂资源在线www中文| 曰本女同互慰高清在线观看| 国产亚洲制服免视频| 香蕉尹人综合精品| 青青草久草视频| 日本高清视频一区二区| 四虎影视永久在线精品免费| 在线免费| 老师真棒无遮瑕版漫画免费| 一边亲着一面膜下奶韩剧免费| 四虎激情影院| 色婷婷天天综合在线| 亚洲国产精品专区| jk制服喷水| 嗯啊快停下我是你老师啊H | 亚洲福利国产| 亚洲色图.com|