当前位置:文档之家› 单片机论文

单片机论文

单片机的双机通信实验设计

一、实验目的

1、掌握双机通信的原理和编程方法。

2、学习8251A的使用方法

二、实验内容

1、实验原理图:

2.实验内容

如图所示,TXC和RXC分别为8251A的发送时钟和接收时钟。它由片外8253A的OUT1提供。本实验要求以查询方式进行收发。要完成本实验,需2台DVCC系列实验系统。其中一台为串行发送,一台为串行接收,在1号机上装串行发送程序,在2号机上装串行接收程序,则在1号机上键入的字符显示在2号机的显示器上。

由于本系统监控中未对8253A、8251A进行初始化,因此本实验开始必须对8253、8251进行初始化,然后才可以直接进入对串行口状态的查询。

三、程序

系统晶振是6.0 MHz

ORG 07F0H

START:

MOV SP,#60H

mov A,#02H

MOV R0,#79H

MOV @R0,A

INC R0

MOV A,#10H

MOV @R0,A

INC R0

MOV A,#01H

MOV @R0,A

INC R0

MOV A,#03H

MOV @R0,A

INC R0

MOV A,#00H

MOV @R0,A

INC R0

MOV A,#08H

MOV @R0,A

MOV A,#7EH

MOV DPTR,#1FFFH

MOVX @DPTR,A

MOV 87H,#80H

MOV SCON,#50H ;串口方式1

MOV TMOD,#20H ;T1 方式1

MOV TL1,#0F3H ;波特率9600 的常数

MOV TH1,#0F3H

SETB TR1 ;开中断

CLR ET1

CLR ES

WAIT:

JBC RI,DIS_REC ;是否接收到数据

LCALL DISP ;

SJMP WAIT ;

DIS_REC:

MOV A,SBUF ;读串口接收到的数据

LCALL DATAKEY ;显示输入的数字(0-F)

DB 79H,7EH

AJMP WAIT

DATAKEY: MOV R4,A

MOV DPTR,#1FFFH

MOVX A,@DPTR

MOV R1,A

MOV @R1,A

CLR A

POP 83H

POP 82H

MOVC A,@A+DPTR

INC DPTR

CJNE A,01H,DATAKEY2

DEC R1

CLR A

MOVC A,@A+DPTR DATAKEY1: PUSH 82H

PUSH 83H

MOV DPTR,#1FFFH

MOVX @DPTR,A

POP 83H

POP 82H

INC DPTR

PUSH 82H

PUSH 83H

RET

DATAKEY2: DEC R1

MOV A,R1

SJMP DATAKEY1 DISP: SETB 0D4H

MOV R1,#7EH

MOV R2,#20H

MOV R3,#00H

DISP1:

MOV DPTR,#DATACO

MOV A,@R1

MOVC A,@A+DPTR

MOV DPTR,#0FF22H

MOVX @DPTR,A

MOV DPTR,#0FF21H

MOV A,R2

MOVX @DPTR,A

LCALL DELAY

DEC R1

CLR C

MOV A,R2

RRC A

MOV R2,A

CLR 0D4H

RET

DELAY: MOV R7,#03H

DELAY0: MOV R6,#0FFH

DELAY1: DJNZ R6,DELAY1

DJNZ R7,DELAY0

RET

DATAC DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H

DB 88H,83H,0C6H,0A1H,86H,8EH,0BFH,0CH,89H,0DEH

END

四、实验步骤

1、准备2台DVCC系列实验仪,确定1号为发送,2号为接收。

2、将1号RXD插孔和2号的TXD插孔相连。

3、将1号TXD插孔和2号的RXD插孔相连。

4、将1号GND插孔和2号的GND插孔相连(共地)。

5、将8253CS插孔和Y4插孔相连,8251CS和Y5插孔相连。

6、将SIO区D0—D7和BUS2区XD0—XD7相连。

7、先运行2号机,在2号机提示符“P.....”状态下,输入0D00后,再按EXEC键进入等待接收状态,显示器显示“8251—2”。

8、再运行1号机,在1号机处于提示符“P.....”状态下,输入0E00H后,按EXEC键,进入串行发送状态。显示器显示“8251—1”。

