资源简介

基于51单片机的DS18B20测温、NRF24L01无线通信、1602液晶显示的无线测温系统。

资源截图

代码片段和文件信息

#include

void lcd_delay_us(unsigned char us)//延时微秒@12Mus最大值255
{
while(--us);
}

void lcd_delay_ms(unsigned char ms)//延时毫秒@12Mms最大值255
{
unsigned char i;
while(ms--)
{
for(i=0;i<124;i++);
}
}

//产生一个使能脉冲
void lcd_e_toggle(void)
{
LCD_E = 1;
lcd_delay_us(3);
LCD_E = 0;
}

//循环检测LCD忙标志(BF),直到其值为0,方可执行下一指令
void lcd_wait_until_finish(void)
{
LCD_RW = 1; //RW置1,状态为读
LCD_RS = 0; //RS置0,读状态时RS需置低电平
LCD_E  = 1; //E 置1,读取信息

while(LCD_BF);  //循环直至BF=0

LCD_E  = 0; //E重置为0
}

//公共函数

//向LCD写命令字
void lcd_command(unsigned char cmd)
{
LCD_RW=0; //RW置0,状态为写
LCD_RS=0; //RS置0,写入命令字

LCD_DATA_PORT=cmd;     //将命令字cmd送入LCD的数据端口
lcd_delay_ms(5);

lcd_e_toggle(); //产生使能脉冲,在下降沿开始执行,将命令字读入
lcd_wait_until_finish(); //等待执行完毕
}

//设置显示位置(即写入显示地址),xy均从0开始
void lcd_goto_xy(unsigned char xunsigned char y)
{
unsigned char p; //p为字符显示位置即DDRAM中的地址
if(y==0)
{
p=0x00+x; //(00)显示位置为0x00
}
else
{
p=0x40+x; //(01)显示位置为0x40
}
lcd_command(p+0x80); //写入显示地址时DB7须为高电平加0x80
}

//写字符(传入的参数实际为所需显示字符的地址即液晶字符产生器中字符的地址)
void lcd_putc(unsigned char c)
{
LCD_RW=0; //RW置0,状态为写
LCD_RS=1; //RS置1,写入数据

LCD_DATA_PORT=c; //将字符c(实际上是字符的地址)送入LCD数据端口
lcd_delay_ms(5);

lcd_e_toggle(); //使能脉冲
lcd_wait_until_finish(); //等待完成
}

//指定位置写字符
void lcd_xy_putc(unsigned char xunsigned char yunsigned char c)
{
lcd_goto_xy(xy);
lcd_putc(c);
}

//写字符串
void lcd_puts(unsigned char *s)
{
while(*s)
{
lcd_putc(*s);
s++;
}
}

//指定位置写字符串
void lcd_xy_puts(unsigned char xunsigned char yunsigned char *s)
{
lcd_goto_xy(xy);
lcd_puts(s);
}

//LCD初始化
void lcd_init(void)
{
lcd_delay_ms(12); //上电后适当延时
lcd_command(0x38); //设为8位接口模式,显示2行字符
lcd_command(0x06); //写入新数据后光标右移
lcd_command(0x0c); //显示功能开,不显示光标
lcd_command(0x01); //清屏
}


 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      27230  2013-06-15 10:27  无线测温程序\RX\123

     文件       4679  2013-06-15 10:27  无线测温程序\RX\123.hex

     文件         48  2013-06-15 10:27  无线测温程序\RX\123.lnp

     文件      27720  2013-06-15 10:27  无线测温程序\RX\123.M51

     文件        538  2013-06-15 10:27  无线测温程序\RX\123.plg

     文件      77502  2013-06-15 10:27  无线测温程序\RX\123.uvgui.程淼

     文件      77460  2013-06-15 10:01  无线测温程序\RX\123.uvgui_程淼.bak

     文件       8498  2013-06-15 10:27  无线测温程序\RX\123.uvopt

     文件      13601  2013-06-15 10:01  无线测温程序\RX\123.uvproj

     文件       8488  2013-06-15 10:01  无线测温程序\RX\123_uvopt.bak

     文件      13571  2013-06-14 14:45  无线测温程序\RX\123_uvproj.bak

     文件       5586  2013-06-15 10:27  无线测温程序\RX\lcd.lst

     文件       6529  2013-06-15 10:27  无线测温程序\RX\lcd.obj

     文件      10249  2013-06-15 10:27  无线测温程序\RX\main.lst

     文件      13072  2013-06-15 10:27  无线测温程序\RX\main.obj

     文件      13895  2013-06-15 10:27  无线测温程序\RX\spi.lst

     文件      11746  2013-06-15 10:27  无线测温程序\RX\spi.obj

     文件       2222  2013-06-12 17:05  无线测温程序\RX\程序\lcd.c

     文件        921  2013-06-12 16:43  无线测温程序\RX\程序\lcd.h

     文件       3282  2013-06-15 10:27  无线测温程序\RX\程序\main.c

     文件       8842  2013-06-13 21:09  无线测温程序\RX\程序\spi.c

     文件       3031  2013-06-15 09:58  无线测温程序\RX\程序\spi.h

     文件      18254  2013-06-15 10:04  无线测温程序\TX\123

     文件       2136  2013-06-15 10:04  无线测温程序\TX\123.hex

     文件         52  2013-06-15 10:04  无线测温程序\TX\123.lnp

     文件      14982  2013-06-15 10:04  无线测温程序\TX\123.M51

     文件        989  2013-06-15 10:04  无线测温程序\TX\123.plg

     文件     141554  2013-06-15 10:04  无线测温程序\TX\123.uvgui.程淼

     文件     140812  2013-06-14 13:15  无线测温程序\TX\123.uvgui_程淼.bak

     文件       8847  2013-06-15 10:04  无线测温程序\TX\123.uvopt

............此处省略22个文件信息

评论

共有 条评论