• 大小: 3.74MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-09-19
  • 语言: C/C++
  • 标签:

资源简介

这是我今年做的毕业设计《大棚温湿度自动控制系统》。包括SHT10温湿度传感器+LCD1602液晶显示器C语言程序,Proteus仿真,Altium Designer原理图和毕业设计论文。所有程序、仿真都已调试好,可直接使用。

资源截图

代码片段和文件信息

/*************端口定义********************
         P1.0------SCK     (SHT10)
 P1.1------DATA    (SHT10)
 P0------DB0~DB7  (LCD1602)     
         P2.0------RS      (LCD1602)
         P2.1------RW      (LCD1602)
         P2.2------E       (LCD1602)
*****************************************/

#include 
#include 
#include 
#include 
#include 
#include 

#define uchar unsigned char
#define uint unsigned int

void keyscan(void);
void control(void);

//1602液晶端口定义 ******
sbit LcdRs= P2^0;
sbit LcdRw= P2^1;
sbit LcdEn= P2^2;

sbit  ACC0 = ACC^0;
sbit  ACC7 = ACC^7;

uchar str[7];

//向LCD写入命令或数据************************************************************
#define LCD_COMMAND 0      // Command
#define LCD_DATA 1      // Data
#define LCD_CLEAR_SCREEN 0x01      // 清屏
#define LCD_HOMING   0x02      // 光标返回原点

//设置显示模式************************************************************
#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    //光标不闪动

//设置输入模式************************************************************
#define LCD_AC_UP 0x02
#define LCD_AC_DOWN 0x00      // default
#define LCD_MOVE 0x01      // 画面可平移
#define LCD_NO_MOVE 0x00      //default


unsigned char LCD_Wait(void);
void LCD_Write(bit style unsigned char input);
/***********1602液晶显示部分子程序****************/
void delay(uint z)
{
uint xy;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}

void LCD_Write(bit style unsigned char input)
{
LcdRs=style;
P1=input; 
delay(5);
LcdEn=1;
delay(5);
LcdEn=0;
}


void LCD_SetDisplay(unsigned char DisplayMode)
{
LCD_Write(LCD_COMMAND 0x08|DisplayMode);
}



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_COMMAND0x80|(x-0x40));
        LCD_Write(LCD_COMMAND0xc0|x);
}

//将字符输出到液晶显示
void Print(unsigned char *str)
{
while(*str!=‘\0‘)
{
LCD_Write(LCD_DATA*str);
str++;
}
}



void zhuanhuan(float a)//浮点数转换成字符串函数
{   
memset(str0sizeof(str));
sprintf (str“%f“ a); 
}


void welcome()
{
LCD_Initial();
GotoXY(10);
Print(“Temp and Humi“);
GotoXY(31);
Print(“controller“);
delay(200);
}


/*-------------------------------------- 
;模块名称:delay_n10us(

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2013-07-27 14:09  C语言程序\
     文件       37377  2013-05-26 14:21  C语言程序\SHT10
     文件       12840  2013-05-26 14:21  C语言程序\SHT10.c
     文件       15318  2013-05-26 14:21  C语言程序\SHT10.hex
     文件          88  2013-05-26 14:21  C语言程序\SHT10.lnp
     文件       21272  2013-05-26 14:21  C语言程序\SHT10.LST
     文件       35483  2013-05-26 14:21  C语言程序\SHT10.M51
     文件       25927  2013-05-26 14:21  C语言程序\SHT10.OBJ
     文件        1015  2009-07-12 09:03  C语言程序\SHT10.opt.bak
     文件         213  2013-06-04 21:06  C语言程序\SHT10.plg
     文件        2148  2009-06-11 18:26  C语言程序\SHT10.Uv2.bak
     文件       57520  2013-06-04 21:46  C语言程序\SHT10.uvopt
     文件       13622  2013-05-18 15:08  C语言程序\SHT10.uvproj
     文件        1027  2009-06-11 18:26  C语言程序\SHT10_Opt.Bak
     文件        2148  2009-05-28 16:00  C语言程序\SHT10_Uv2.Bak
     文件       57516  2013-06-04 08:30  C语言程序\SHT10_uvopt.bak
     文件       13426  2013-05-18 11:17  C语言程序\SHT10_uvproj.bak
     文件        6376  2005-03-22 15:22  C语言程序\STARTUP.A51
     文件       14048  2013-05-18 10:52  C语言程序\STARTUP.LST
     文件         749  2013-05-18 10:52  C语言程序\STARTUP.OBJ
     文件        1235  2013-05-21 08:52  C语言程序\输出控制子程序.c
     文件        3833  2013-05-26 14:21  C语言程序\输出控制子程序.LST
     文件        5116  2013-05-26 14:21  C语言程序\输出控制子程序.OBJ
     文件        3829  2013-05-25 14:51  C语言程序\键盘扫描子程序.c
     文件       10375  2013-05-26 14:21  C语言程序\键盘扫描子程序.LST
     文件        8396  2013-05-26 14:21  C语言程序\键盘扫描子程序.OBJ
     目录           0  2013-07-27 14:09  proteus仿真\
     文件      149570  2013-05-20 15:39  proteus仿真\Last Loaded SHT10.DBK
     文件      148637  2013-05-31 10:14  proteus仿真\SHT10.DSN
     文件        1817  2013-07-27 14:08  proteus仿真\SHT10.PWI
     目录           0  2013-07-27 14:12  原理图 Altium Designer\
............此处省略83个文件信息

评论

共有 条评论

相关资源