9、在1号机的键盘上输入数字键,应在2号机显示器上显示对应数字值。

10、输入数字键后再按MON键,1号机显示“8251 good”。如果不输入数字键直接按MON 键,则显示“Err”,如果双机通信不能正常进行,也显示“Err”。

继电器控制实验与控制方法

一、实验目的

掌握用继电器控制的基本方法和编程。

二、实验内容

1、实验原理图:

2、实验内容

利用P1口输出高低电平,控制继电器的开合,以实现对外部装置的控制。

3、预备知识

现代自动化控制设备都存在一个电子与电气电路的互相联结问题,一方面要使电子电路的控制信号能够控制电气电路的执行元件(电动机、电磁铁、电灯等),另一方面又要为电子电路和电气电路提供良好的电隔离,以保护电子电路和人身的安全,电子继电器便能完成这一桥梁作用。

本实验采用JZC—23F型继电器,其控制电压为5V。继电器电路中一般要在继电器的线圈两头加一个二极管以吸收继电器线圈断电时产生的反电势,防止干扰。

三、程序

程序清单:

ORG 0C60H

START: SETB P1.0

LCALL DELAY

CLR P1.0

LCALL DELAY

SJMP START

DELAY: MOV R7,#0FFH

DELAY1: MOV R6,#0FFH

DELAY2: DJNZ R6,DELAY2

DJNZ R7,DELAY1

RET

END

四、实验步骤

1、在EXIC1上插上07芯片。

2、把8031的P1.0插孔接到07芯片的第一脚,07芯片的第二脚接JIN端,继电器的JZ(中心轴头)接GND,JK常开开关接L1,JB常闭开关接L2。

3、编制程序,使P1.0电平变化,低电平时继电器吸合,常开触点接上L1点亮,L2熄灭,高电平时继电器不工作,常闭触点闭合,L1熄灭,L2点亮。

4、在―P‖状态下,从起始地址0C60H开始连续运行程序,L1、L2交替亮灭。

单片机A/ D转换与单片机的接口方法实验

一、实验目的

1、掌握A/ D转换与单片机的接口方法。

2、了解A/ D芯片0809转换性能及编程方法。

3、通过实验了解单片机如何进行数据采集。

二、实验内容

1、实验原理图:

2、实验内容

利用实验仪上的0809做A/ D转换实验,实验仪上的W1电位器提供模拟量输入。编制程序,将模拟量转换成数字量,通过发光二极管L1—L8显示。

3、实验说明

A/ D转换器大致分有三类:一是双积分A/ D转换器,优点是精度高,抗干扰性好,价格便宜,但速度慢;二是逐次逼近式A/ D转换器,精度、速度、价格适中;三是并行A/ D 转换器,速度快,价格也昂贵。 实验用ADC0809属第二类,是8位A/ D转换器。每采集一次一般需100μs。由于ADC0809 A/ D转换器转换结束后会自动产生EOC信号(高

电平有效),取反后将其与8031的INT0相连,可以用中断方式读取A/ D转换结果。三、程序

程序清单:

ORG 06D0H

START: MOV A,#00H

MOV DPTR,#9000H

MOVX @DPTR,A

MOV R7,#0FFH

H55S: DJNZ R7,H55S

MOVX A,@DPTR

MOV DPTR,#0A000H

MOVX @DPTR,A

SJMP START

END

四、实验步骤

①把A/D区0809的0通道IN0用插针接至W1的中心抽头V01插孔(0—5V)。

②把A/D区0809的CS端接译码输出端Y1插孔。

③0809的CLK插孔与分频输出端T4相连。

④将W2的输入VIN接+12V插孔,+12V插孔再连到外置电源的+12上(电源内置时,该线已连好)。调节W2,使V- REF 端为+5V。

⑤将A/D区的VREF 连到W2的输出VREF 端。

⑥EXIC1上插上74LS02芯片,在EXIC2上插74LS32芯片一片,将有关线路按图连好。

⑦将A/D区D0—D7用排线与BUS1区XD0—XD7相连。

⑧仿真实验系统在“P.....”状态下。

⑨以连续方式从起始地址06D0运行程序,在发光二极管L7—L0上显示当前采集的电压值转换后的数字量,调节W1,L7—L0将随着电压变化而相应变化,L7—L0对应数字量D7—D0。

