智能仪器仪表课程设计.doc

上传人:李主任 文档编号:3316942 上传时间:2019-08-11 格式:DOC 页数:20 大小:333.90KB
返回 下载 相关 举报
智能仪器仪表课程设计.doc_第1页
第1页 / 共20页
智能仪器仪表课程设计.doc_第2页
第2页 / 共20页
智能仪器仪表课程设计.doc_第3页
第3页 / 共20页
智能仪器仪表课程设计.doc_第4页
第4页 / 共20页
智能仪器仪表课程设计.doc_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《智能仪器仪表课程设计.doc》由会员分享,可在线阅读,更多相关《智能仪器仪表课程设计.doc(20页珍藏版)》请在三一文库上搜索。

1、智能仪表综合课程设计摘 要随着时代的进步和发展,智能仪表已经普及到我们生活、工作、科研、各个领域,已经成为一种比较成熟的技术, 本文主要介绍了一个基于89C51单片机的温度报警系统,软件编程以及各模块系统流程进行了详尽分析,对各部分的电路也一一进行了介绍,该系统可以方便的实现实现温度采集和模数转换,并可根据需要任意设定上下限报警温度,它使用起来相当方便,具有精度高、量程宽、灵敏度高、体积小、功耗低等优点,适合于我们日常生活和工、农业生产中的温度测量,也可以当作温度处理模块嵌入其它系统中,作为其他主系统的辅助扩展。AT89C51与ADC0808结合实现最简温度报警系统,该系统结构简单,抗干扰能力

2、强,适合于恶劣环境下进行现场温度测量,有广泛的应用前景。关键词:温度报警;ADC0808;AT89C51目录1 智能仪器仪表的简介21.1智能仪器仪表简介21.2智能仪器仪表的作用31.3本课题的背景和意义42 系统设计简介42.1 芯片简介42.2 设计要求52.3 设计方案论证52.4 硬件设计电路53 系统硬件设计63.1控制模块63.2显示电路73.3转换模块73.4报警模块83.5系统总体电路图84 设计语言及软件介绍104.1 keil语言介绍104.2 Proteus软件介绍104.3 keil与proteus联调与仿真实现115 系统软件设计125.1 程序设计思路125.2源

3、程序135.3 调试及仿真186 结 论197 参考文献191 智能仪器仪表的简介1.1智能仪器仪表简介仪器仪表(英文:instrumentation)仪器仪表是用以检出、测量、观察、计算各种物理量、物质成分、物性参数等的器具或设备。真空检漏仪、压力表、测长仪、显微镜、乘法器等均属于仪器仪表。广义来说,仪器仪表也可具有自动控制、报警、信号传递和数据处理等功能,例如用于工业生产过程自动控制中的气动调节仪表,和电动调节仪表,以及集散型仪表控制系统也皆属于仪器仪表。1.2智能仪器仪表的作用随着科技的不断发展,现代社会对各种信息参数的准确度和精确度的要求都有了几何级的增长,而如何准确而又迅速的获得这些

4、参数就需要受制于现代信息基础的发展水平。在三大信息信息采集(即传感器技术)、信息传输(通信技术)和信息处理(计算机技术)中,传感器属于信息技术的前沿尖端产品,尤其是温度传感器技术,在我国各领域已经引用的非常广泛,可以说是渗透到社会的每一个领域,人民的生活与环境的温度息息相关,在工业生产过程中需要实时测量温度,在农业生产中也离不开温度的测量,因此研究温度的测量方法和装置具有重要的意义。测量温度的关键是温度传感器,温度传感器的发展经历了三个发展阶段:传统的分立式温度传感器模拟集成温度传感器智能集成温度传感器。在当今信息化时代展过程中,各种信息的感知、采集、转换、传输和处理的功能器件已经成为各个应用

5、领域中不可缺少的重要技术工具。传感器是信息采集系统的首要部件,是实现现代化测量和自动控制的主要环节,是现代信息产业的源头,又是信息社会赖以存在和发展的物质与技术基础。可见理解和撑握传感器的知识与技术有着其极重要的意义。传感器知识面广,如果在实践技能的锻炼上下功夫,单凭课堂理论课学习,势必出现理论与实践脱节的局面。任随书本上把单片机技术介绍得多么重要、多么实用多么好用,同学们仍然会感到那只是空中楼阁,离自己十分遥远,或者会感到对它失去兴趣,或者会感到它高深莫测无从下手,这些情况都会令课堂教学的效果大打折扣。本次设计的目的就是让我们在理论学习的基础上,通过完成一个传感品器件的设计,使我们学生不但能

