新型数字螺线管磁场实验仪软件程序的编写以及功能的实现毕业论文
2022-02-10 18:32:06
论文总字数:17666字
摘 要
长久以来,在普遍应用的传统螺线管磁场实验仪中,使用电位器与机械开关分别对电流强度和方向进行控制。而这些机械部件在长时间重复使用过程中,不可避免地形成机械磨损并导致触点接触不良甚至无法工作。本项目基于STC89C52RC单片机,应用触控屏幕和继电器对实验仪器进行改进,数字化控制避免了传统的物理接触而造成的磨损,使得仪器的使用寿命大大延长,损毁率降低。配套的软件系统基于Keil C51开发系统开发,对于有C语言基础的开发员来说,程序开发十分高效而便利。通过触摸屏进行交互控制,并通过触摸屏显示实验数据与曲线图像绘制,为整个实验操作带来便利,数据处理也更加直观精确。应用恒流源与数模转换电路来提供对霍尔电流、励磁电流大小调节的功能。
关键词:螺线管磁场实验仪 单片机软件开发 Keil C51 触摸屏
The software development and the function achievement of New Digital Solenoid Magnetic Field Experiment Instrument
Abstract
Relays and mechanic switches has been utilized in controlling the current with respect to magnitude and direction in the commonly used traditional Solenoid Magnetic Field Experiment Instrument for a long time, which does inevitably give rise to that there would appear mechanic abrasion and poor connection of the mechanic components in the interface and even some getting out of work after repeatedly operating. This project is based on MCU, STC89C52RC, applying touch screen, relays and digitized control system that can prolong the device’s life cycle, meanwhile, damage rate declining. The software system to the instrument is developed on the Keil C51 development platform. Therefore, it is convenient and effective for a developer having learned C language. To achieve interaction control, instantaneously curve sketching and experimental data displaying through touch screen, brings numerous benefits like more precise and visually data proceeding. The modification of Hall current and excitation current is grounded upon D/A circuit that offers constant current.
Key words:Solenoid Magnetic Field Experiment Instrument; software development for MCU; Keil C51; touch screen
目录
摘要 I
Abstract II
第一章 绪论 1
1.1 选题背景 1
1.2 仪器发展现状 1
1.3 选题主要内容 2
第二章 开发软件与集成开发环境简介 3
2.1 C语言 3
2.2 Keil μ Vision 3
2.3 Keil C51 3
2.4 DGUS(迪文屏及其开发软件) 4
2.4.1 数据键入 4
2.4.2 控件显示 4
2.4.3 指令 5
第三章 屏幕显示与交互 6
3.1 界面与显示配置 6
3.2 按钮与交互 6
3.3 虚拟接线 7
3.4 待机功能 7
3.5 程序编写 8
3.5.1 D/A转换与A/D转换 8
3.5.2 虚拟接线 10
3.5.3 曲线绘制 11
3.5.4 待机功能 12
3.5.5 主体程序: 16
第四章 使用说明 21
4.1 用户主界面 21
4.2 虚拟接线 22
4.3 参数预设 22
4.4 实时曲线显示界面 23
4.5 待机界面 24
4.6 备注 25
第五章 总结 26
参考文献 27
致谢 28
绪论
选题背景
大学物理实验中,实验类型可大致分为验证性实验、研究型实验,螺线管磁场的测量是较为典型的一个验证性实验。从学生角度来说,该实验操作步骤少、难度低,主要以加深对螺线管管内磁场分布的认识为主。因此我们对该实验仪器部分部件进行改进,应用STC89C52RC单片机用于算法实现,是整个系统的主控核心[1]。STC89C52 单片机具有较大的存储器空间并且可以支持串口直接下载程序,开发成本得以降低[2]。使用触摸显示屏进行触控操作,再搭配继电器等元件代替电位器、机械开关。在Keil μVision开发环境下,使用C语言进行软件开发。C编程与应用作为本专业的专业基础课程,有着诸多的优点,因此把它作为本项目的开发语言是首选。整个软件系统的编写思路以功能模块化为主,结构简单而又清晰,易于排查错误和再次开发,对于后续软件升级和维护,包括优化都大有助益,同时对相对应于实现电路模块功能的程序片段的移植也提供了相当大的便利。改造后的仪器不仅能够延长使用寿命,还可以方便学生记录数据和数据处理,可以直接保存相关数据和图片。
仪器发展现状
目前学校实验室此类实验设施设备由于投入使用多年,又因为采用的按键、开关等都是以传统的机械部件为主,相当部件老化或者损坏严重,有时影响实验教学进度或者影响学生的实验体验。现有的教学实验部分装置亟待更新并且需要进行优化调整,其中最重要的便是将仪器进行数字化、智能化。对于实验设备所做出的结构改装或者组件更新并不是意味着将学生的实验学习单纯的简单化,而是将一些不必要的工作或者可以通过其他方式替代的进行改进。例如,本实验过程中需要记录多组数据,其数量比较庞大,导致实验内容并不繁杂,却需要耗费很多时间在这项没有意义的工作中。通过程序中预先设计好的算法,对实验数据进行记录的同时,将得到的数据进行筛选,去除个别无效数据再对其进行处理。
实验原理
霍尔效应:把一载流金属导体放在磁场中时,如果磁场方向与电流方向垂直,则在与磁场和电流二者垂直的方向上出现横向电势差[3]。在每一个位置参量Xi处,按对称测量法测出该处的U1,U2,U3,U4,再计算相对应的UH及B值[4]。
选题主要内容
硬件方面由单片机作为此实验设备的控制中心单元,与外围各个模块的电路进行数据交换并对其实现控制,而为了实现这些功能还需要配套的软件系统。为实现实验要求并达到预期效果,需对硬件系统与软件系统进行设计[5]。整个软件系统的规模需求并不庞大,但我们依然面临子功能项目众多的问题,主有以下几个方面的功能需求:
设备参数配置初始化;
数据传送与转换;
实验数据处理和实验图像绘制;
其他(虚拟电路连接、待机功能等);
显示屏配置,用户界面设计。
开发软件与集成开发环境简介
C语言
作为一种面向过程的计算机编程语言,C语言属于比较高级的编程语言,但相对于很多目前热门的面向过程的比如Java语言等高级计算机语言来说,它仍然伫立于一个不可替代的位置,也依旧作为学习编程、软件开发的入门语言或者基础。虽然发行时间比较早,但始终在嵌入式软件开发中,有着不可比拟的优势,其中一个原因就在于C语言除了是大多数计算机专业学生或者工作者必学的基础语言外,也是在其他理工科专业中广泛开设的课程,在基础的或者简单的软件开发需求下,无需学习汇编语言就能很轻易的上手,入门,是作为第一首选的编程语言。C语言的应用面越来越大也导致其在不同的开发环境和应用场景下衍生出了各种版本[6],这些版本整体上依然比较统一,主要在C90标准C语言上进行一定的扩展,不会造成读或者应用上的障碍。C 语言还可以与汇编语言的相互结合,混合编程将两者的优点有机融合,可以满足更多的编程要求[7],但本项目C语言能够很好的支持开发工作,故未采用混合编程。
Keil μ Vision
此开发环境因其强大的可视化视窗功能而为用户提供了良好的开发体验。它集成了工程管理、具有特性丰富的源代码编辑、测试环境等功能受到大量嵌入式系统开发人员的热捧。通过μVision4 IDE中引入的灵活的窗口管理系统,开发人员可以使用多台监视器,在可视界面任何地方全面控制窗口放置[8]。程序编写完成后,通过STC-ISP工具直接将程序下载到单片机中,测试程序运行状态并根据结果进行调试[9]。
Keil C51
应用于单片机软件系统(嵌入式系统)的开发软件数目众多,Keil Software 公司的Keil C51不仅兼容C语言并且集成了编辑、编译、仿真功能,特别是它的界面设计带来的可视化编程体验[10],除了功能强大外也非常有利于刚开始学习单片机的学生或刚入门嵌入式系统开发的开发人员。此外,Keil C51 编译器提供丰富的库函数,不需要用户进行定义,可以直接调用。正确而灵活地使用库函数可使程序代码简单、结构清晰、 易于调试和维护[11]。
DGUS(迪文屏及其开发软件)
DGUS屏自身的功能已经很丰富而全面,与其他厂商的HMI产品相比,拥有独立的软件系统,有着可靠性高、成本相对低、二次开发便利等等优点。在此实验仪器的改进中,该屏幕除了充当显示面板的作用外,还是交互功能实现的重要部件。实验中的数据键入和曲线图像绘制也是通过触摸屏来实现的,而此进程中,单片机并不是直接对显示屏进行控制,而是通过向屏发送特定的数据即可由DGUS屏固化的软件来对数据进行相应的处理和显示。也就是说,单片机与触控屏之间主要存在数据的传输过程,而极大弱化了单片机在诸如数据显示与键入等功能模块中的作为控制中心的这一核心角色。此种模块类型,从系统开发和软件维护方面来说,优点不言而喻,同时也有利于仪器的运行,提高软件的运行效率和稳定性。
作为与屏原生配套的开发软件,为用户提供了人性化的工程管理模式,可帮助用户高效率地设计用户界面和功能设计。除了基本的开发功能外,还集成了众多便利地工具,例如其中将变量导出到EXCEL表格功能,可以非常方便地在表格中查看和管理各个按钮控件的名称、类型等信息。还有实时曲线显示功能,由于编程时(单片机软件)不需要单片机直接驱动显示屏的屏幕显示和控件控制,指令简短而且数量极少,这大大降低了软件编写过程中工作的繁杂程度,也降低了软件相关模块的复杂程度,提高了单片机的效率外也提高了编程效率。相关的屏幕配置只需要在本软件中进行预先配置和完成设计即可。
数据键入
DWIN OS内嵌有GBK汉字文本、键盘码文本、ASCII文本录入功能,可直接在屏显的虚拟键盘上实现此功能。文本的格式,如字体大小,颜色等可在PC组态开发软件上完成预设并将生成后的控件文件拷贝到DGUS屏中进行调整。
控件显示
将控件显示设计为由变量直接控制是该屏的特点之一。将控件配置文件上传到屏后,可以通过串口来改写变量值而控制控件。
指令
数据帧格式(串口通信):
每一帧数据的开头由预设或定义的2字节帧头开始,其作用为识别和同步串口数据帧以及作为设备地址(多屏连接使用时区分设备)。每帧最长可最多传254字节的数据,若带有CRC校验则长度缩减2字节。具体格式见下表:
请支付后下载全文,论文总字数:17666字