基于C8051F410的精确信号模拟电路设计

引言

在对某型发射装置进行检测时.需要提供三组以11.50伏为基准的精确直流电压信号。为配合测试流程,这三组信号需要在不同的时段取18个不同的直流电压值,幅度分布在9.33-12.13伏范围之内。原有的测试仪采用22个精密电阻组成的分压器,配合波段开关选择来产生这18种不同的精确直流电压信号。这种设计方法价格昂贵,并且不能实现自动化检测,需要通过手工拨动波段开关来实现测试步骤的转换。为了实现对发射装置的自动测试。采用微机技术设计了新型的检测仪。新的检查仪以CPU模块为核心,通过程序控制D/A转换器来产生这三组精确直流电压信号,简化了设计,降低了成本,实现了测试步骤的自动切换。但是在检测仪的使用过程中发现经常出现重测合格(RTOK)现象,即检测仪测定某件装备不合格,但是更换仪器或重新开机后再对该装备进行测试时结果良好.这种状况严重影响装备单位的使用和维护。后经分析.认为主要是检测仪中产生这三组精确信号的模拟电路存在工作点漂移问题,精度不高。电压输出不稳定,从而导致测试状态不正确。为了解决这个问题,本文基于C8051F410单片机。采用PWM调制技术和负反馈测量技术设计了~种新的精确信号模拟电路,有效抑制了工作点漂移问题提高了模拟电路输出精度.解决了装备维护使用工作中存在的实际问题。

1 电路结构及原理

电路设计采用了闭环控制结构,如图l所示。电路以C8051F410单片机为核心.通过程序设定需要输出电压的初始参数,控制单片机内部的可编程计数器阵列(PCA)产生适当占空比的PWM波形,经二级信号放大电路和推挽式输出电路放大后得到精确直流电压信号。为了抑制-亡作点漂移并保证足够的输出精度,将输出信号经分压后引回至C8051F410单片机,利用单片机内部的数/模转换器测量该电压,并与初始设定参数相比较.通过程序调节PWM波形的占空比.从而得到具有高可靠性和较高精度的直流电压输出信号。

图1电路结构框图

本电路的基本思想就是利用单片机具有的PWM端口,在不改变PWM方渡周期的前提下.通过软件的方法调整单片机的PWM控制寄存器来调整PWM的占空比,从而得到所需要的电压信号。本电路所要求的单片机必须具有ADC端口和PWM端口这两个必需条件,ADC的位数要求尽鼍高,单片机的工作速度要求尽量快。在调整输出电压前,单片机先快速读取输出电压的大小.然后把设定的输出电压与实际读取到的输出电压进行比较,若实际电压值偏小,则向增加输出电压的方向调整PWM的占空比:若实际电压偏大,则向减小输出电压的方向调整PWM的占空比。经选型发现,C8051F410单片机处理器最高运行时钟可达50MHz:具有6个PCM模块.可实现PWM输出;具有1个12位ADC模块,满足电压测量精度要求。

2 硬件设计

整个电路的硬件设计主要包括C8051F410单片机的外围电路设计、放大电路设计以及电压反馈测量前置电路设计三个部分。如图2所示。

图2硬件电路示意图

整个电路以C805IF410单片机为核心。C805IF410单片机具有P0、P1、和P2数字/模拟可配置的I/0 口,所有的数字和模拟资源都可以通过这三组24个I/O引脚使用。输出一路精确模拟信号,需要设置—个引脚作为PWM输出口,一个作为ADC输入口。在这里,我们设置PO.1为PWM输出口,P0.2为ADC输人口。

C8051F410单片机外围电路设计主要包括在线调试和下载电路、外部参考电压电路和滤波电路设计。本文利用单片机提供的C2调试接口设计了在线调试和下载电路.如图2左上侧电路所示.通过计算机串口实现单片机的快速编程和系统在线调试。图2下右侧为外部参考电压电路琏接到单片机的Vref引脚.为单片机ADC等模块提供2.048伏电压参考.可通过电位器进行调校。

