资源描述:
《VB与单片机的温度测控系统实习报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、粮库温度监控管理系统实习报告系别:电气工程系班级:应电121班姓名:啜文彬学号:27号指导教师:曹世超老师、李鑫老师VB与单片机实习一、实习内容实习名称:粮库温度监控管理系统实习时间:14-15周A312CAD实训室所需软件:VB.NET、Proutues、Keil、串口调试助手、虚拟串口。实习目的:1、掌握MCS51单片机与上位机的串行通信方法2、掌握MCS51单片机的程序汇编3、掌握仿真器使用方法4、掌握MCS51单片机的调试步骤5、掌握VB的图形绘制二、电路仿真图三、MCS51单片机程序#includeunsignedchari=0
2、,z;unsignedcharIDD[8][5]={{0,0,0,0},{0,0,0,0},{0,0,0,0},{0,0,0,0},{0,0,0,0},{0,0,0,0},{0,0,0,0},{0,0,0,0},};voidDelayMs(unsignedcharn){unsignedchari=0,j=0;for(i=0;i3、Timer0(unsignedintms);externvoidConfigUART(unsignedintbaud);unsignedcharIntToString(unsignedchar*str,intdat);externbitStart18B20();externunsignedcharlcdadd,tmp;externbitGet18B20Temp(int*temp);externvoidInitLcd1602();externvoidLcdShowStr(unsignedcharx,unsignedchary,unsignedchar*str
4、);voidmain(){bitres;inttemp;//读取到的当前温度值intintT,decT;//温度值的整数和小数部分unsignedcharlen;unsignedcharstr[12];EA=1;//开总中断ConfigTimer0(10);//T0定时10msConfigUART(9600);Start18B20();//启动DS18B20InitLcd1602();//初始化液晶while(1){if(flag1s)//每秒更新一次温度{flag1s=0;res=Get18B20Temp(&temp);//读取当前温度if(res)//
5、读取成功时,刷新当前温度显示{intT=temp>>4;//分离出温度值整数部分decT=temp&0xF;//分离出温度值小数部分len=IntToString(str,intT);//整数部分转换为字符串str[len++]='.';//添加小数点decT=(decT*10)/16;//二进制的小数部分转换为1位十进制位str[len++]=decT+'0';//十进制小数位再转换为ASCII字符while(len<4)//用空格补齐到6个字符长度{str[len++]='';}str[len]=' ';//添加字符串结束符switch(lcdadd
6、){case0:LcdShowStr(0,0,"1:");LcdShowStr(2,0,str);break;//显示到液晶屏上case1:LcdShowStr(8,0,"2:");LcdShowStr(10,0,str);break;case2:LcdShowStr(0,1,"3:");LcdShowStr(2,1,str);break;//显示到液晶屏上case3:LcdShowStr(8,1,"4:");LcdShowStr(10,1,str);break;case4:LcdShowStr(0,0,"5:");LcdShowStr(2,0,str);
7、break;//显示到液晶屏上case5:LcdShowStr(8,0,"6:");LcdShowStr(10,0,str);break;case6:LcdShowStr(0,1,"7:");LcdShowStr(2,1,str);break;//显示到液晶屏上case7:LcdShowStr(8,1,"8:");LcdShowStr(10,1,str);break;default:break;}for(z=0;z<2;z++)IDD[lcdadd][z]=str[z];IDD[lcdadd][2]=' ';}else//读取失败时,提示错误信息{Lcd
8、ShowStr(0,0,"error!");}/*********