智能照明控制系统源代码Word文件下载.docx

上传人:b****6 文档编号:20690759 上传时间:2023-01-25 格式:DOCX 页数:30 大小:21.56KB
下载 相关 举报
智能照明控制系统源代码Word文件下载.docx_第1页
第1页 / 共30页
智能照明控制系统源代码Word文件下载.docx_第2页
第2页 / 共30页
智能照明控制系统源代码Word文件下载.docx_第3页
第3页 / 共30页
智能照明控制系统源代码Word文件下载.docx_第4页
第4页 / 共30页
智能照明控制系统源代码Word文件下载.docx_第5页
第5页 / 共30页
点击查看更多>>
下载资源
资源描述

智能照明控制系统源代码Word文件下载.docx

《智能照明控制系统源代码Word文件下载.docx》由会员分享,可在线阅读,更多相关《智能照明控制系统源代码Word文件下载.docx(30页珍藏版)》请在冰豆网上搜索。

智能照明控制系统源代码Word文件下载.docx

ucharidataGXDJ_disbuf[16]={"

光线等级:

0"

ucharidatatime_disbuf[16]={"

00:

00"

ucharidataKDSJ_disbuf[16]={"

ucharidataGDSJ_disbuf[16]={"

uchardataZMKG;

uchardataroom_buf[3];

uchardatacou1,cou2;

longintdatacom1,com2,com3,com4;

bitbdataflag1,flag2;

ucharcodeZMK_disbuf[16]={"

照明:

开"

ucharcodeZMG_disbuf[16]={"

关"

main()

{msec(1000);

//开机延时

//EN=0;

//上电液晶屏禁能

EA=1;

//开所有中断

ET0=1;

//开定时器0

TMOD=0x21;

//设置T1为方式2

TH1=0Xfa;

//设置波特率为9600b/s

TL1=0Xfa;

TH0=0x3c;

TL0=0xb0;

SCON=0xd0;

//设置串口位方式3

PCON=0X80;

//波特率加倍

RI=0;

TI=0;

cou2=0;

flag2=0;

//========开机动态提示==========

LCD_Ini();

//LCD初始化

WARN=0;

//系统启动提示

msec(200);

WARN=1;

EX1=1;

//开外部中断1

TR0=1;

TR1=1;

//定时器1开始计数

//==============================

//====LCD初始化及开机提示=======

LCD_Wrhz(0,"

郑州轻工业学院"

);

//系统加载完毕界

LCD_Wrhz(16,"

毕业设计"

LCD_Wrhz(8,"

教学楼智能照明"

LCD_Wrhz(24,"

控制系统"

KEY_INT=1;

while(KEY_INT);

key_buf=0;

while

(1)

{

LCD_Wrchar(0,"

1.查看教室状态"

//显示主菜单

LCD_Wrchar(16,"

2.设置"

LCD_Wrchar(8,"

3.控制"

LCD_Wrchar(24,"

4.关于本系统"

msec(10);

if(flag2)

{sent_es(5);

sent_es(time_disbuf[0]);

msec

(2);

sent_es(time_disbuf[1]);

sent_es(time_disbuf[3]);

sent_es(time_disbuf[4]);

}

if(key_buf==1)

{LCD_WrCommand(0x01);

//清屏并归零地址计数器

msec

(1);

输入教室号"

LCD_Wrchar(8,room_disbuf);

flag1=0;

while(key_buf!

=15)

{cou1=7;

=11&

&

key_buf!

{if(flag1&

{if(key_buf<

10&

key_buf>

0)

{room_disbuf[cou1]=key_buf+0x30;

room_buf[cou1-7]=key_buf;

if(key_buf==13)

{room_buf[cou1-7]=0;

room_disbuf[cou1]=0x30;

if(cou1==9)

cou1=7;

elsecou1++;

msec(50);

//key_buf=0;

if(key_buf==11)

{sent_es

(1);

//发读教室状态指令

//等待从机判断

sent_es(room_buf[0]);

//发送教室号

sent_es(room_buf[1]);

sent_es(room_buf[2]);

//msec(20);

//等待从机判断教室号

com1=0;

while(com1<

1000&

RI==0)

{com1++;

}

if(RI==1)

{

JSRS_disbuf[9]=rec_es()+0x30;

JSRS_disbuf[10]=rec_es()+0x30;

JSRS_disbuf[11]=rec_es()+0x30;

GXDJ_disbuf[9]=rec_es()+0x30;

ZMKG=rec_es();

LCD_WrCommand(0x01);

LCD_Wrchar(0,room_disbuf);

//显示主菜单

LCD_Wrchar(16,JSRS_disbuf);

LCD_Wrchar(8,GXDJ_disbuf);

if(ZMKG==1)

{LCD_Wrchar(24,"

}

elseLCD_Wrchar(24,"

else

{LCD_WrCommand(0x01);

LCD_Wrchar(0,"

通信失败"

//显示通信失败

该从机不存在或者"

LCD_Wrchar(8,"

连接故障"

=15);

}//选功能菜单1

if(key_buf==2)

1.当前时间设定"

2.开灯时间设定"

3.关灯时间设定"

=15&

=11)

时间设定"

LCD_Wrchar(16,time_disbuf);

cou1=0;

{time_disbuf[cou1]=key_buf+0x30;

time_disbuf[cou1]=0x30;

if(cou1==4)

elseif((cou1>

=0&

cou1<

1)||(cou1>

=3&

4))

cou1++;

elseif(cou1==1)

cou1+=2;

}//功能2子功能1

开灯时间设定"

LCD_Wrchar(16,KDSJ_disbuf);

{KDSJ_disbuf[cou1]=key_buf+0x30;

KDSJ_disbuf[cou1]=0x30;

}//功能2子功能2

if(key_buf==3)

关灯时间设定"

LCD_Wrchar(16,GDSJ_disbuf);

{GDSJ_disbuf[cou1]=key_buf+0x30;

GDSJ_disbuf[cou1]=0x30;

}//功能2子功能3

}//功能菜单2

1.允许照明"

2.照明关闭"

3.所有分机复位"

=15)

{sent_es

(2);

提示:

"

//操作提示

指令已发送"

全局照明允许开"

{sent_es(3);

全局照明允许关"

{sent_es(4);

所有分机已复位"

}//功能菜单3

if(key_buf==4)

本系统为2008"

年郑州轻工业学院"

毕业设计题目:

"

教学楼智能照明控"

{if(key_buf==14)

教学楼智能智能控"

if(key_buf==16)

//清屏并归零地址计数器

制系统。

学生:

李鑫"

}//功能菜单4

if(key_buf==12)

当前时间:

while(key_buf==0)

{LCD_Wrchar(8,time_disbuf);

}//显示时间子功能

//===============================================================

}//main

//==================延时子程序====================

//说明:

函数传递的数值即延时时间,单位为ms

//创建日期:

2008.5.10

//入口参数:

X

//================================================

voidmsec(uintx)

{

unsignedchark;

while(x--)

for(k=0;

k<

125;

k++);

//==========发送串行数据============

voidsent_es(ucharschar)

{

SBUF=schar;

while(TI==0&

//==================================

//===========接收串行数据===========

ucharrec_es(void)

{ucharrecnum;

while(RI==0&

recnum=SBUF;

returnrecnum;

voidgetkey(void)interrupt2//取键值服务程序

{TR0=0;

EX1=0;

if(TR0==0)

key_buf=ZLG7290_GetKey();

flag1=1;

voidtime0(void)interrupt1

{TH0=0x3c;

cou2++;

if(cou2==20)

{cou2=0;

if(time_disbuf[7]==0x39)

{time_disbuf[7]=0x30;

if(time_disbuf[6]==0x35)

{time_disbuf[6]=0x30;

if(time_disbuf[4]==0x39)

{time_disbuf[4]=0x30;

if(time_disbuf[3]==0x35)

{time_disbuf[3]=0x30;

if(time_disbuf[1]==0x39)

{time_disbuf[1]=0x30;

time_disbuf[0]++;

elseif(time_disbuf[1]==0x33&

time_disbuf[0]==0x32)

{time_disbuf[0]=0x30;

time_disbuf[1]=0x30;

elsetime_disbuf[1]++;

elsetime_disbuf[3]++;

elsetime_disbuf[4]++;

flag2=1;

com2=(time_disbuf[0]-0x30)*1000+(time_disbuf[1]-0x30)*100+(time_disbuf[3]-0x30)*10+time_disbuf[4]-0x30;

com3=(KDSJ_disbuf[0]-0x30)*1000+(KDSJ_disbuf[1]-0x30)*100+(KDSJ_disbuf[3]-0x30)*10+KDSJ_disbuf[4]-0x30;

com4=(GDSJ_disbuf[0]-0x30)*1000+(GDSJ_disbuf[1]-0x30)*100+(GDSJ_disbuf[3]-0x30)*10+GDSJ_disbuf[4]-0x30;

if(com2=com3)

if(com2=com4)

}

elsetime_disbuf[6]++;

elsetime_disbuf[7]++;

2从机主程序

#include"

reg52.h"

math.h"

#include"

VIIC_C51.h"

voidled_scan(void);

//函数声明段

voiddelay_ms(uintx);

voidkey_scan(void);

voidad_convert(ucharchannel);

voidpass_dis(uchar*dis);

voidtime_dis(void);

sbitkeyin=P1^7;

sbitadc_flag=P3^2;

sbitbuzzer=P3^4;

sbitrelay=P3^5;

sbitHW1=P1^2;

sbitHW2=P1^3;

uchardatadis_buf[6]={0x14,0x14,0x14,0x14,0x14,0x14};

//定义显示缓冲区

uchardatatime_buf[6]={0x19,0x17,0,0,0,0};

//时间缓冲区

uchardatagx_buf[6]={0x20,0x17,0x17,0x17,0x17,0};

uchardatars_buf[6]={0x1b,0x18,0x17,0,0,0};

uchardataJSRS;

//教室人数

uchardataGXDJ;

//光线等级

uchardatawink_con;

//闪烁控制位

//定义键值缓冲区

ucharda

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 文学研究

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1