亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? main.c

?? ARM7 lpc2148通過DS18B20溫度采集并通過1602顯示
?? C
字號:
//#include <iolpc2138.h>
#include "config.h"
#include "lcmdrv.h"

#include <math.h> 
#include <stdarg.h>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <ctype.h>
/*
********************************************************************************
*程序內容:DS18B20溫度數據采集程序,通過LPC2148 CPU的P0.0引腳可以控制并讀取數字
*          溫度傳寒氣內的溫度值;DS18B20與ARM連及時,注意:DS18B20采用三線連接方式!
*          即:VCC接+5V,GND接”地“,DQ接P0.0引腳,并且此引腳上還應并有4.7K電阻,
*          此電阻接+5V電源
*完成日期:07-08-23
*作    者:BEAR19
*聯系方式:tjrfyty@163.com
*注    意:此程序源代碼系MSC-8052單片機移植而成!
********************************************************************************
*/
/*
********************************************************************************
*模塊名稱:變量宏定義
*完成日期:07-08-23
*修改內容:none
********************************************************************************
*/
#define uchar unsigned char
#define uint unsigned int
#define DAOUT_1 IO0SET|=0x00010000; 
#define DAOUT_0 IO0CLR|=0x00010000; 
#define DAIN    IO0PIN
uchar TEMP;							// 溫度值的變量;
uchar flag1;							// 結果為負和正的標志位
//unsigned char uctech[] = {"welcome!"};
char uctech[15]={0,};
/*
********************************************************************************
*模塊名稱:頭函數聲明
*完成日期:07-08-23
*修改內容:none
********************************************************************************
*/
void delay (unsigned int count);
void tmreset (void);
int tmpread (void);
unsigned char tmpread2 (void);
void tmpwrite (unsigned char dat);
void tmpchange(void);
void tmp (void);
void Inittmp (void);
/*
*********************************************************************************************************
** 函數名稱 :DelayNS()
** 函數功能 :長軟件延時。
** 入口參數 :dly	延時參數,值越大,延時越久
** 出口參數 :無
*********************************************************************************************************
*/
void DelayNS (uint32 dly)
{
	uint32 i;
	
	for ( ; dly>0; dly--)
		for (i=0; i<50000; i++);
}
#define	UART_BPS	9600				// 串口通訊波特率
/*
*********************************************************************************************************
** 函數名稱 :UART0_Init()
** 函數功能 :串口初始化,設置為8位數據位,1位停止位,無奇偶校驗,波特率115200。
** 入口參數 :無
** 出口參數 :無
*********************************************************************************************************
*/
void UART0_Init (void)
{
	uint16 Fdiv;
	
	U0LCR = 0x83;						// DLAB=1,允許設置波特率
	Fdiv  = (Fpclk / 16) / UART_BPS;	// 設置波特率
	U0DLM = Fdiv / 256;
	U0DLL = Fdiv % 256;
	U0LCR = 0x03;
}
/*
*********************************************************************************************************
** 函數名稱 :UART0_GetByte()
** 函數功能 :從串口接收1字節數據,使用查詢方式接收。
** 入口參數 :無
** 出口參數 :接收到的數據
*********************************************************************************************************
*/
uint8 UART0_GetByte (void)
{
	uint8 rcv_dat;
	
	while ((U0LSR & 0x01) == 0);
	rcv_dat = U0RBR;
	
	return (rcv_dat);	
}
/*
*********************************************************************************************************
** 函數名稱 :UART0_GetStr()
** 函數功能 :從串口接收
** 入口參數 :	s	指向接收數據數組的指針
**				n	接收的個數
** 出口參數 :	無
*********************************************************************************************************
*/
void UART0_GetStr (uint8 *s, uint32 n)
{
	for ( ; n>0; n--)
	{
		*s++ = UART0_GetByte();
	}
}
/*
*********************************************************************************************************
** 函數名稱 :UART0_SendByte()
** 函數功能 :向串口發送字節數據,并等待發送完畢,查詢方式。
** 入口參數 :dat	要發送的數據
** 出口參數 :無
*********************************************************************************************************
*/
void UART0_SendByte (uint8 dat)
{
	U0THR = dat;
	while ((U0LSR & 0x40) == 0);		// 等待數據發送完畢
}
/*
*********************************************************************************************************
** 函數名稱 :UART0_SendStr()
** 函數功能 :向串口發送一字符串
** 入口參數 :str	要發送的字符串的指針
** 出口參數 :無
*********************************************************************************************************
*/
void UART0_SendStr (uint8 const *str)
{
	while (1)
	{
		if (*str == '\0')	break;		// 遇到結束符,退出
		UART0_SendByte(*str++);			// 發送數據
	}
}