放大电路包括二级电压放大电路和推挽式功率输出电路两个部分.如图2右侧电路所示。二级信号放大电路和推挽式输出电路均为经典电路,在此不再赘述。

电压反馈测量前置电路如图2右侧上部所示,实质为分压电路。由于设定C8051F410单片机参考电压为2.048伏,而输出电压最大值为12伏左右,因此选择电阻R15=4.3K,R16=20K,电位器Pv1标称电阻为5K,并可通过调节电位器来改变电压倍数。

3 软件设计

本电路中运用c语言编程来实现PWM控制,利用C8051F410芯片的可编程计数器阵列组成PWM发生器。C805IF410芯片的可编程计数器阵列由一个专用的16位计数器/定时器和3个16位捕捉/比较模块组成.捕捉/比较模块有六种工作方式:边沿触发捕捉、软件定时器、高速输出、频率输出、8位PWM和16位PWM。每个捕捉,比较模块的丁作方式都可以被独立配置。对PCA的配置和控制是通过系统控制器的特殊功能寄存器来实现的.主要有以下几个:

1) PCAOCN可编程计数器阵列控制寄存器。该寄存器包括溢出标志、运行控制标志以及捕捉/比较标志。

2) PCAOMD可编程计数器阵列方式寄存器。该寄存器用于设置可编程计数器阵列的工作模式及时钟源。

3) PCAOCPMn可编程计数器阵列捕捉/比较寄存器。该寄存器可进行捕捉/比较模块n 的工作方式。

4) PCAOCPn可编程计数器阵列捕捉,比较寄存器(高低字节)。该寄存器用于设置捕捉/比较模块n的高低字节。

基于C8051F350单片机的气体流量计检测仪设计

气体流量计是较为常用的仪表设备。钟罩式气体流量标准装置是以空气作为介质,对气体流量计进行检定、校准和检测的计量标准装置。主要适用于速度式、容积式和差压式等气体流量计的检定、校准和型式评价工作,也可用于气体流量测量的研究工作。本文基于C8051F350单片机,改造现有的钟罩装置,设计一种气体流量计检测仪。

气体流量计检定技术概述

目前,气体流量计的检定方法广义上可分为直接测量和间接测量两种。

直接测量法的是用实际流体进行计量检定,其具体定义为用标准装置(标准流量计或计量器具)与被测流量计串联,通过比较两者测得流体的累积流量值,得出被测流量计测量误差的方法。实流检测法具有检定环境与工况环境一致、流量值准确可靠和真实反映被测流量计计量特性的特点。实流检测法又可分为离线实流检测和在线实流检测。离线实流检测主要在实验室进行,就是将被检流量计与实验室的流量标准装置相串联,在实验室参比条件下测得流量计计量误差,此方法可保证在实验室条件下的计量准确,但忽视了其在工况条件下的计量特性。在线实流检测则是将标准流量计安装在被测流量计后方的预留检定管路上,利用实际流体进行计量,现场在线检测获得实际工况误差。

间接测量法是通过测量与流量值的相关的几个物理量,通过对几个相关物理量误差的运算,间接地获得被测流量计示值误差的一种方法。

气体流量计检测仪原理

钟罩装置的工作原理

钟罩式气体流量标准装置是气体流量标准装置主要形式之一。在压力不高(一般小于10kPa)、流量不大的情况下,用它检定流量计是比较简便的。该装置按气流方向可分为排气式和进气式。其特点是:①它适合检定压力不高、流量不大的气体流量计;②排气式装置中,流经被检流量计的气体压力很低,接近于大气压,而且气体湿度很高,对检定的结果造成影响,因此必须有湿度修正;③进气式装置需要一个干燥和稳定的气源,保证检定用气体的干度符合规定要求,并保证试验管段的气流压力、温度和流量恒定,这就使建立进气式装置比建立排气式装置困难;④由于钟罩的内压只决定于本身的重力、配重物的重力、液体浮力和补偿机构的拉力,所以不管是排气式还是进气式,内压是不变的。

