资源简介
(1)用LCD1602显示时间和温度。
(2)温度设定范围为:室温~90℃,最小区分度为 1℃,标定温度≤1℃。
(3)环境温度降低时温度控制的静态误差≤1℃。
(4)用1602液晶显示水的实际温度。
(5)采用适当的控制方法,当设定温度突变(由40℃提高到60℃)时,减小系统的调节时间和超调量。

代码片段和文件信息
#include
#include
//#include “LCD1602.h“
//#include “DS1302.h“
#define uint unsigned int
#define uchar unsigned char
sbit DS1302_CLK = P1^7; //实时时钟时钟线引脚
sbit DS1302_IO = P1^6; //实时时钟数据线引脚
sbit DS1302_RST = P1^5; //实时时钟复位线引脚
sbit wireless_1 = P3^0;
sbit wireless_2 = P3^1;
sbit wireless_3 = P3^2;
sbit wireless_4 = P3^3;
sbit ACC0 = ACC^0;
sbit ACC7 = ACC^7;
char hide_sechide_minhide_hourhide_dayhide_weekhide_monthhide_year; //秒分时到日月年位闪的计数
sbit Set = P2^0; //模式切换键
sbit Up = P2^1; //加法按钮
sbit Down = P2^2; //减法按钮
sbit out = P2^3; //立刻跳出调整模式按钮
sbit DQ = P1^0; //温度传送数据IO口
char donecounttempflagup_flagdown_flag;
uchar temp_value; //温度值
uchar TempBuffer[5]week_value[2];
void show_time(); //液晶显示程序
/***********1602液晶显示部分子程序****************/
//Port Definitions**********************************************************
sbit LcdRs = P2^5;
sbit LcdRw = P2^6;
sbit LcdEn = P2^7;
sfr DBPort = 0x80; //P0=0x80P1=0x90P2=0xA0P3=0xB0.数据端口
//内部等待函数**************************************************************************
unsigned char LCD_Wait(void)
{
LcdRs=0;
LcdRw=1; _nop_();
LcdEn=1; _nop_();
LcdEn=0;
return DBPort;
}
//向LCD写入命令或数据************************************************************
#define LCD_COMMAND 0 // Command
#define LCD_DATA 1 // Data
#define LCD_CLEAR_SCREEN 0x01 // 清屏
#define LCD_HOMING 0x02 // 光标返回原点
void LCD_Write(bit style unsigned char input)
{
LcdEn=0;
LcdRs=style;
LcdRw=0; _nop_();
DBPort=input; _nop_();//注意顺序
LcdEn=1; _nop_();//注意顺序
LcdEn=0; _nop_();
LCD_Wait();
}
//设置显示模式************************************************************
#define LCD_SHOW 0x04 //显示开
#define LCD_HIDE 0x00 //显示关
#define LCD_CURSOR 0x02 //显示光标
#define LCD_NO_CURSOR 0x00 //无光标
#define LCD_FLASH 0x01 //光标闪动
#define LCD_NO_FLASH 0x00 //光标不闪动
void LCD_SetDisplay(unsigned char DisplayMode)
{
LCD_Write(LCD_COMMAND 0x08|DisplayMode);
}
//设置输入模式************************************************************
#define LCD_AC_UP 0x02
#define LCD_AC_DOWN 0x00 // default
#define LCD_MOVE 0x01 // 画面可平移
#define LCD_NO_MOVE 0x00 //default
void LCD_SetInput(unsigned char InputMode)
{
LCD_Write(LCD_COMMAND 0x04|InputMode);
}
//初始化LCD************************************************************
void LCD_Initial()
{
LcdEn=0;
LCD_Write(LCD_COMMAND0x38); //8位数据端口2行显示5*7点阵
LCD_Write(LCD_COMMAND0x38);
LCD_SetDisplay(LCD_SHOW|LCD_NO_CURSOR); //开启显示 无光标
LCD_Write(LCD_COMMANDLCD_CLEAR_SCREEN); //清屏
LCD_SetInput(LCD_AC_UP|LCD_NO_MOVE); //AC递增 画面不动
}
//液晶字符输入的位置************************
void GotoXY(unsigned char x unsigned char y)
{
if(y==0)
LCD_Write(LCD_COMMAND0x80|x);
if(y==1)
LCD_Write(LCD_C
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1521 2007-09-12 14:29 DS1302时钟+DS18B20+无线遥控应用程序\DS1302.PWI
文件 21718 2007-09-12 14:28 DS1302时钟+DS18B20+无线遥控应用程序\Keil\DS1302.c
文件 5830 2007-07-21 21:23 DS1302时钟+DS18B20+无线遥控应用程序\Keil\DS1302.h
文件 7615 2007-09-12 14:29 DS1302时钟+DS18B20+无线遥控应用程序\Keil\DS1302.hex
文件 44 2007-09-12 14:29 DS1302时钟+DS18B20+无线遥控应用程序\Keil\DS1302.lnp
文件 41834 2007-09-12 14:29 DS1302时钟+DS18B20+无线遥控应用程序\Keil\DS1302.M51
文件 721 2007-09-12 14:30 DS1302时钟+DS18B20+无线遥控应用程序\Keil\DS1302.plg
文件 3771 2005-09-18 23:23 DS1302时钟+DS18B20+无线遥控应用程序\Keil\LCD1602.h
....SH. 10 2006-12-17 08:33 DS1302时钟+DS18B20+无线遥控应用程序\Keil\_desktop.ini
文件 45383 2007-09-12 14:29 DS1302时钟+DS18B20+无线遥控应用程序\Keil\DS1302.LST
文件 38693 2007-09-12 14:29 DS1302时钟+DS18B20+无线遥控应用程序\Keil\DS1302.OBJ
文件 32573 2007-09-12 14:29 DS1302时钟+DS18B20+无线遥控应用程序\Keil\DS1302
....... 1959 2004-07-25 09:20 DS1302时钟+DS18B20+无线遥控应用程序\Keil\DS1302_Uv2.Bak
文件 2078 2007-09-12 14:30 DS1302时钟+DS18B20+无线遥控应用程序\Keil\DS1302.Uv2
....... 1836 2007-07-29 21:35 DS1302时钟+DS18B20+无线遥控应用程序\Keil\DS1302_Opt.Bak
文件 1494 2007-09-12 14:30 DS1302时钟+DS18B20+无线遥控应用程序\Keil\DS1302.Opt
目录 0 2006-11-30 20:13 DS1302时钟+DS18B20+无线遥控应用程序\Keil
....SH. 10 2006-12-17 08:33 DS1302时钟+DS18B20+无线遥控应用程序\_desktop.ini
文件 1524550 2004-07-24 21:40 DS1302时钟+DS18B20+无线遥控应用程序\效果显示图.bmp.bmp
文件 19633 2007-09-12 14:28 DS1302时钟+DS18B20+无线遥控应用程序\LISA1.SDF
文件 155328 2004-07-24 21:28 DS1302时钟+DS18B20+无线遥控应用程序\Last Loaded DS1302.DBK
文件 155352 2007-09-12 14:29 DS1302时钟+DS18B20+无线遥控应用程序\DS1302.DSN
..A.SH. 5632 2007-09-21 15:57 DS1302时钟+DS18B20+无线遥控应用程序\Thumbs.db
目录 0 2006-11-30 20:13 DS1302时钟+DS18B20+无线遥控应用程序
文件 1521 2007-09-12 14:29 1602液晶+DS1302时钟芯片+DS18B20温度传感器\DS1302时钟+DS18B20+无线遥控应用程序\DS1302.PWI
文件 21718 2007-09-12 14:28 1602液晶+DS1302时钟芯片+DS18B20温度传感器\DS1302时钟+DS18B20+无线遥控应用程序\Keil\DS1302.c
文件 5830 2007-07-21 21:23 1602液晶+DS1302时钟芯片+DS18B20温度传感器\DS1302时钟+DS18B20+无线遥控应用程序\Keil\DS1302.h
文件 7615 2007-09-12 14:29 1602液晶+DS1302时钟芯片+DS18B20温度传感器\DS1302时钟+DS18B20+无线遥控应用程序\Keil\DS1302.hex
文件 44 2010-11-18 20:35 1602液晶+DS1302时钟芯片+DS18B20温度传感器\DS1302时钟+DS18B20+无线遥控应用程序\Keil\DS1302.lnp
文件 42202 2010-11-18 20:35 1602液晶+DS1302时钟芯片+DS18B20温度传感器\DS1302时钟+DS18B20+无线遥控应用程序\Keil\DS1302.M51
............此处省略21个文件信息
- 上一篇:adams.rar
- 下一篇:bin文件转txt工具
相关资源
- 利用DS1302和msp430进行闹钟和万年历的
- 单片机与温度传感器DS18B20的程序设计
- 毕业论文之温度传感器DS18B20(源码
- stm32 ds18b20 温度传感器 测试通过
- [免费]msp430f149控制PS2键盘并用1602显示
- 51单片机读取温度数据存储到SD卡中并
- vhdl与lcd1602实现的多控制电子钟
- STM32F103 DS18B20 V3.5.0固件库驱动程序工
- DS18B20分布式多点测温的Proteus仿真
- ADC0809数字电压表 LCD1602显示 汇编程序
- 单片机 DS18B20 温度控制系统
- 课程设计蔬菜大棚自动控制系统,包
- ds18b20温度传感是什么传感器
- STM32F407实时时钟_DS1302实时时钟模块和
- 基于STM32F103的实时时钟程序,采用D
- 51单片机_DS1302时钟芯片_共阴数码管
- DS1302时钟带可调时间显示
- DS1302+DS13B20+12864,万年历。农历
- LCD1602显示程序
- 第四章 畅学多功能实验箱液晶资源详
- AVR多功能实验箱DS1302时钟实验源码资
- 畅学STM32多功能实验箱DS1302时钟芯片源
- proteus仿真、keil4、DHT11、LCD1602
- DS18B20_Serial_println.ino
- ds18b20测温例程tm4c123x
- STM32F103C8T6读取DS18B20串口显示程序.r
- DS18B20温度+DHT11湿度+LCD1602
- TM4C系列ds18b20温度传感器例程
- 读写ds18b20内部eeprom
- 基于FPGA的DS18B20单总线控制+数码管显
评论
共有 条评论