#define MAX_TBUF	1000
static char tbuf[MAX_TBUF]= {0, };
/*
*********************************************************************************************************
** 函數名稱 :UART0_Printf()
** 函數功能 :
** 入口參數 :
** 出口參數 :
*********************************************************************************************************
*/
void UART0_Printf(char *fmt,...)
{
	/*
    va_list ap;
    char string[256];

    va_start(ap,fmt);
    vsprintf(string,fmt,ap);
    Uart_SendString(string);
    va_end(ap);
    */
    
    va_list v_list;
	char *ptr;
	int i= 0;


	va_start(v_list, fmt);     // Initialize variable arguments. 
	vsprintf(tbuf, fmt, v_list ); 
	va_end(v_list);


	ptr= tbuf;
	while( (*ptr) && i<MAX_TBUF) {
		UART0_SendByte(*ptr);
		ptr++;	i++;
	}//while
}
/*
********************************************************************************
*模塊名稱:主函數
*完成日期:07-08-23
*修改內容:none
********************************************************************************
*/
int main(void)
{
 // char nu;
  float i=12.34;
  PINSEL0 =PINSEL0|0x00000005;				// 設置I/O連接到UART0
  UART0_Init();						// 串口初始化
  LCM_DispIni();
 // delay(10000000);
//  Inittmp();
//  delay(10000000);
   while(1)
  {	
  //   sprintf(uctech,"%.2f",i);
  //   LCM_WriteString(1,0,uctech);
     
 //    nu=UART0_GetByte();
  //  LCM_WriteString(1,0,uctech);
     UART0_Printf("Begin....");
     delay(1000000);
     tmpchange();						// 開始溫度轉換
     delay(1000000);						// 讀取延時
     tmp();						    //讀取溫度
    

   }
 	
  return 0;
}
/*
********************************************************************************
*模塊名稱:delay
*完成日期:07-08-23
*修改內容:none
********************************************************************************
*/
void delay (unsigned int count)
{									
  unsigned int i;	
  while (count)	
  {
   for(i=0;i<9;i++);
    count--;
    }
  }
/*
********************************************************************************
*模塊名稱:DS18B20復位初始化函數
*完成日期:07-08-23
*修改內容:none
********************************************************************************
*/
void tmreset (void)						// 發送復位和初始化
{
 // unsigned int i;
  IO0DIR|=0x00010000;                                            //I/O口P0.10引腳為輸出引腳
  DAOUT_0;	
  delay(500);         					// 延時
  
  DAOUT_1;
  delay(100);
  IO0DIR=IO0DIR&(~0x00010000); 
  while(IO0PIN&0x00010000);
  
  delay(500);	
  }
/*
********************************************************************************
*模塊名稱:DS18B20數據采集函數1
*完成日期:07-08-23
*修改內容:none
********************************************************************************
*/

int tmpread (void)						// 讀取數據的一位
{ 
 // unsigned int i=0;
  int dat;
   IO0DIR|=0x00010000;  
                                            //I/O口P0.10引腳為輸出引腳
  DAOUT_0;
  delay(2);
  
  DAOUT_1;
  delay(15);						        //延時
  
  IO0DIR=IO0DIR&(~0x00010000);                   //I/O口P0.10引腳為輸入引腳
  dat = DAIN;	
   delay(80);
  return (dat);
  }
/*
********************************************************************************
*模塊名稱:DS18B20數據采集函數1
*完成日期:07-08-23
*修改內容:none
********************************************************************************
*/
unsigned char tmpread2 (void) 			 		//讀一個字節
{
  unsigned char i,dat;	
  
  dat = 0;	
  for (i=0;i<8;i++)
  {    
    if(tmpread()&0x00010000)
    	dat|=(1<<i);
  //  UART0_Printf("\ndat=0x%x\n",dat);	
    
    }
  return (dat);
  }	
/*
********************************************************************************
*模塊名稱:DS18B20寫入數據函數
*完成日期:07-08-23
*修改內容:none
********************************************************************************
*/
void tmpwrite (unsigned char dat)				//寫一個字節
{   
 
  unsigned char j;

  IO0DIR|=0x00010000;	
  for (j=0;j<8;j++)
   {	       
         DAOUT_0;			
         delay(5);
         if((dat & (1<<j)))	
         	DAOUT_1;
         delay(80);
         
         DAOUT_1;
         delay(20);
                  
    }
  }
