电子大神的日记本,供应链专家的功夫茶盘,在这里记录、分享与共鸣。

登录以开始

Cepark电子园 AVR M16实验之六 DS18B20测温

/**********************************************************************
* 文件名称: main.c
* 程序作者: kidcao1987
* 程序版本: V1.0
* 功能描述: 装上LCD1602,在其上,显示当前的温度。
* 编译器:WinAVR-20090313
* 芯片:ATmega16,外部11.0592MHZ晶振
* 技术支持:http://bbs.cepark.com
**********************************************************************/
#include
#include
#define uchar unsigned char
#define uint unsigned int
#define DQ PORTC&=~(1<>=1;
_delay_us(5);
}
}
/*DS18B20字节读函数*/
uchar DS18B20_ByteRead(void)
{
uchar n=0,Readback=0;
for(n=0;n<8;n++)
{
Readback>>=1;
if(DS18B20_BitRead())
Readback|=0x80;
_delay_us(65);
}
return Readback;
}
void LCD1602_Initial(void)
{
PORTA&=~((1<<RS)|(1<<RW)|(1<<EN));
DDRA|=(1<<RS)|(1<<RW)|(1<<EN);
PORTB=0x00;
DDRB=0xff;
LCD1602_CommandWrite(0x38);
_delay_ms(15);
LCD1602_CommandWrite(0x38);
_delay_ms(5);
LCD1602_CommandWrite(0x38);
_delay_ms(5);
LCD1602_CommandWrite(0x01);
_delay_ms(1);
LCD1602_CommandWrite(0x38);
_delay_ms(1);
LCD1602_CommandWrite(0x0c);
_delay_ms(1);
LCD1602_CommandWrite(0x06);
}
/*1602写命令字子函数*/
void LCD1602_CommandWrite(uchar com)
{
LCD1602_BusyCheck();
PORTA&=~(1<<RS); //RS引脚置为低电平,写命令字节
PORTB=com; //将数据送到8位并行数据口
PORTA|=(1<<EN); //EN引脚电平上升将命令字写入1602内部
_delay_ms(1); //延时5ms,保持EN电平
PORTA&=~(1<<EN); //时钟脉冲复位,准备下一次写操作
}
/*1602写数据子函数*/
void LCD1602_ByteWrite(uchar date)
{
LCD1602_BusyCheck();
PORTA|=(1<<RS); //RS引脚高电平,准备写数据字节
PORTB=date; //将数据送到8位并行数据口
PORTA|=(1<<EN); //EN引脚上升将数据字节写入1602
_delay_ms(1); //延时5ms,保持EN电平
PORTA&=~(1<<EN); //时钟脉冲复位,准备下一次写操作
}
/*在某位置显示某字符,参数adr为待写地址,date为待写字节*/
void LCD1602_Display(uchar adr,uchar date)
{
LCD1602_BusyCheck();
LCD1602_CommandWrite(adr);
LCD1602_BusyCheck();
LCD1602_ByteWrite(date);
}
void LCD1602_BusyCheck(void)
{
PORTB=0xff;
DDRB=0x00;
PORTA|=(1<<RW);
PORTA&=~(1<<RS);
PORTA|=(1<<EN);
_delay_us(5);
while(PINB&0x80);
PORTA&=~(1<<EN);
PORTA&=~(1<<RW);
PORTB=0xff;
DDRB=0xff;

}

视频地址:

http://space.ednchina.com/Upload/2010/3/31/05c90c56-f2d8-4ee1-b0da-7d62171994f1.zip

博主
hnrain1004@gmail.com
小雨的工厂
和大家分享我的学习过程。。我的学习经历!!!
点击跳转