ImageVerifierCode 换一换
格式:DOCX , 页数:19 ,大小:492.17KB ,
资源ID:23000982      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/23000982.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(PLC实验室实习报告.docx)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

PLC实验室实习报告.docx

1、PLC实验室实习报告 2010届生产实习报告姓 名 班 级 学 号 指导教师 电气工程学院2013年7月3日实习时间自2013年6月10 日 至 2013年6月21 日实习地点 科技楼PLC实验室现场实习导师 实 习 内 容一、实习目的专业实习是测控技术与仪器专业一项重要的实践性教学环节。它是大学生参加工作之前必不可少的环节,该环节能锻炼自己的动手能力和实践能力,将所学的理论知识运用于实践当中,反过来还能检验书本上理论的正确性,有利于融会贯通。同时也能开拓视野,巩固和理解专业课程,完善自己的知识结构,达到锻炼能力的目的。通过专业实习可以对本专业知识形成一个客观,理性的认识,从而不与社会现实相脱

2、节。同时专业实习也为即将进入工作单位的我们提供了提前接触生产实际的机会,有利于其毕业后的职业发展。此次实习通过51单片机时时检测温度1602液晶显示及报警实验达到:(1)了解并学习51单片机。(2)掌握1602液晶、数字温度计DS18B20以及矩阵键盘和独立键盘的工作原理。(3)掌握51单片机C语言编程。(4)熟练掌握Altium Designer软件绘图方法及C语言KEIL编程软件。(5)要求会查阅有关参考资料和手册(6)实现温度的时时检测及手动按键控制温度上下限的报警。2、实习要求1、实验器材51单片机开发板一块、万用表、STC89C52RC单片机芯片一个、程序下载线一根、DS18B20数

3、字温度计、1602液晶一块。辅助工具:Altium Designer绘图软件,KEIL编程软件。2、实验原理单片机AT89S51是低功耗,高性能 CMOS8 位单片机,片内含 4kbytes 的可编程的 Flash 只读程序存储器,兼容标准 8051 指令系统及引脚。它集 Flash 程序存储器既可在线编程(ISP),也可用传统方法进行编程。(1) AT89S51的介绍AT89S51实物如3-1图所示:图3-1 AT89S51 实物图AT89S51主要特性及引脚如下与MCS-51 兼容4K字节可编程闪烁存储器全静态工作:0Hz-24Hz 三级程序存储器锁定128*8位内部RAM2可编程I/O线

4、两个16位定时器/计数器5个中断源可编程串行通道低功耗的闲置和掉电模式片内振荡器和时钟电路 AT89S51 单片机为40 引脚双列直插式封装。其引脚排列和逻辑符号如图3-2 所示。各引脚功能简单介绍如下:VCC:供电电压 GND:接地 P0口:P0口为一个8位漏级开路双向I/O口,每个管脚可吸收8TTL门电流。当P0口的管脚写“1”时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FLASH编程时,P0口作为原码输入口,当FLASH进行校验时,P0输出原码,此时P0外部电位必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能

5、接收输出4TTL门电流。P1口管脚写入“1”后,电位被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚电位被内部上拉电阻拉高,且作为输入。作为输入时,P2口的管脚电位被外部拉低,将输出电流,这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉的优势,当对外部八位地址数据存储器进行读写时,P

6、2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入时,由于外部下拉为低电平,P3口将输出电流(ILL),也是由于上拉的缘故。P3口也可作为AT89S51的一些特殊功能口:P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 INT0(外部中断0) P3.3 INT1(外部中断1) P3.4 T0(记时器0外部输入) P3.5 T1(记时器1外部输入) P3.6 WR (外部数据存储器写选

7、通) P3.7 RD (外部数据存储器读选通)同时P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE / PROG :当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令时ALE才

8、起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。PSEN:外部程序存储器的选通信号。在由外部程序存储器取址期间,每个机器周期PSEN两次有效。但在访问外部数据存储器时,这两次有效的PSEN信号将不出现。EA/VPP:当EA保持低电平时,访问外部ROM;注意加密方式1时,EA将内部锁定为RESET;当EA端保持高电平时,访问内部ROM。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。(2) DS18B20的介绍allas的最新单线数字温度传感器DS18B20简

9、称新的“一线器件”体积更小、使用电压更宽、更经济。Dallas半导体公司的数字化温度传感器DS18B20是世界上第一片支持“一线总线”接口的温度传感器。一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。DS18B20测量温度范围为-55+125,在-10+85范围内,精度为0.5。现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等。与前一代产品不同,新的产品支持3V5.5V的电压范围,使系统设计更灵活、方便。而且新一代产品更便宜,体积更小。其实物图如3-3图所