6、够将课堂上学到的理论知识与实际应用结合起来,而且能够对电子电路、电子元器件、印制电路板等方面的知识进一步加深认识,同时在软件编程、排版调试、焊接技术、相关仪器设备的使用技能等方面得到较全面的锻炼和提高。1.3本课题的背景和意义 本设计主要是应用proteus软件和嵌入式C语言编程工具,结合单片机原理及应用。危机原理与接口技术等专业课程,强化和巩固专业理论基础,掌握Proteus仿真的技巧和嵌入式C语言编程工具,提高单片机开发能力,并为嵌入式开发打下基础。2 系统设计简介2.1 芯片简介 本设计选择采用AT89C51单片机为核心。AT89C51提供以下标准功能:4k字节Flash闪速存储器,12

7、8字节内部RAM,32个I/O口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内震荡器及时钟电路。同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但震荡器停止工作并禁止其他所有部件工作直到下一个硬件复位。2.2 设计要求 用可调电阻调节电压值作为模拟温度的输入量,当温度低于30时,发出长嘀报警声和光报警,当温度高于60时,发出短嘀报警声和光报警。测量的温度范围在099。2.3 设计方案论证根据系统的设计要求,选择ADC0

8、808作为本系统的模数转换器,选择单片机AT89C51为测控系统的核心来完成数据采集、处理、显示等功能。该系统的总体设计思路如下:ADC0808模数转换器把模拟量转化成数字量即温度,发送到AT89C51单片机上,经过51单片机处理,将把温度在显示电路上显示,当温度高于60时,发出短嘀报警声和光报警。测量的温度范围在099。 按照系统设计功能的要求,确定系统由4个模块组成:显示模块、控制模块、A/D转换模块、报警模块。本课题以是89C51单片机为核心设计的一种数字温度控制系统,系统整体硬件电路包括,模数转换电路,温度显示电路,单片机主板电路等组成。2.4 硬件设计电路温度报警器设计电路图如图2.

9、4所示,控制器使用单片机AT89C51,模数转换器选ADC0808,用LED实现温度显示。a) 把“单片机系统”区域中的P1.0P1.7与“动态数码显示”区域中的ABCDEFGH端口用8芯排线连接。b) 把“单片机系统”区域中的P2.0P2.7与“动态数码显示”区域中的S1S2S3S4S5S6S7S8端口用8芯排线连接。c) 把“单片机系统”区域中的P3.0与“模数转换模块”区域中的ST端子用导线相连接。d) 把“单片机系统”区域中的P3.1与“模数转换模块”区域中的OE端子用导线相连接。e) 把“单片机系统”区域中的P3.2与“模数转换模块”区域中的EOC端子用导线相连接。f) 把“单片机系

10、统”区域中的P3.3与“模数转换模块”区域中的CLK端子用导线相连接。g) 把“模数转换模块”区域中的A2A1A0端子用导线连接到“电源模块”区域中的GND端子上。h) 把“模数转换模块”区域中的IN0端子用导线连接到“三路可调电压模块”区域中的VR1端子上。i) 把“单片机系统”区域中的P0.0P0.7用8芯排线连接到“模数转换模块”区域中的D0D1D2D3D4D5D6D7端子上。j) 把“单片机系统”区域中的P3.6、P3.7用导线分别连接到“八路发光二极管指示模块”区域中的L1、L2上。k) 把“单片机系统”区域中的P3.5用导线连接到“音频放大模块”区域中的SPK IN端口上。l) 把

11、“音频放大模块“区域中的SPK OUT插入音频喇叭。 3 系统硬件设计3.1控制模块图3-1 AT89C51引脚图3.2显示电路如图所示:图3-2显示路3.3转换模块图3-3 ADC0808原理图3.4报警模块 图3-4 报警模块3.5系统总体电路图 温度计电路设计原理图如图3-7所示,控制器使用单片机AT89C51,转换模块使用ADC0808,用LED实现温度显示。 图3-5系统总体设计图4 设计语言及软件介绍4.1 keil语言介绍 Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系 统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显

12、的优势。因而易学易用。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试等在内的完整开发方案,通过一个集成开发环境uVision将这些部分组合在一起。运行Keil软件需要WIN98、NT、WIN2000、WINXP等操作系统。4.2 Proteus软件介绍 Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机,与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30

13、/DsPIC33、AVR、ARM、8086和MSP430等,2010年又增加了Cortex和DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、Keil和MPLAB等多种编译器。具有智能原理图设计,完善的电路仿真功能,单片机协同仿真功能,实用的PCB设计平台等功能。Proteus的资源丰富,Proteus可提供的仿真元器件资源:仿真数字和模拟、交流和直流等数千种元器件,有30多个元件库。Proteus提供了比较丰富的测试信号用于电路测试这些测试包括模拟信号和测试信号。在PROTEUS绘制好原理图后,调入已编译好的目标代码文件:*.HEX,可以在PROTEUS的原理图中看

