您当前的位置:五五电子网电子知识单片机-工控设备51单片机智能家居控制系统VB上的代码 正文
智能家居控制系统VB上的代码

智能家居控制系统VB上的代码

点击数:7873 次   录入时间:03-04 11:59:12   整理:http://www.55dianzi.com   51单片机

#include <REGX51.H>
#include <STRING.H>
#include <INTRINS.H>    

#define TURE 1
#define FALSE 0

#define delayus() _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_()

/***************************************
**自定义数据类型
***************************************/
typedef unsigned char     uint8;     
typedef unsigned int        uint16;
typedef unsigned long        uint32;

/***************************************
**按键消息结构体
***************************************/
typedef struct         
{
  uint8  handle;          //功能索引
  uint8  assignments;     //键值
  uint8  time;            //键按下的时间

} K_MSG;

/******************************************
** 端口定义
******************************************/
sbit LCD_E        = P2^7;    
sbit LCD_RW        = P2^6;
sbit LCD_RS        = P2^5;
sbit TLED        = P2^4;
sbit Uout        = P3^7; 
sbit Bell        = P2^0;
       

sfr LCD_DOUT         =    0x80;
sfr key_interface    =    0x90;

/******************************************
** 全局变量
******************************************/
K_MSG kmsg;

bit DisplayUpdataFlag,ClICk_Flag, BellingFlag, MeasureFlag, DelayFlag, MeaDelayExt;

uint8 T0_IRQ_Times, ShowPage, OBScure, PulseCoun, MeaDelayTime;

uint8 DisplayBuff[33];

uint8  RevTimeH;
uint16 RevTimeL;
uint32 RevTime;

uint8 code TestString[]={"www.huayimcu.com"};

/******************************************************************************/
/*******************************************************************************
** 函数名称: LcdDelay
** 功能描述: LCD控制时序用到的延时程序
**
** 输 入: times-延时量
**
** 输 出: 无
**         
** 全局变量: 无
** 调用模块: 无
**
** 作 者: 
** 日 期: 2007年4月19日
**-------------------------------------------------------------------------------
** 修改人:
** 日 期:
**-------------------------------------------------------------------------------
*********************************************************************************/
void LcdDelay(uint8 times)
{
    while(times--);
}

/*******************************************************************************
** 函数名称: ReadLCDCR
** 功能描述: 读LCD命令寄存器
**
** 输 入: 无
**
** 输 出: (uint8) 读到的数据
**         
** 全局变量: 无
** 调用模块: LcdDelay
**
** 作 者: 
** 日 期: 2007年4月19日
**-------------------------------------------------------------------------------
** 修改人:
** 日 期:
**-------------------------------------------------------------------------------
*********************************************************************************/
uint8 ReadLCDCR(void)
{
      uint8 byte;

      LCD_RS = 0;
      LCD_RW = 1;
      LCD_E = 1;
      LcdDelay(4);
      byte = LCD_DOUT;
     LCD_E = 0;
      return(byte);
}

/*******************************************************************************
** 函数名称: WriteLCDCR
** 功能描述: 写LCD命令寄存器
**
** 输 入: (uint8 thdata) 将要写进寄存器的数据
**
** 输 出: 无
**         
** 全局变量: 无
** 调用模块: LcdDelay
**
** 作 者: 
** 日 期: 2007年4月19日
**-------------------------------------------------------------------------------
** 修改人:
** 日 期:
**-------------------------------------------------------------------------------
*********************************************************************************/
void WriteLCDCR(uint8 thEDAta)
{
      LCD_DOUT = thedata;
      LCD_RS = 0;
      LCD_RW = 0;
      LCD_E = 1;
      LcdDelay(4);
      LCD_E=0;
}
/*******************************************************************************
** 函数名称: WriteLCDDR
** 功能描述: 写LCD数据寄存器
**
** 输 入: (uint8 thedata) 将要写进寄存器的数据
**
** 输 出: 无
**         
** 全局变量: 无
** 调用模块: LcdDelay
**
** 作 者: 
** 日 期: 2007年4月19日
**-------------------------------------------------------------------------------
** 修改人:
** 日 期:
**-------------------------------------------------------------------------------
*********************************************************************************/
void WriteLCDDR(uint8 thedata)
{
      LCD_DOUT = thedata;
      LCD_RS = 1;
      LCD_RW = 0;
      LCD_E = 1;
      LcdDelay(4);
      LCD_E = 0;
}

/*******************************************************************************
** 函数名称: Test_LCDBF
** 功能描述: 检测LCD忙标志
**
** 输 入: 无
**
** 输 出: 无
**         
** 全局变量: 无
** 调用模块: ReadLCDCR
**
** 作 者: 
** 日 期: 2007年4月19日
**-------------------------------------------------------------------------------

[1] [2] [3] [4]  下一页


本文关键字:智能  控制系统  51单片机单片机-工控设备 - 51单片机