钟罩的标准体积是通过测量钟罩的位移得到的,钟罩位移的自动测量是该检测仪(钟罩装置)的重要部分。光栅尺是高精度的位移测量元件,在精密仪器、高精度精密加工等领域得到了广泛的应用,将光栅尺用于检测仪,作为钟罩量筒的位移传感元件,能精确对应钟罩的体积量。检测仪的原理是当钟罩下降时,钟罩内气体通过连接管路流经被检流量计,在钟罩下降同时通过光栅尺将钟罩下降的高度转变为脉冲信号,经硬件接口电路调理后传送给计算机,计算机经过补偿修正等运算处理,将其转换成气体标准体积或者体积流量。另外,标定后的检测仪设有挡板和光电传感器,钟罩两挡板之间的容积是固定的,挡板先后通过光电传感器所经历的时间可测得,也可得到排出气体的标准体积或体积流量。将所测值与被检流量计指示的体积或流量的比较,就可得到被检流量计的基本误差。

流量计算公式

在测量时间t内钟罩排出的气体体积为VS,则经过被校流量计的体积流量

式(1)中,PS、TS 、ZS分别为钟罩内的绝对压力(Pa)、热力学温度(K)和气体压缩系数;Pm、Tm、Zm 分别为流量计前的绝对压力(Pa)、热力学温度(K)和气体压缩系数;Vs为钟罩排出的在PS、TS 状态下的气体容积(m3);Vm为钟罩排出的在Pm、Tm状态下的气体容积(m3);t为测量时间(s)。

将(qv)s与被校流量计的显示值(qv)m比较,可计算出被校流量计示值相对误差为:

对于速度式流量计,是通过钟罩装置排出的标准体积及被校流量计输出的脉冲数来标定流量计的仪表系数。气体流量计检测仪基本结构

气体流量计检测仪以C8051F350单片机为核心,监控所有被测量,其基本结构如图1所示。

为了保证钟罩内的气温和液槽内的液体温度之差符合规定要求,应严格控制检测仪的温度,故设置了五个采温点,另增加温度湿度传感器,监视现场检定环境。检测仪监测的所有信号如下:①钟罩,五路温度包括罩顶温度、罩内上、中、下温度、液温;②被检流量计,流量计检定前温度、压力、差压、模拟流量计信号;③环境,室温、湿度;④脉冲信号,钟罩光栅尺、挡板、限位、脉冲式流量计信号。

气体流量计检测仪硬件设计

气体流量计检测仪硬件部分由单片机、通讯、阀门控制和电压转换等电路构成,受计算机控制,完成各项检定指令,并实现实时数据采集和高精度计时等功能。

C8051F350单片机简介

检测仪选用C8051F350单片机为控制核心,它是一款高集成度的混合信号片上系统型单片机,集成了PGA、ADC、DAC等丰富的片上资源,而且具有低功耗、高分辨率、小封装、高性价比等优点,是高精准度测量应用的理想选择。单片机信号的输入与输出如图2所示。

C8051F350单片机的功能特性:①70%的指令的执行时间为1或2个系统时钟周期,这样在保证系统速度要求时,可以降低系统时钟频率,从而降低系统功耗;②PGA可以放大1~128倍,适用于小信号直接测量;③8通道24位ADC,其非线性可达0.0015%,保证系统的高精度;④8kB片内FLASH存储器,保证足够的代码空间,可用于传感器的线性矫正程序,而且可以将其中一个扇区(512字节)作为非易失型存储

器使用,存放系统标定参数;⑤高精度可编程的24.5MHz内部振荡器,±2%的精度,可支持无晶体UART 操作;⑥768字节内部RAM,可用于存放线性化运算时需要的大量数据;⑦可编程计数器/定时器阵列,可实现16位PWM,配合简单外围电路可实现D/A转换;⑧32脚LQFP封装,节省PCB面积,可用于小型化产品;⑨片内调试电路提供全速、非侵入式的在系统调试,保证开发简便。

C8051F350芯片可外接的振荡电路有四种,设计中选择晶体作为外部振荡源,为了便于波特率的设置,图2中所示Y1取22.1184MHz。C8051F350芯片共有17个数字I/O端口,其中P2.0/C2D用作JTAG调试,余下16个端口在硬件连接和交叉开关配置后,引脚功能如下:P0.0光栅尺输入脉冲计数;P0.2、P0.3连接外部晶振;P0.4、P0.5串口通讯;P0.6钟罩挡板、限位信号(INT0中断);P0.7流量计脉冲信号(INT1中断);P1.0按键(上电复位);P1.1、P1.2单片机读挡板和限位信号;P1.4控制CD4053;P1.5~P1.7控制74HC595,P0.1、P1.3空余。