14、到模拟的实物运行状态和过程。课程设计、毕业设计是学生走向就业的重要实践环节。由于PROTEUS提供了实验室无法相比的大量的元器件库,提供了修改电路设计的灵活性、提供了实验室在数量、质量上难以相比的虚拟仪器、仪表,因而也提供了培养学生实践精神、创造精神的平台。广泛应用到教学,技能考评,产品开发等众多领域。 Proteus ISIS的工作界面是一种标准的Windows界面,包括:标题栏、主菜单、标准工具栏、绘图工具栏、状态栏、对象选择按钮、预览对象方位控制按钮、仿真进程控制按钮、预览窗口、对象选择器窗口、图形编辑窗口。 4.3 keil与proteus联调与仿真实现 双击图标进入keil uVis

15、ion2编程环境,输入程序。返回桌面双击图标进入Proteus仿真环境。点击左上角选项P后根据设计的电路图调出所需元件画好硬件原理图如图所示。然后按照4.1节所写步骤设置keil和proteus的工作环境。实现keil和proteus的联调。 5 系统软件设计5.1 程序设计思路主程序框图开 始设定温度上下限显示当前温度判断当前温度值是否为300C?YNNY温度30? Y灯亮,发出短嘀报警灯亮,发出长嘀报警结束5.2源程序#include unsigned char code dispbitcode=0xfe,0xfd,0xfb,0xf7, 0xef,0xdf,0xbf,0x7f;unsign

16、ed char code dispcode=0x3f,0x06,0x5b,0x4f,0x66, 0x6d,0x7d,0x07,0x7f,0x6f,0x00;unsigned char dispbuf8=10,10,10,10,10,10,0,0;unsigned char dispcount;unsigned char getdata;unsigned int temp;unsigned char i;sbit ST=P30;sbit OE=P31;sbit EOC=P32;sbit CLK=P33;sbit LED1=P36;sbit LED2=P37;sbit SPK=P35;bit lo

17、wflag;bit highflag;unsigned int cnta;unsigned int cntb;bit alarmflag;void main(void) ST=0; OE=0; TMOD=0x12; TH0=0x216; TL0=0x216; TH1=(65536-4000)/256; TL1=(65536-4000)%256; TR1=1; TR0=1; ET0=1; ET1=1; EA=1; ST=1; ST=0; while(1) if(lowflag=1) &(highflag=0) LED1=0; LED2=1; else if(highflag=1) & (lowf

18、lag=0) LED1=1; LED2=0; else LED1=1; LED2=1; void t0(void) interrupt 1 using 0 CLK=CLK;void t1(void) interrupt 3 using 0 TH1=(65536-500)/256; TL1=(65536-500)%256; if(EOC=1) OE=1; getdata=P0; OE=0; temp=getdata*25; temp=temp/64; dispbuf6=temp/10; dispbuf7=temp%10; if(getdata153) lowflag=0; highflag=1;

19、 else lowflag=0; highflag=0; ST=1; ST=0; P2=0xff; P1=dispcodedispbufdispcount; P2=dispbitcodedispcount; dispcount+; if(dispcount=8) dispcount=0; if(lowflag=1) & (highflag=0) cnta+; if(cnta=800) cnta=0; alarmflag=alarmflag; if(alarmflag=1) SPK=SPK; else if(lowflag=0) & (highflag=1) cntb+; if(cntb=400

20、) cntb=0; alarmflag=alarmflag; if(alarmflag=1) SPK=SPK; else alarmflag=0; cnta=0; cntb=0; 5.3 调试及仿真经软件调试-仿真器proteus调试通过,并烧录芯片,得到所要求的设计结果。如图5.4试验成功。 图5.3 温度报警器仿真图6 结 论本设计利用89C51芯片控制模数转换器ADC0808,再辅之以部分外围电路实现对环境温度的测控,性能稳定,精度较高,而且扩展性能很强大。 智能仪器仪表是我们专业的一门重要的专业课,起初我对软件方面并不感兴趣,学习也不是很认真,但是经过老师的指导,使得我对软件有了更多的

21、认识,并且能够不只是停留在理论水平,我亲自动手实践,增加了自己理论联系实践的能力,这让我受益匪浅,也逐渐喜欢软件方面课程的学习。 在实践过程中,其实我遇到了很多问题,编程会出现字母打错,和编程指令使用错误,原理图连线不正确,参数选择不恰当等等。我总是在不断的修改,最终调试成功。与此同时增强了自己发现问题,解决问题的能力。这一次的课设让我学会了很多东西,我非常感谢老师对我的帮助。 这次的课设之后,让我不再惧怕课设,并且逐渐喜欢软件,很想自己有一天可以设计出完美的作品。我会一直努力,为着这个远大的理想而奋斗7 参考文献1) 单片机的C语言程序设计与应用2) 微机原理与接口技术3) 单片机原理与应用技术19

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/环境 > 装饰装潢


经营许可证编号:宁ICP备18001539号-1