【《基于单片机自习室管理系统的设计与实现》12000字(论文)】_第1页
【《基于单片机自习室管理系统的设计与实现》12000字(论文)】_第2页
【《基于单片机自习室管理系统的设计与实现》12000字(论文)】_第3页
【《基于单片机自习室管理系统的设计与实现》12000字(论文)】_第4页
【《基于单片机自习室管理系统的设计与实现》12000字(论文)】_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

参考文献[1]孔庆杰.浅析图书馆管理的国内外现状及发展趋势.[J].2014(03):65-66[2]吴政江.单片机控制红外线防盗报警器.[J]锦州师范学院学报;2001[3]任小洪.基于蓝牙技术的无线数据采集系统设计.测控技术.[J].2009(01):16-19[4]吴颖.浅析我国图书馆的发展趋势.[J]福建警察学院学报;2010(03):110-112[5]薛均义,张彦斌.MCS-51系列单片微型计算机及其应用.[M]西安:西安交通大学出版社;2005[6]许燕.单片机技术设计红外线电子锁系统研究.[J]电子设计工程;2018(06):52-55[7]刘婷.传感器设计中应用单片机技术的分析.[J]数码设计;2017(09):85[8]何流,谭文涛等.基于温度传感器的智能恒温空调系统设计.[J]计算机产品与流通;2020(06):44[9]范文东,张鹏琴,彭康旭等.基于红外光电开关的智能空调控制系统.[J]计算机产品与流通;2020(06):54[10]杜志民,韩旭等.油田注水硬件控制和远程监控系统的平台设计.[J]计算机测量与控制;2020(04):53-56:[11]孙中傲,赵建华等.基于远程的便携式脉象采集系统设计.[J]山西电子技术;2020(02):29-31[12]侯秀丽.基于物联网的温湿度监控系统.[J]电子世界;2020(07):126-127[13]贺志盈,周志文等.单片机技术及应用.[M]西安电子科技大学出版社;2020.07[14]程志强,王文成等.单片机原理与应用实践教学教程.[M]西安电子科技大学出版社;2020.06马忠梅,李元章等.单片机的C语言应用程序设计.[M]北京:北京航空航天大学出版社;2017.09附录附录1:总电路图:附录2:元件清单:CommentDesignatorLibRefQuantity电解电容C110uF1瓷片电容C2,C330pF2USB5VDC1Header21红外开关P1,P2MHDR1X32发光二极管POWER1LED01电阻R110k1电阻R210K1电阻R32k1电位器RV1R1触点开关S1SW-PB1电源开关SW1SW-SPDT1蓝牙模块LANYAHC-051单片机U1STC89C521液晶屏U2LCD128641温湿度传感器U3DTT111晶振Y112MHz1万能板9x15cm1附录3:自习室管理系统程序:#include<reg52.h>#defineucharunsignedchar//无符号字符型宏定义 变量范围0~255#defineuintunsignedint //无符号整型宏定义 变量范围0~65535#include"LCD12864.h"#include<intrins.h>#include"dht11.h"sbitjin_1=P2^0; //进来传感器1sbitchu_1=P2^1; //出去传感器1uintzong_rs;//总人数uinttongd1_jl;//通道1进来的人数uinttongd1_cq;//通道1出去的人数uchart1_value;//通道1用做判断是进来还是出去的变量uchart1_zk;//通道1人走开uchart1_j_xd;//通道1进消抖uchart1_c_xd;//通道1出消抖uchart1_qans_qx;//通道1延时取消uintt1_qans_value;//通道1延时取消ucharRx_buf[4],Rxnum=0;uchartable_dht11[5]={1,2,3,4,5};voidInitUART(void) //这是串口的基本配置,配置他的波特率是9600.这些参数都是标准的。{TMOD=0x20;SCON=0x50;TH1=0xFD;TL1=TH1;PCON=0x00;EA=1;ES=1;TR1=1;}/**UART发送一字节*/voidUART_send_byte(chardat){ SBUF=dat; while(TI==0); TI=0;}/**UART发送字符串*/voidUART_send_string(unsignedchar*buf){ while(*buf!='\0') { UART_send_byte(*buf++); }}voidDelay_ms(unsignedintn){ unsignedinti,j; for(i=0;i<n;i++) for(j=0;j<123;j++);}voiddst11(){ RH();//读出温湿度 table_dht11[2]=U8T_data_H; table_dht11[0]=U8RH_data_H;}voidtongd1_display(){/*******************通道1处理********************/ if(t1_value==0) { if(jin_1==0) { t1_j_xd++; if(t1_j_xd>=3) { t1_j_xd=0; t1_value=1; t1_zk=0; t1_qans_qx=1; t1_qans_value=0; } } else t1_j_xd=0; if(chu_1==0) { t1_c_xd++; if(t1_c_xd>=3) { t1_c_xd=0; t1_value=2; t1_zk=0; t1_qans_qx=1; t1_qans_value=0; } } else t1_c_xd=0; } else { if(t1_qans_qx==1) { t1_qans_value++; //5ms if(t1_qans_value>400) //2s t1_value=0; } if(t1_value==1) { if((chu_1==0)&&(t1_zk==0)) { tongd1_jl++;//通道1进来的人数加1 zong_rs=tongd1_jl-tongd1_cq; t1_zk=1; t1_qans_value=0; t1_qans_qx=0; } if(t1_zk==1) //人走开 { if(chu_1==1) { t1_value=0; t1_zk=0; } } } if(t1_value==2) { if((jin_1==0)&&(t1_zk==0)) { if(tongd1_jl>tongd1_cq) tongd1_cq++;//通道1出去的人数加1 zong_rs=tongd1_jl-tongd1_cq; //计算总人数 t1_zk=1; t1_qans_value=0; t1_qans_qx=0; } if(t1_zk==1) //人走开 { if(jin_1==1) { t1_value=0; t1_zk=0; } } } }}voidmain(void){ucharTx_Buf[15]; InitUART(); //初始化串口LCD12864_Reset(); //初始化液晶 LCD12864_HAIZI_SET(); //设置为普通模式 LCD12864_NoWaitIdle_COM_Write(0x80); //指针设置 LCD12864_write_word("座位:50人员:"); LCD12864_NoWaitIdle_COM_Write(0x90); //指针设置 LCD12864_write_word("余座:"); LCD12864_NoWaitIdle_COM_Write(0x88); //指针设置 LCD12864_write_word("温度:℃"); LCD12864_NoWaitIdle_COM_Write(0x98); //指针设置 LCD12864_write_word("湿度:%"); dst11(); //先读出温湿度的值 while(1) { tongd1_display(); dst11(); //先读出温湿度的值 LCD12864_NoWaitIdle_COM_Write(0x8b); //指针设置 LCD12864_Data_Write(0x30+table_dht11[2]%100/10); LCD12864_Data_Write(0x30+table_dht11[2]%10); Delay_ms(1); LCD12864_NoWaitIdle_COM_Write(0x9b); LCD12864_Data_Write(0x30+table_dht11[0]%100/10); LCD12864_Data_Write(0x30+table_dht11[0]%10); Delay_ms(1); LCD12864_NoWaitIdle_COM_Write(0x87); LCD12864_Data_Write(0x30+zong_rs/10); LCD12864_Data_Write(0x30+zong_rs%10); Delay_ms(1); LCD12864_NoWaitIdle_COM_Write(0x93); LCD12864_Data_Write(0x30+(50-zong_rs)/10); LCD12864_Data_Write(0x30+(50-zong_rs)%10); Tx_Buf[0]='T'; //帧头 Tx_Buf[1]=5+0x30; //将湿度数据送往发送数组,送给蓝牙模块让手机APP显示 Tx_Buf[2]=0+0x30; Tx_Buf[3]=zong_rs/10+0x30; Tx_Buf[4]=zong_rs%10+0x30; Tx_Buf[5]=(50-zong_rs)/10+0x30; Tx_Buf[6]=(50-zong_rs)%10+0x30; Tx_Buf[7]=table_dht11[2]/10+0x30; Tx_Buf[8]=table_dht11[2]%10+0x30; Tx_Buf[9]=table_dht11[0]/10+0x30; Tx_Buf[10]=table_dht11[0]%10+0x30; Tx_Buf[11]=0;//结束符 UART_send_string(Tx_Buf); //串口发送温湿度数据出去 }}/*****************串口接收中断函数,接收蓝牙模块的数据*********************/voidUARTInterrupt(void)interrupt4{ ES=0; //关闭中断if(RI) //接收到数据{ Rx_buf[Rxnum]=SBUF;//接收数据进数组 if(Rx_buf[Rxnum]==0x08) Rxnum=0; else Rxnum++;// if(Rx_buf[0]==0x01)//LED1灯// {// if(Rx_buf[1]==0x01)//开灯// LED1=0;//开灯// else// LED1=1; //关灯 // }// if(Rx_buf[0]==0x02)//LED2灯// {// if(Rx_buf[1]==0x01)//开灯// LED2=0;//开灯// else// LED2=1; //关灯 // } }RI=0;ES=1; //关闭中断}附录4:部分程序图:#include"LCD12864.h"//********************************************************************//LCD12864忙信号检测//********************************************************************voidLCD12864_WaitIdle(){ unsignedchari; LCD12864_DA_PORT=0xff; LCD12864_RS_PORT=0; LCD12864_RW_PORT=1; LCD12864_E_PORT=1; while((LCD12864_DA_PORT&0x80)==1);/*等待BF不为1*/ LCD12864_E_PORT=0; for(i=0;i<5;i++);}//********************************************************************//检测忙信号写入命令字 com_da为待写入的命令字//********************************************************************voidLCD12864_COM_Write(unsignedcharcom_da) { LCD12864_WaitIdle(); LCD12864_RS_PORT=0; LCD12864_RW_PORT=0; LCD12864_DA_PORT=com_da; LCD12864_E_PORT=1; _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); LCD12864_E_PORT=0; }//********************************************************************//不检测忙信号写入命令字 com_da为待写入的命令字//********************************************************************voidLCD12864_NoWaitIdle_COM_Write(unsignedcharcom_da) { LCD12864_RS_PORT=0; LCD12864_RW_PORT=0; LCD12864_DA_PORT=com_da; LCD12864_E_PORT=1; _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); LCD12864_E_PORT=0; }//********************************************************************//数据写入 da为待写入的8位数据//********************************************************************voidLCD12864_Data_Write(unsignedcharda){ LCD12864_WaitIdle();/*检测忙信号*/ LCD12864_RS_PORT=1; LCD12864_RW_PORT=0; LCD12864_DA_PORT=da; LCD12864_E_PORT=1; _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); LCD12864_E_PORT=0; }//*************************************************************************************//写连续字符函数//*************************************************************************************voidLCD12864_write_word(unsignedchar*s){ while(*s>0) { LCD12864_Data_Write(*s); s++; }}//********************************************************************//1MS为单位的延时程序,不准确//********************************************************************voidlcd_delay_ms(unsignedcharx){unsignedcharj;while(x--){for(j=0;j<125;j++){;}}}//********************************************************************//LCD12864初始化//********************************************************************voidLCD12864_Reset(){ lcd_delay_ms(100);/*适当延时待LCD自动复位完成*/ LCD12864_NoWaitIdle_COM_Write(0x30);/*使用8位并口通讯*/ lcd_delay_ms(10); LCD12864_NoWaitIdle_COM_Write(0x30);/*使用8位并口通讯*/ lcd_delay_ms(10); LCD12864_NoWaitIdle_COM_Write(0x0c);/*显示开及光标设置*/ lcd_delay_ms(10); LCD12864_NoWaitIdle_COM_Write(0x01);/*显示清屏*/ lcd_delay_ms(30); LCD12864_NoWaitIdle_COM_Write(0x06);/*DDRAM的地址计数器(AC)加1*/ lcd_delay_ms(30); }//voidLCD12864_PHOTO_SET()//{// LCD12864_COM_Write(0x36);// lcd_delay_ms(10);// LCD12864_COM_Write(0x36);// lcd_delay_ms(10);//}//voidLCD12864_HAIZI_SET(){ LCD12864_COM_Write(0x30); lcd_delay_ms(10); LCD12864_COM_Write(0x30); lcd_delay_ms(10);}//////voidLCD12864_HAIZI_WRITE(unsignedcharxpos,unsignedcharypos,unsignedchardaH,unsignedchardaL)////ST7920汉字字符写入////参数说明: xpos待写入的X位置////ypos待写入的Y位置////daH待写入的汉字的高八位daL待写入的汉字的低八位//{// unsignedcharxy_pos;/

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论