10、示:DS18B20引脚及特点 a.引脚功能说明GND是地址信号;DQ是数据输入/输出引脚,开漏单总线接口引脚,当被用在寄生电源下,也可以向器件提供电源;VDD为外接供电电源输入端(在寄生电源接线方式时接地)。b.DS18B20功能特点采用单总线技术,与单片机通信只需要一根I/O线,在一根线上可以挂接多个DS18B20。每只DS18B20具有一个独有的,不可修改的64位序列号,根据序列号访问地应的器件。低压供电,电源范围从3.05.5V,可以本地供电,也可以直接从数据线窃取电源(寄生电源方式)。测温范围为-55+125,在-10+85范围内误差为0.5。可编辑数据为912位,转换12位温度时间为

11、750ms(最大)。用户可自设定报警上下限温度。报警搜索命令可识别和寻址超过程序限定温度(温度报警条件)的器件。DS18B20的分辨率由用户通过EEPROM设置为912位。DS18B20可将检测到温度值直接转化为数字量,并通过串行通信的方式与主控制器进行数据通信。负电压特性,电源极性接反时,温度计不会因为发热而烧毁,只是不能正常工作。(3)液晶显示模块将所测速度及时间显示在1602液晶屏上,1602液晶简介及电路图引脚符号引脚说明引脚符号引脚说明1VSS电源地9D2数据口2VDD电源正极10D3数据口3VO对比度调节11D4数据口4RS数据/命令选择端12D5数据口5R/W读写选择端13D6数

12、据口6E使能信号14D7数据口7D0数据口15BLA背光电源正极8D1数据口16BLK背光电源负极1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块,它有若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符。每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此,所以它不能显示图形。1602LCD是指显示的内容为162,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。1602LCD的特性(1)+5V电压,对比度可调。(2)内含复位电路。(3)提供各种控制命令,如:清屏、字符闪烁、光标闪烁、显示

13、移位等多种功能。(4)有80字节显示数据存储器DDRAM。(5)内建有160个57点阵的字型的字符发生器CGROM。(6)8个可由用户自定义的57的字符发生器CGROM。(7)字符型LCD1602通常有14条引脚线或16条引脚线的LCD,多出来的2条线是背光电源线VCC(15脚)和地线(16脚).三、温度检测程序#include #include #define uint unsigned int#define uchar unsigned char#define _Nop() _nop_()sbit DQ =P22; /定义DS18B20通信端口sbit lcd_rs_port = P35;

14、 /*定义LCD控制端口*/sbit lcd_rw_port = P36;sbit lcd_en_port = P34;sbit s5=P37;sbit beep=P23;#define lcd_data_port P0/sbit WELA=P27; /数码管的位选信号void delay1 (void)/关闭数码管延时程序 int k; for (k=0; k1000; k+);/以下是LCD1602驱动程序/void lcd_delay(uchar ms) /*LCD1602 延时*/ uchar j; while(ms-) for(j=0;j250;j+) ; void lcd_busy

15、_wait() /*LCD1602 忙等待*/ lcd_rs_port = 0; lcd_rw_port = 1; lcd_en_port = 1; lcd_data_port = 0xff; while (lcd_data_port&0x80); lcd_en_port = 0; void lcd_command_write(uchar command) /*LCD1602 命令字写入*/ lcd_busy_wait(); lcd_rs_port = 0; lcd_rw_port = 0; lcd_en_port = 0; lcd_data_port = command; lcd_en_po

16、rt = 1; lcd_en_port = 0; void lcd_system_reset() /*LCD1602 初始化*/ lcd_delay(20); lcd_command_write(0x38); lcd_delay(100); lcd_command_write(0x38); lcd_delay(50); lcd_command_write(0x38); lcd_delay(10); lcd_command_write(0x08); lcd_command_write(0x01); lcd_command_write(0x06); lcd_command_write(0x0c);

17、 void lcd_char_write(uchar x_pos,y_pos,lcd_dat) /*LCD1602 字符写入*/ x_pos &= 0x0f; /* X位置范围 015 */ y_pos &= 0x01; /* Y位置范围 0 1 */ if(y_pos=1) x_pos += 0x40; x_pos += 0x80; lcd_command_write(x_pos); lcd_busy_wait(); lcd_rs_port = 1; lcd_rw_port = 0; lcd_en_port = 0; lcd_data_port = lcd_dat; lcd_en_port

