资源简介
(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工具
相关资源
- MSP430控制LCD1602显示
- 电子钟DS1302+LCD1602+89C52+proteus仿真图
- LCD12864读取DS1302模块,显示实时时间
- LCD1602+DHT11显示温湿度
- DS18B20中文手册.pdf
- STM32F103C8T6核心板之配套程序源码 -
- STM32_DS1302
- 基于PIC16F877与DS18B20的测温显示
- adc0808简单的实验用lcd1602显示电压有仿
- 基于STC89c52 的环境数据采集 DHT11+BH
- DS18B20使用手册
- c51使用ds18b20测试温度使用数码管显示
- LCD1602程序 for MSP430F449
- lCD1602万年日历温度显示程序仿真.zi
- 0011、采用实时时钟芯片DS1302+AT89C205
- STM32 DS1302驱动代码
- DS18B20+lcd1602显示+LED数码管显示
- 基于51单片机和LCD1602的计算器
- STC15F2K48S2单片机DS1302获取时间通过串
- 利用DS1302实现单片机控制的电子万年
- 51单片机,DS18B20实现程序
- STM32F103驱动DS18B20程序
- STC89C52+LCD1602+DS1302电子时钟
- VHDL LCD1602显示程序
- DS1302的Arduino函数库
- 基于STC12C5A60S2的DS18B20温度显示工程
- 基于AT89C52单片机的万年历protel原理图
- 基于89C51的等精度频率计LCD1602显示1
- 以51单片机为核心的DS18B20的数码管显
- 基于DS18B20的数字温度计设计原理图
评论
共有 条评论