版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
智能仪器第1章绪论第2章智能仪器的标准数据通信接口第3章预处理电路及数据采集第4章人机接口技术第5章测量算法与系统化设计第6章监控主程序的设计第1章绪论课时安排:2学时知识点:智能仪器的定义、特点、组成;智能积分式DVM的工作原理、智能仪器设计要点、监控程序的结构、程序设计技术。重点:智能仪器的组成、智能积分式DVM的工作原理、监控程序的结构。难点:智能积分式DVM的工作原理教学方法:以课堂讲授方式进行教学,从介绍电子测量仪器的开展过程、深刻分析智能仪器与传统电子仪器的区别。通过介绍智能仪器的结构及设计要点,使学生明确智能仪器包含的主要模块和涉及的知识领域,把本课程在其它几章中要介绍的内容关联起来,使学生明确其余几章在本课程中所占的地位,明确学习目的和任务,激发学生的学习积极性和主动性。本章对学生的要求:要求学生上课认真听讲,课后多查阅一些相关资料,进一步了解电子仪器的开展过程、现状和今后的开展趋势,深入分析科技开展的规律。通过通过学习本章介绍的内容,应对智能仪器的定义、主要特点、根本结构、工作原理,设计智能仪器的根本任务和应该注意的事项有一定的了解;明确本课程学习的目的、主要任务等。1.1概述1.1.1智能仪器及其特点1.什么是智能仪器是带有微型计算机和自动测试系统通用接口〔GP-IB〕的电子测量仪器。电子仪器的开展过程:从使用器件上看,分为三个阶段。真空管时代晶体管时代集成电路时代从工作原理上看:已经历了三代:第一代:模拟式电子仪器特点:功能简单、精度低、速度慢。第二代:数字式的电子仪器工作原理:A/D转换测量数字显示特点:精度高、速度快、读数清晰直观、能打印输出能与计算机技术相结合,适于遥控遥测。第三代:智能仪器在数字化的根底上进行微机化。智能仪器——含有微机和自动测试系统通用接口GP-IB的电子测量仪器。CPU在智能仪器中的作用可归结为两大类:对测试过程进行控制和对测试数据进行处理。2.智能仪器的特点1〕仪器的功能强大:可测量参数多;是通过间接测量实现的。仪器中常用的数值计算有:(1)线性变换(乘常数):R=cx(2)百分数偏离:R=100(x-n)/n(3)偏移:R=x-Δ(4)比例:线性的R=x/r对数的R=20lg(x/r)功率的R=x2/r(5)最大/最小:记录测量的最大/最小值。(6)极限:设置高、低极限值、越限报警。(7)统计:对测量结果进行统计处理。2〕仪器的性能优越CPU可实现自动补偿、自动校正、屡次测量平均等技术,以提高测量精度。用适当和巧妙的算法,克服硬件本身的缺陷,提高仪器的性能。3〕操作自动化自选量程、自动校准,自动调整测试点,方便操作,提高精度。也称为自动测试仪器。4〕具对外接口配备GP-IB接口,接入自动测试系统,实现自动测试。5〕硬件软化实现“硬件软化”,降低本钱、减小体积、降低功耗和提高可靠性。6〕采用面板显示有LED、LCD、CRT显示,字迹清晰、直观。7〕自测试、自诊断功能能测试自身工作是否正常并指出故障的部位。提高仪器工作可靠性,方便使用和维修。1.1.2智能仪器的组成组成框图如下,典型的计算机结构。CPU是整个智能仪器的核心;固化在只读存储器中的程序是仪器的灵魂。智能仪器的根本组成1.1.3智能仪器的工作原理传统数字电压表〔DVM〕的工作原理及特点传统积分式DVM原理图传统积分式DVM工作过程:〔1〕积分器先对Ui进行定时积分,积分时间T1称为采样期。〔2〕T1结束后进入比拟期T2,积分器对Er积分。积分器输出电压的斜率方向相反。〔3〕积分器输出到达零点时,比拟器输出产生跳变,T2结束,一次转换也结束。在T2内计数器计数,该值正比于被测电压。经标度变换得测量结果,存储、显示。传统的DVM具有以下特点:〔1〕通过旋扭改变仪器中的电参数,以设置仪器的功能。〔2〕各种控制、计数、漂移补偿等工作完全由硬件完成。〔3〕电路采用随机逻辑,复杂,设计和调试难,可靠性差。2.智能积分式DVM的工作原理及特点智能积分式DVM原理框图工作过程:CPU依来自键盘或GP-IB接口的命令,输出适宜的开关量,规定量程。〔2〕CPU置输出口b3位为高,接通S3,积分器对Ui进行定时积分。通过计数,控制采样期T1时间。〔3〕T1结束后,CPU置b3位为低,b4位为高,接通S4,断开S3,进入比拟期T2,积分器对Er积分,计数并检查比拟器输出是否发生跳变。〔4〕当检出比拟器输出发生跳变,说明积分器输出回零,即停止计数;置输出口的b3、b4位均为低,断开S3、S3,积分器停止积分,一次模数转换或测量结束。〔5〕CPU比照拟期内的计数值进行处理后,存储、显示,或经GP-IB总线发送到远地。特点:通过键盘向CPU发出命令,CPU对命令译码后发出适当的控制信号,规定仪器的功能。〔2〕CPU通过执行程序发出控制信号,只要修改软件就能改变仪器工作,有些硬件电路的功能可由软件完成。〔3〕CPU能对测量数据进行处理,如自动校正零点偏移和增益漂移、统计及其它数学运算等。〔4〕计算机结构,各部件都“挂”在总线上,方便系统的设计、调试、和维护。〔5〕具有GP-IB接口,能接入自动测试系统进行工作。1.1.4智能仪器的新开展呈现微型化、多功能化、智能化和网络化的开展趋势1.个人仪器:20世纪60年代以来测线系统开展经三个阶段:〔1〕测试仪器与小型仪用计算机通过专用接口连接而成。〔2〕智能仪器〔3〕个人仪器:个人计算机通过系统总线控制多个仪器插件实现测量功能。如以下图所示:个人仪器结构个人仪器的特点:(1)本钱低每个测试功能不是由整机、而是由插件完成的。(2)使用方便标准的仪器功能写入操作软件,备有清单,用户选择清单就能完成各种测试任务。(3)制造方便:仪器制造厂只要研制、生产测试卡即可。(4)实时交互作用相互间通过微机系统总线连接,可进行实时交互。在个人仪器和计算机软件不断开展的根底上出现,更强调软件的作用,提出了“软件就是仪器”的思想。以通用计算机为控制器,添加模块化硬件来完成数据采集,由高效、功能强大的软件系统实现测量操作。虚拟仪器系统的根本构架是:高性能的通用计算机;模块化的通用硬件设备;功能强大的专业性测试软件系统。“虚拟”二字的含义:〔1〕面板虚拟。面板控件图形与实物相像,对应着相应的控制程序,通过鼠标点击操作。〔2〕功能由软件实现。在硬件平台下,通过软件编程实现仪器的测试功能。特点:〔1〕通用硬件平台确定后,可由软件取代传统仪器中的各种硬件。〔2〕仪器的功能是用户根据需要由软件来定义,而不是由厂家事先定义的。〔3〕仪器功能的改良和扩展只需进行相关软件更新设计,无须购置新的仪器。〔4〕研制周期较传统仪器大为缩短。〔5〕虚拟仪器开放、灵活,可与计算机同步开展,与网络及其它周边设备互联。1.2智能仪器设计简介1.2.1设计要点主要任务:CPU选择、硬件设计、软件设计CPU选择:依功能而定,假设运算量不大,选高性能的8位单片机。硬件设计:先设计内部的微机及外设、测试硬件和GP-IB接口;然后设计微机和其它部件的接口。软件设计:任务描述、程序设计、编码纠错、调试、编写文件。1.2.2监控程序的结构监控程序是指管理机器工作的整个程序监控主程序:接受和分析来自键盘的命令。把控制转移到相应处理子程序的入口监控程序接口管理主程序:接受和分析来自GP-IB接口命令,把控制转到相应的处理子程序的入口命令处理子程序:具体执行某个命令、完成命令所规定的操作的子程序1.2.3程序设计技术〔1〕模块法把一个长的程序分成假设干个较小的程序模块进行设计和调试,然后把各模块连接起来。〔2〕自顶向下的设计方法设计思路从整体到局部,最后到具体细节的设计方法。〔3〕结构程序设计根本原那么:每个模块只能有一个入口和一个出口。有以下三种根本结构:①序列结构P1P2P3②分支结构If-then-else结构③循环结构循环结构Repeat-until结构;(b)Do-while结构另一种常用的结构—选择结构选择结构1.2.4智能仪器的研制步骤大致可以分为3个阶段:1.确定任务、拟制设计方案2.硬件、软件研制及仪器结构设计3.仪器总调、性能测定1.2.5智能仪器设计中应注意的问题1、采用新颖的设计方法2、硬件软件化3、分时操作:CPU速度极高,为分时操作提供可能。4、增强功能:充分利用微机的快速运算和灵活控制的特点。5、简化面板结构6、采用新器件、运用新技术习题与思考题1.电子仪器开展至今经历了哪几个阶段?2.什么是智能仪器?智能仪器有哪些主要特点?3.画出智能仪器的根本组成框图,并说明其各局部的作用。4.说明如图1-4所示的智能积分式DVM的工作原理及其主要特点。5.将图1-4中的微处理器确定为80C51单片机,请画出单片机与测试电路的接口连接图,并编写启动一次测量的程序。设采样期T1的定时可调用DLYT1,比拟期T2用80C51内部定时器T0计测;输出口的某位为1时,相应的开关接通,输出口、输入口的地址分别为2080H和2081H。6.什么是虚拟仪器?虚拟仪器的特点是什么?7.试述虚拟仪器的结构原理。8.简述虚拟仪器中软件结构与功能。9.设计智能仪器的主要任务是什么?研制的一般步骤怎样?10.在智能仪器的设计中应注意哪些问题?第2章智能仪器的标准数据通信接口2.1RS-232C标准串行接口总线2.2SPI总线标准2.3I2C标准总线2.4USB总线标准2.5CAN总线2.6GP-IB接口总线2.7无线数据传输及PTR2000应用习题与思考题课时安排:6学时知识点:智能仪器中常用的标准总线、串行总线及各种总线的应用重点:SPI和I2C总线标准、各信号的定义,对于不带SPI、I2C总线接口的一般8051单片机这两种总线的实现方法。难点:SPI、I2C总线的软件实现及其应用教学方法:主要采用课堂讲授方式,考虑到学生已学过微机原理与接口技术、单片机原理及应用等课程,但是一般对单片机操作时序的理解和实现有一定的难度,因此本章在讲授过程中采用先分析时序波形,再用软件模拟一些根本操作的子程序,之后再介绍几个实际应用的例子,循序渐进,以便于学生理解。本章对学生的要求:在第一章中介绍的智能仪器的构成框图可见,它是一个典型的计算机结构,其中的各个局部是通过总线联系在一起的。与计算机系统一样,智能仪器的标准总线可分为外部总线和内部总线,由于本章教学时数有限,课堂上只重点介绍SPI、I2C两种内部总线,这两种总线性能优越,应用广泛,它们是单片机系统扩展、智能仪器设计的一个重要手段,要求学生认真掌握它们的有关信号的定义及具体操作时序和用软件模拟的实现方法。2.2SPI总线标准2.2.1SPI总线标准介绍串行外设接口,允许MCU与各种外设进行串行通信。完整的SPI系统的特性:〔1〕全双工、三线同步传送。〔2〕主、从机工作方式。〔3〕可程控的主机位传送速率、时钟极性和相位。〔4〕发送完成中断标志。〔5〕写冲突保护标志。用一个MCU为主机,控制数据向一个或多个从机传送,SPI系统使用4个I/O引脚。1〕串行数据线(MISO、MOSI)主输入/从输出MISO和主输出/从输入MOSI:用于数据的收、发,先MSB(高位),后LSB(低位)。主机方式时,MISO是主机数据输入线,MOSI是主机数据输出线;从机方式时,MISO是从机数据输出线,MOSI是从机数据输入线。2〕串行时钟线(SCLK)用于同步MISO和MOSI引脚上数据的传送。主机方式时,SCLK为输出;主机启动一次传送,在SCLK脚产生8个时钟。从机方式时,SCLK为输入。在主机、机之间,SCLK的一个跳变进行数据移位,数据稳定后的另一个跳变进行采样。串行数据和时钟之间有4种极性和相位关系。主、从机的定时关系必须相同。SPI系统时钟的极性和相位关系3〕从机选择()从机方式用于使能从机进行数据传送;主机方式一般由外部置为高电平。一般只需连接SPI的SCLK、MOSI及MISO三根线即可。对于有端的I/O扩展芯片,用一根I/O线来控制片选端。2.2.2利用模拟SPI总线扩展串行E2PROM1.串行E2PROM—93C46的特点及引脚93C46是64×16(1024)位串行的电擦除可编程的只读存储器。特点:〔1〕在线改写数据和自动擦除功能。〔2〕电+5V单电源供电;源关闭,数据也不丧失。〔3〕输入、输出口与TTL兼容。〔4〕内有电压发生器,产生擦/写所需的电压。〔5〕有控制和定时逻辑,控制擦和读写操作。〔6〕整体编程允许和禁止功能,以增强数据的保护能力。〔7〕等待状态时,电流为1.5mA~3mA。有两种封装形式,如以下图:图2-1193C46引脚排列
8脚双列直插式塑料封装(b)
14脚扁平式塑料封装。引脚功能:DO:读时数据输出端;擦时为状态指示,相当于READY/信号,其它状态该脚呈高阻。DI:用于接收命令、地址和数据信息,每一位均在CLK的上升沿写入93C46。ORG:结构端。连到Vcc或悬空时为16位结构;连到Vss时为8位结构。注意:时钟频率低于1MHz时ORG端才能悬空,构成16位结构。2.指令系统:共有7条指令,格式如下表。表2-393C46指令表(ORG=0,8位结构)一条指令操作完成之前,拒绝接收新指令。1〕读指令(READ)从单元中读取数据。接收指令后,DO端先输出一低电平,之后从CLK的上升沿开始,DO连续输出8位或16位串行数据。当CS保持为高时允许连续读,即自动周期性地输出下一个地址单元的数据。时序如下。图2-12读指令的时序2〕写指令(WRITE)向指定单元中写入数据。指令指定了单元地址后输出8位或16位数据。在最后一个数据位加在DI端后,在CLK的下一个上升沿以前,CS必须为低。DO端指示READY/状态。指令的时序如图2-13所示。图2-13写指令的时序3〕擦除指令(ERASE)将指定单元的内容擦除,即强迫该单元所有数据位为“1”状态。时序图如下。图2-14擦除指令的时序装载最后的地址位后,CS为低。CS的下降沿启动自定时编程周期。CS为低约250ns后恢复为高。擦除周期每字4ms。DO端指示器件的READY/状态:DO端为0时,指示编程仍在进行;DO端为1时,表示擦除结束,可接收下一指令。4〕擦除整个存储器指令(ERAL)将整个存储器阵列强迫为逻辑“1”状态。除操作码不同外,与ERASE(擦除)相同,时序如图2-15(a)所示。ERAL周期完成自定时,在CS的下降沿开始。无需CLK端的驱动时钟。CS为低约250ns后恢复为高。DO端指示器件的READY/状态。5〕写整个存储器指令(WRAL)将命令中指定的数据写入整个存储器阵列中。除操作码不同外,与WRITE相同,时序如图2-15(b)所示。WRAL周期也完成自定时。WRAL周期最大需30ms。图2-15擦除和写入整个存储器指令的时序
(a)擦除整个存储器指令的时序(b)写整个存储器指令的时序。6〕擦/写允许指令(EWEN)和擦/写禁止指令(EWDS)EWEN使芯片处于允许擦/写状态,直至执行了EWDS指令或电源关闭为止。EWDS禁止对整个芯片和单个单元的擦和写操作。上电复位芯片处于擦/写禁止状态。EWEN与EWDS操作码不同,但周期相同。时序如图2-16所示。图2-16EWEN指令和EWDS指令时序
(a)
EWEN指令时序(b)
EWDS指令时序。3.
93C46与80C51单片机的接口与编程80C51串口方式0提供了简化的SPI,特点:〔1〕SCLK极性、相位、传送速率固定。〔2〕无从机选择输入端。〔3〕数据入/出是同一根线,用软件设置数传方向。故80C51中SPI仅两个脚:RXD(P3.1)—MOSI/MISO;TXD(P3.0)—SCLK。〔4〕传送数据位的顺序为先LSB,后MSB。1〕利用80C51的串行口实现的接口80C51与93C46接口时,需适当的硬、软件配合。以下图80C51串口工作在方式0。图中80C51的TXD脚提供CLK信号;RXD送出命令和读入数据;P1.1为片选信号与93C46的CS相连。93C46与80C51单片机的接口之一该电路需注意两点:◎必须将TXD反相,以适应E2PROM时序需要;◎P1.0作为93C46的读/写控制信号。注:本方案中除起始位和“虚拟”数据位外,同步串口自动传送操作码、地址及数据的;由于两种接口传送数据位顺序相反,所以数据要做倒序处理。下面列出相关操作子程序:
〔1〕送起始位子程序此时,P和P作为输出,P=1时选通93C46,P=1时将指令写入93C46。P和P作为标准的I/O输出口线。INSB:CLRP;置片选无效SETBP;P1.0=1,使P=1,P接通DISETBP;置位DINOPNOPSETBP;置片选有效NOPNOPSETBP;时钟置高NOPNOPCLRP;时钟置低RET〔2〕数据倒序处理子程序ASMB:MOVR6,#0;工作单元R6清零MOVR7,#08H;计数器初值CLRCALO:RLCAXCHA,R6RRCAXCHA,R6DJNZR7,ALOXCHA,R6RET〔3〕读数据子程序READ:MOVSCON,#00H ;置串行口为方式0输出ACALLINSB;送起始位MOVA,#10001111B;送命令和地址,读命令ACALLASMBMOVSBUF,AJNBTI,$;等待发送完毕CLRTIMOVSCON,#10H ;设为输入,REN=1MOVR0,#BUF;指向数据缓冲区CLRP;准备读入数据JNBRI,$;等待接收数据结束CLRRIMOVA,SBUFACALLASMBMOV@R0,AINCR0JNBRI,$CLRRIMOVA,SBUFACALLASMBMOV@R0,ACLRP1.1;置片选无效NOPNOPSETBP1.1;置片选有效RET〔4〕写数据子程序WRITE:MOVSCON,#00H ;置串行口为方式0ACALLINSB ;送起始位MOVA,#01001111B;送命令和地址,写命令ACALLASMBMOVSBUF,AJNBTI,$ ;等待发送完毕CLRTIMOVR0,#BUF;指向数据缓冲区SETBP;准备写入数据MOVA,@R0ACALLASMBMOVSUBF,AJNBTI,$;等待发送完数据CLRTIINCR0MOVA,@R0ACALLASMBMOVSUBF,AJNBTI,$CLRTICLRP;置片选无效RET2〕利用软件仿真SPI实现的接口假设51的串口已被用,或认为串口使用不便,那么可用软件来模拟SPI操作,包括时钟的产生、数据的输入/输出等。其硬件电路如图2-18所示。图中斯密特触发器74HC14是对时钟脉冲整形,提高抗噪能力。图2-1893C46与80C51单片机的接口之二软件仿真常用的操作子程序如下:〔1〕送起始位“1”子程序INSB功能:80C51向93C46送出“1”INSB:SETBP;置片选无效CLRP;时钟置低SETBP;置位DINOPNOPCLRP;置片选有效NOPNOPSETBP1.0;时钟置高,移入数据NOPNOPCLRP;时钟置低RET〔2〕写入8位数据子程序WRI功能:80C51向93C46送出8位数据〔2位操作码和6位地址码或是8位数据〕。假设是16位数据,可分两次传送。入口参数:8位数据在A中。程序如下:WRI:MOVR4,#8;写入数据的位数W10:RLCAMOVP,C;将CY送DINOPNOPSETBP;时钟置高,移入数据NOPNOPCLRP;时钟置低DJNZR4,WIO;未完,继续RET〔3〕读取8位数据子程序RDI功能:80C51从93C46的DO引脚读取8位数据。入口参数:无。出口参数:读出的8位数据在A中。RDI:MOVR4,#8 ;读取的数据位数R10:NOPNOPSETBP;时钟置高,移出数据NOPNOPCLRP;时钟置低MOVC,P ;数据从DO读入CYRLCADJNZR4,RIO ;未完,继续RET〔4〕向93C46写入16位数据功能:80C51向93C46写入16位数据。入口参数:B存放器:存待写8位指令〔2位操作码、6位地址码A5-A0);R2:存待写数据的高8位;R3:存待写数据的低8位。出口参数:无。程序如下:WRITE:LCALLINSB ;送起始位“1”MOVA,#30H ;擦/写允许指令LCALLWRILCALLINSBMOVA,B ;写入指令LCALLWRIMOVA,R2;写入高8位LCALLWRIMOVA,R3;写入低8位LCALLWRISETBP;置片选为无效NOPNOPCLRP ;片选有效WAIT:JNBP,WAIT ;编程未完,等待LCALLINSB MOVA,#00H;擦/写禁止指令LCALLWRISETBP;置片选为无效RET;返回〔5〕从93C46读取16位数据功能:80C51从93C46读取16位数据。入口参数:B存放器:存待写8位指令〔2位操作码,6位地址码A5~A0)。出口参数:R2:存读出数据高8位。R3:存读出数据低8位。程序如下:READ:LCALLINSB;送起始位“1”MOVA,B;写读出指令LCALLWRINOPNOPLCALLRDIMOVR2,A;读出高8位LCALLRDIMOVR3,A;读出低8位SETBP;置片选为无效RET2.3I2C标准总线2.3.1I2C标准总线介绍在器件之间用两根信号线SDA和SCL以串行方式进行信息传送,并允许假设干兼容器件共享的双线总线。SDA线:串行数据线,双向传输数据;SCL线:串行时钟线,同步数据线上的数据。I2C器件的SDA和SCL引脚均开漏。故总线上所有器件的SDA和SCL需分别接在一起,通过电阻与电源连接,如图。图2-19I2C总线系统的示意图I2C总线上器件按功能分为主器件和从器件。主器件:控制总线,产生时钟、启动传送和结束传送信号。总线必须由一个主器件控制。从器件:被主器件寻址,根据主器件的命令,收、发数据。系统中可有多个主器件,I2C总线系统允许多主。系统中任一器件可有4种工作方式:主发送方式、主接收方式、从发送方式和从接收方式。总线上所有器件是按如下传输协议工作的:仅当总线不忙时,数传才能开始;数传期间假设时钟线为高,那么数据线必须保持稳定,否那么将认为是传送的开始或停止。总线条件定义:1〕总线不忙(空闲)SCL和串行数据线SDA都保持高电平。2〕数据传送开始起始信号START:SCL保持高,SDA上一个由高到低的变化。如图2-20所示。总线上所有命令必须在起始条件以后进行。图2-20起始条件和停止条件3〕数据传送停止停止信号STOP:SCL保持高,SDA上发生由低到高的过程。见图2-20。总线上所有操作必须在停止条件以前结束。4〕数据有效起始信号后位传输开始。每位需一个时钟脉冲。SCL保持高,SDA稳定的状态表示有效的数据。在SCL为低期间,数据线状态应改变。图2-21I2C总线上的位传输每次数传在START下启动,在STOP下结束。重复的START将结束前一个传送过程,但不释放I2C总线,可接着下一个传送过程。I2C总线上数传有两种方式,由START后的第一个字节的最低位(即方向位)决定。〔1〕主发送到从接收。主器件产生START后,发送的第一个字节为从地址字节〔高7位为从器件的地址,最低位为方向位R/,此时该位为0),随后发送数据字节,如图2-22所示。发送的数据可以是单字节或一串数据,由主器件决定。从器件每接收一个数据字节后,都返回一个应答信号ASK=0,即第9个时钟脉冲时数据线低为应答信号A,高为非应答信号。图2-22主发送到从接收〔2〕从发送到主接收。从器件收到主器件发的从地址和值为1的方向位后,返回一个应答信号(ASK=0),接着从器件发数据给主器件,主器件每收一个数据字节,都返回一个应答信号。在接收从器件最后一个字节后,主器件发送一个“非应答信号”,即终止从器件继续发送。从器件发送的数据可以是单字节或一串数据。I2C总线的主要功能:①在主、从器件之间双向传送数据;②无中间主器件的多主总线;③多主传送时不发生错误;④可以使用不同的位速率;⑤串行时钟作为交接信号;⑥可用于测试和诊断目的。有I2C总线的单片机可直接用I2C进行串行扩展;51单片机大多无I2C总线接口,可用软件模拟来实现系统的串行扩展。单片机应用系统多为单主结构,其数传状态较简单,无总线竞争与同步问题,仅有单片机对I2C总线的读/写操作。简化了模拟软件的设计工作。2.3.280C51单片机模拟I2C总线应用实例1.
PCF8574的特性及引脚说明是带I2C的8位准双向口的单片CMOS电路,在I2C总线系统中仅作从器件。特点:低损耗,静态电流10;输出电流大,可直接驱动LED发光管;3根地址引脚使一个系统可接8片;最高时钟频率为400kHz;有中断逻辑线。引脚排列如图2-23,功能如下:图2-23PCF8574外部引脚SDA:串行数据线,双向。SCL:串行时钟线,输入。P7~P0:8位准双向入/出口。上电复位均为高,某位作输入前应置为高。A2~A0:地址输入线。:中断输出线,低有效。2.
PCF8574的寻址方式及操作1〕控制字节和器件寻址控制字节跟在开始条件后,结构见图2-24:前4位控制码规定器件的型号:0100—PCF8574;0111—PCF8574A。接下来3位A2、A1、A0与引脚接法对应,指明同一种器件的不同芯片。图2-24PCF8574及PCF8574A控制字节的配置2〕读操作将接口数据传给主器件,时序如以下图。图2-25读操作的时序3〕写操作将主器件的数据传给PCF8574口,时序如以下图。图2-26写操作的时序3.
PCF8574应用和编程1〕通用子程序编写模拟I2C总线一般用两根I/O线。设用P1.6作SCL线,P1.7作SDA线。软件仿真先编写通用子程序,包括:启动、停止、发送应答位及非应答位、应答位检查、单字节数据接收与发送等,供接口操作程序调用。子程序〔设晶振频率为6MHz,否那么应适当增减程序中的NOP指令〕如下:SDABITP1.7SCLBITP1.6
;启动I2C总线子程序STA:SETBSDASETBSCLNOPNOPCLRSDANOPNOPCLRSCLNOPRET;停止I2C总线子程序STOP:CLRSDASETBSCLNOPNOPSETBSDANOPNOPCLRSCLNOPRET;发送应答位子程序MACK:CLRSDASETBSCLNOPNOPCLRSCLSETBSDARET;发送非应答位子程序NACK:SETBSDASETBSCLNOPNOPCLRSCLCLRSDARET;应答位检查子程序。出口时,SDA线的状态存入标志位FO中。有ACK,FO=0,否那么FO=1CACK:SETBSDA;SDA为输入状态SETBSCL;第9个时钟脉冲开始NOPMOVC,SDA;读SDA线MOVFO,C;存入FO中CLRSCL;第9个时钟脉冲结束NOPRET;发送一字节数据子程序。将Acc中待发数据送入SDA线WRBYT:MOVR7,#8 ;发送8位WRBYT1:RLCA ;将发送位移入C中JCWRBYT2 ;此位为1,转WRBYT2CLRSDA ;此位为0,发送0SETBSCL ;时钟脉冲开始NOPNOPCLRSCL ;时钟脉冲结束DJNZR7,WRBYT1 ;未发送完,转WRBYT1RETWRBYT2:
SETBSDA;此位为1,发送1SETBSCL;时钟脉冲开始NOPNOPCLRSCL ;时钟脉冲结束CLRSDADJNZR7,WRBYT1 ;未发送完,转WRBYT1RET;接收一字节子程序。从SDA上读一字节数据,存ACC中RDBYT:MOVR7,#8 ;接收8位RDBYT1:SETBSDA ;SDA为输入状态SETBSCL ;时钟脉冲开始NOPMOVC,SDA ;读SDA线RLCA ;移入新接收位CLRSCL ;时钟脉冲结束DJNZR7,RDBYT1 ;未读完8位,转RDBYT1RET ;读完8位,返回2〕PCF8574作扩展8位输入口图2-27PCF8574读方式的连接程序如下:RD8:ACALLSTA ;开始条件 MOVA,#41H ;PCF8574为读方式 ACALLWRBYT ACALLCACK ;检查ACK信号 JBFO,$ ACALLRDBYT ;读数据 MOV30H,A ACALLCACK JBFO,$ ACALLSTOP SJMP$3〕PCF8574作扩展8位输出口PCF8574作扩展8位输出口的连接如图2-28所示。图2-28PCF8574写方式的连接程序如下:WR8:ACALLSTA ;开始条件
MOVA,#40H;PCF8574为写方式
ACALLWRBYTACALLCACK ;检查ACK信号
JBFO,$
MOVA,#0FFH;改变立即数,指示灯亮与暗也改变ACALLWRBYTACALLCACK ;检查ACK信号
JBFO,$
ACALLSTOP ;停止条件
AJMP$4〕PCF8574作扩展4位输入口和4位输出口硬件连接如图2-29所示。图2-29PCF8574高4位输入、低4位输出的连接程序如下:START:ACALLSTA ;开始条件 MOVA,#41H ;PCF8574为读方式 ACALLWRBYT ACALLCACK ;检查ACK信号 JB FO,$ ACALLRDBYT ;读数据 SWAPA CPLA MOV30H,A ACALLSTOPACALLSTA ;开始条件MOVA,#40H ;PCF8574为写方式ACALL WRBYTACALL CACK ;检查ACK信号JBFO,$MOVA,30HACALLWRBYTACALLDELAY ;延时子程序ACALLSTOP ;停止条件AJMPSTART第3章预处理电路及数据采集3.1概述3.2传感器及其应用3.3模拟信号放大电路3.4DAC接口3.5ADC接口3.6数据采集系统习题与思考题课时安排:12+4〔实验〕知识点:DAC接口,对DAC接口编程产生所需的波形,ADC的主要信号线,ADC与单片机的根本接口方法,常用的ADC芯片如AD0809、5G14433等与单片机的接口,数据采集系统的结构、模拟开关、采样保持电路、单片机数据采集系统,串行DAC接口、串行ADC接口。重点:DAC与单片机接口,ADC与单片机接口的一般方法,常用的ADC芯片与单片机的接口,AD363单片数据采集系统。难点:多于8位的DAC和ADC与8位单片机80C51的接口。教学方法:主要采用课堂讲授方式,因为涉及的知识面较宽,转换器的种类多,接口的方法灵活多样,授课过程先从一般方法入手,再介绍一些典型的实用的例子。这些例子往往都有多种接口方案,拟采用启发式、讨论式的教学方法,增加互动,引导学生积极思维,以利提高教学效果。本章对学生的要求:因为本章内容重要,接口方案灵活多样,要求学生务必掌握。上课认真听讲,积极思维,不懂就问;课后及时复习,认真独立完成作业。本章安排两个实验,要求学生进实验室之前做好预习,编写好接口程序,在实验过程中应按要求连接好接口电路,并据此确定端口地址,检查是否与接口程序中的端口地址一致等,确定无误后运行接口程序,对实验中出现的各种现象应认真分析。实验一定要得到正确的结果,之后,认真完成实验报告。概述智能仪器是一种典型的微机应用系统。用计算机对模拟世界实行控制时,应先把模拟信号转换为数字信号,然后由计算机进行各种处理,再存储、显示,或复原成模拟信号,输出到模拟世界进行种种控制。典型的微机控制的数据采集与处理系统框图如下:图3-1微型机控制的数据采集和处理系统框图传感器:将非电量转换为电量。放大器:把微弱的模拟信号适当放大。滤波器:把信号中无用的频率分量滤除掉。采样保持电路:使信号成为时间离散信号。A/D转换器:对信号幅度进行量化,输出数字信号。D/A转换器:将数字信号复原成模拟信号。本章主要介绍A/D、D/A转换器与单片机的接口3.4DAC接口DAC的功能是把数字量转换为与其成比例的模拟电压或电流信号。数字量可为任何一种编码形式,如无符号二进制数、2补数、BCD码等。DAC的分辨率取决于位数,有8位、10位、12位等,通常不超过16位。3.4.1DAC与微机接口的一般方法1.8位DAC接口典型的CPU系统与DAC的接口如以下图所示:图3-218位DAC接口通过74100锁存器把8位DAC连接到CPU系统。CPU把数字存入锁存器;DAC把二进制数变换为输出电流。741型集成运放把电流变换为0~1V的输出电压,该模拟电压与数字量成比例。以下程序可产生一个线性增加的斜波电压。MOVSP,#53HCLRAMOVR1,#17HLOOP:MOVX@R1,AACALLDELAYINCAAJMPLOOPDELAY:…;延时子程序该斜波电压由255个阶梯组成,峰-峰值为1V,故每个阶梯电压增量为1/255V,持续时间t取决于DELAY的延时。图3-21波形图以下图是8位单片机与10位DAC的一种接口,单片机分两次发出10位数据,低8位到锁存器A,高2位到锁存器B。图3-2210位DAC接口之一设DPTR规定了待转换数的存贮单元地址,单片机执行下面几条指令就完成了一次D/A转换。MOVXA,@DPTRMOVR1,#2CHMOVX@R1,AINCDPTRINCR1MOVXA,@DPTRMOVX@R1,A存在问题:在输出低8位和高2位中间,DAC会产生“毛刺”,如以下图所示。图3-22因数据分两次输出,先输出低8位,这时DAC将新的低8位和原高2位合成的10位数据0000001011转换成电压〔是不需要的〕,称为毛刺。防止产生毛刺的方法之一是采用双缓冲器结构,如以下图。图3-2310位DAC接口之二设待转换数据在外RAM中,地址由DPTR和DPTR+1决定,转换程序如下:MOVR1,#2CHMOVXA,@DPTRMVOX@R1,AINCDPTRMOVXA,@DPTRINCR1MOVX@R1,AINCR1MOVX@R1,A实际上,图中锁存器A1可以省去。这时进行一次转换,CPU先将高2位数据送到锁存器B1,然后再用一条输出指令,把低8位数据送到A2,此时已锁在B1中的高2位数据也一起送入锁存器B2,于是十位数据同时加到10位DAC去进行转换。假设DAC内有锁存器和运放,接口如下:图3-24内部有锁存器和运放的DAC与单片机接口单片机分两次输出,一次送低8位到8位锁存器,另一次送高2位到2位锁存器,然后再用一条输出指令产生一负脉冲加到锁存允许端,将10位数据一并送到DAC去转换。AD7522是10位DAC,内有一10位锁存器。单片机先执行两条输出指令分别控制LBS和HBS,送低8位和高2位;然后再执行一输出指令产生启动DAC的信号加到LDAC端。图3-24内部有锁存器和运放的DAC与单片机接口3.4.2DAC与MCU接口实例1.DAC0832与80C51的接口DAC0832有一个8位输入存放器和一个8位DAC存放器,形成两级缓冲结构。这样可使DAC转换输出前一个数据的同时,将下一个数据传送到8位输入存放器,以提高数/模转换的速度。图3-25DAC0832的引脚配置和内部结构
(a)引脚配置(b)内部结构:片选,低有效。与ILE信号结合,可对是否起作用进行控制。ILE:允许输入锁存,高电平有效。:写信号1,输入,低有效。用来将CPU送来的数据锁存于输入存放器中。:写信号2,输入,低有效。将输入存放器中的数据传送到DAC存放器中并锁存。有效时,也必须同时有效。:传送控制信号,低电平有效。用来控制面,选通DAC存放器。DI7~DI0:8位数字输入端。Iout1:DAC电流输出1,当数字量为全1时输出电流最大;当数字量为全0时,输出电流最小。Iout2:DAC电流输出2,其与Iout1的关系满足:Rbf:反应信号输入线,片内已有反应电阻。Vref:参考电压输入,通过它将外加高精度电压源与内部的电阻网络相连接。Vref可在+10V~-10V范围内选择。以下图是将80C51与0832接成采用单缓冲方式。图3-26DAC0832与80C51的单缓冲方式接口电路将累加器A中的数字量转换为模拟电压,只需执行下面两条指令:MOVDPTR,#7FFFHMOVX@DPTR,A为使多片0832同步输出,可先将多路数据分别打入对应的0832的输入存放器,再将多片0832的XFER由一个片选信号控制,即采用双缓冲方式。图3-27DAC0832与80C51的双缓冲方式接口电路双缓冲方式的程序如下:MOVR1,#0FEHMOVA,#DATA1;数据写入1#的输入存放器MOVX@R1,ADECR1MOVA,#DATA2;数据写入2#的输入存放器MOVX@R1,AMOVR1,#0FBH;选通1#和2#的DAC存放器MOVX@R1,A…………2.带串口的DACTLC5615与80C51的接口1〕5615性能与特性3线串行总线10位电压输出DAC,输出电压范围为基准电压的两倍,易与工业标准的CPU及MCU接口。MHz。可广泛用于电池供电测试仪表、远程工业控制和移动等领域。为8脚小型D或DIP封装,如以下图:图3-28TLC5615引脚排列图引脚功能:DIN:串行数据输入端。SCLK:串行时钟输入端。:片选端,低电平有效。DOUT:用于级联的串行数据输出端。AGND:模拟地。REFIN:基准电压输入端。OUT:DAC模拟电压输出端。VDD:正电源端。TLC5615的时序图如下:图3-29TLC5615的时序图当为低时,数据从DIN端输入,先高位后低位。由SCLK同步,上升沿把串行数据从DIN移入内部的16位移位存放器,下降沿将串行数据从DOUT输出,的上升沿把数据传送至DAC存放器。5615有两种使用方式:级联方式和非级联方式。非级联方式:DIN输入12位数据,前10位为D/A转换数据,后两位必须写入为零的低于LSB的位。级联方式下:来自DOUT的数据需要输入16个时钟下降沿,因此一次数据输入需要16个时钟周期,输入的数据为16位,前4位为高虚拟位,中间10位为D/A转换数据,最后2位为低于LSB的零位。2〕应用电路与接口程序实例以下图为开关电源中5615和89C51的接口电路。图3-30TLC5615与51单片机接口电路单片机的P3.0~P3.2分别控制5615的片选、SCLK和DI。本例5615的基准电压选2.048V,最大输出电压4.096V,可满足开关电源基准电压为0V~4V的设计要求。用非级联方式,待输入的12位数据存在R0、R1中,前/高4位放在R0中的低4位,后/低8位〔最低2位为00〕放在R1中。转换程序如下:CLRP3.0 ;片选有效MOVR2,#4;送前4位数据的位数MOVA,R0;前4位数据送累加器低4位SWAPA;A中高4位与低4位互换LCALLWR-Data;DIN输入前4位数据MOVR2,#8;送后8位数据的位数MOVA,R1;8位数据送入累加器A送数子程序如下:LCALLWR-Data;DIN输入后8位数据CLRP3.1;时钟低电平SETBP3.0;用SCLK的上升沿移入数据ENDWR-Data:NOP;空操作LOOP:CLRP3.1;时钟低电平RLCA;数据送入CYMOVP3.2,C;数据输入有效SETBP3.1;时钟高电平DJNZR2,LOOP;循环送数RET;返回3.5ADC接口3.5.1ADC芯片与微机接口的一般方法1、ADC的主要信号线图3-31ADC芯片的主要信号线START:输入一个触发信号,启动一次A/D转换。DONE/:状态指示,可供CPU查询,也可作为中断请求信号。DB:数据输出线,用来传送A/D转换的结果,供CPU读取。OE:当ADC的数据是三态输出时,有输出允许端OE。2、8位ADC与单片机的接口方法〔1〕带三态输出的ADC与单片机接口图3-32带三态输出的ADC与单片机接口〔2〕不带三态输出的ADC与单片机接口图3-33不带三态输出的ADC与单片机接口CPU要读取A/D转换结果,先要判转换是否结束,通常有以下几种通信方式:①延时等待:以转换时间来判断转换结束与否②查询方式:通过检测状态信号线的状态③中断方式:以状态信号作为中断请求信号3、多于8位的ADC与单片机的接口这时要用两个数据口,分别传送低8位和高位数据,多余的口线还可用来传送状态信号,如以下图所示:图3-3410位A/D转换器与单片机接口接口程序:CONVRT:MOVR1,#1FHMOVX@R1,AMOVR0,#36HCHK:MOVXA,@R0JNBACC.7,CHKANLA,#03HMOVR2,ADECR0MOVXA,@R0MOVX@DPTR,AINCDPTRMOVA,R2MOVX@DPTR,A假设ADC数据输出是三态锁存的,那么与单片机的数据总线间就不必用三态门了。如以下图AD7550是13位的ADC,13位数据可分两次输出。LBEN:使能低8位输出。HBEN:使能高5位输出。OVRG:指示超量程。BUSY:指示转换是否结束。STEN:使能OVEG、BUSY输出。START:启动转换信号输入端。接口电路如以下图:图3-35AD7550与80C51的接口3.5.2ADC芯片与80C51单片机接口举例1.ADC0809与80C51单片机的接口ADC0809简介8位逐次逼近式、8个模拟通道、片内有地址锁存器、三态输出、CMOS工艺、转换速度100us。图3-36ADC0809内部结构图D0~D7:8位数据输出线IN0~IN7:8位模拟输入线STRAT:启动〔下降沿启动〕信号ALE:地址锁存允许〔上升沿锁存〕EOC:转换结束信号,结束时为高OE:输出允许,高电平有效CLK:时钟输入,允许最高频率640KHzVCC:+5V工作电压REF〔+〕:参考电压正端REF〔-〕:参考电压负端B、C:通道地址选择2〕接口方法延时等待方式图3-37ADC0809与80C51的延时等待方式接口对8路模拟信号轮流采样一次,并依次把结果转储到数据存储区的程序。MAIN:MOVR1,#DATA;置数据区首地址MOVR7,#08H;置通道数MOVDPTR,#7FF8H;P2.7=0,且指向通道0LOOP:MOVX@DPTR,A;启动A/D转换MOVR6,#0AH;软件延时,等待转换结束DLAY:NOPNOPNOPDJNZR6,DLAYMOVXA,@DPTR;读取转换结果MOV@R1,A;转储INCDPTR;指向下一个通道INCR1;修改数据区指针DJNZR7,LOOP;8个通道采样完了吗?…………〔2〕查询方式查EOC判A/D结束否。可将EOC与单片机的输入口连接。图3-38ADC0809与80C51的查询方式接口程序如下:MAIN:MOVR1,#DATA;置数据区首地址MOVR7,#08H;置通道数MOVDPTR,#7FF8H;P2.7=0,且指向通道0LOOP:MOVX@DPTR,A;启动A/D转换HERE:JNBP1.0,HEREMOVXA,@DPTR;读取转换结果MOV@R1,A;转储INCDPTR;指向下一个通道INCR1;修改数据区指针DJNZR7,LOOP;8个通道全采样完了?…………(3)中断方式:接口电路只需将上图的EOC脚经一非门连到80C51的INT1脚即可。图3-39ADC0809与80C51的中断方式接口程序如下:〔对IN0通道进行8次转换并将结果存到数据区〕INITI:SETBIT1;外中断1初始化,选边沿触发SETBEASETBEX1MOVR1,#DATAMOVR7,#08HMOVDPTR,#7FF8H;P2.7=0,且指向通道0MOVX@DPTR,A;启动A/D转换……PINT1:MOVDPTR,#7FF8H;读取A/D结果送缓冲单元MOVA,@DPTRMOVX@R1,AINCR1DJNZR7,LOOPCLREX1AJMPENALOOP:MOVX@DPTR,A;启动IN0通道的下一次转换ENA:RETI2.AD574与80C51的接口1〕AD574简介12位逐次逼近型ADC。转换时间25us,精度0.05%,片内有时钟、三态缓冲电路,可单级性/双级性转换。该片有两档量程,分别是:〔1〕0V~10V〔单级性〕-5V~+5V〔双级性〕〔2〕0V~20V〔单级性〕-10V~+10V〔双级性〕引脚功能::片选:片启动R/:读出和转换控制12/8:数据输出格式选择接+5V:12位同时输出接地:只有高8位或低4位有效A0:字节选择控制线STS:状态输出,转换期间为高,结束为低VL:接+5VVcc:接+12V/+15VVee:接-12V/-15VREFIN、REFOUT:参考输入、输出AC、DC:模拟地、数字地BIPOFF:双极性偏置10VIN、20VIN:10V/20V档输入AD574的控制信号真值表如表3-4所列。图3-40AD574单极性转换电路图3-41AD574双极性转换电路2〕AD574与80C51的接口电路〔要求全12位转换,12位数据分2次输出〕图3-42AD574与80C51的接口3〕AD574与80C51的接口程序〔转换结果高8位在R2中,低4位在R3中〕MAIN:MOVR0,#7CH;选中574,A0=0,12位转换MOVX@R0,A;启动A/D转换LOOP:NOPJBP3.2,LOOP;查询转换是否结束MOVXA,@R0;读取高8位MOVR2,A;存入R2中MOVR0,#7DH;令A0=1〔为读低4位〕MOVXA,@R0;读取低4位MOVR3,A;存入R3中3.5G14433与80C51的接口1〕5G14433简介为双积分式三位半〔相当于11bit〕BCD码,分4次输出。精度高、抗干扰能力强、速度慢〔1~10次/秒〕,量程为199.9mV或1.999V。图3-435G14433逻辑框图EOC:转换结束标志宽度为1/2时钟周期的正脉冲OR:过量程标志,当过量程时OR为低电平。DU:更新转换结果输出的输入端〔正脉冲〕DS1~DS4:多路选通脉冲输出〔DS1对应千位〕。Q3~Q0:BCD码输出线在DS1有效期间:3.5G14433与80C51的接口1〕5G14433简介图3-455G14433选通脉冲时序图2)接口电路图3-465G14433和80C51的接口及A/D结果存放的格式
(a)5G14433和80C51的接口(b)结果存放的格式3)接口程序主程序:INIT1:SETBIT1;与外中断有关的初始化MOVIE,#84HMOVSP,#53HMOVA,#0FFHMOVP1,A;P1设为输入……中断效劳程序:PINT1:MOVA,P1;外部中断1效劳程序JNBACC.4,PINT1;DS1有效?JBACC.0,PE;量程错误处理JBACC.2,PL1;为正数,转SETB07H;为负,符号位置1AJMPPL2PL1:CLR07H;正数,符号位清0PL2:JBACC.3,PL3;判千位是0还是1SETB04H;千位为1AJMPPL4PL3:CLR04H;千位为0PL4:MOVA,P1;准备读百位JNBACC.5,PL4;百位是否选通?〔DS2有效〕MOVR0,#20HXCHDA,@R0;读百位放入(20H).0~3PL5:MOVA,P1;准备读十位JNBACC.6,PL5;十位是否选通?SWAPA;转移到高4位INCR0MOV@R0,APL6:MOVA,P1JNBACC.7,PL6;个位是否选通?XCHDA,@R0RETIPE:SETB10H;置量程错误标志RETI;返回4.ICL7135与80C51的接口1)ICL7135简介4位半〔相当于14bit〕双积分式,精度高、价格低,接口方便。引脚安排如以下图:图3-47ICL7135的引脚V-:负电源输入端。V+:正电源输入端。VREF:基准电源输入端,基准电压为1V。AC:模拟地。DG:数字地。INTO:积分器输出端。AZ:调零输入端。BUFO:缓冲器输出端。CR+、CR-:外接基准电容CREF。INL:信号输入〔低〕端。INH:信号输入〔高〕端。CLK:时钟输入端。〔双极性〕最高频率为125kHz,转换速率3次/秒。〔单极性〕最高频率为1MHz,转换速率25次/秒。BUSY:状态线,转换过程为高,结束时为低。POL:极性输出端。当输入信号为正时POL为高;当输入信号为负时POL为低。OR:过量程标志,假设过量程输出高电平。UR:欠量程标志,假设欠量程输出高电平。STB:输出选通脉冲,宽度为时钟脉冲的1/2,一次转换结束输出5个负脉冲,分别选通高到低位的BCD码输出。B8、B4、B2、B1:BCD码数据输出线。D5、D4、D3、D2、D1:BCD码位驱动信号输出端,分别选通万、千、百、十、个位。R/H:启动A/D控制端。接高时为自动连续转换,每隔40002个时钟完成一次转换;接低时转换结束后保持转换结果,输入一个大于300ns正脉冲启动另一次转换。输出时序如下:图2-48ICL7135输出时序图为使7135工作于最正确状态,获得最好的性能,必须注意对外接元器件的选择。典型接线如图3-49所示。图3-497135外接元件图VREF必须接1V稳定的参考电源。RINT为积分电阻CINT为积分电容满量程积分输出电压波动值控制在±3.5V~±4V选用较大的自动调零电容CAZ可以减小噪声,典型值为1uF。基准电容应大到足以使节点对地的寄生电容可以被忽略为止,典型值为1uF。积分输出端串接一个二极管D和电阻R是为了消除滚动误差。2)接口电路7135转换结果输出是动态,必须通过并行接口才能和80C51连接。本例采用8155为接口芯片。图3-50ICL7135和80C51的接口图中,8155的A口工作于选通输入方式,7135的数据输出选通脉冲STB接到8155的A口数据选通信号线ASTB〔PC2〕,8155A口中断请求线AINTR〔PC0〕反相后接80C51的INT1。数据选择器74LS157:SEL=1-选B组;万位,状态位输入PA0~PA3SEL=0-选A组;千位,移入PA0~PA3图中ALE连8155的定时器〔设为方波发生器〕的输入端,假设系统时钟为12MHz,那么ALE的频率2MHz,经定时器16分频,输出为125KHz方波,作为7135的时钟。当完成一次A/D转换后,产生5个数据选通脉冲,分别将各位的BCD结果和标志D1~D4打入8155的A口。A口收到一个数据后,中断请求线AINTR〔PC0〕升高,80C51外部中断INT1输入端变为低,向CPU请求中断。CPU响应中断,读取8155A口的数据。3)接口程序设数据存放格式如下:图3-51主程序〔送转换结果〕流程图图3-52A/D中断效劳程序流程图主程序清单:MAIN:MOVDPTR,#7F04H;8155定时器初始化MOVA,#10H;16分频MOVX@DPTR,AINCDPTRMOVA,#40HMOVX@DPTR,AMOVDPTR,#7F00H;控制字D6H→8155MOVA,#0D6HMOVX@DPTR,AMOVSP,#60HMOV20H,#00H;数据缓冲器区清0MOVP2,#7EH;8155RAM缓冲器地址初值MOVR0,#00HMOVR7,#55H;置长度计数器初值MOVIE,#84H;开放外部中断1WDIN:JBCPSW.5,TRAN;A/D结果缓冲器装满否?AJMPWDINTRAN:MOVA,20H;A/D结果传送到外部RAMMOVX@R0,AINCR0MOVA,21HMOVX@R0,AINCR0MOVA,22HMOVX@R0,AINCR0DJNZR7,WDINACALLPDATA;调用数据处理子程序MOVR0,#00H;重置8155RAM首地址MOVR7,#55H;重置长度AJMPWDINA/D中断效劳程序:PINT1:MOVDPTR,#7F01H;读8155A口的A/D结果MOVXA,@DPTRMOVR2,AANLA,#0F0H;保存高4位PA4~PA7,即D1~D4JNZPR1;D5=0,返回MOVR1,#20H;D1~D4全0,说明D5=1MOVA,R2ANLA,#01H;取万位数据XCHDA,@R1MOVA,R2ANLA,#0EH;保存POL、OR、UR3位SWAPAORLA,@R1MOV@R1,AINCR1WD4:MOVXA,@DPTR;读千位JNBACC.7,WD4SWAPAMOV@R1,A;千位→(22H).4~7WD3:MOVXA,@DPTR;读百位JNBACC.6,WD3XCHDA,@R1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 外贸商务信函合同范例
- 天府新区航空旅游职业学院《数值分析初步》2023-2024学年第一学期期末试卷
- 七年级英语下册 Unit 1 Dream homes Grammar教学实录 (新版)牛津版
- 游艇生产采购合同范例
- 外墙翻修安全合同范例
- 政府卖杨树合同范例
- 唐山学院《商务智能应用》2023-2024学年第一学期期末试卷
- 武侯区保安合同范例
- 商业大厦租赁合同范例
- 七年级语文上册 第三单元 10 再塑生命的人教学实录1 新人教版
- 个人自检自查报告范文
- 数据分析服务合同三篇
- 血透室安全隐患
- 《中国园林发展》课件
- 菏泽学院教育科学研究方法(专升本)复习题
- 小学科技节活动总结15篇
- 船运居间协议合同范例
- 质控竞聘课件
- 期末试卷(试题)-2024-2025学年沪教版三年级上册数学
- 古代小说戏曲专题-形考任务4-国开-参考资料
- 电影叙事与美学智慧树知到期末考试答案章节答案2024年南开大学
评论
0/150
提交评论