/*
********************************************************************************
*模塊名稱:DS18B20數據轉換函數
*完成日期:07-08-23
*修改內容:none
********************************************************************************
*/
void tmpchange(void)						// ds1820 開始轉換
{  
  tmreset ();							// 復位

  delay (10);							// 延時
  tmpwrite (0xcc);						// 跳過序列號命令
  delay(10000);
  tmpwrite (0x44); 						// 發轉換命令 44H,	
   delay(10000);
  }
/*
********************************************************************************
*模塊名稱:DS18B20溫度值讀取函數
*完成日期:07-08-23
*修改內容:none
********************************************************************************
*/
void tmp (void)							// 讀取溫度
{ 
  unsigned char a,b,c,d,e;
  unsigned int t1=0;
  float t;
  tmreset ();							// 復位
 
  tmpwrite (0xcc); 						// 跳過序列號命令
 delay(10000);
  tmpwrite (0xbe); 						// 發送讀取命令
 delay(10000);
  a = tmpread2();						// 讀取低位溫度	
  b = tmpread2();  					//讀取高位溫度	
   c = tmpread2();
    d = tmpread2();
    e= tmpread2();
//  UART0_Printf("\na=0x%x--b=0x%x--c=0x%x--d=0x%x--e=0x%x\n",a,b,c,d,e);
           t1=b<<4;
          t1= a|(t1<<4);
         // UART0_Printf("\nt1=0x%x",t1);
          t=t1*0.0625;
          
          sprintf(uctech,"%.4f",t);
               LCM_WriteString(1,0,uctech);
               
                   //  tmreset ();
    //  tmpwrite(0xCC);
    //  tmpwrite(0x48);
  }
/*
********************************************************************************
*模塊名稱:DS18B20 ROM器件序列號讀取函數
*完成日期:07-08-23
*修改內容:none
********************************************************************************
*/
void rom(void)							// 讀取器件序列號子程序
{
  tmreset ();							//復位

  tmpwrite(0x33);						//發送讀序列號子程序
  }     