检测仪信号采集

压力、温度传感器和一些气体流量计输出的流量信号是电流信号(4mA~20mA)。考虑到ADC输入范围,可选用100Ω的精密电阻将电流信号转换为对应的0.4V~2V的电压信号。

C8051F350单片机有8通道24位可编程AD转换器,而检测仪中待转换的模拟量有16路,为了解决通道不足的问题,可使用双向模拟开关CD4053。

设置ADC使用内部参考电压,经过零点校准和斜率校准,使ADC在输入4mA时输出为初始值,输入20mA 时为满量程值。读取AD转换结果的高16位送给计算机,计算机再根据每个变送器提供的线形内插表算出对应的数值。

气体流量计信号调整电路

气体流量计信号以脉冲方式输出,输出的一部分是标准脉冲信号(TTL电平),还有一部分是在3V~30V之间的高电平信号。因此,利用比较器设计一个输入脉冲调整电路来简化电路,调整电路可识别这两部分脉冲信号,并将高电平的信号转化为TTL电平。流量计信号调整电路如图3,f2为流量脉冲的输入。设置参考电压V2,当输入低于参考电压时,输出GND=0V;当输入电压高于参考电压时,比较器输出电压Vcc=5V。比较器输出的信号,经过光电隔离和功率放大,输入到单片机P0.7引脚。

多路电磁阀控制电路

依据检定规程和流量计量程,检定时需设定多个检定流量点。在0.5m3/h~128m3/h之间取10个流量检定点,对应10只电磁阀来控制流量,定标时手动输入所需流量值,计算机根据电磁阀对应的流量值,自动打开相应电磁阀或电磁阀组合。

检测仪通过C8051F350单片机执行电磁阀的开闭动作、控制鼓风机,为了尽量少占用单片机的I/O口,引入74HC595芯片,如图4所示,设计串行口多路气阀控制电路。74HC595内含8位串入、串/并出移位寄存器和8位三态输出锁存器。将第一个74HC595的Q7与第二个的SER相接,单片机只需控制第一个74HC595的SER、SRCLK和RCLK三个引脚,就可使多路气阀和风机等的开闭得到控制。

气体流量计检测仪软件设计

气体流量计检测仪软件设计采用Delphi编程技术,处理下位机发送来的数据,得出检定结果,并将检定数据保存在SQL SERVER数据库系统中。检测仪系统的控制器部分负责采集数据和执行指令,而在计算机上完成检定界面的设计、数据库的设计和数据的处理。

控制器部分软件设计

如图5所示,控制器部分软件设计包括A/D采样模块、通讯模块、定时模块和计数模块设计。

(1)计数与计时

气体流量计检测仪采用中断方式对钟罩挡板脉冲、流量计输出脉冲和光栅尺脉冲进行计数。同时,检测仪要对标准时间计时,并且要产生1s中断,以及在通讯时产生波特率。C8051F350单片机可满足计数与计时要求,它拥有一个可编程计数器阵列(PCA),将PCA设置为对输入脉冲计数,大部分情况下只需控制其启动和停止,然后读出计数值。T0用于被检流量计脉冲信号计数;T1为串口通讯波特率发生器;T2用于标准时间计时和1s定时。

(2)通讯

C8051F350单片机与计算机通讯采用RS-232C串口,设定波特率115200bps。实际通讯时,计算机发出的有效指令编为一组代码,单片机在执行命令后,返回的数据中包含与此次操作对应的另一组代码。这样,上位机与单片机程序可同时编写,写好后可以像拼图一样组合使用;而且数据格式被约定了,在上位机修改数据格式的代码就可改变命令。

(3)检定方式

由检定人员将相关检定参数设定在计算机上,通过串口发送给单片机,检定流程如图6所示。首先将钟罩提升至指定位置,在设定检定方式和参数后开始检定。已实现的检定方式有:①钟罩定容方式:主要检定

相关主题
文本预览
相关文档 最新文档