18、= 1; lcd_en_port = 0; void lcd_bad_check() /*LCD1602 坏点检查*/ char i,j; for(i=0;i2;i+) for(j=0;j0;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; i0; i-) DQ = 0; DQ = dat&0x01; delay(5); DQ = 1; dat=1

19、; /读取温度ReadTemperature(void) unsigned char a=0; unsigned char b=0; unsigned int t=0; float tt=0; Init_DS18B20(); WriteOneChar(0xCC); / 跳过读序号列号的操作 WriteOneChar(0x44); / 启动温度转换 Init_DS18B20(); WriteOneChar(0xCC); /跳过读序号列号的操作 WriteOneChar(0xBE); /读取温度寄存器等(共可读9个寄存器) 前两个就是温度 a=ReadOneChar(); b=ReadOneCha

20、r(); t=b; t=8; t=t|a; tt=t*0.0625; /将温度的高位与低位合并 t= tt*10+0.5; /对结果进行4舍5入 return(t);/以上是DS18B20驱动程序/*定义数字ascii编码*/unsigned char mun_char_table=0123456789abcdef;unsigned char temp_table =Temp: . C;unsigned char temp_high_low=H: . L: . ;/*1MS为单位的延时程序*/void delay_1ms(uchar x) uchar j; while(x-) for(j=0;

21、j125;j+) ; main() unsigned int i=0; unsigned int temp_high; unsigned int temp_low; unsigned char temp; unsigned int num1=320,num2=300; ReadTemperature(); /*读取当前温度*/ lcd_system_reset(); /*LCD1602 初始化*/ P0=0XFF;/关掉数码管的位选信号。阻止数码管受到P0口信号的影响。 delay(); WELA=1; delay(); WELA=0;/ lcd_bad_check(); /*LCD1602

22、坏点检查*/ for (i=0;i12;i+) lcd_char_write(i,0,temp_tablei); for (i=0;i16;i+) lcd_char_write(i,1,temp_high_lowi); i=ReadTemperature(); /*读取当前温度*/ temp_high = i; temp_low = i; while(1) i=ReadTemperature(); /读取当前温度 if(temp_highi) temp_low=i; lcd_char_write(6,0,mun_char_tablei/100); /*把温度显示出来*/ lcd_char_wr

23、ite(7,0,mun_char_tablei%100/10); lcd_char_write(9,0,mun_char_tablei%10); lcd_char_write(2,1,mun_char_tabletemp_high/100); /*显示最高温度*/ lcd_char_write(3,1,mun_char_tabletemp_high%100/10); lcd_char_write(5,1,mun_char_tabletemp_high%10); lcd_char_write(10,1,mun_char_tabletemp_low/100); /*显示最低温度*/ lcd_cha

24、r_write(11,1,mun_char_tabletemp_low%100/10); lcd_char_write(13,1,mun_char_tabletemp_low%10); delay_1ms(100); if(s5=0) lcd_delay(10); /消抖 if(s5=0) while(!s5);/等待按键松开。 num1=num1+10; /*if(s4=0) lcd_delay(10); /消抖 if(s4=0) while(!s4);/等待按键松开。 num2=num2-10; */ if(i=num1) beep=0; else if(i=num2) beep=0; e

25、lse beep=1; 四、实习收获经过这段时间的认知学习,让我更深层次的了解了我们专业、。这为我以后的学习打下了更深的基础,同时也使我有机会将课本上学到的东西学以致用。 在实习期间实验室老师为我详细讲解了很多我之前在书本上学不到的知识,让我觉得受益匪浅。我进一步的认识到理论知识和工程实践都是非常重要的,二者不可偏废。在学校学习的文化知识和专业知识,在进入工作后还必须与工程实践相结合才会使自己在工作中游刃有余。 单片机及PLC是工业生产中必不可少的知识,在许多工业生产中都用到,这一段时间的认知实习,更让我体会到了我们专业在生活中普遍用到。通过老师们详细的讲解,再加上同学的相互帮助,使我收获很多。然后希望所有和我一样实习的同学们在日后的工作中有所发展,取他人长,补自己短. 好好学习,最后,作为当代大学生我们应该努力学习,要跟得上 时代的发展,技术的更新,为祖国的明天奉献自己的力量。参考文献【1】51单片机C语言教程入门、提高、开发、拓展全攻略 郭天祥【2】单片微机原理及 应用 上海 丁元杰 【3】谭浩强.C程序设计 北京:清华大学出版社【4】求是科技.8051系列单片机C语言程序设计 北京:人民邮电出版社附录成绩评定优良中及格不及格

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

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