




已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
温度变送器温度变送器3设计方案及实现3.1系统的组成结构与工作原理 该方案是利用单片机控制温度传感器采集温度、控制LED数码管实时显示温度值,并由单片机去把温度数据传至计算机进行存储、显示。温度测控系统的网络拓扑结构如图所示。 其工作过程为:下位机的单片机定时采集温度传感器所感应到的被测对象的表面温度,并将采集的温度数据显示到数码管上,同时通过串口经过RS-485总线传送到上位机。上位机收到下位机传送来的温度数据,在显示屏上显示,同时与上位机软件设置的告警温度阀值相比较,若高出,则在屏幕上进行告警提示,同时通过串口向下位机的单片机发送告警指令,单片机收到该指令后,控制蜂鸣器发音,进行告警提示。3.2硬件电路设计1)器件选型(1)单片机。单片机种类很多,许多厂家有自己的单片机系列产品,本项目应用中只是定时对温度传感器的数据进行采样,在数码管显示,功能相对简单,实时性不大强,运算量不大,因此选用8位单片机。该应用还涉及单片机与上位机的串口通信,因此选用的单片机及还应有一个串口。满足这两个条件的单片机很多考虑到价格和实验室已有的单片机集成开发环境和仿真器等因素,选用美国ATMEL公司生产的AT89C2051单片机。AT89C2051是一个低电压,高性能CMOS 8位单片机,片内含2k bytes的可反复擦写的只读Flash程序存储器和128 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大AT89C2051单片机可为您提供许多高性价比的应用场合。AT89C2051是一个功能强大的单片机,但它只有20个引脚,15个双向输入/输出(I/O)端口,其中P1是一个完整的8位双向I/O口,两个外中断口,两个16位可编程定时计数器,两个全双向串行通信口,一个模拟比较放大器,工作温度为55。C到125。C 。1.1课题的背景及现状温度是表征物体冷热程度的物理量。在工农业生产和日常生活中,对温度的测量及控制始终占据着重要地位。温度传感器应用范围应用范围之广、使用数量之大,也高居各类传感器之首。目前,温度传感器正向着单片集成化、智能化、网络化和单片系统化的方向发展。同时,随着时代的进步和发展,单片机技术已经普及到我们生活,工作,科研,各个领域,已经成为一种比较成熟的技术, 要为现代人工作、科研、生活、提供更好的更方便的设施就需要从数单片机技术入手,一切向着数字化控制,智能化控制方向发展,这给人带来的方便也是不可否定的 。智能温度变送器在对高、低频干扰信号的抑制方面均有着优异表现,即使在大功率变频控制系统中依然能够可靠应用,同时,数字化技术的应用彻底克服了传统温度变送器线性差的缺点,符合IEC61000-4-4:1995中所规定的第四类(恶劣工业现场)环境对产品的抗电磁干扰要求。智能温度变送器输入单路或双路热电偶、热电阻信号,变送输出隔离的单路或双路线性的电流或电压信号,并提高输入、输出、电源之间的电气隔离性能。智能温度变送器可以与单元组合仪表及DCS、PLC等系统配套使用,在油田、石化、制造、电力、冶金等行业的重大工程中有着广泛应用。1.2课题研究目的和意义本文将介绍一种基于单片机控制的智能温度变送器,除了可以实现单片机与PC机的通信以实现数字信号的变送外,还可以实现单片机与键盘显示独立控制,可以设置上下报警温度,当温度不在设置范围内时,可以报警。同时保留4-20mA直流电流、1-5V直流电压两种模拟信号,以便于和现场仪表的接口。为了对温度量进行远距离监视,更至是对其进行控制,我们需要先将温度采集后,通过现场总线将其输送到远处的PC机中,在对其进行各方面的处理,这里的智能温度变送器是一个典型的工程应用题目,实现难度不大,但工作量大,涉及的知识点多,对学生软硬件知识的一个综合锻炼.1.3课题研究的发展趋势本设计所介绍的智能温度变送器与传统的温度变送器相比,具有读数方便,测温范围广,测温准确,其输出温度采用数字显示,主要用于远距离控温使用,该设计控制器使用单片机AT89S51,测温传感器使用DS18B20,用4位共阳极LED数码管以串口传送数据,实现温度显示,能准确达到以上要求。引脚说明:VCC 电源电压GND 地端口1(Port 1)端口1是一个8位双向I/O口。端口引线P1.2到P1.7提供内部上拉电阻。P1.0和P1.1需要外接上拉电阻。P1.0和P1.1也分别作为芯片级精准模拟比较器的正输入(AIN0)和负输入(AIN1)。端口1输出缓冲器可吸收20mA的电流,可以直接驱动LED显示器。当向端口1写入1的时候,它们可以作为输入。当引线P1.2到P1.7用作输入并被外部拉低时,由于内部上拉电阻,它们将输出电流(IIL)。当对闪存编程和检验时,端口1也接收代码数据。端口3(Port 3)端口3引线P3.0至P3.5,P3.7是7个双向I/O口,带内部上拉电阻。P3.6是一个硬接线的输入,它接到芯片级比较器的输出端,不能当作通用的I/O口使用。端口3的输出缓冲器能吸收20mA的电流。当端口3的引线被写入1时,它们由内部上拉电阻拉为高电平,可以用作输入。作为输入时,如果端口3的引线被外部拉低,由于内部上拉电阻的作用,它们将输出电流(IIL)。端口3也为AT89C2051的许多特殊功能服务,如下表:端口号替代功能P3.0RXD(串行输入口);P3.1TXD(串行输出口);P3.2INT0 (外部中断0);P3.3INT1 (外部中断1);P3.4T0(定时器0外部输入);P3.5T1(定时器1外部输入)当对闪存编程和检验时,端口3也接收一些控制信号。RST复位输入。当RST引线被置为高电平时,所有的I/O口复位为1。当振荡器工作的时候,保持RST引线的高电平两个机器周期,将使单片机复位。每个机器周期为12个振荡器或时钟周期。XTA1:反向振荡放大器和内部时钟工作电路的输入。XTA2:内部反向振荡放大器的输出。振荡器的特性XTAL1和XTAL2分别是反向放大器的输入和输出,该放大器可设置用作芯片级的振荡器,如图1所示。石英晶振和陶瓷谐振器均可使用。要使用外部时钟源来驱动单片机,XTAL2应该被留空,而从XTA1接入时钟信号,如图2所示。由于通过一个两分频触发器输入到内部时钟电路,所以对外部时钟的占空比不作要求,但是必须注意最小和最大电压的高低时间规格。(2)温度传感器DS18B20数字温度计是DALLAS公司生产的1Wire,即单总线器件,具有线路简单,体积小的特点;他能够直接读出被测温度并且可根据实际要求通过简单的编程实现912位的数字值读取,可分别在93.75 ms和750 ms内完成9位和12位的温度数字量转换,从DS18B20读出信息或写入信息仅需要一根数据线;读写温度、变换功率可来源于数据总线,总线本身也可以向所挂接的DS18B20供电,而无需额外电源。因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数字温度计,实际应用中不需要外部任何元器件即可实现测温,十分方便。 测量温度范围在55。C到125。C之间,在-10+85C范围内,精度为0.5C。 数字温度计的分辨率用户可以从9位到12位选择。内部有温度上、下限告警设置内置A/D转换,温度数字量转换时间200ms(典型值)。 性能可靠,价格低。DS18B20其内部结构框图如图14-2所示,由64位光刻ROM及串行接口,温度传感器、高低温触发器、配置寄存器、8位CRC发生器、电源检测及寄生电容等各部分组成。64位光刻ROM是出厂前被光刻好的,它由8位产品系列号,48位产品序号和8位CRC编码组成,DS18B20的产品系列号均为28H,每个器件的48位产品序号各不相同,利用产品序号可以识别一线上的挂载的不同DS18B20器件。 图14-1 DS18B20引脚图 图14-2 DS18B20内部结构框图DSl820工作过程中的协议如下:初始化:单总线上的所有处理均从初始化开始 ROM操作命令:总线主机检测到DSl820的存在便可以发出ROM操作命令,ROM操作命令如表14-1所示 。表14-1 DS18B20的ROM操作命令指令代码Read ROM(读ROM)33HMatch ROM(匹配ROM)55HSkip ROM(跳过ROMCCHSearch ROM(搜索ROM)F0HAlarm search(告警搜索)ECH存储器操作命令:在执行ROM操作命令后执行存储器操作命令,存储器操作命令如表14-2所示。表14-2 DS18B20的存储器操作命令指令代码Write Scratchpad(写暂存存储器)4EHRead Scratchpad(读暂存存储器)BEHCopy Scratchpad(复制暂存存储器)48HConvert Temperature(温度变换)44HRecall EPROM(重新调出)B8HRead Power supply(读电源)B4HDS18B20高速暂存器共9个存储单元,其中序号为0和1的两个存储单元以补码的形式存放温度数字量。在12位转化情况下温度高低字节存放形式及如表14-3所示。二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625才能得到实际温度。 表14-3 DS18B20温度的高低字节存放低8位TL23 22 21 20 2-12-22-32-4高8位THS S S S S 26 25 24 0R1R011111表14-4 DS18B20配置寄存器 DS18B20的转换精度为9位到12位可设定,必须通过暂存器序号为4的配置寄存器进行设置,配置寄存器的各位如表14-4所示。当R1R0=11时最高转换精度为12位分辨率,这时完成一次温度数字转换需要750ms的时间。在12位分辨率下温度-数字量输出的关系表如表14-5所示。表14-5 温度-数据关系表表温度 数据输出(二进制) 数据输出(十六进制) 14-6 温度分辨率和最大转换时间关系表 DS18B20的温度转换时间与分辨率相关,当温度转换的分辨率越高,转换需要的时间越长,其关系表如表14-6所示。在12位分辨率下,最大转换时间需要750ms,而在9位分辨率下,最大转换时间只需93.75ms。(3)数模转换A/D芯片ADC0832ADC0832 是美国国家半导体公司生产的一种8 位分辨率、双通道A/D转换芯片。由于它体积小,兼容性,性价比高而深受单片机爱好者及企业欢迎,其目前已经有很高的普及率。学习并使用ADC0832 可是使我们了解A/D转换器的原理,有助于我们单片机技术水平的提高。芯片接口说明: CS_ 片选使能,低电平芯片使能。 CH0 模拟输入通道0,或作为IN+/-使用。 CH1 模拟输入通道1,或作为IN+/-使用。 GND 芯片参考0 电位(地)。 DI 数据信号输入,选择通道控制。 DO 数据信号输出,转换数据输出。 CLK 芯片时钟输入。 Vcc/REF 电源输入及参考电压输入(复用)。(4)串口总线RS-232目前RS-232是PC机与通信工业中应用最广泛的一种串行接口。RS-232被定义为一种在低速率串行通讯中增加通讯距离的单端标准。RS-232采取不平衡传输方式,即所谓单端通讯。收、发端的数据信号是相对于信号地。典型的RS-232信号在正负电平之间摆动,在发送数据时,发送端驱动器输出正电平在+5+15V,负电平在-5-15V电平。当无数据传输时,线上为TTL,从开始传送数据到结束,线上电平从TTL电平到RS-232电平再返回TTL电平。接收器典型的工作电平在+3+12V与-3-12V。由于发送电平与接收电平的差仅为2V至3V左右,所以其共模抑制能力差,再加上双绞线上的分布电容,其传送距离最大为约15米,最高速率为20Kbps。RS-232是为点对点(即只用一对收、发设备)通讯而设计的,其驱动器负载为3k7k。所以RS-232适合本地设备之间的通信。九针串口示意图见图5-1所示:具体每个针脚的功能表如表5-2所示:针脚功能1载波检测2接收数据3发送数据4数据终端准备完成5信号地线6数据准备完成7发送请求8发送清除9振铃指示(5)串口驱动芯片MAX232MAX232芯片是美信(MAXIM)公司专门RS-232标准串口设计的单电源电平转换芯片,使用+5v单电源供电。主要特点:只需要单一 +5V电源供电;片载电荷泵具有升压、电压极性反转能力,能够产生+10V和-10V电压V+、V- ;功耗低,典型供电电流5mA ;内部集成2个RS-232C驱动器 ;高集成度,片外最低只需4个电容即可工作其引脚图如下5-5所示:(6)LED数码管LED数码显示器是由发光二极管显示字段的显示器件,单片机系统中通常使用8段LED数码显示器,其外形及引脚如图 所示,由图可见8段LED数码显示器是由个发光二极管组成。其中个长条形的发光二极管排列成“日”字形,另一个圆点形的发光二极管在显示器的右下角作为显示小数点用。通过不同组合来显示各种数字,包括在内的部分英文字母和小数点等字样。LED数码显示器有两种不同的形式:一种是个发光二极管的阳极都连在一起的,称为共阳极LED数码显示器;另一种是个发光二极管的阴极都连在一起的,称为共阴极LED数码显示器。单片机系统扩展LED数码管时多用共阳LED:共阳数码管每个段笔画是用低电平(“0”)点亮的,要求驱动功率很小;而共阴数码管段笔画是用高电平(“0”)点亮的,要求驱动功率较大。八段LED数码管段代码编码表(连线不同可有多种表):字形0123456789黑共阳0C00F90A40B09992820F880900FF共阴3F065B4F666D7D077F6F002)单元电路设计(1)电源电路。本系统要设计+5V的直流电源,电源的稳定性和抗干扰技术,为抗击市电电源的波动,电源变压器次级绕组电压取9V,留有较大的余量。由于系统的整机电源负载较轻,在电源稳压块7805两端有约5V的压降,即使市电跌落30%也可保证有稳定的+5V输出。7805两端与地之间并联0.1微法的电容,可滤去由电源引入的高频杂散噪波。直流电源设计图如所示:图 直流电源设计图(2)单片机电路。我们选用的单片机AT89C2051的引脚如图:要使单片机工作起来,要给单片机增加上电复位电路和外接晶振。给AT89C2051加电时,需要对其进行一次复位操作。复位操作将单片机的工作环境置成初始状态,并从程序的开始进行运行。上电的瞬间RST引脚获得高电平,随着电容的充电,RST引脚的高电平将逐渐下降。RST引脚上高电平只要能够保持足够的时间(2个机器周期),单片机就可以进行复位操作。该电路典型的电阻电容参数为:晶振为12MHz时,电容为10uF,,电阻R2为8.2K;晶振为6MHz时,电容为22uF,电阻R2为1K。在单片机运行期间,可以通过按键完成复位操作,晶振为6MHz时,电阻R1为200欧 。外接晶振与单片机内部的时钟振荡器一起组成完整的时钟频率发生电路,XTAL1为AT89C2051内部时钟振荡器的输入端,XTAL2为AT89C2051内部时钟振荡器的输出端,图中CRYXTAL为晶振,起到选择振荡频率的作用。这里使用的时钟频率为11.0592MHz。电容C1、C2为振荡补偿电容,起到放宽振荡频率,让时钟容易起振的作用。(3)温度传感器电路设计单线数字温度传感器DS18B20与单片机连接电路非常简单,引脚1(GND)接地,引脚3(VCC)接+5V电源,引脚2(DQ)接单片机输入/输出一个端口,电源+5V和信号线DQ之间接有一个4.7K的电阻。这里DS18B20采集被控对象的实时温度并从单片机的 P3.7口输入,R7为上拉电阻。电路采用数字信号输出可提高信号抗干扰能力和温度测量精度。电路工作电压使用范围为3.05.5V,采用外部供电方式。温度传感器程序主要包括主程序、读出温度子程序、温度转换命令子程序、计算温度子程序等。读出温度子程序:程序主要功能是读出RAM中的9字节,在读出时需进行CRC校验,校验有错时不进行温度数据的改写。温度转换命令子程序:主要是发温度转换开始命令,当采用12位分辨率时转换时间为750ms,在本程序设计中采用1s显示程序延时法等待转换的完成。计算温度子程序:程序将RAM中读取进行BCD码的转换运算,并进行温度值正负的判定。(4)数码温度显示电路设计 单片机驱动数码管有很多方法,按显示方法分为静态显示和动态显示。静态显示方式的各数码管在显示过程中持续得到送显信号,与各数码管接口的I/O口线是专用的。其特点是显示稳定,无闪烁,用元器件多,占I/O线多,无须扫描。系统运行过程中,在需要更新显示内容时,CPU才去执行显示更新子程序,节省CPU时间,提高CPU的工作效率,编程简单。动态显示方式是指一位一位地轮流点亮每位显示器,与各数码管接口的I/O口线是共用的。其特点是有闪烁,用元器件少,占I/O线少,必须扫描,花费CPU时间,编程复杂。动态扫描显示接口是单片机中应用最广泛的一种显示方式,其接口是把所有数码管的个笔画段、的同名端连在一起,而每一个数码管的公共端各自独立的受/控制。向字段输出口送字码时,所有数码管收到相同的字形码,但究竟是哪一个数码管亮取决于端,而这一端是由I/O输出控制。我们采用分时驱动的方法,轮流控制各个数码管的端,使各个数码管轮流点亮,每位数码管的点亮时间都极为短暂,在轮流点亮扫描过程中,由于人的视觉暂留和发光二极管的余晖效应,尽管实际上各位数码管并非同时点亮,但由于扫描速度足够快,给人印象就是一组稳定的显示数据,不会有闪烁感。这种显示方式不但能够提高数码管的发光效率,而且由于各个数码管的字段线是并联使用的,从而大大简化了硬件电路。电路采用共阳极四位一体 LED数码管显示。P1.0P1.7的输出信号接到数码管上进行显示。P2.0、P2.1 P2.2和P2.3作为四个数码管的位选信号控制引脚直接接到 74LS138译码器上。系统可实现显示模式选择功能,如图 所示。四个独立式按键可以分别进行模式选择和温度上下限值设定。按温度值设定键后,按其他三个键对温度值调整范围0至+125。(5)报警电路设计 系统的主报警电路由一个自我震荡型蜂鸣器和两个发光二极管(即显示电路中的上下限指示灯)组成,当前温度越限时,报警电路开始工作,.口输出高电平,蜂鸣器蜂鸣,输出低电平,报警指示灯指示是报警。PNP晶体管的基极加上一只限流电阻,防止晶体管因输入电流过大而损坏。主报警电路如图4所示。 图 4 主报警电路(6)串口驱动电路设计单片机AT89C2051支持串口驱动,它提供的是电平的串口数据,但机进行串口通信时其COM口出来的信号是RS232协议的串口数据电平,同时由于串口数据传输距离较远,需要加驱动电路,要在AT89C2051和MAX232中间加转换芯片。RS232C规定的逻辑电平与单片机的逻辑电平不同,RS232的“1”是以-3-15V来表示的,而单片机的“1”是以+5V来表示的,两者完全不同,因此,单片机要想与计算机的RS232接口进行通信,就必须把单片机的TTL电平转换成计算机的RS232电平。目前使用较广泛的就是MAXIM公司的MAX232。单片机与MAX232的连接图如下图5-6所示:图5-6 单片机与MAX232的连接图()转换单元电路设计根据题目要求这里采用 15V/420mA的V/I变换电路,在图3中输入电压Vi是叠加在基准电压VB(VB=10V)上,从运放A1的反向输入VN端输入的,晶体管T1、T2组成复合管,作为射极跟踪器,起到降低T1基极电流的作用(即忽略反馈电流I2),使得ILI1,而运放A1满足VNVp,如果电路图中R1R2R,R4R5kR,则有如下表达式:由式可推出:若Rf62.5,k=0.25,Vi=15V,则I1420mA,而实际变换电流IL比I1小,相差I2(IL=I1-I2),I2是一个随输入电压Vi变化的变量,输入电压最小时(Vi=1V),误差最大,在实际应用中,为了使误差降到最小,一般R1,R2,Rf的阻值分别选取40.25k,40k,62.5。3)软件设计1)上位机程序设计上位机程序主要完成与下位机的串口通信,显示并储存下位机采集到的温度数据,并将下位机送来的温度数据与预先设定的阀值进行比较,若大于阀值,在上位机显示告警提示,并驱动告警音响,同时向下位机发送控制命令,下位机收到控制命令后,控制蜂鸣器发音进行警示.下位机还应有设置功能,即可人工调整温度告警阀值。2)下位机程序设计 下位机主要完成从温度传感器上采集数据,将采集的数据在数码管上显示,同时将采集的温度数据传送到上位机,并根据上位机的命令驱动蜂鸣器发音功能。因此,下位机软件分为初始化模块、数据采集显示模块、数据通信模块、转换单元模块和蜂鸣器告警模块五部分。()初始化模块主要完成的工作:单片机管脚的定义,如前文硬件单元电路所示,P1.0P1.7作为普通I/O口来使用,主要用来控制数码管的7个管脚,P1.7用来控制蜂鸣器;P3.0与 P3.1定义串口通信;P3.2 P3.5作为普通I/O口来使用,用来选通个数码管,分别控制数码管代表百位十位个位和小数位;P3.7用来读取温度传感器的数据。串口通信初始化,主要是设置串口允许发送和接收,设置波特率寄存器低位字节和高位字节和设置数据的传送格式。()数据采集显示模块。该模块的主要完成的工作是单片机读取温度传感器所采集的温度数据。这是下位机软件设计的核心部分。程序开始首先对温度传感器DS18B20进行复位,检测是否正常工作;接着读取温度数据,主机发出CCH指令与在线的DS18B20联系,接着向DS18B20发出A/D转换44H指令,再发出读取温度寄存器的温度值BE指令,并反复调用复位、写入及读取数据子程序,之后再经数据转换,有数码管显示出来,不断循环。主要包括:主程序开始、读取温度子程序、温度转化子程序和温度显示子程序,其中读取温度子程序又包括对传感器DS18B20的复位、DS18B20写入温度子程序和单片机读取DS18B20的子程序三部分。传感器DS18B20的连接很简单,但读取温度数的过程较为复杂,有严格的时序要求。先进行复位,搜索DS18B20是否存在,如果存在,主机将发出CCH指令与在线的DS18B20联系,接着向DS18B20发出A/D转换44H指令,再发出读取温度寄存器的温度值BE指令。在此过程中还需要调用复位、写入及读取温度数据子程序,用较为复杂的软件换取简单的硬件接口。根据DS18B20 的通讯协议,主机控制DS18B20 完成温度转换必须经过三个步骤:每一次读写之前都要对DS18B20 进行复位,复位成功后发送一条ROM 指令,最后发送RAM 指令,这样才能对DS18B20 进行预定的操作。DS18B20的复位子程序是根据DS18B20的通信协议,在每一次读写数据都要对其复位,复位时主机先发出复位低脉冲(大于480微妙),然后释放,DS18B20收到信号后等待1660us,然后发出60240us的存在低脉冲,主机收到此信号表示复位成功。DS18B20写入子程序,实现将温度数据写入温度寄存器,此时对DS18B20的写时序要求, 对于DS18B20的写时序分为写0时序和写1时序两个过程。 对于DS18B20写0时序和写1时序的要求不同,当要写0时序时,单总线要被拉低至少60us,保证DS18B20能够在15us到45us之间能够正确地采样IO总线上的“0”电平,当要写1时序时,单总线被拉低之后,在15us之内就得释放单总线。 DS18B20读取子程序,将温度寄存器中温度值读出,此时对DS18B20的读时序要求,对于DS18B20的读时序仍分为读0时序和读1时序两个过程。 对于DS18B20的读时隙是从主机把单总线拉低之后,在15秒之内就得释放单总线,以让DS18B20把数据传输到单总线上。DS18B20在完成一个读时序过程,至少需要60us才能完成。读出温度子程的主要功能是读出RAM中的9字节。在读出时须进行CRC校验,校验有错时不能进行温度数据的改写温度转化子程序。传感器DS18B20所测得的温度数据低位存入29H,高位存入28H。将温度数据转换成BCD码,以便在4为LED数码显示器上显示。温度显示子程序。从硬件电路可知,P1.0P1.7主要用来控制数码管的个管脚,输出字形码;P2.0、P2.1 P2.2和P2.3作为四个数码管的位选信号控制引脚用来选通四个分别代表百位、十位、个位和小数位的数码管。数码管显示采用动态显示方式。图9 计算温度子程序流程图()数据通信模块。主要完成串口数据的发送和接收。串口数据主要完成每隔向上位机传送一次所采集的温度数据。采用定时器。串行通信程序包括两方面, 一方面是MCS- 51 单片机的通信程序, 另一方面为PC 机的通信程序 在编写程序之前, 制定其双方通信协议是十分重要的, 否则将无法保证通信数据的可靠性, 从而失去通信的意义 现约定其通信协议如下:1) 串行通信波特率为1200bps2) 帧格式为: 一位起始位, 八位数据位, 一位可编程的第九位( 此位为发送和接收的地址/ 数据的标志位) , 一位停止位3) 设定单片机的地址码为F1H 在传送数据前先联络地址码, 如地址码正确则传送数据, 否则继续联络地址码4) 无奇偶校验位数据的通信采用累加和校验的方法, 即每传送一组数据( 个数自定, 为100 个) , 校验一次累加和是否正确, 正确则回送00H, 否则回送FFH5) 通信可以有中断传送方式和查询方式在这里介绍查询方式通信6) 联络方式为PC 机主动联络MCS- 51 单片机7) PC 机采用COM2 通信单片机与pc单片机通信流程图4)系统总体设计(1)程序编译器单片机的编程语言有四种,即汇编语言、语言、BASIC语言和PL/M语言。目前使用最多的单片机开发语言是汇编语言和C51语言,这两种语言都有较好的编译器支持,使用广泛。一般来说,C51语言用于编写较复杂的大型程序,汇编则用于效率很高的场合,尤其是底层函数的编写。该题目下位机部分采用汇编语言,采用德国Keil公司的Keil C51编译器,他被嵌入到Keil uVsion集成开发环境中。它集项目管理、编译工具、代码编写工具、代码调试及完全仿真于一体,适合个人开发或人数少、对开发过程的管理还不成熟的开发团体。这里采用Keil uVsion2进行编程后和Proteus进行仿真测试。(2)仿真工具Proteus软件是英国Labcenter electronics公司出版的EDA工具软件。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。他是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等。在编译方面,它也支持IAR、Keil和MPLAB等多种编译器。 在PROTEUS绘制好原理图后,调入已编译好的目标代码文件:*.HEX,可以在PROTEUS的原理图中看到模拟的实物运行状态和
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 设计材料代用管理制度
- 诊所内科门诊管理制度
- 诊所药品进货管理制度
- 试用员工流程管理制度
- 财务绩效考核管理制度
- 财政水利资金管理制度
- 货物电梯设备管理制度
- 货运物流公司管理制度
- 2025年中国互联力量训练器材行业市场全景分析及前景机遇研判报告
- 2025年中国催化加热器行业市场全景分析及前景机遇研判报告
- 二手农机买卖合同协议书
- 2024年大学试题(宗教学)-伊斯兰教文化笔试考试历年典型考题及考点含含答案
- 植筋、界面处理检验批质量验收记录表
- 机床安全 压力机 第 2 部分:机械压力机安全要求
- 住院医师规范化培训临床小讲课的设计与实施培训课件
- 多图中华民族共同体概论课件第十三讲先锋队与中华民族独立解放(1919-1949)根据高等教育出版社教材制作
- JJF 1101-2019 环境试验设备温度、湿度参数校准规范
- 2024年陕西省政工师理论知识考试参考题库(含答案)
- 化工工程基础知识培训课件
- 市政道路工程技术标
- 无人机研学旅行方案
评论
0/150
提交评论