毕业实习报告基于51单片机和labview(共31页).doc
《毕业实习报告基于51单片机和labview(共31页).doc》由会员分享,可在线阅读,更多相关《毕业实习报告基于51单片机和labview(共31页).doc(31页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上 毕业实习设计院 系信息科学技术学院专业班级姓 名学 号 2014年 10 月2日专心-专注-专业前言转眼间,三年大学生活已经接近尾声,的钟声将要敲响。将课堂所学知识运用于成为毕业生们必经的道路。带着的忠告,2014年9月11日我有幸在学校进行单片机与LabVIEW实习。纸上得来终觉浅,绝知此事要躬行。在短暂的实习过程中,我深深的感觉到所学知识的肤浅和在实际运用中的专业知识的匮乏。刚开始的一段里,对一些知识感到无从下手,茫然不知所措,实习第一天就开始攻克汇编语言。刚开始进行的是完成培训的工作。由于感觉和专业不怎么对口,所以对于培训便没有在意,总以为这些工作很简单,但是
2、这种浮躁的态度让我忽视了实习的目的接触和融入社会,以至于后来考核时有点手足无措。 时间过的真快,转眼间,在学校的实习马上要接近尾声了。通过这一个月的实习,我接触到了真正的规模、工作,亲手进行了单片机的深入学习,真正从课本中走到了现实中,从抽象的理论回到了多彩的实际生活。以下是我在实习过程中的两个项目汇总。项目一 温度的显示与控制系统设计一、 功能要求采用51单片机和温度传感器DS18B20设计一种数字温度计,当温度处于15到30时,系统采用7段数码管显示当前温度值。当温度超过预警值时(过高或过低),报警器响;当温度过高时,启动风扇转动降温(启动直流电机运转);当温度过低时,启动加热器升温(启动
3、继电器工作)。二、 硬件电路设计数字温度计硬件设计电路如图1所示,主要包括51单片机、温度传感器DS18B20、7段数码管显示模块等。2.1 温度传感器DS18B20温度传感器DS18B20是一种新型数字温度传感器,采用单线接口方式,仅需一个端口引脚来发送或接收信息,在单片机和DS18B20之间仅需一条数据线和一条地线进行接口。DS18B20采用TO-92封装,引脚排列如图2所示。 图1、数字温度计硬件电路 图2、DS18B20管脚DS18B20各引脚功能如下:l GND: 地l DQ: 单线应用的数据输入/输出引脚l VDD:可选的外部供电电源引脚。DS18B20内部有三个主要数字部件:64
4、位激光ROM、温度传感器、非一时性温度报警触发器TH和TL。这里我们采用外部供电方式,如图3。 图3 DS18B20的外部供电方式 DS18B20依靠单线端口通信,必须先建立ROM操作协议,才能进行储存器和控制操作。因此,单片机必须先提供下面5个ROM操作命令之一:一、 读出ROM,代码为33H,用于读出DS18B20的序列号,即64位激光ROM代码。二、 匹配ROM,代码为55H,用于辨别某一特定的DS18B20操作。三、 搜素ROM,代码为F0H,用于确定总线上的节点数以及所有节点的序列号。温度LSB字节1温度MSB字节2TH用户字节1字节3TH用户字节1TL用户字节2字节4TL用户字节2
5、配置寄存器字节5保留字节6保留字节7保留字节8CRC字节9四、 跳过ROM,代码为CCH,命令发出后系统对所有的DS18B20进行操作,通常用于启动所有DS18B20转换之前,或系统中仅有一个DS18B20时。五、 报警搜索,代码为ECH,主要用于鉴别和定六、 位系统中超出程序设定的报警温度的节点。这些命令对每个器件的激光ROM部分进行操作,在单线总线上挂有多个器件时,可以区分出单个器件,同时指出有多少器件或是什么型号的器件。 图4、DS18B20内部存储器映像存储器由一个高速暂存器和一个存储高低温报警触发值TH和TL的非易失性可擦除组成。前2字节为实测温度值,低字节在前,高字节在后,第3和第
6、4字节是用户设定温度报警值TH和TL的副本,是易失,每次上电时被刷新。第5字节为配置寄存器,用于确定数字值的数字转换分辨率,DS18B20工作时按此寄存器中的分辨率将温度转换为相应精度的数值。配置寄存器各位的分布如下:D7D6D5D4D3D2D1D0TMR1R011111其中,TM为测试模式位,用于设定DS18B20为工作模式还是为测试方式,默认是0,用户一般不要改动。R1和R0用于设定温度转换的精度分辨率,如表1所示。其余低5位全为1。DS18B20温度转换时间较长,而且设定的分辨率越高,所需转换时间越长,因此实际应用中要根据具体情况权衡考虑。表1、 DS18B12的分辨率R1R0分辨率温度
7、最大转换时间0 0993.750110187.510113751112750高速暂存器的第6、7、8字节保留未用,读出值为全1。第9字节为前面8个字节的CRC校验码,用于保证数据通信的正确性。DS18B20提供了如下存储器操作命令。(1)温度转换,代码为44H,用于启动DS18B20进行温度测量,温度转换命令被执行后DS18B20保持等待状态。如果主机在这条命令之后跟着发出读时间隙,而DS18B20又忙于进行温度转换,DS18B20将在总线上输出“0”,若温度转换完成,则输出“1”。(2)读暂存器,代码为BEH,用于读取暂存器中的内容,从字节0开始最多可以读取9个字节,如果不想读完所有字节,主
8、机可以在任何时间发出复位命令中止读取。(3)写暂存器,代码为4EH,用于将数据写入到DS18B20暂存器的地址2和地址3(TH和TL字节),可以在任何时刻发出复位命令中止写入。(4)复制暂存器,代码为48H,用于将暂存器的内容复制到DS18B20的非易失性中,即把温度报警触发字节存入非易失性存储器里。如果主机在这条命令之后跟着发出读时间隙,而DS18B20又正在忙于把暂存器的内容复制到存储器,DS18B20就会输出一个“0”,如果复制结束的话,DS18B20则输出“1”。(5)重读,代码B8H,用于将存储在非易失性中的内容重新读入到暂存器中。这种复制操作在DS18B20上电时自动执行,这样器件
9、一上电,暂存器马上就存在有效的数据。若在这条命令发出之后发出读时间隙,器件会输出温度转换忙的标志,“0”代表忙,“1”代表完成。(6)读电源,代码B4H,用于将DS18B20的供电方式信号发送到主机。若在这条命令发出之后读时间隙,DS18B20将返回它的供电模式,“0”代表寄生电源,“1”代表外部电源。一条温度转换命令启动DS18B20完成一次温度测量,测量结果以二进制补码形式存放在的高速暂存器中,占用暂存器的字节1(LSB)和字节2(MSB)。用一条读暂存器内容的存储器操作命令可以把暂存器中的数据读出。温度报警触发器TH和TL各由一个字节构成,可以用一条写存储器操作命令对TH和TL进行写入,
10、对这些寄存器的读出需要通过暂存器。所有数据都以低位(LSB)在前的方式进行读/写,数据格式以0.0625/LSB形式表示如下:LSB字节:232221202-12-22-32-4MSB字节:SSSSS262524当符号位S=0时,表示测得温度为正,可以直接对测得的二进制数进行计算并转换为十进制。当符号位S=1时,表示测得的温度值为负,此时测得的二进制为补码数,要先变成源码数再进行计算。总体时序图:图5 DS18B20的初始化以及复位方式图6 DS18B20的读字节时序图图7 DS18B20的写命令时序图2.2 L298N驱动模块L298N是ST公司生产的一种高电压、大电流电机驱动芯片(如图8)
11、。特点是:工作电压高,最高工作电压可达46V;输出电流大,瞬间峰值电流可达3A,持续工作电流为2A;内含两个H桥的高电压大电流全桥式驱动器,可以用来驱动直流电动机和步进电动机、继电器线圈等感性负载;采用标准逻辑电平信号控制;具有两个使能控制端,在不受输入信号影响的情况下允许或禁止器件工作有一个逻辑电源输入端,使内部逻辑电路部分在低电压下工作;并且可以外接检测电阻,将变化量反馈给控制电路。使用L298驱动电机,该芯片可以驱动两个电机,也可以驱动一个四相电机,可以直接通过电源来调节输出电压;L298的主要引脚功能如下:+5V:芯片电压5V;VCC:电机电压。最大可接50V;GND: 共地接法;Ou
12、t1-Out2:输出端,接电机1;Out3-Out4:输出端,接电机2;EN1、EN2:高电平有效,EN1、EN2分别为IN1和IN2、IN3和IN4的使能端;IN1-IN4:输入端,输入端电平和输出端电平是对应的; 图8 L298内部原理图 图9 驱动接法可以看出当SENBA接地,INI1和VS接高电平的时候,只用控制INT2的高低电平就可操纵电机的停止与转动。当INT2为高电平的时候,电机停止转动;当INT2为低电平的时候,电机顺时针转动。2.3 7段LED数码显示器最常用的一种数码显示器是由7段条形的LED组成,如图10所示。点亮适当的字段就可以显示出不同的数字。此外,不少七段数码显示器
13、在右下角带有一个圆形的LED作小数点用,这样一共有8段,恰好用于8位并行系统。这里我们采用共阳接法。图10 七段LED数码显示器的连接为了在七段LED上显示不同的数字或字符,首先要把数字或字符转换成相应的段码,如表2所示。表2 七段数码显示器的段码表本次试验采用的接法如图11。图11 七段数码管接法三、 软件电路设计下面的程序列出了数字温度计的软件程序清单,包括主程序、DS18B20复位与检测子程序、读温度子程序和数据处理子程序、温度显示子程序、执行警报程序。主程序首先进行初始化,当检测到DS18B20存在时发出温度转换命令和读温度命令,在分别调用相应的数据处理子程序,完成测量和显示工作。DS
14、18B20复位帮助初始化DS18B20。读温度子程序只读出DS18B20暂存器前4字节的数据:温度值LSB、温度值MSB、温度报警值TH和TL,并将它们分别存入26到29H。读温度子程序首先判断温度值MSB的符号位,当符号位S=0时,表示测得值为正值,即(b&0xf8=0)可以直接把二进制转换成十进制;当符号位S=1,即(b&0xf8!=0)表示测得值为负数,要先将补码变成原码,在计算十进制值。计算时先将LSB的低4位取出,进行小数部分数据处理。再将温度值LSB的高4位和温度值低4位取出,重新组合后进行整数部分数据处理。温度显示子程序将从DS18B20读出的温度值,经过数据处理后,送往7段LE
15、D显示。温度比较程序实测温度与设定温度进行比较,根据比较结果进行处理。具体程序如附录,程序流程图,如图12所示。图12 总程序流程图四、 电路图总体设计把每个模块进行汇总,如图13所示。图13 各模块的电路图项目二 基于myDAQ和DAQ助手进行数据采集NI myDAQ是NI针对高校教学的多功能虚拟仪器实验平台,其功能中包含了数据采集。对于数据采集相关的功能而言(模拟信号输入、模拟信号生成、数字信号输入与输出、计数器相关的输入与输出),其开发方式与其他NI数据采集设备完全相同。在后续练习中,我们将以NI myDAQ作为学习数据采集操作的硬件平台。Pre-Lab 检查硬件连接与配置1. 检查my
16、DAQ已通过USB线缆连接至电脑,如果正常,myDAQ上USB接口旁边的蓝色LED指示灯会点亮。2. 用导线AO 0连至AI 0+,将AGND连至AI 0-,将DIO 0连接至DIO 43. 通过开始所有程序National InstrumentMeasurement & Automation 打开 NI Measurement & Automation Explorer(以后简称MAX,这是一个可以管理所有系统中的NI设备硬件资源并进行相关配置和自检的一个软件,随任何NI驱动程序会安装在PC中)4. 在MAX中单击“设备和接口”,检查是否能找到NI myDAQ,如果连接正常,前面的板卡符号应
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业 实习 报告 基于 51 单片机 labview 31
限制150内