void Inittmp (void)
{
 tmreset ();
  tmpwrite(0xCC);	

   tmpwrite(0x4E);

    tmpwrite(0x64);	

    tmpwrite(0x8A);	

      tmpwrite(0x3F);
      
	tmpwrite(0x48);

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美午夜精品久久久| 国产美女视频91| 色屁屁一区二区| 尤物在线观看一区| 欧洲av一区二区嗯嗯嗯啊| 亚洲成人免费视频| 日韩午夜三级在线| 国产在线看一区| 国产欧美一区视频| 91高清视频在线| 日本欧美在线观看| 欧美激情综合在线| 日本精品一区二区三区高清| 亚洲bdsm女犯bdsm网站| 精品日韩欧美一区二区| 成人免费看黄yyy456| 亚洲综合激情小说| 日韩欧美亚洲国产另类| 大白屁股一区二区视频| 亚洲电影视频在线| 精品久久99ma| 99re热这里只有精品视频| 伊人色综合久久天天人手人婷| 欧美日韩高清一区| 国产一区二区三区美女| 亚洲精品免费在线| 日韩一级高清毛片| 972aa.com艺术欧美| 秋霞国产午夜精品免费视频| 国产精品电影院| 911精品国产一区二区在线| 国产成人亚洲综合a∨猫咪| 一二三区精品视频| 中文字幕va一区二区三区| 欧美午夜精品久久久久久超碰 | 日韩国产在线观看一区| 26uuu国产日韩综合| 日本大香伊一区二区三区| 九九**精品视频免费播放| 国产日产欧美一区| 日本免费新一区视频| 国产精品久久夜| 91精品国产福利在线观看| 国产成人精品亚洲日本在线桃色| 午夜影视日本亚洲欧洲精品| 欧美国产激情一区二区三区蜜月| 欧美日韩美女一区二区| 成人黄色国产精品网站大全在线免费观看| 一区二区三区四区激情| 国产日韩欧美高清| 欧美大片顶级少妇| 91精品婷婷国产综合久久性色| 99国产精品久久久久久久久久| 免费欧美高清视频| 天天综合日日夜夜精品| 亚洲视频免费看| 国产视频一区不卡| 欧美大肚乱孕交hd孕妇| 欧美欧美欧美欧美| 欧美日韩一区二区在线观看视频| 99这里只有久久精品视频| 国产成人在线免费观看| 精品系列免费在线观看| 三级亚洲高清视频| 亚洲电影你懂得| 亚洲一二三四区| 亚洲欧美日韩精品久久久久| 国产精品色眯眯| 国产精品视频一二三| 久久精品视频一区二区| 国产亚洲综合在线| 久久香蕉国产线看观看99| 日韩免费成人网| 日韩精品一区二区三区四区| 欧美一级欧美三级在线观看| 欧美三级韩国三级日本三斤 | 国产成人在线网站| 国产一区二区网址| 国产一区二区女| 国产馆精品极品| av一区二区不卡| 91激情五月电影| 精品视频一区二区三区免费| 欧美在线你懂的| 这里只有精品免费| 日韩欧美一区在线观看| 日韩区在线观看| www久久精品| 国产性色一区二区| 国产女人aaa级久久久级 | 亚洲天堂成人网| 亚洲精品亚洲人成人网| 亚洲综合无码一区二区| 亚洲 欧美综合在线网络| 日本不卡一二三区黄网| 极品少妇一区二区| 成人小视频免费观看| 欧洲视频一区二区| 91麻豆精品久久久久蜜臀| 欧美精品一区二区三区蜜臀| 国产欧美日韩综合| 亚洲一区免费在线观看| 久久精品72免费观看| 国产成人夜色高潮福利影视| 色综合久久综合中文综合网| 欧美日韩高清在线| 久久人人超碰精品| 亚洲免费伊人电影| 精品中文字幕一区二区| 91在线视频网址| 日韩精品一区在线观看| 国产精品久久久久aaaa| 亚洲成人av免费| 国产99久久久国产精品潘金网站| 色婷婷亚洲综合| 精品三级在线观看| 一区二区三区在线观看网站| 久久国产夜色精品鲁鲁99| 暴力调教一区二区三区| 欧美一区二区精品| 国产精品嫩草99a| 舔着乳尖日韩一区| www.色综合.com| 91精品久久久久久久久99蜜臂| 中文字幕乱码久久午夜不卡| 日韩精品乱码免费| 91丨porny丨蝌蚪视频| 日韩免费看的电影| 亚洲一二三四久久| thepron国产精品| 精品国产乱码久久久久久图片| 亚洲一区二区三区中文字幕| 国产很黄免费观看久久| 69久久99精品久久久久婷婷| 国产精品乱人伦| 国产一区不卡在线| 91麻豆精品国产91久久久久久久久| 国产精品久久久久永久免费观看 | 国产精品亲子伦对白| 强制捆绑调教一区二区| 欧美色图天堂网| 中文字幕日本乱码精品影院| 国产一区福利在线| 欧美一级久久久| 偷拍日韩校园综合在线| 在线视频一区二区三区| 国产精品久久久久久久久晋中| 久久国产精品免费| 这里只有精品视频在线观看| 亚洲一区在线播放| 在线观看成人小视频| 亚洲色图一区二区| 99视频超级精品| 国产精品嫩草影院com| 风流少妇一区二区| 久久久久久久久伊人| 国产精品综合视频| 2024国产精品视频| 激情五月激情综合网| 欧美videofree性高清杂交| 美女视频黄免费的久久 | 欧美色网站导航| 亚洲午夜一二三区视频| 日本精品视频一区二区三区| 亚洲欧洲一区二区在线播放| 成人免费视频国产在线观看| 国产精品久久毛片| 色综合久久久久| 亚洲国产aⅴ天堂久久| 欧美三级日韩三级| 天堂在线亚洲视频| 日韩欧美在线网站| 国产美女久久久久| 国产精品家庭影院| 91福利社在线观看| 日本伊人色综合网| 精品国产亚洲在线| 粗大黑人巨茎大战欧美成人| 国产精品的网站| 欧美性感一类影片在线播放| 日本中文一区二区三区| 久久一区二区三区国产精品| 国产成人精品在线看| 亚洲色图第一区| 欧美日韩视频在线观看一区二区三区| 天天综合色天天综合色h| 日韩一区二区三区在线| 国产精品456露脸| 亚洲视频资源在线| 欧美高清你懂得| 国产成人免费高清| 亚洲综合视频在线观看| 欧美精品v国产精品v日韩精品| 久久超级碰视频| 亚洲欧美影音先锋| 91精品国产全国免费观看| 高清不卡一区二区| 亚洲成人三级小说| 欧美国产日韩一二三区| 欧美日韩免费在线视频|