《基于单片机与PLC智能家居系统设计报告(共11页).doc》由会员分享,可在线阅读,更多相关《基于单片机与PLC智能家居系统设计报告(共11页).doc(11页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上 PLC课程设计基于单片机与PLC智能家居系统设计与实现一、课题设计目的: 1、家居控制的自动化,智能化; 2、此设计对于家居生活能达到省事又省心的目的; 3、进一步加深对PLC的熟练应用,并有效地与单片机结合运用。 二、课题所用主要元件及作用: 1、光敏电阻:感测光照; 2、湿敏电阻:感测湿度; 3、温度传感器18B20:测量温度; 4、遥控器:遥控窗帘、收衣杆等; 5、单片机:采集并处理传感器数据,予PLC输入信号; 6、PLC:控制家里的一些设备,这里主要用于控制窗户与收衣杆; 三、课题设计功能: 1、晚上自动把衣服收存起来,将窗户及窗帘关上Y9; 2、要是天气
2、下雨,自动把衣服收存起来Y9; 3、白天自动把衣服晾出去Y10; 4、本系统可以遥控调式和自动调式; 5、温度的测试并由数码管显示,当温度高于上限或低于下限时,自动开启空调使室内温度达到一个合适的值。四、课题设计的主要内容:1、梯形图:2、系统示意图:3、原理图:4、单片机程序: 单片机C主要程序程序:#include #include #define uchar unsigned char#define uint unsigned int#define delayNOP() ; _nop_() ;_nop_() ;_nop_() ;_nop_() ; ;uchar code word=0x3
3、0,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x20;uchar code ditab16=0x00,0x01,0x01,0x02,0x03,0x03,0x04,0x04,0x05,0x06,0x06,0x07,0x08,0x08,0x09,0x09;uchar code light2=G:,shui3=S:%,tem4=T:.C;uchar code mytab8 = 0x0C,0x12,0x12,0x0C,0x00,0x00,0x00,0x00 ;uchar data display5=0x00,0x00,0x00,0x00,0x00;uc
4、har data temp_data2=0x00,0x00;uint temp;bit presence;uchar a1,a2,a3;sbit ARDA=P10; sbit ARDB=P11;sbit ARDC=P12;sbit EOC=P13;sbit ST=P14;sbit OE=P15;sbit CLK=P16 ;sbit LCD_RS = P20 ; sbit LCD_RW = P21;sbit LCD_EN = P22 ;sbit DQ=P23;sbit jdq0=P24;sbit jdq1=P25;sbit jdq2=P26;sbit beep=P27;void delayms(
5、int ms) unsigned char y ; while(ms-) for(y = 0 ; y 0 ; i-) DQ = 0 ; dat = 1 ; DQ = 1 ; if(DQ) dat |= 0x80 ; Delay(4) ; return (dat) ; WriteOneChar(unsigned char dat) unsigned char i = 0 ; for (i = 8 ; i 0 ; i-) DQ = 0 ; DQ = dat&0x01 ; Delay(5) ; DQ = 1 ; dat=1 ; Read_Temperature(void) Init_DS18B20(
6、) ; WriteOneChar(0xCC) ; WriteOneChar(0x44) ; Init_DS18B20() ; WriteOneChar(0xCC) ; WriteOneChar(0xBE) ; temp_data0 = ReadOneChar() ; temp_data1 = ReadOneChar() ; /*自定义字符写入CGRAM */*/void writetab() unsigned char i ; lcd_wcmd(0x40) ; /写CGRAM for (i = 0 ; i4)|(temp_data1&0x0f)=2&j5) a1=1; else a1=0;we
7、ndu() Read_Temperature() ; Disp_Temperature() ; if(a1=1) jdq1=0; beep=0;else jdq1=1; beep=1; /*ds18b20*/ /*光照*/ guangzhao() uchar i,shuzi4;uint j; TR0=1; ARDA=0; ARDB=0; ARDC=0;ST=0;ST=1;ST=0;while(EOC=0);OE=1;i=P3;OE=0;j=(255-i)*(3000/255);shuzi0=j/1000;shuzi1=j%1000/100;shuzi2=j%100/10;shuzi3=j%10
8、;if(shuzi0=0)shuzi0=10; if(shuzi1=0) shuzi1=10; if(shuzi2=0) shuzi2=10;lcd_pos(0x00);lcd_wdat(light0);lcd_wdat(light1);lcd_wdat(wordshuzi0);lcd_wdat(wordshuzi1);lcd_wdat(wordshuzi2);lcd_wdat(wordshuzi3);delayms(10);if(j=50)a3=1;elsea3=0;/*湿度*/*主函数 */void main() TMOD=0x02; TH0=0xfe; TL0=0xfe; ET0=1; EA=1; lcd_init(); while(1) guangzhao(); shidu(); TR0=0; wendu(); if(a2|a3) jdq0=0; else jdq0=1; void timer0() interrupt 1 TF0=0; CLK=!CLK;5、实物图:专心-专注-专业