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

📄 main._c

📁 非常经典的基于AVR m16的DS18B20 C 程序 !1
💻 _C
字号:
/****************************************
** 文 件 名: main.c				       **
** 日    期: 2007年04月08日			   **
** 描    述: 主函数			   		   **
** 作    者:tonghe					   **
** 版	 本: V1.0					   **
** 主控芯片:M16 					   **
** 晶振频率:7.3728MHZ, 波特率9600	   **
****************************************/
#include <iom16v.h>
#include <macros.h>
#include <E:\DS18B20\define.h>
#include <E:\DS18B20\function.h>
#include <E:\DS18B20\ds18b20.h>
#include <E:\DS18B20\lcd1602_4h.h>

uint i;
uchar xs[5];
/****************************************/
void delay_us(uint i)
	 {
 	 while(i--);
	 }
	 
/****************************************
*  函数名称: void delay_ms(uint i)		*
*  函数功能:延时函数			 		*
*  晶振频率:7.3728MHZ					*
*  实际延时:i mS						*
****************************************/
void delay_ms(uint i)
	 {
	 uint a;
	 for(;i;i--)
	    {
		for(a=1220;a;a--)
		  {;}
		}
	 }
void xs_zh(uint da)
    {
	uint i=da*10/16;
	lcd_da('+');
	xs[0]=(i/10000+0x30);
	if(xs[0]!=0x30)
	   lcd_da(xs[0]);
	i=i%10000;
	xs[1]=(i/1000+0x30);
	if(xs[1]!=0x30)
	   lcd_da(xs[1]);
	i=i%1000;
	xs[2]=(i/100+0x30);
	if(xs[2]!=0x30)
	  lcd_da(xs[2]);
	i=i%100;
	xs[3]=(i/10+0x30);
	lcd_da(xs[3]);
	lcd_da('.');
	i=i%10;
	xs[4]=(i+0x30);
	lcd_da(xs[4]);
	lcd_da('C');
	}

void main()
	{
	port_init();
	PORTB|=1<<3;
	delay_ms(500);
	lcd_init();
	delay_ms(100);
	lcd_comm(0x84);			 	 //写指令:第1行地址
	delay_ms(10);
//	lcd_da(20);	
//	lcd_da(20);
//	lcd_da(20);	
//	lcd_da(20);
	lcd_da('T'); 				 //温度的前导字
	lcd_da('e');
	lcd_da('m');
	lcd_da('p');
	lcd_da(':');
	while(1)
	    {
		lcd_comm(0xC4);			 	 //写指令:第2行地址
		i=rst_DS18B20();
		i=read_Temp();
		xs_zh(i);
		delay_ms(200);
		}
    }




⌨️ 快捷键说明

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