




免费预览已结束,剩余16页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单片机与微机485通讯邓建忠摘 要: 摘要介绍美国DALLAS公司的单线数字温度传感器DS18B20在其前代产品DS1820基础上的新特性和RS-485标准接口芯片MAX485的原理和应用,并给出了单片机最小系统与PC机串行通信接口电路,最后,编程实现了串行通信。并针对它在桥梁混凝土测温系统的应用中出现的与硬件和软件有关的问题给出解决方法。 关键词:DS18B20 RS-485 PC机 MAX485 混凝土 Abstract : The abstract introduces American DALLAS Corporation single track numeral temperature sensor DS18B20 front it in generation of product DS1820 foundation new characteristic and RS-485 standard connection chip MAX485 principle and application, and produced the monolithic integrated circuit smallest system and the PC machine serial correspondence connection electric circuit, finally, the programming realized the serial correspondence. And aims at it in the bridge concrete measures the warm system in the application appears produces the solution method with the hardware with the software related question. Key word : DS18B20 RS-485 PC machine MAX485 Concrete引言: 2005年4月30日举世闻名的全长35.66公里、双向六车道的润扬长江公路大桥正式通车,该桥由混泥土浇制,而在远离桥梁厂的野外现场浇制桥梁时,为保证梁身浇注的质量,须做到: 养护时梁内任意两点之间的温度差不能超过规定值; 混凝土浇注后14天的水化热温度曲线须符合所用规格混凝土的水化热温度曲线; 混凝土受太阳照射后桥身的各个部位的热胀冷缩不同,导致桥面和腹板出现日照温差,产生温度应力,此应力不能超过一安全极限值,否则将影响桥梁的承载力。本系统采用DS18B20和单片机及其外围电路构成完整的温度采集及数据传送电路,用于采集混凝土浇注后14天内的水化热温度及第14天以后,1年内的日照温差,并存入数据库,对桥梁的质量及使用年限进行评估和预测。一、DS18B20特点和结构DS18B20是美国DALLAS公司继DS1820之后推出的增强型单总线数字温度传感器。它在测温精度、转换时间、传输距离、分辨率等方面较DS1820有了很大的改进,给用户带来了更方便的使用和更令人满意的效果。 1. DS18B20的新性能可用数据线供电,电压范围:3.05.5V;测温范围:-55+125,在-10+85时精度为0.5;可编程的分辨率为912位,对应的可分辨温度分别为0.5、0.25、0.125和0.0625;12位分辨率时最多在750ms内把温度值转换为数字;负压特性:电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。2. DS18B20的外形及引脚说明DS1820的引脚见图(PR35封装)。其体积只有DS1820的一半,引脚定义相同。GND:地;DQ:数据输入输出脚(单线接口,可作寄生供电);VDD:电源电压。3. DS18B20内部结构 (1) DS18B20的内部结构如图 2 所示。 DS18B20有4个主要的数据部件: 64位激光ROM。64位激光ROM从高位到低位依次为8位CRC、48位序列号和8位家族代码(28H)组成。 温度灵敏元件。 非易失性温度报警触发器TH和TL。可通过软件写入用户报警上下限值。 配置寄存器。配置寄存器为高速暂存存储器中的第五个字节。DS18B20在工作时按此寄存器中的分辨率将温度转换成相应精度的数值,其各位定义如图3所示。其中,TM:测试模式标志位,出厂时被写入0,不能改变;R0、R1:温度计分辨率设置位,其对应四种分辨率如表1所列,出厂时R0、R1置为缺省值:R0=1,R1=1(即12位分辨率),用户可根据需要改写配置寄存器以获得合适的分辨率。TMR1R011111MSBLSB图 3 DS18B20配置寄存器结构图表 1 配置寄存器与分辨率关系表 R0R1温度计分辨率/bit最大转换时间/ms00993.750110187.510113751112750(2) 高速暂存存储器高速暂存存储器由9个字节组成,其分配如图4所示。当温度转换命令发布后,经转换所得的温度值以二字节补码形式存放在高速暂存存储器的第0和第1个字节。单片机可通过单线接口读到该数据,读取时低位在前,高位在后,数据格式如图5所示。对应的温度计算:当符号位S=0时,直接将二进制位转换为十进制;当S=1时,先将补码变为原码,再计算十进制值。表 2是对应的一部分温度值。温度低位温度高位THTL配置保留保留保留8位CRCLSBMSB图 4 DS18B20 存储器映像图 图 5 温度值格式图表 2 DS18B20 温度数据表温度/二进制表示十六进制表示+125 +25.0625+10.125+0.50-0.5-10.125-25.0625-5500000111 1101000000000001 1001000100000000 1010001000000000 0000100000000000 0000000011111111 1111100011111111 0101111011111110 0110111111111100 1001000007D0H0191H00A2H0008H0000HFFF8HFF5EHFE6FHFC90H 4. DS18B20工作原理DS18B20的读写时序和测温原理与DS1820相同,只是得到的温度值的位数因分辨率同而不同,且温度转换时的延时时间由2s减为750ms。DS18B20工作流程图:图6 DS18B20工作流程图.DS18B20的读写时序如下。 PROC WRITEWRITE: MOVR2,#8 CLRC WR1:CLRDQMOVR7,#6DJNZ R7,$RRCAMOVDQ,CMOVR7,#23DJNZ R7,$SETB DQNOPDJNZ R2,WR1SETB DQRET ; 读一个字节,出口:A=读入的字节PROC DREADDREAD:MOVR2,#8READL:CLRCSETB DQNOPNOPCLRDQNOPNOPNOPSETB DQ ;产生时间片MOVR7,#7DJNZ R7,$MOVC,DQMOVR7,#23DJNZ R7,$RRCADJNZ R2,READL RET二、 DS18B20在桥梁测温中的应用1. 测温系统要求由于桥梁施工过程中桥墩、梁身和桥面的二次施工为不同单位负责,故须自备电源,尽量减少功耗;因数据要求长期保存,故要求容量较大的存储器;要对数据进行分析且形成数据库,从而需要可靠的通讯接口。2. 系统设计要点(1) DS18B20采用三线制供电方式,传输线采用普通的三芯线。因混凝土的碱性很大,传感器用环氧树脂封装在导热性能良好的薄铁筒内,72个点顺序排列在一根三芯线上。为避开混凝土浇注时的直接冲力,传感器顺着钢筋走线。(2) 多次测量并算出温度转换时的平均电流I1和时间t1及温度传感器和MCU均空闲时的平均电流I2。根据预定更换电池的时间t2得出采样次数N,然后根据电路总功耗,选择适当容量的电池。P总=UI1t1N+I2(t2-Nt1),U为系统电压。(3) 为减少功耗,不进行温度采集时,使单片机进入睡眠状态,采用DS12887的定时中断,唤醒单片机进行温度转换操作。 (4) 将2字节的温度数据转换为1字节的补码(小数部分四舍五入,此时精度为1),然后根据测点数n、时钟的年月日时占用的字节(4字节)、采样间隔时间t和要求保存数据的时间t选取存储器容量NByte=(n+4)t/t。(5) 在VC+6.0开发平台下编写便携式PC机与单片机的串行通讯程序,用于完成修改单片机的采样间隔时间、成批读取单片机外部存储器中的温度数据并将接收到的数据转存入数据库、画各点的水化热温度曲线和画同一截面上点的温度梯度曲线等功能。3. 硬件构成该系统采用带8K程序存储器的AT89C52单片机及大容量数据存储29FC040和 DS12887日历/时钟芯片等构成,如图6所示。图 6 测温系统硬件电路结构图(1) DS12887用于产生定时中断,接收到中断后单片机先读取日历和时钟并存储,然后启动温度转换,再读取温度并存储。单片机构成的采集装置的缺省的采样间隔值为1h(小时),采样间隔值保存在有断电保存功能DS12887的用户字节中。测水化热时每小时采集1次;14天后每天的2点和14点各采集1次。采样间隔时间只有通过便携式PC经RS232接口进行修改,这样,可避免进入桥梁中的工人或附近居民因好奇而偶然修改了采样值。(2) 29FC040用于存储一个PC成批读取数据周期内的所有温度值和其对应的采集时间等数据。(3) 蓄电池的功率应考虑一定的余量,以与存储器时间相匹配。三、 DS1820使用中注意事项 DS1820虽然具有测温系统简单、测温精度高、连接方便、占用口线少等优点,但在实际应用中也应注意以下几方面的问题: (1)较小的硬件开销需要相对复杂的软件进行补偿,由于DS1820与微处理器间采用串行数据传送,因此,在对DS1820进行读写编程时,必须严格的保证读写时序,否则将无法读取测温结果。在使用PL/M、C等高级语言进行系统程序设计时,对DS1820操作部分最好采用汇编语言实现。 (2)在DS1820的有关资料中均未提及单总线上所挂DS1820数量问题,容易使人误认为可以挂任意多个DS1820,在实际应用中并非如此。当单总线上所挂DS1820超过8个时,就需要解决微处理器的总线驱动问题,这一点在进行多点测温系统设计时要加以注意。 (3)连接DS1820的总线电缆是有长度限制的。试验中,当采用普通信号电缆传输长度超过50m时,读取的测温数据将发生错误。当将总线电缆改为双绞线带屏蔽电缆时,正常通讯距离可达150m,当采用每米绞合次数更多的双绞线带屏蔽电缆时,正常通讯距离进一步加长。这种情况主要是由总线分布电容使信号波形产生畸变造成的。因此,在用DS1820进行长距离测温系统设计时要充分考虑总线分布电容和阻抗匹配问题。 (4)在DS1820测温程序设计中,向DS1820发出温度转换命令后,程序总要等待DS1820的返回信号,一旦某个DS1820接触不好或断线,当程序读该DS1820时,将没有返回信号,程序进入死循环。这一点在进行DS1820硬件连接和软件设计时也要给予一定的重视。四、最小应用系统的组成和工作原理考虑其经济性、实用性, 我们设计的最小应用系统的硬件包括单片机、输入输出接口电路、输入设备(按键)、输出设备(数码管)以及常规芯片如译码器、驱动器、地址锁存器等部分。最小系统的主机采用89C52单片机,地址锁存器选用74LS373, 译码器选用74LS138,数码显示电路选用74HC595 8位移位寄存器以及共阳极数码管。下面对各部分硬件作简单的介绍。AT89C52单片机及其应用最小系统的核心是AT89C52单片机,其内部带有8KB的FLASH ROM,256B片内RAM,基本上能满足最小系统的设计要求。如接上时钟电路、复位电路即可加电工作。如图7所示。图7AT89C52单片机各引脚的功能和应用介绍如下:1) P0口如图8所示,P0口作为扩展外部存储器和I/O接口的数据总线和低八位地址总线。由于数据和地址是分时地复用P0口,所以在P0口接一片74LS373锁存器,用来锁存P0口输出的低八位地址信号,这样就把数据和地址分开了。74LS373的输出就是低八位地址码A0A7。图82) P1口P1口作为通用I/O口使用。如图9所示,P1.0P1.2为带锁存的串-并移位寄存器74LS595的串行数据输入端及时钟控制端。其余口线作按键的输入口线。3) P2口P2口作为扩充外部存储器和I/O接口的高八位地址线,如图10所示,其中P2.5-P2.7通过74LS138译码器,输出8个片选信号,分别接到LCD、A/D、D/A等二次开发所需芯片的片选输入端。图9图104) P3口P3口线既可作一般的I/O口使用,又可定义为第二功能,本应用系统中将P3.6、P3.7口线作外部设备的读写选通信号线,其余口线留作二次开发时使用。5) 控制线RESET复位信号输入端。采用上电自动复位和按钮手动复位相结合的电路。ALE地址锁存允许信号输出端。接至地址锁存器74LS373的选通端G。内部和外部程序存储器选择线。由于89C52单片机内部带有8KB的FLASH ROM,因此端接+5V。四、PC机的程序设计与通讯协议 PC机采用VisualBasic(简称VB)编程。目前,VB已成为WINDOWS系统开发的主要语言之一,以其高效、简单易学及功能强大的特点越来越为广大程序设计人员及用户所青睐。VB支持面向对象的程序设计,具有结构化的事件驱动编程模式,提供了可视化设计工具,开发人员不必为界面设计而编写大量程序代码,只需要按设计要求的屏幕布局,用系统提供的工具,在屏幕上画出各种“部件”,即图形对象,并设置这些图形对象的属性,VisualBasic便自动产生界面设计代码,从而可以十分简便地做出良好的人机界面,并通过串行口将所需的各种预置信号(数字信号)传给单片机系统,再由单片机系统经线性光电隔离器送到现场。预置数值可以分别显示在PC机软件窗口和单片机系统的预置数字表头上。同时,现场实测信号,也可以实时显示在本系统的检测数字表头上和PC机的界面上。如此设计界面直观,而且有利于对现场信号进行实时监测与声光报警。采用本系统,对试验操作人员来说人机界面良好,简单易懂。1、B6.0中的ActiveX控件MSComm在Windows环境下,操作系统完全接管了各种硬件资源,不允许用户直接控制串行口的中断管理。以往程序员只能通过数目众多的API函数来控制串口。 VB6.0下提供了一个ActiveX控件Microsoft Communication Control 6.0,简称MSComm控件。用户可以在自己的应用程序嵌入MSComm控件,利用它可以方便地进行计算机串口的通信管理。 在vb6.0开发环境中,MSComm通信控件可直接从VB的ToolBox中加入窗体Form,即可用其进行通信。若ToolBox中无此控件,则用Tools的Custom Controls将MSComm.VBX从Windows的System子目录中加入VB的ToolBox中。 MSComm控件有许多属性(Property),其中一些重要的属性如下: CommPort:设置串口号;类型:short 。 Settings:设置串口通信参数;类型:Csting 。 PortOpen:设置或返回通信口的状态;类型:BOOL 。 InputMode:设置从缓冲区读取数据的格式;类型:long 。 Input:从接收缓冲区读取数据;类型:VARIANT 。 Output:向发送缓冲区写入数据;类型:VARIANT 。 InBufferCount:接收缓冲区中的字节数;类型:short 。 OutBufferCount:发送缓冲区中的字节数;类型:short 。 CommEvent:设置或返回Input每次读出的字节数;类型:short 。 CommEvent:串口事件;类型:short 。 其中串口号(CommPort)设置为1、2等表示COM1、COM2。参数设置(Settings)的格式为“B,P,D,S”B表示波特率,P表示奇偶校验(N:无校验,E:偶校验,O:奇校验),D表示字节有效位数,S表示停止位数。串口状态为BOOL变量,TRUE表示打开串口,FALSE表示关闭串口。InputMode使程序能方便地选择从缓冲区读取数据的格式,设置为0时,为字符串格式(Text),设置为1时,为二进制格式(Binary)。InputLen设置或返回的是用Input从缓冲区读字符串时每次读出的字符个数,这个性质对于读出数据块中长数据串非常有用。 另外,MSComm控件提供了两种方法来处理串口通:上面属性的InBufferCount和OutBufferCount用于串口的查询方2、行通信程序的执行过程,如图11所示: 图113、 RS-485串口通信标准及接口电路RS-232C是广泛应用的串口通信标准,但因其推出较早,在现代网络通信中已暴露出数据传输速度慢、传输距离短、接口处各信号间容易产生干扰等明显的缺点。鉴于RS-232C的这些缺点,EIA于1977年制定了新标准RS-499,RS-423/422(全双工)是RS-499的子集,RS-485(半双工)则是RS-422的变型。RS-485是一种多发送器的电路标准,它扩展了RS-422A的性能,允许双绞线上一个发送器驱动32个负载设备,负载设备可以是被动发送器、接收器或收发器,RS-485最大传输距离为1200m,最大传送速率可达10Mb/s。因此,RS-485在远程通信和多机总线系统中具有很大的吸引力。MAXIM公司生产的MAX48X/49X系列收发器芯片,适合于RS-422/RS-485通信标准,在实际设计中得到了广泛应用。本设计采用MAX485收发器芯片完成RS-485标准接口通信。MAX485芯片主要有以下特点:单+5V电源供电;低功耗:工作电流120500uA;驱动过载保护;通信传输线上可挂32个收发器方便组成半双工通信电路;共模输入电压范围:-7V+12V。(1).MAX485为8脚封装,引脚配置如图12所示:图(12)MAX485外部引脚定义 (2).逻辑功能 芯片逻辑功能如表3所示。表3 RS-485491逻辑定义(3).在网络中的连接 芯片在半双工和全双工RS-485联网的联接如图13所示。 图13 半双工RS-485联网图 4、通信方式1 微机和智能仪器间基于RS485总线的主从方式点对多点通信,各为主/从属设备,被呼叫到时响应,或主发;主设备可单独和从设备通信,也能以广播方式和所有从设备通信。如果单独通信,从设备返回一消息作为回应,如果是以广播方式查询的,则不作任何回应。2微机和智能仪器可作为主从设备,主从设备中建立了主设备查询和从设备回应消息的格式;在通信接收过程中如果发生一错误,或从设备不能执行其命令,从设备将建立一错误命令并把它作为回应发送出去。尽管网络通信方法是“对等”。如果一设备发送一消息,它只是作为主设备,并期望从从设备得到回应。同样,当主设备接收到一消息,它将建立一从设备回应格式并返回给发送的控制器3通讯方式全兼容,采用异步通信,起始位1位,数据位8位,停止位1位,无校验。数据传输速率为1.2 kbps、2.4kbps、4.8kbps、9.6kbps、19.2kbps。5、议的基本格式在协议中建立了主设备查询的格式,和从设备回应消息格式。协议的基本格式如表4,其格式如下: 表4序号12345字节数111N1格式SOIADR长度信息EOI SOI为起始位标志(START OF INFORMATION)当值为F1H时为主发标志,值为F3H时为响应标志;ADR是信息帧的第一字节(8位)设备地址描述,在一个485总线上可以挂接多个设备,此处的设备地址表示想和哪一个设备(1254,0为广播地址、255保留)通讯,从0到255。它表明由用户设置地址的从机将接收由主机发送来的信息。每个从机都必须有唯一的地址码,并且只有符合地址码的从机才能响应回送。当从机回送信息时,相当的地址码表明该信息来自于何处。 长度是该整条指令的总字节数(包括起始位标志、结束码);EOI为结束码当值为F2H是为主发结束,值为F4H时为响应结束。举例说明: 当主机向从机发送命令是“F21FD”其中“F2“是起始位标志,“1”是地址位,是用于分辩哪个从机工作,“FD”是结束码,标志主机发送完备。当从机接受到主机发来的命令后,判断是自己的地址号并开始发送数据,它的命令形式是“F21XXXXXFD”其中的“F2和FD”分别代表起始位标志和结束码,“1”代表是当前从机的站号,“XXXXX”代表发送的信息。只有单片机和微机两方同时严格遵守通信协议才能互相通信,否则就会产生错误。八:系统框图1. 系统框图, 如图14所示图14九:软件部分1单片机程序 TEMPER_L EQU 29H ; 用于保存读出温度的低8位 TEMPER_H EQU 28H ;用于保存读出温度的高8位(特别是可位寻址,程序中用的着哦) FLAG1 EQU 38H ;是否检测到DS18B20标志位 ORG 0000H LJMP MAIN ORG 000BH LJMP MAIN2 ORG 0023H LJMP RSIN ORG 0030HMAIN: MOV SP,#60H SETB P3.4 MOV SBUF,#0 CLR TI MOV R0,#00H ;内部RAM低128字节清0 MOV R1,#80H MAIN1: MOV R0,#00H INC R0 DJNZ R1,MAIN1 CLR P3.4 ;串口 方式 1 MOV TMOD,#20H ;T1 方式 1 MOV SCON,#50H MOV IP,#10H MOV TL1,#0FDH ;波特率 9600 的常数 MOV TH1,#0FDH SETB TR1 SETB ES SETB EA MAIN2: JNB 58H,MAIN3 LCALL FS_RSIN2 CLR 58HMAIN3: CLR C LCALL INIT_1820 ;调用复位DS18B20子程序 LCALL GET_TEMPER ;调用读温度子程序 MOV A,TEMPER_L MOV C,40H ;将28H中的最低位移入C RRC A MOV C,41H RRC A MOV C,42H RRC A MOV 29H,A JNB ACC.0,LOOP8 MOV 34H,#05H AJMP LOOP0 LOOP8:MOV 34H,#00H LOOP0: MOV 33H,#0AH CLR C RRC A ;移除小数部分 MOV B,#64H DIV AB MOV 30H,A MOV A,#0AH XCH A,B DIV AB MOV 31H,A MOV 32H,B LCALL DISPLAY LCALL ASC AJMP MAIN2 DISPLAY:PUSH PSW PUSH ACC SETB RS0 CLR C MOV R0,#30H ;显示缓冲区首地址 MOV R2,#08H MOV R3,#01H LOOP2:MOV A,R0 ;读显示数据 MOV DPTR,#TAB MOVC A,A+DPTR ; 转换为字行码 CLR C LOOP:RLC A MOV P1.0,C ;将字行码送595移位寄存器 CLR P1.1 SETB P1.1 CLR P1.1 DJNZ R2,LOOP MOV R2,#08H MOV A,R3 ;将位码送595移位寄存器 CLR C LOOP1:RLC A MOV P1.0,C CLR P1.1 SETB P1.1 CLR P1.1 DJNZ R2,LOOP1 CLR P1.2 ;595锁存 SETB P1.2 CLR P1.2 ACALL DIMS INC R0 ;显示缓冲区地址加1 MOV A,R3 JB ACC.4,QUIT RL A MOV R3,A MOV R2,#08H AJMP LOOP2 QUIT: POP ACC POP PSW CLR RS0 RET DIMS: MOV R7,#02H DL:MOV R6,#0FFH DL1:DJNZ R6,DL1 DJNZ R7,DL RET D1S: MOV R7,#0AH DL5: MOV R6,#0FFH DL4: MOV R5,#0FFH DL2:DJNZ R5,DL2 DL3:DJNZ R6,DL4 DJNZ R7,DL5 RET D100MS:MOV R7,#0A0H DL9:MOV R6,#0FFH DL7:DJNZ R6,DL7 DL8: DJNZ R7,DL9 RETGET_TEMPER:SETB P1.4; 定时入口 LCALL INIT_1820;先复位DS18B20 JB FLAG1,TSS2 RET TSS2:MOV A,#0CCH ; 跳过ROM匹配 LCALL WRITE_1820 MOV A,#44H ; 发出温度转换命令 LCALL WRITE_1820 LCALL DISPLAY;这里通过调用子程序实现延时一段时间,等待AD转换结束,. LCALL DIMS LCALL INIT_1820;准备读温度前先复位 MOV A,#0CCH ; 跳过ROM匹配 LCALL WRITE_1820 MOV A,#0BEH ; 发出读温度命令 LCALL WRITE_1820 LCALL READ_18200; 将读出的温度低位字节送TEMPER_L MOV TEMPER_L,A LCALL READ_18200; 将读出的温度高位字节送TEMPER_H MOV TEMPER_H,A RET; DS18B20复位初始化程序INIT_1820:SETB P1.4 MOV R2,#200;主机发出延时600微秒的复位低脉冲 INI11:CLR P1.4 DJNZ R2,INI11 SETB P1.4;然后拉高数据线 MOV R2,#30 INI12:DJNZ R2,INI12;延时60微秒,等待DS18B20回应 CLR C ORL C,P1.4;DS18B20数据线变低吗 JC INI16;DS18B20未准备好 SETB FLAG1 MOV R6,#80 INI13:ORL C,P1.4 JC INI14;DS18B20数据线变高,初始化成功 DJNZ R6,INI13 AJMP INI16 INI14:MOV R2,#240 INI15:DJNZ R2,INI15 SETB P1.4 RET INI16: CLR FLAG1 SETB P1.4 RET;写DS18B20的子程序(有具体的时序要求)WRITE_1820:MOV R3,#8;一共8位数据WR11:SETB P1.4 MOV R4,#8 RRC A;写入位从A中移到CY CLR P1.4WR12:DJNZ R4,WR12;等待16微秒 MOV P1.4,C;命令字按位依次送给DS18B20 MOV R4,#20WR13:DJNZ R4,WR13 DJNZ R3,WR11 SETB P1.4 RET; 读DS18B20的程序READ_18200:MOV R6,#8 ; 一共8位数据 RD11:CLR P1.4 MOV R4,#4;低电平持续2微秒 NOP SETB P1.4;口线设为输入 RD12:DJNZ R4,RD12;等待8微秒 MOV C,P1.4 RRC A MOV R5,#30RD13:DJNZ R5,RD13;保证读过程持续60微秒 DJNZ R6,RD11 SETB P1.4 RETTAB: DB 0C0H,0F9H,0A4H,0B0H,99H DB 92H, 82H,0F8H,80H,90H,7FHFS_RSIN2:CLR ES SETB P3.4 CLR TI MOV A,#46H LCALL FS MOV A,#32H LCALL FS MOV A,#31H LCALL FS MOV A,50H LCALL FS MOV A,51H LCALL FS MOV A,52H LCALL FS MOV A,53H LCALL FS MOV A,54H LCALL FS MOV A,#46H LCALL FS MOV A,#44H LCALL FS MOV A,#0DH LCALL FS MOV A,#0AH LCALL FS CLR P3.4 SETB ES RET FS: SETB P3.4CLR TI MOV B,A MOV SBUF,A ;公用发送程序FT2: MOV R6,#080H LJMP TTTT: MOV R7,#00HTA: JB TI,TB DJNZ R7,TA DJNZ R6,TTTB: MOV A,B CLR TI RET ;* ; 通讯接收 ;*RSIN: PUSH PSW PUSH ACC PUSH B PUSH DPL PUSH DPH CLR RS0 SETB RS1 JNB TI,RSINA CLR TI LJMP RSINZRSINA: JNB RI,JRSINZ MOV A,SBUF; 接收字符送28H CLR RI JB 48H,RSINC CJNE A,#46H,JRSINZ; 第一个字符是F? SETB 48H MOV 40H,A CLR 49H CLR 4AH CLR 4BHJRSINZ: LJMP RSINZRSINC: JB 49H,RSIND CJNE A,#32H,RSINY; 03 第二个字符是2? SETB 49H MOV 41
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025国道316线南平下岚超限运输检测站招聘交通执法辅助人员模拟试卷有答案详解
- 2025年四川天府银行社会招聘模拟试卷附答案详解(典型题)
- 2025贵州省华贵人寿保险股份有限公司第一次社会招聘9人考前自测高频考点模拟试题及参考答案详解一套
- 2025年晋江市林业和园林绿化局公开招聘1人模拟试卷及答案详解(夺冠)
- 2025贵州黔南州瓮安县“雁归兴瓮”人才引进模拟试卷及完整答案详解
- 2025国网经济技术研究院有限公司第二批高校毕业生录用人选的考前自测高频考点模拟试题带答案详解
- 2025广东韶关市新丰县国有资产管理集团有限公司第一批专业技术人员招聘有关事项模拟试卷及答案详解(有一套)
- 2025福建省梧凤文旅集团有限公司招聘1名工作人员模拟试卷(含答案详解)
- 2025贵州雍福产业发展投资(集团)有限公司第一批招聘5人模拟试卷及一套答案详解
- 2025广发银行成都分行社会招聘考前自测高频考点模拟试题参考答案详解
- 2025政治理论时政热点知识试题库附完整答案
- 民间借贷抗诉申请书
- 消毒灭菌教学课件
- 2025年考研护理综合全程真题及答案
- 工会安全监督培训课件
- 学堂在线 知识产权法 章节测试答案
- 小学道德与法治五年级上册《烟酒有危害》教学课件
- 减脂课件教学课件
- 2025 SMETA员工公平职业发展管理程序-SEDEX验厂专用文件(可编辑)
- 卫生法律法规试题题库(附答案)
- 水浒传鲁智深介绍
评论
0/150
提交评论