版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、智能控制仪表简单设计【摘 要】:随着传感器技术、微电子技术、单片机技术的不断发展,为智能控制仪表测控功能的完善、测控精度的提高和抗干扰能力的增强等提供了条件。本设计介绍了一种用变送器现场采集的温、湿度等信号再经a/d转换送单片机进行处理,最后通过数码显示器,键盘等硬件设计实现了工作过程的自动化。一般的单片机系统在工业现场等恶劣的环境下容易死机,所以在本文中外加监视电路对系统起保护作用。第1章 引言 仪器仪表是人类认识世界的工具,人们借助于各种仪器仪表对各种物理量进行度量,反映其大小与变化规律. 随着人类认识能力的提高与科学技术不断进步,仪器仪表技术得到了飞速发展.50 年代以前,仪器仪表多为指
2、针式,其理论基础是机电学. 从50 年代起,电子技术特别是数字技术的发展,给仪表行业带来了生机,各种数字式仪表相继问世,许多传统的指针式仪表相继被淘汰,数字仪表使仪表外观耳目一新,数据表达能力与总体性能都大幅提高. 70 年代中期,随着微处理器的出现以及单片机的兴起与应用,设计者将计算机特有的许多优点引入仪表设计,随之产生了一代崭新的智能仪表,使仪表逐渐由数字型向智能化发展,其功能也由单一显示功能转变为具有信息处理、传输、存贮、显示、控制等功能,使仪表性能产生了质的飞跃.,品种繁多. 目前,我国仪器仪表有13 大类,1 300 多个产品. 其中自动化仪表及控制系统是和国民经济各产业部门关系最为
3、密切的一类产品,其传感变送单元与主控装置及i/o接口均正朝智能化方向发展.在本设计中采用以单片机作为仪表核心控制器件,可以利用a/d转换芯片对标准信号进行采集、转换,将输入的模拟量转换成单片机能够检测的数字量进行分析和监测控制,同时可以利用键盘显示电路将相关数据进行显示。与此同时通过所查阅的资料我还了解到随着测量技术的发展和微处理器的广泛应用,单片机系统的电路越来越复杂,而系统的可靠性问题也越来越突出,一般的单片机系统在工业现场等恶劣的环境下容易死机,因此系统在这些场合要保证能够稳定的工作就必须外加监视电路,在设计中采用了美国集把关定时器、电压监控和串行eeprom三项功能于一体的专用集成芯片
4、x5045。该芯片的应用将有利于简化单片机系统的结构,增强功能、降低系统的成本,尤其是大大的增加了系统的可靠性。x5045中的看门狗对系统提供了保护功能。当系统发生故障而超过设置时间时,电路中的看门狗将通过reset信号向cpu作出反应。x5045提供了三个时间值供用户选择使用。它所具有的电压临控功能还可以保护系统免受低电压的影响,当电源电压降到允许范围以下时,系统将复位,直到电源电压返回到稳定值为止。本次毕业设计旨在掌握智能控制仪表的设计方法,同时掌握在开发系统下实现部分软件的仿真方法。第2章 控制系统的硬件设计硬件组成 智能仪表的硬件方框图如图2.1被测量转换电路变送器组键盘显示输出单片机
5、a/d转换器pc机串行通信接口芯片d/a转换器记录模拟机构 图2.1 智能控制仪表的原理框图图2.2 at89c52引脚图21 cpu的选择6at89c52 芯片有40 个引脚,32 个外部双向输入/输出(i/o)端口。同时内含2 个外中断口,3 个16 位可编程定时计数器,2 个全双工串行通信口,2 个读写口线。at89c52 可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和flash 存储器结合在一起,特别是可反复擦写的flash存储器可有效地降低开发成本。基于上述特点,可使电路极大地简化,而且程序的编写及固化也相当方便、灵活。at89c52的引脚如图2.2所示。22 标准信
6、号转换电路5设计要求实现05v,15v,010ma,420ma标准信号变换电路的设计,输入信号范围确定,输出电压范围则取决于所选取的a/d转换芯片的输入电压范围,a/d转换器选用的串行a/d转换器tlc2543,它的最大输入电压范围为,因此需完成四种不同信号与电压信号的转换。1. /转换及/转换(1)/转换:此转换电路只需在输入与输出电压之间加一电压跟随器即可。电压跟随器,顾名思义,就是输出电压与输入电压是相同的,就是说,电压跟随器作为同相放大器的特例,在低频情况下其放大倍数接近1,故称为电压跟随器,电压跟随器的显著特点就是,输入阻抗高,而输出阻抗低,一般来说,输入阻抗要达到几兆欧姆是很容易做
7、到的。输出阻抗低,通常可以到几欧姆,甚至更低。因此常在信号处理中作用阻抗变换器。在电路中,电压跟随器一般做缓冲级及隔离级。因为,电压放大器的输出阻抗一般比较高,通常在几千欧到几十千欧,如果后级的输入阻抗比较小,那么信号就会有相当的部分损耗在前级的输出电阻中。在这个时候,就需要电压跟随器来从中进行缓冲。起到承上启下的作用。应用电压跟随器的另外一个好处就是,提高了输入阻抗,这样,输入电容的容量可以大幅度减小,为应用高品质的电容提供了前提保证。电压跟随器的另外一个作用就是隔离。具体电路如图2.3所示。图2.3 05v/o5v转换电路(2)/转换:采用同相放大器电路,如图2.4所示。 图2.4 15v
8、/o5v转换电路error! no bookmark name given.2. 的转换及的转换(1)的转换电路下图2.5为所设计的i/v转换电路。其实质是一同相放大器电路,利用电流在电阻r上产生输入电压。在输出端接负载时,需考虑转换器的输出驱动能力,一般在输出端可再接一个电压跟随器作为缓冲器,的转换也同此,由于采用同相端输入,因此放大器a应选用共模抑制比较高的运算放大器,从电路结构可知,其输入阻抗较低。图2.5 010ma/o5v转换电路(2)的转换电路如图2.6。图2.6 420ma/o5v转换电路23 a/d转换器的选型设计3 8在单片机开发中,很多都要涉及到将模拟量转换为数字量,因此使
9、用adc的场合很多. 选择一款合适的adc芯片就显得尤为重要. 由于单片机往往要控制比较多的i/o口,因此使用并行adc会限制系统i/o口功能的扩展,采用串行adc比较适合那些低速采样而控制管脚又比较多的系统.tlc2543是有11个输入端的12 bit模数转换器,具有转换快、稳定性好、与微处理器接口简单、价格低等优点. 由于它带有串行外设接口(spi) ,而51系列单片机没有spi, 为了与tlc2543接口,可利用软件合成spi操作,完成a/d数据的采集。2.3.1 tlc2543的特点及引脚tlc2543是12 bit串行a/d转换器,使用开关电容逐次逼近技术完成a /d转换过程. 由于
10、是串行输入结构,能够节省单片机的i/o资源. tlc2543的引脚排列如图2.7所示图2.7 tlc2543引脚图图1中a in0a in10为模拟输入端; /cs为片选端; din为串行数据输入端;dout为a/d转换结果的三态串行输出端; eoc为转换结束端; clk为i/o时钟; ref +为正基准电压端; ref - 为负基准电压端;vcc为电源; gnd为地.2.3.2 tlc2543使用方法控制字的格式:控制字为从date input端串行输入的8 bit数据, 它规定了tlc2543要转换的模拟量通道、转换后的输出数据长度以及输出数据的格式. 其功能为:数据寄存器的前4位(d7-
11、d4 )数据,用来选择要求转换的通道,d7d6d5d4=0000时选择0通道,d7d6d5d4=0001时选择1通道,依此类推。1011到1110代表分别选中测试电压。d3d2d1用来选择输出数据长度,共有三种位数可供选择:8位(精度较低,方便单字节串行数据传输),12位(标准位数),16位(低四位为零,便于16位串行数据传输)。选择输出数据长度为12位时,即d3d2=00或d3d2=10;d1,d0选择输入数据的导前位,d1:为“0”表示输出数据的最大位导前(msb),为“1”时表示最小位导前,d0为“0”时表示输出数据是单极性(无符号二进制),为“1”时表示双极性(有符号二进制)。本设计采
12、用的是输出数据长度为8位。tlc2543在每次i/o 周期读取的数据都是上次转换的结果,当前的转换结果在下一个i/o周期中被串行读出,第一次读数由于内部调整,读取的转换结果可能不准确。应丢失。转换过程:tlc2543每次转换和数据传送使用16个时钟周期,并且在每次传送周期之间插入 /cs时序。片选/cs为高, i/o clock、data input被禁止,data out呈高阻状态, eoc为高. 使/cs变低, i/o clock、data input使能, data out脱离高阻状态. 12个时钟信号从i/o clock端依次加入,随着时钟信号的加入,控制字从data input一位一
13、位地在时钟信号的上升沿时被送入tlc2543 (高位先送入) ,同时上一周期转换的a /d数据,即输出数据寄存器中的数据从data out一位一位地移出. tlc2543收到第4个时钟信号后,通道号也已收到,此时tlc2543开始对选定通道的模拟量进行采样,并保持到第12个时钟的下降沿. 在第12个时钟下降沿, eoc变低,开始对本次采样的模拟量进行a /d转换,转换时间约需10s,转换完成后eoc变高,转换的数据在输出数据寄存器中,待下一个工作周期输出. 此后,可以进行新的工作周期.2.3.3 tlc2543与at89c52单片机的接口:89c52单片机没有sp i接口,为了与tlc2543
14、接口可以用软件功能来实现sp i接口,其硬件接口如图2.8所示. 图2.824 键盘、显示电路的设计7在设计中我采用了hd7279a键盘显示芯片做为键盘显示驱动电路芯片。hd7279a 是标准28 引脚双列直插式芯片。其接口电路和外围电路简单,且占用口线少,加之它具有较高的性能价格比。hd7279a可同时驱动8位共阴式数码管(或64只独立led)的显示驱动芯片,该芯片同时可连接多达64键的键盘矩阵,一片即可完成led显示及键盘接口的全部功能。hd7279a内部含有译码器,可以直接接收bcd 码或16进制码,并同时具有2种译码方式。此外,还具有多种控制指令,例如:消隐、闪烁、左移、右移、段寻址等
15、。hd7279a是一种管理键盘和 led显示器的专用智能控制芯片。它能对多达的键盘矩阵情况进行监视,具有自动消除键抖动并识别按键代码的功能。下面表2-1是hd7279引脚说明。2.4.1 hd7279a的特点1各位可独立控制译码不译码、消隐和闪烁等属性;2具有(循环)左移(循环)右移指令;3具有段寻址指令,可方便地用来控制独立的led显示管;464键键盘控制器内含消抖电路。表2-1 hd7279引脚说明引脚名称功能1,2vdd正电源3,5nc无连接,必须悬空。4vss接地6cs片选输入端,此引脚为低电平时,可向芯片发送指令及读取键盘数据7clk为数据串行传送的同步时钟输入端,向芯片发送数据及读
16、取键盘数据时,次引脚垫平上升沿表示数据有效。8data串行数据输入/输出端,当芯片接收指令时,此引脚为输入端,当读取键盘数据时,此引脚在“读”指令最后一个时钟的下降沿变为输出端。9key按键有效输出端,平时为高电平,而检测到有效按键时此引脚边为低电平,10-16sg-sa段g - 段a 驱动输出端.17dp小数点的驱动输出端18-25dig0-dig7数字0-数字7驱动输出,即8个 led 管的位驱动输出端。26clko振荡输出端。27rcrc 振荡连接端。其典型值为r=1.5k,c=15pf28reset复位端.该端由低电平变成高电平并保持25ms即复位结束。通常,该端接+5v即可解释:re
17、set 为复位端。该端由低电平变成高电平并保持25ms 即复位结束。通常, 该端接+5v 电源。在需要较高可靠性的情况下, 可以连接一外部的复位电路,或直接由单片机控制。dig0dig7 分别为8 个led 管的位驱动输出端。sasg 分别是led 数码管的a 段g 段的输出端dp为小数点的驱动输出端。dig0dig7 和sasg 同时还分别是64 键盘的列线和行线端口, 完成对键盘的监视、译码和键码的识别。hd7279a 片内具有驱动电路, 可以直接驱动1 英寸及其以下的led 数码管, 使外围电路变的简单可靠。hd7279a 与微处理器间仅需4 条接口线, 其中cs 为片选信号( 低电平有
18、效) 。当微处理器访问hd7279a 时, 应将片选端置为低电平。data 为串行数据端, 当向hd7279a 发送数据时, data 为输入端;当通过hd7279a 输出键盘代码时, data 为输出端。clk 为数据串行传送的同步时钟输入端, 时钟的上升沿表示数据有效。key 为按键信号输出端, 在无键按下时为高电平; 而在有键按下时变为低电平, 并一直保持到按键释放为止。hd7279a的控制指令格式分为纯指令和带有数据的指令两大类,以下分别给予介绍。. 纯指令:. 带有数据的指令:带有数据的指令包括以下5种:()下载数据且按方式0译码。这种指令的格式为:d7d6d5d4d3d2d1d01
19、0000a2a1a0d7d6d5d4d3d2d1d0dpxxxd3d2d1d0该命令由二字节组成,前半部分为指令,后半部分为显示内容,其中a2a0为位地址,d0d3为数据。()下载数据且按方式1译码此指令与上一条指令基本相同,所不同的只是译码方式。该指令的译码方式为:d0d3的值对应于09和af。格式如下: d7d6d5d4d3d2d1d011001a2a1a0d7d6d5d4d3d2d1d0dpxxxd3d2d1d0 ()下载数据但不译码该指令的格式如下:d7d6d5d4d3d2d1d010010a2a1a0d7d6d5d4d3d2d1d0dpabcdefg在该指令格式中,a2,a1,a0为
20、位地址ag和dp为显示数据,分别对应段led数码管的各段。当相应的数据位为1时,该段点亮,否则该段不亮。()闪烁控制88。此命令用于控制各个数码管的闪烁属性,dd分别对应数码管18。在相应的各位中0表示闪烁,1表示不闪烁。开机后的缺省状态为各位均不闪烁。具体指令格式如下: d7d6d5d4d3d2d1d010001000d7d6d5d4d3d2d1d0d8d7d6d5d4d3d2d1 ()读键盘数据指令15该指令的格式如下:d7d6d5d4d3d2d1d000010101d7d6d5d4d3d2d1d0d7d6d5d4d3d2d1d0该指令主要用于从hd7279a读出当前的按键代码。2.4.2
21、 hd7279a与单片机的接口设计 hd7279a驱动的键盘显示的接线如图3.8所示。在键盘方面可以不用到的键,可以不用按钮。可以根据你的需要,进行按钮的增减。本设计用到一个键“显示键”。 图2.9 hd7279a驱动的键盘显示电路 25 图2.13 hd7279a与单片机的接口 d/a转换器选型设计4在后向通道中采用da转换器是计算机实现对模拟量控制的常用方式,而串行da转换器由于接口电路简单、易于远程操作以及体积小、功耗低等优点而广泛应用于便携式设备或分布式控制系统中。本设计对于d/a转换器的转换速度要求不高。设计中选用串行12位d/a转换器tlc5617,完全满足系统对分辨率的要求。图2
22、.10 为tlc5617的引脚图,表2-2 是 tlc5617引脚排列及引脚功能说明 。图2.10 tlc5617引脚图表2-2 tlc5617引脚排列及引脚功能说明 引脚名称编号i/o说明din1i串行数据输入sclk2i串行时钟输入cs3i芯片选择,低电平有效outb4odac b模拟输出agnd5模拟地refin6i基准电压输入outa7odac a 模拟输出vdd8正电源图2.11 tlc5617与单片机的接口单片机与tlc5617的接口电路如图3.10所示。p0.6通过光电耦合器接tlc5617的sclk端,p0.5通过光电耦合器接tlc5617的din端,p0.7通过光电耦合器接t
23、lc5617的cs端。当片选cs为低电平时,输入数据由时钟定时以最高有效位在前的方式输入tlc5617的16位移位寄存器。sclk输入的下降沿把数据移入寄存器。然后cs的上升沿把数据送到tlc5617的内部dac寄存器。所有cs的跳变应当发生在sclk输入为低电平时。26 rs-232 串行通讯电路9由于at89c52单片机具有集成度高、面向控制、系统结构简单、价格便宜等诸多优点,因而在智能化仪器仪表、数据采集、数据测量等方面有着广泛的应用。但是,实际应用中单片机在数据处理能力、人机交互等方面往往不能满足要求,因而通常用pc机来弥补单片机的这些不足。串行通信端口(serial communic
24、ation port)在系统控制的范畴中一直扮演着极其重要的角色,它不仅没有因为时代的进步而遭淘汰,反而在规格上越来越先进,应用也越来越广泛。现在,串行通信端口(rs232)是计算机上的标准配置,用途上则以连接调制解调器来传输数据最为常见。rs232通信端口是每台计算机上的必要配置,通常有coml与com2两个端口。计算机上的rs232均是公头,在一般个人计算机上的外观如下图。 图3-11计算机上的串行端口端口共有9个引脚,每一个引脚都有其特定的名称与用途,它们在计算机和连接线上的位置和定义如图2.121:cd-carrier detect,载波检查6:dsr-data set ready,
25、传输端待命2:rxd-receive,数据接受7:rts-request to send, 要求传输3:txd-transmit,数据传输8:cts-clear to send, 清除并传输4:dtr-data terminal ready,数据端待命9:ri-ring indicator, 响铃指示5:gnd-ground,地线图2.12 rs-232 电路是单片机采集电路部分与上位机之间的接口电路。单片机就是利用rs-232 串口通讯向pc机发送指令,以完成数据的远距离传输。rs-232 是美国电子工程师协会正式公布的串行总线标准,也是目前最常用的串行接口标准,主要用来实现计算机与计算机之
26、间、计算机与外设之间的数据通讯。rs-232串行通讯是全双工的,可以同时接受和发送,它的逻辑“1”是-5v-15v,逻辑“0”是+5v+15v。rs-232 串行接口总线适用于设备之间的通讯距离不大于15m,并且传输速率最大为20kbps。由于rs-232 和ttl 各自规定了自己的电气标准,互不兼容,因此rs-232 与ttl 电路接口时需进行电平单介绍一种电平转换。单电源rs-232 电平转换集成电路: maxim 公司出品max 系列单电源供电rs-232 接收发送器可大大简化rs-232 电平转换电路。它具有功耗低、通信速率高、封装形式多、单一电源供电、外接器件少等特点。它由充电泵电压
27、变换器、驱动器(发送器)和接收器三个部分组成。2.6.1 +5v 到10v 双充电泵电压变换器+5v 到10v 的变换是由一种专利产品双充电泵电压变换器(见图2.13)完成的。第一个充电泵电压变换器的电容器c1 被充上+5v 电压,输出滤波电容器c3 上也充有+5v电压,输出电压v+为+10v。第二个充电泵电压变换器用电容器c2 将+10v 反相为-10v,保存-10v 在v-输出滤波电容器c4 上。在停机方式下,v+通过一个1k 的内部下拉电阻连接到vcc,同时v-通过一个1k 的内部上拉电阻连接到地。图2.13 电压变换器电路2.6.2 rs-232 发送器发送器的输入为ttl/cmos
28、电平,输出rs-232 电平,当max 系列的电压倍增器(cpe)的工作电压为+5v,而rs-232 接受端负载为5k 时,发送器的输出电压为+8v 左右;空载时输出电压从(v+-0.6)v-之间变化,发送器的输入端内置400k的上拉电阻,当输入端悬空时,被上拉到vcc,经反相器,输出端为低电平,上拉电阻耗电为15ua。所以悬空时的功耗最低2.6.3 rs-232 接收器接受器输入为rs-232 电平,输出为ttl/cmos 电平。不使用的接受器输入、输出端可以悬空。其输入端内置5k 的下拉电阻。当输入端悬空时,被下拉至地,经反相器,输出为高电平。图 2.14 max 232 引脚图max23
29、2芯片是美信公司专门为电脑的rs-232标准串口设计的接口电路,使用+5v单电源供电。内部结构基本可分三个部分: 第一部分是电荷泵电路。由1、2、3、4、5、6脚和4只电容构成。功能是产生+12v和-12v两个电源,提供给rs-232串口电平的需要。 第二部分是数据转换通道。由7、8、9、10、11、12、13、14脚构成两个数据通道。其中13脚(r1in)、12脚(r1out)、11脚(t1in)、14脚(t1out)为第一数据通道。8脚(r2in)、9脚(r2out)、10脚(t2in)、7脚(t2out)为第二数据通道。ttl/cmos数据从t1in、t2in输入转换成rs-232数据从
30、t1out、t2out送到电脑dp9插头;dp9插头的rs-232数据从r1in、r2in输入转换成ttl/cmos数据后从r1out、r2out输出。 第三部分是供电。15脚dng、16脚vcc(+5v)。正常工作时对c1-c4 的电容类型要求不是很高,例如max202 需要0、1uf 的电容,而max232 需要1uf 的电容,在所有的情况下10uf 以内的电容均可使用。本系统选用max232 芯片实现ttl 与232 电平之间的转换,与接口电路相连的一侧是at89c52 单片机,另一侧是gprs modem,由它们来实现数据的无线传输。系统的rs-232串行通讯电路如图2.15。图2.1
31、5 rs-232串口电路原理图27 看门狗电路2 测量技术的发展和微处理器的广泛应用, 单片机系统的电路越来越复杂,而系统的可靠性问题也越来越突出,一般的单片机系统在工业现场等恶劣的环境下容易死机,要求系统在这些场合可靠稳定的工作,就必须外加监视电路。x5045 是在单片机系统中广泛应用的一种看门狗芯片,他把上电复位、看门狗定时器、电压监控和e2 prom四种常用功能组合在单个芯片里, 以降低系统成本、节约电路板空间。其看门狗定时器和电源电压监控功能可对系统起到保护作用;512 8 位的e2 prom 可用来存储单片机系统的重要数据。将其运用在温度控制系统,取得了令人满意的结果。2.7.1 x
32、5045 芯片的工作原理(1)引脚及功能x5045 的管脚排列如图2.13 所示,他共有8 个引脚,各引脚的功能如下:cs :电路选择端,低电平有效;so :串行数据输出端;si :串行数据输人端;sck:串行时钟输入端; wp :写保护输人端,低电平有效;reset :复位输出端;vcc:电源端; vss :接地端。 图2.13 x5045 的管脚图(2)工作原理x5045 除了作为看门狗芯片使用外,另外一个基本的功能就是作为e2 prom 数据存储器使用,内部包含512 8 的串行e2 prom ,以保证系统在掉电后仍可维持重要数据不变。x5045 与mcu 采用流行的spi 总线接口方式
33、,可以和任意一款单片机的i/ o 口直接连接。数据在sck的上升沿由时钟同步输入,在整个工作期内,cs必须是低电平且wp 必须是高电平。如果在看门狗定时器预置的溢出时间内没有总线活动通常指cs引脚电平变化,那么x5045 将提供复位信号输出以保证系统的可靠运行。x5045 内部有一个“写使能”锁存器,在执行写操作之前该锁存器必须被置位,在写周期完成之后,该锁存器自动复位。x5045 还有一个状态寄存器,用来提供x5045状态信息以及设置块保护和看门狗的定时周期。对芯片内部寄存器的读写均按一定的指令格式进行, 表1 为x5045 的指令格式。 数据读写时,msb(最高位) 在前。表1 中的a8
34、表示内部存储器的高地址位。在实际应用中,往往要对状态寄存器进行读写操作,他是一个8 位的寄存器,用来标识芯片的忙闲状态、内部e2 prom 数据块保护范围以及看门狗定时器的定时周期,其内部格式如表2 所示。表2 数据块内部格式xxwd1wd0bl1bl0welwip其中低2 位的wel ,wip 表示芯片锁存器和写数据的忙闲状态,块保护bl1 ,bl0 表示内部数据存储器的保护范围,一旦设置了保护位,则被保护的数据段只允许读,写操作是严格禁止的。看门狗定时器周期设置位wd1 ,wd0 可以由用户通过编程自行设定看门狗的溢出时间,当全为0 时定时间为114 s ,如表3 所示。表3 看门狗超时周
35、期状态寄存器看门狗超时周期 wd1 wd0 0 0 1.4秒 0 1 600毫秒 1 0 200毫秒 1 1 禁止2.7.2 x5045 芯片与52 内核的单片机连接 图2.14 x5045 与at89c52 的硬件接口电路28 电源部分由于时间限止,我采用了5v12v的直流稳压电源。第3章 系统的软件设计系统软件主要包括两部分:一部分是单片机的程序,一部分是上位机的程序。3.1 下位机程序设计下位机主程序完成系统的初始化工作,启动a/d转换,将采集来的模拟量转换成数字量,然后分别执行相应的子程序。主要子程序包括:显示程序,键盘扫描程序, x5045读/写控制程序dac转换程序。具体流程图下图
36、。具体程序见附录。开 始始初 始 化启动a/d转换及数据采集读 取 转 换 数数据处理、启动执行调用键盘显示程 串口中断、发 送/接收定时器中 断 、设置扫描控制显示结果3.1.1 adc转换程序模块 该子程序主要完成对信号的采集,转换。3.1.2 显示程序模块该子程序主要完成对采集、转换后的信号进行显示,hd7279a芯片构成的键盘显示电路,按照其程序依次调用发送、收受程序,将单片机处理后的数据通过led数码管显示。3.1.3键盘扫描程序模块 该子程序主要完成任务书中要求的对数码管显示的数据进行有关参数的设置3.1.4 dac转换程序模块该子程序主要完成数字变成模拟的功能,实现对模拟量控制的
37、常用方式。3.1.5 看门狗子程序模块该程序主要完成对系统的监控功能。3.2 上位机程序设计pc机的程序采用c语言设计,主要包括以下功能:与单片机部分进行通讯、显示转换数据、建立数据存储文件等功能。程序流程图如下图所示。其程序流程图如下图。 开始串口初始化设置文件保存路径接受正确与?否?n发送启动转换命令调用延时子程序打开新数据文件发送地址命令接收命令通讯成功,保存数据到数据文件夹转换次数-1化转换次数设定值?转换次数清零化关闭文件化结 束yny 由于应用程序服务器与单片机之间的通信一般是短距离的,在考虑低成本的情况下采用串行、异步、单工方式即可,即用两条信号线和一条地线完成数据的传送,这就要
38、求在发送和接收之间制定一定的规则,使发送和接收之间协调一致。本系统根据pc机和单片机之间的特点编写了串行发送和接收模块实现了pc机和单片机之间的高速串行通信。上位机接收数据所用c语言程序包括初始化子程序和接收子程序。各子程序分别如下:void init_com1(void)/*初始化子程序*/ outportb(0x3fb,0x80);/*线控制寄存器高位置1,使波特率设置有效*/ outportb(0x3f8,0x18);/*波特率设置,与单片机波特率一致为4800bps*/ outportb(0x3f9,0x00); outportb(0x3fb,0x03);/*线控制寄存器设置,8位数据
39、位,1位停止位,无奇偶校验*/ outportb(0x3fc,0x03);/*modem控制寄存器设置,使dtr和rts输出有效*/ outportb(0x3f9,0x00);/*设置中断允许寄存器,禁止一切中断*/ void receive data(void)/*查询方式接收数据子程序*/ while(!kbhit() while(!(inportb(0x3fd)&0x01);/*若接收寄存器为空,则等待*/ printf(%x ,inportb(0x3f8);/*读取结果并显示*/ getch(); 第4章 系统抗干扰措施抗干扰设计是单片机应用系统设计的重要组成部分,没有良好的抗干扰措施
40、,系统就无法安全可靠的工作。当然,我们只能通过系统软件、硬件设计尽可能的减少干扰带来的影响,而不可能完全消除干扰。本系统在抗干扰方面考虑了如下的问题:a:电源去耦,在电源线和地线之间并联47uf 和0.1uf 两个去耦电容,并联大电容为了去除低频干扰,并联小电容为了去除高频干扰。b:加宽地线和电源线,加宽后的地线和电源线是信号线的7 倍。c:所有芯片可靠接地,并且接地线构成环路。d:手工布置元件和布线,连线尽可能短。e:双面板两面的线条尽可能垂直交叉。f:避免来自传感器,测量信号功能模块,控制信号功能信号的干扰,模拟电路通路通过隔离放大器隔离,数字电路通过光电耦合器进行隔离。g:软件抗干扰设计
41、: 通常有数字滤波技术、软件冗余、软件陷阱、看门狗等技术。 结 论在本设计中,按照指导教师下达的要求认真完成设计,包括仪表的方案设计、标准信号的电路及a/d转换、键盘显示电路的连接、单片机的串行通讯接口电路、看门狗技术和d/a输出控制等硬件电路,并完成相关的程序编写及利用开发系统对部分软件进行仿真。在设计时,我遇到过许多困难,我的指导老师吴春富老师热心的为我答疑,许多老师也对我的毕业设计给予关注和指导,帮助我解决了许多难题,在此我表示感谢。附 录org 0000hajmp startorg 0030hstart: mov sp,#07h; lcall tlc2543; lcall kmg; l
42、call hd7279a; lcall tlc5617; lcall kmg; ajmp start;;tlc2543接口子程序tlc2543: clr p0.0 ;清i/o时钟setb p0.3 ;设置片选为高clr p0.3 ;设置片选为低mov r4, #08 ;先读8 bitmov r3,#10hloop: djnz r3,loopmov a, r1 ;把方式/通道控制字放到aloop1: mov c,p0.2 ;读转换结果rlc a ;a寄存器左移,移入结果数据位,移出方式/通道控制位mov p0.1, c ;输出方式/通道位setb p0.0 ;设置i/o时钟为高clr p0.0
43、;清i/o时钟djnz r4,loop1 ; r4不为0,则返回loop1mov r2,a ;转换结果的8 bit放到r2中setb p0.3 ;设置片选为高ret ;d/a转换程序;将要输入八位存于r2 寄存器中,r3 寄存器存放循环次数,r4 寄存器存放时间常数。;cs bit p0.7;din bit p0.5;sclkbitp0.6tlc5617:mov r4 , # 10h ;置延时时间常数clr cs ;片选有效mov r3 , # 08h ;置循环常数mov a ,r2 ; 8位送alcall dcha ;din 送入8 位数clr sclk;时钟低电平setb cs;送入8 位
44、数有效,开始转换lcall delay ;调延时子程序retdcha : nop ;空操作loop : clr sclk;产生下降沿rlc a ;数据送入标志位mov din ,c;数据送入tlc5617 寄存器setb sclk ;产生上升沿djnz r3 ,loop ;循环送数ret;返回delay: djnz r4 ,delay ;延时ret;x5045的读/写程序;cs bit p1.0;si bit p1.1;sck bit p1.2;so bit p1.3kmg:clr p1.2clr p1.0mov a ,#01h ;写状态寄存器指令字(wrsr)lcall outbyt ;写入
45、x5045mov a,#00h ;初始状态字,即设置x5045的超时复位时间为1.4s,存储器阵列的内容不写保护lcall outbyt ;写入x5045clr p1.2setb p1.0lcall wippoll ;等待写入完成ret;写一字节数据到eeprom中;地址在dptr中;数据在r2中 write:clr p1.2clr p1.0mov a ,#06h ;写使能指令字(wren)lcall outbyt ;写入使能令字setb p1.2setb p1.0mov a,dph ;dph的最低位为写入地址的高位rrc amov a,#02h ;写指令字(write)mov acc.3,c
46、 ;地址高位放入a8clr p1.0clr p1.2lcall outbyt ;写入指令字和高位地址a8mov a,dpllcall outbyt ;写入低8位地址mov a,r2lcall outbyt ;写入一个字节的数据clr p1.2setb p1.0lcall wippoll;等待写入完成retread:clr p1.2clr p1.0mov a,dph rrc amov a,#o3h ;读指令字(read)mov b,dphmov acc.3,clcall outbyt ;写入读指令字和高位地址a8mov a,dpllcall outbyt ;写入低8位地址lcall inbyt ;读入一具字节的数据clr scksetb csret;向x5045写入一个数据字节子程序.要写入的数据(各种指令字,状态字或写入eepro
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 个案护理模式对提升患者满意度的效果分析
- 1-Stearoyl-2-17-S-HDoTE-sn-glycero-3-PE-生命科学试剂-MCE
- 护理心理学应用指南
- 医疗隐私保护国际双边协议的谈判与签署
- 医疗资源整合路径
- 医疗资源优化配置的调度算法研究
- 医疗资源与需求匹配
- 2025年交通安全法律法规培训
- 2026-2028年中国安全检查仪器行业生态全景与战略纵深研究报告:政策、技术、资本与消费四重驱动下的产业重构与机遇地图
- 2025年安全风险识别培训课件
- 林木种质资源精准鉴定-洞察与解读
- 连锁早餐店卫生管理制度
- 2026年七年级数学春季开学第一课
- 集装箱焊接制度规范要求
- 天赋测评活动策划方案(3篇)
- 第五范式-人工智能驱动的科技创新
- 高标准农田建设工程质量专项整治技术手册(2025年版)
- 乡村和城镇空间结构高中地理人教版必修二
- DB4406∕T 53-2025 老年人陪诊服务规范
- 上门女婿婚礼女方父亲感人致辞3篇
- 低压电工特种作业全套教学课件
评论
0/150
提交评论