微机测控系统_第1页
微机测控系统_第2页
微机测控系统_第3页
微机测控系统_第4页
微机测控系统_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

中北大学信息商务学院课程设计说明书页中北大学信息与通信工程学院课程设计说明书PAGE2目录1引言 12设计要求及内容 12.1设计要求 12.2设计要求 13整体设计 24硬件设计 24.1硬件电路工作原理 24.2各元件介绍 24.3硬件连接图及说明 85软件设计 95.1系统的主程序 95.2系统中断程序 95.3系统的总程序 96调试与运行出现的问题 13参考文献 141引言随着电子技术和微型计算机的迅速发展,微机测量和控制技术得到了迅速的发展和广泛的应用,给人们生活带来了很多方便。在日常生活和工农业生产中,经常要用到温度检测和控制。单片机自问世以来,已成为主要的控制工具之一,具有处理能力强、运行速度快、功耗低等优点,应用在温度测量与控制方面,控制简单方便,测量范围广,精度较高。在现代测控系统中,由于PC机具有强大的数据处理能力和良好的用户交互界面,单片机具有较强的现场抗干扰能力及良好的性价比,因此以PC机为上位机实施用户控制和以单片机为下位机进行实时数据采集的分布式智能化控制系统无疑具有很好的应用前景。本文中单片机实现了温度检测,具有较好的实时性;PC机完成了数据显示、存储及统计分析,绘制了实时温度曲线,并对系统目前所处状况做出了评判。两者之间以串行口进行通信联络。2设计要求及内容2.1设计要求本课题要求设计一个微机测控系统,要求如下:下位机要求:1)用A/D芯片进行温度采集2路温度(要求以一定周期巡回检测)2)温度测量范围为0-200ºC,测量精度为±1ºC3)当温度参数超限并失调时,能声音报警。4)能实现下位机与上位机的实时通讯;上位机要求:1)能实现与下位机的通讯 2)用VB搭建一个良好的界面3)能显示下位机采集到的2路温度的实时曲线2.2设计要求硬件设计(1)用滑动变阻器(代替温度传感器PT100),STC89C51、ADC0809、RS232或RS485、串口及相关电子元件设计完整的硬件电路,并焊接于万能板上;(2)完成相关程序的编写并调试。2)软件设计(1)用VB搭建良好的界面;(2)实时显示硬件电路采集到的2温度曲线3)课程设计说明书3整体设计4硬件设计4.1硬件电路工作原理把实际测量的温度和设定的上下限进行比较,来控制P0.0、P0.1、P0.7端口的高低电平。把P0.0、P0.1、P0.7端口分别与三极管的基极连接来控制温度和报警。当测量的温度超过了设定的最高温度,P2.2由高电平变成低电平,就相当于基极输入为“0”,这时三极管导通推动小风扇和控制电路工作,反之,当基极输入为“1”时,三极管不导通,报警器和控制电路都不工作。只要控制单片机的P0.0、P0.1、P0.7口的高低电平就可以控制模拟电路的工作。4.2各元件介绍4.2.1AT89C51单片机介绍图4.1AT89C51中央微处理器AT89S51:AT89S51是一个低功耗,高性能CMOS8位单片机,片内含4kBytesISP(In-systemprogrammable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80S51引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。AT89S51具有如下特点:40个引脚,4kBytesFlash片内程序存储器,128bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。此外,AT89S51设计和配置了振荡频率,并可通过软件设置省电模式。空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式。AT89S51单片机综合了微型处理器的基本功能。按照实际需要,同时也考虑到设计成本与整个系统的精巧性,所以在本系统中就选用价格较低、工作稳定的AT89S51单片机作为整个系统的控制器。①电源引脚

Vcc(40脚):典型值+5V。

Vss(20脚):接低电平。

②外部晶振

X1、X2分别与晶体两端相连接。当采用外部时钟信号时,X2接振荡信号,X1接地

③输入输出口引脚:

P0口:I/O双向口。作输入口时,应先软件置“1”。

P1口:I/O双向口。作输入口时,应先软件置“1”。

P2口:I/O双向口。作输入口时,应先软件置“1”。

P3口:I/O双向口。作输入口时,应先软件置“1”。

④控制引脚:

RST/Vpd、ALE/-PROG、-PSEN、-EA/Vpp组成了MSC-51的控制总线。

RST/Vpd(9脚):复位信号输入端(高电平有效)。

第二功能:加+5V备用电源,可以实现掉电保护RAM信息不丢失。

ALE/-PROG(30脚):地址锁存信号输出端。

第二功能:编程脉冲输入。

-PSEN(29脚):外部程序存储器读选通信号。

-EA/Vpp(31脚):外部程序存储器使能端。

第二功能:编程电压输入端(+21V)。4.2.2单片机最小应用系统时钟电路和复位电路是单片机最小应用系统中必不可少的。单片机时钟电路图,如图3-1所示:XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。复位是使单片机或系统中的其他部件处于某种确定的初始状态。单片机的工作就是从复位开始的,当在单片机的RST引脚引入高电平并保持2个机器周期时,单片机内部就执复位操作(若该引脚持续保持高电平,单片机就处于循环复位状态)。实际应用中,复位操作有两种基本的形式:一种是上电复位,另一种是上电与按键均有效的复位。由于本次设计采用的是上电复位,所以这里只介绍上电复位,如下图3-2所示:图4.2复位报警电路图4.2晶振电路4.2.3ADC-0809芯片介绍及AD转换电路图4.4ADC0809AD转换电路4.2.4RS-232串口通信介绍EIARS-232C是由美国电子工业协会EIA(ElectronicIndustryAssociation)在1969年颁布的一种串行物理接口标准。RS(RecommendedStandard)是英文“推荐标准”的缩写,232为标识号,C表示修改次数。RS-232C总线标准设有25条信号线,包括一个主通道和一个辅助通道。在多数情况下主要使用主通道,对于一般双工通信,仅需几条信号线就可实现,如一条发送线、一条接收线及一条地线。RS-232C标准规定的数据传输速率为每秒150、300、600、1200、2400、4800、9600、19200波特。RS-232C标准规定,驱动器允许有2500pF的电容负载,通信距离将受此电容限制,例如,采用150pF/m的通信电缆时,最大通信距离为15m;若每米电缆的电容量减小,通信距离可以增加。传输距离短的另一原因是RS-232属单端信号传送,存在共地噪声和不能抑制共模干扰等问题,因此一般用于20m以内的通信。图4.5RS232通信电路4.3硬件连接图及说明硬件部分主要由晶振电路,复位电路,89C51微处理器系统,报警系统,AD转换电路,单片机程序下载和RS232通信电路组成。如图示图4.6总体电路图5软件设计5.1系统的主程序主程序是系统的监控程序,在程序运行的过程中必须先经过初始化,包括键盘程序,中断程序,以及各个控制端口的初始化工作。流程图如5.1所示。系统在初始化完成后就进入温度测量程序,实时的测量当前的温度并通过显示电路在LCD上显示。程序中以中断的方式来重新设定温度的上下限。根据硬件设计完成对温度的控制。5.2系统中断程序MCS-51单片的中断系统有5个中断请求源,用户可以用关中断指令“CLREA”来屏蔽所有的中断请求,也可以用开中断指令“SETEA”来允许CPU接收中断请求。在本设计中我们选用INTO来作为中断请求源。INT1—外部中断请求0,由INTO引脚输入,中断请求标志为IE0。ORG 0000HLJMP MAINORG 0003H(中断入口地址)JMP INT0ORG 0038H(主程序的起始地址)MAIN:(主程序)5.3系统的总程序ORG0000H AJMPMAIN ORG001BH AJMPSERVE ORG0030HMAIN:MOV40H,#00H;通道0的存储位MOV41H,#00H;通道1的存储位 MOV42H,#00H;A/D转化暂存位 MOV43H,#00H;串口发送暂存位 MOVTMOD,#12H SETBET1 SETBEA MOVTH1,#0FFH MOVTL1,#0D0H SETBTR1 LCALLBOTELV;设置波特率子程序 MOVP1,#00H ;统计通道0 LCALLADC;A/D转化初程序 MOVA,42H MOV40H,A LCALLBAOJ1;报警子程序1 MOVA,40H MOV43H,A LCALLCHUANF;串行口发送程序 MOVP1,#01H ;统计通道1 LCALLADC MOVA,42H MOV41H,A LCALLBAOJ2 ;报警子程序2 MOVA,41H MOV43H,A LCALLCHUANF;串行口发送程序 AJMPMAINADC:PUSHACC PUSHPSW SETBP1.1LCALLTIME;延时子程序 CLRP1.1 LCALLCXAD;查询转化完毕的子程序 MOVP2,#0FFH MOVA,P2 MOV42H,A POPPSW POPACC RETI TIME:PUSHACCPUSHPSWMOVR1,#0FAH;延时子程序TLL1:MOVR0,#0FFHTWL1:DJNZR0,TWL1 DJNZR1,TLL1 NOP NOP POPPSW POPACC RETICXAD:SETBP1.2 ;查询转化完成的子程序MOVC,P1.2 JNCCXAD RETIBAOJ1:PUSHACCPUSHPSWMOVA,40HCJNEA,#0C8H,BL1 AJMPBL2 BL1:JNC BL2 CLRP3.5 AJMPBL3 BL2:SETBP3.5 BL3:POPPSW POPACC RETIBAOJ2:PUSHACCPUSHPSWMOVA,41HCJNEA,#0C8H,BL5 AJMPBL6 BL5:JNC BL6 CLRP3.6 AJMPBL7 BL6:SETBP3.6 BL7:POPPSW POPACC RETIBOTELV:MOVTL0,#0F3HMOVTH0,#0F3H SETBTR0MOVSCON,#50HRETICHUANF:MOVA,43HMOVSBUF,AWAIT:JBCTI,LOOP5AJMPWAIT;等待发送完毕LOOP5:RETISERVE:PUSHPSWPUSHACC MOVTH1,#0FFH MOVTL1,#0D0H SETBTR1 CPLP3.7 POPACC POPPSW RETIEND6调试与运行出现的问题(1)由于此前花费大量的经历在模块的流程图设计当中因此在模块调试的过程中并没有出现太多的问题主要问题在于语法错误和一些输入的错误并且由于程序过于长难以进行完整的软件调试调试过程中发现的问题主要出现在烧写调试过程中。(2)第二个问题产生的原因主要是比较简单预置时间时判断哪个项目闪烁的优先级和判断哪个项目数值改变的优先级不一致由于是中断程序和显示主程序同时控制这个功能因此这两个优先级必须一样否则当同时按下两个项目的预置开关的时候中断程序首先判断一个开关有效改变其对应值而显示主程序却首先判断第二个

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论