版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
51单片机接口并行、串行接口10.1总线和接口总线(串行接口、并行接口)(同步,异步)接口串行通讯与并行通讯发送方数据准备好数据D0~D7接收方数据收到8条数据线甲方发送数据接收数据乙方接收数据发送数据上图:并行单向通讯下图:串行双向通讯10.1接口/存储器的扩展并口应用中已经介绍了地址/数据总线的扩展,本节举例应用要点。数据线D0~D7(P0口AD0~AD7),8位地址线A0~A15(P0-74LS373=A0~A7,P2=A8~A15)控制线:CS/CE,WR/RD(OE)ALEWRRD(PSEN):数据流方向CS/CE引脚称为“片选:ChipSelect”或者“芯片使能:ChipEnable”.CPU将其用于选中芯片以确定访问对象,它通常代表一个地址范围,由“地址译码器”提供。ALE地址数据分离信号扩展电路可以是存储器,也可以是接口芯片。存储器:6116(2K),6264(8K),62256(32K),2716(2K),2764(8K),27256(32K)……接口:8255,8253,8279,8259,8251…以及ADC0809,0804,DAC0832,AD75176……51单片机的3总线结构A8~A15A8~A15A8~A15A0~A7A0~A7A0~A7读写时序P0D0~D7A0~A7D0~D7A0~A7D0~D7A0~A7ALEP2373出
74LS373是一种“透明”的8D锁存器,当LE引脚为“高”时,输出=输入。低电平时锁定数据。
Intel8282类似,但引脚不一样。不能用其它锁存器代替。(2)在扩展外部ROM时,用控制信号PSEN,而在扩展外部RAM时,用控制信号RD和WR。(3)在选用外接存储器时,应注意ALE信号与锁存器选通信号的配合。CS/CE的产生和使用目的:将64K地址分配给多个芯片使用,各个芯片占用不同的地址段。(51单片机I/O和存储器采用统一编址)被扩展的芯片,无论是存储器还是接口都有相应引脚CS/CE,其意义是:1.选中此芯片,CPU要对其进行访问。2.它代表地址信息。CS/CE一般为低电平有效。地址分配方法(产生CS/CE的方法)有两种,经典方法是使用“译码器”;单片机还可以使用“线选法”。使用译码器译码,称为“译码法”。常用的译码器有:双二四译码器74LS139,三八译码器74LS138,四十六译码器74LS154。使用高位地址线直接作为CS/CE使用,称为“线选法”。常用译码器图中E;E1;E2;E3;G1;G2均为使能控制端,可以连接到地址线,也可以连接固定电平。当这些引脚“有效”时才能译码,否则芯片输出高电平。ABCD连接低位地址。3-8译码器举例对于存储器RAM6264或EPROM2764;E2PROM2864,地址A0~A12可以直接连接到存储器的地址线,Yi连接到CS就行了。对于某些芯片,它们不需要太多的地址线时,我们只需连接低位地址。例如8255,只需连接A0和A1就行。
高3位地址用于译码,可得8条选择线,每线可以选择(64/8=8)8KB的地址范围:Y0选择0000H~1FFFH;Y1选择2000H~3FFFH;Y2选择4000H~5FFFH;地址设计和推导设计:确定各芯片地址范围,以最大容量芯片作为参考。设计高位地址连接译码器的方法。推导:(分析图纸)推导地址时,按译码器连接方法将高位地址用二进制的0/1表达出来。连接到芯片的地址用0000…和1111…表达出来。没有连接芯片的地址用XXXX…表达。将2进制地址码换算成16进制地址。换算时,XXXX…一般理解为0000…。作地址范围推导时,先设为0000…看作起始地址,1111…看作末地址。地址推导举例A15A14A13A12A11A10A9其它起始地址Y0000000/10/1XXX0000HY1000010/10/1XXX0800HY2000100/10/1XXX1000HY3000110/10/1XXX1800HY4001000/10/1XXX2000H图中:A15,A14为限定状态,只有它们全为0时,译码器才能译码,因此在表中写0。这与前面图差别在于:前图中A15,A14参与了译码。芯片连接举例6264的地址:0000H~1FFFH8255的地址:6000H~7FFFH,实际只使用:6000H~6003H练习如图,采用8051做CPU,请给出RAM的地址,如果将#30H放如RAM的第一个单元,如何编写程序线选法由于单片机通常不需要太多的扩展,往往只需扩展2~3个芯片即可,因此没有必要使用译码器。直接使用P2.X连接到CS,称为“线选法”线选法客观上会导致“地址重叠”,软件上需要考虑不去访问重叠地址。译码法没有这个问题。线选法地址重叠及避免方法芯片1地址:110X,XXXX,XXXX,XXXX,起始地址:C000H,最高2位必须保证是1,避免与其它芯片冲突。末地址:DFFFH芯片2地址:101X,XXXX,XXXX,XXXX,起始地址:A000H,A15,A13必须是1,避免与其它芯片冲突。末地址必须小于C000H。芯片3地址:011X,XXXX,XXXX,XXXX,起始地址:6000H,A14,A13必须是1,避免与其它芯片冲突。显然末地址必须小于A000H上面所说的“必须/保证”由软件完成,如果违反规定,则可能同时不止访问一个芯片。常用的0000H~05FFH地址在这里是禁止使用的。从本例可以看出,线选法比较浪费地址,但是不需要的地址浪费了也无所谓。其优点是少用一个译码器。MCUP2.5P2.6P2.7芯片1CS芯片2CS芯片3CS并口的扩展举例左边两图使用8D锁存器扩展输出并口右边图使用8位三态门作为输入并口。74LS245也是三态门。注意三者CS的使用;73LS377可以免去一个或门。或门作为“负逻辑与门”使用。RAM的扩展地址控制时序编程RAM的扩展
根据前面的电路原理图,编写数据传送程序,内部RAM30H~3FH单元置初值00H~0FH,然后传送到外部RAM(6264)的0000H~000FH单元中,再将0000H~000FH中内容求和送到P1口显示。
Org0000hAJMPmainOrg0030hMain:Movr0,#10h ;r0为循环计数器
Mova,#0 ;Movr1,#30h ;r1为片内RAM地址指针WriAga:mov@r1,a ;写片内RAM一个单元
incaincr1 ;地址指针加1djnzr0,WriAga;循环计数器减1,不等于0,转移
movdptr,#0;DPTR为片外RAM地址指针movr2,#10h;r2为循环计数器movr0,#30h;r0为片内RAM地址指针ReaWri:mova,@r0 ;读片内RAM一个单元movx@dptr,a ;写入外部RAM一个单元incdptr ;片外RAM地址指针加1incr0 ;片内RAM地址指针加1djnzr2,ReaWri;循环计数器减1,不等于0,转移movr0,#10h ;r0为循环计数器
movdptr,#0;DPTR为片外RAM地址指针
mov40h,#0;40H为和数的存放单元adages:movxa,@dptr;读片外RAM一个单元到a中
MOVB,A;寄存到b中
MOVA,40H;AddA,B;求和INCdptrdjnzr0,adages;循环计数器减1,不等于0,转移
MOVP1,A不使用地址线的扩展不使用地址线,可以节约大量单片机的引脚。单片机采用串行接口进行扩展。I/O扩展前面介绍过:74LS164;CD4094;6B595扩展输出口。74LS165;CD4014扩展输入口。存储器扩展:利用I2C总线扩展:24CXX一些接口扩展:利用SPI总线10.2并行总线的发展(简介)测控专用总线
GPIBPXIVXI测控系统组成技术的发展总线技术发展1.GPIB
结构
控制图
硬件结构
优点结构简单使用便利抗干扰缺点传输速度低体积大无法同步触发
2.VXI
结构
优点开放高速传输灵活体积小缺点价格高
3.PXI
优点:传输速度快,兼容PCI缺点:品种少,速度缺陷10.3串行通讯与并行通讯特点并行通讯一次传送1字节(1BYTE),串行通讯一次传送一位(1Bit)。并行通讯需要大量导线(>10),串行通讯需要线路少(1~3)。通过改善通讯线路驱动方式,传送距离和传送速度上,串行通讯都远远大于并行通讯。串行通讯基本概念串行通讯方式分为:单工、双工、半双工。串行通讯模式分为:同步通讯和异步通讯。串行通讯方式的
单工、双工、半双工TXDRXDTXDRXDTXDRXDTXDRXDTXDRXDTXDRXD串行通讯的同步模式(位同步)串行数据同步时钟DQCKDQCKDQCKDQCKDQCKDQCK读出并行数据写入并行数据同步时钟
特点:需要两条信号线:SDATA,SCLKSDATASCLK串行通讯的异步模式移位时钟由收发双方各自产生,因此只需要1条信号线双方约定数据格式:发送速率BPS=(数据位宽T)-1;数据位数;数据顺序;起始位;休止位等。空闲起始D0D1D2D3D4D5D6D7休止空闲½TT异步通讯数据格式波特率:数据传送速率BPS,即“位/每秒”空闲:高电平,宽度不限起始位:低电平,1位宽度数据位数:通常是8位,还可设为:6位;7位和9位等。数据顺序:通常D0先发,也可以反过来D7先发。数据逻辑:通常是正逻辑,也有使用负逻辑的休止位:高电平,1~1.5位宽度以上全部并含三个“通常”都是默认的,除非特殊强调。UARTUART电路模块具有:能够对发送数据自动添加休止位,起始位,按照“异步方式”发送数据能够判定起始位,休止位,按照“异步方式”接收数据这样的电路模块称为“通用异步收发器”——UART(UniversalAsynchronousReseiverandTransmitter)可以兼顾同步通讯的UART又称为USART(UniversalSynchronousAsynchronousReseiverandTransmitter)UART电路可以集成在MCU中,也可以是独立芯片。例如常见的独立芯片UART有:Ins8250;Intel8251;MC6850;MC6852;Z80SIO等。它们通常需要外接波特率发生电路:振荡器+分频器。同步方式同步方式分为软件同步和硬件同步软件同步是一种连续传送(块/包)方式,字节间不需要起始位,休止位,因而节约传送时间。同步字符用于判断数据开始,现代通讯还包含了“传输速率”的信息。接受方利用“同步字符”校准锁相环电路从而产生自适应的接收波特率。这种方式具有异步通讯不需要移位时钟的特点,又有“块方式”特点,因此传输效率高,自适应能力强。硬件同步是利用同步时钟信号同步数据格式通常称为“通讯协议”,不同公司开发的产品使用的协议可能不同。例如同步帧/字符位数,代码等。校验同步字符数据数据长度同步字符数据…………串行通讯基本入门知识同步方式:这里仅指“位同步”方式(硬件同步)异步方式:指约定波特率方式,传送1字节8位数据需要10位以上宽度。(每字节前面有“起始位”,后面有“休止位”。异步方式有一些“标准”需要学习,他们主要有:RS-232C;RS-422;RS-423;RS-485,这些主要指“驱动方式”通常讲解时,默认使用TTL电平。RS-232C标准电平标准:3~12V=“0”,-3~-12V=“1”连接标准:DB9或者DB25插座(针型),现今基本上淘汰了25针插座。插座每个引脚都有唯一的信号定义个人电脑PC的COM1,COM2就是标准RS-232C接口RS-232C引脚信号定义名称信号方向功能25芯脚号9芯脚号FRM
保护地1
TXD输出发送数据23RXD输入接收数据32RTS输出请求对方发送数据47CTS输入可向对方发送数据58DSR输入对方已准备好接收数据66GND
信号地75DCD输入对方已收到载波81DTR输出通知对方,本方可以接收数据204RJ输入对方送来的振铃指示信号229注:除TXD,RXD.GND外,其它信号用于MODEM一类数据终端的控制/应答信号,本课程不作讨论。RS-232C电平驱动RS422RS422接口标准具有抗干扰能力强,通讯速率高的特点,越来越得到广泛的使用。传输速率:当距离1.2M时最高可达10MBPS,当距离1.2KM时也可达90KBPS。这种方式传输时,每个通路(收或者发)需要两条导线,并把这两条导线绞在一起,(称为“双绞线”)。这两条导线上的电平都是TTL的,但逻辑电平相反(差分),即:一条线为“0”时,另一条线为“1”。RS485RS485是总线方式,是RS422的变型,可与RS422混用。RS485是半双工的。75174输出阻抗100欧,75175输入阻抗4K。RS485允许32个收发器共用一对信号线(驱动电路75176)
RS485电缆要点RS485最小型由两条信号线组成,每条连接电路必须有接大地的参考点,这电缆能支持32个接收/发送器对。为了避免地面的路电流,每个设备一定要接地。这电缆应包括连接至每个设备电缆地的第3条信号参考线。屏蔽应接到电缆设备的机壳。
总线方式通讯存在着线路竞争问题,编程时应当注意——只有一个设备可以发送。由于与RS422兼容,驱动芯片主要有:75174/75175;MC3487/MC3486;75176;MAX485等,后面两种芯片收发集于一体。51单片机串行接口结构51单片机的串行接口控制寄存器SCONSM0/SM1 串口工作方式,组成代码:0~3SM2 串口9位多机(总线)方式控制REN 允许接收TB8 发送的第9位数据RB8 接收到的第9位数据TI 数据发完标志/中断申请标志RI 收到数据标志/中断申请标志D7D6D5D4D3D2D1D0SM0SM1SM2RENTB8RB8TIRI51串行接口的工作方式方式1,2,3都是异步通讯,只有方式1是8位方式。方式1,3可变波特率。方式0,2波特率固定。SM0SM1说明00方式0:同步方式,速率为晶振的12分之一RXD可输入或输出数据(双向数据)TXD输出同步时钟01方式1:8位异步UART通讯,速率由定时器T1(T2)的溢出率确定,即:可编程确定。10方式2:9位异步,速率固定为晶振的32分之一或者晶振的64分之一11方式3:9位异步,速率由T1的溢出率决定51串行接口的工作方式(续)
SM2解说:SM2在方式2、3时是“多机位”。当置1时,接收器将检测收到的数据是否为“机号地址”信息(第9位=1),如果是“机号地址”才申请中断,否则不予理睬。此时,主机采用“点名”方式与下位机(从机)取得联系。从机只有在“点名”时才产生中断,并将收到的数与本机号码比较,看是否点到自己。在方式1时如果置1,接收方将确认数据之后,是有效的“休止位”才申请中断。REN解说:置1允许接收。在方式0时,置1将导致TXD发送同步脉冲,RXD开始接收数据。51串行接口的工作方式(续)l
TI“发送器空”标志,一方面用于申请中断,一方面提供程序查询(注)。其意义为:发送缓冲器数据已发完,需要装入下一个数据。l
RI“接收器满”标志,一方面用于申请中断,一方面提供程序查询(注)。其意义为:接收缓冲器收到数据,需要将其读走,否则下一个收到的数据可能会冲掉当前数据。注:由于MCS-51单片机串行接口的中断只有一个入口,无论“收”还是“发”都使用0023H作为中断入口。当中断完成了规定的任务后,需要用软件将相应的标志位TI或RI清除,它不会因中断服务的发生而自动清除(定时器和外部中断都能自动清除)。
51异步串行通讯(方式1)当SCON设为方式1,全双工时,控制字为:50H凡与“9位方式”相关的位全设为0,两个标志位也设为0也可设置SCON=40H,当需要接收数据时,SETBREN即可。余下的工作就是设置波特率了。设置定时器T1方式2,查波特率表获得定时常数。设置PCON的最高位SMOD,设为1时,表示“波特率×2”。注意:PCON不能“位寻址”,因此使用指令:MOVPCON,#80H01010000SM0SM1SM2RENTB8RB8TIRI51异步串行通讯波特率设置串口工作方式晶振频率T1方式2常数波特率SMOD=0SMOD=11,311.0592FDH9600192001,311.0592FAH480096001,311.0592F4H240048001,311.0592E8H12002400对于其它频率的晶体振荡器,如果需要标准的波特率输出,可以再网上找到一个计算工具:51波特率计算助手.exe,这个工具可以方便地计算出其它频率晶振,对不同波特率时的定时器常数。PCON电源控制寄存器SMOD=1时,波特率翻倍PD=1时,进入“掉电方式”,即:关闭晶振,使MCU耗电最少(近似关电),只有硬件复位可以使MCU进入工作状态。IDL=1时,进入“待机模式”,即:瞌睡模式,此时晶振时钟只提供到外围接口而不提供CPU(CPU停止工作)节约耗电。此时被激活的中断源产生中断时可以唤醒CPU。PCON不能位寻址。一些教材单独讨论:掉电模式和节电模式,就是指的上面内容D7D6D5D4D3D2D1D0SMOD--------------------PDIDL51异步串行通讯(方式1)
初始化程序举例MAIN: MOVSP,#40H
MOVTMOD,#20H ;设置定时器方式T1方式2,波特率2400
MOVTL1,#0F4H
MOVTH1,#0F4H
MOVSCON,#50H ;设置串口方式,允许接收
MOVPCON,#00H SETBES ;允许串口中断
SETBTR1 ;启动T1
MOVSBUF,#20H;送空格 JNBTI,$ CLRTI SETBEA ;允许中断
……要点:设T1工作方式2,送常数设SMOD,波特率不翻倍设串口工作方式1送一个“
”清除SBUF内的随机数。使用串口中断服务时,主程序需要发送一个“
”以启动串口中断利用超级终端调试串行接口单片机通讯的调试比较困难,往往需要一个辅助装置以验证通讯的成功与否。我们常使用WINDOWS附件中的“超级终端”作为监视器,它可以观测到通讯线路上的数据。要求:使用8位ASCII码进行通讯,波特率使用规范值。无论单片机使用何种标准,都需要将其转换成RS-232C标准,并连接到PC机的COMM1或者COMM2。拔插电缆时需要单片机断电!在主机上选择:开始-程序-附件-通讯-超级终端,输入一个用户名,设置通讯规则,然后保存并退出。此后再重新打开,如果通讯正常则可以在屏幕上看到通讯数据。也可以从网上下载一个“串口调试精灵”进行调试。这个软件支持非ASCII码。单片机多机通讯(方式2,3)串口工作方式2,3称为多机通讯,它是一种“9位”方式的通讯。两种方式的差别在于“波特率”不同。9位方式的第9位称为“多机位”,当其为1时,意义是“机号”。每个从机有一个唯一的编号,从机个数不超过255个。主机用9位方式对某从机点名,所有从机都收到这个数据,各自与自己编号对照,如果点到自己则回答主机并建立联系,其余从机不作回答。一般数据的第9位必须为0,仅点名时为1。方式3与方式1都可以设置波特率,且方法相同。而方式2却是固定波特率,只能设为晶振的32或者64次分频。主机RXDTXD从机1RXDTXD从机2RXDTXD从机3RXDTXD从机…RXDTXD从机nRXDTXD……多机通讯方法简介多机通讯的要点就是“机号/地址”的标识,只要能够区别于数据就行了。多机通讯方法很多,最常用“点名-应答”方式,这时必须只有一台主机。可以使用ASCII码通讯,也可以使用二进制通讯,ASCII码通讯时,数据长度增加一倍,但是便于调试和监视。二进制通讯利用第9位=1表示机号,其余数据第9位必须是0!51单片机使用SM2=1,用硬件识别“地址”信息,然后申请中断,对主机发给别人的数据不予理睬(不申请中断)。一旦呼叫的是本机,为了接收主机下达的数据,必须再改变SM2=0,这样才能收到数据(申请中断)现代通讯多使用多机通讯,并编制了多种通讯协议,由硬件保证通讯线路上不会发生通讯冲突。主机的通讯程序流程图从机通讯流程图这里的流程图只是简单的一个参考流程,在实际应用里往往还要加上传输校验、错误处理等等,以确保传输的正确性。串口的应用同步方式(扩展I/O口,键盘,显示,I2C总线和SPI总线)异步(通讯:单机,多机)51同步串行通讯(方式0)这种方式也称为:移位寄存器方式。通讯对象相对简单:使用“移位寄存器”即可。单片机发送数据时,接收对象常常使用:74LS164,CD4094,6B595等“串-并转换”电路。它们往往可以多级串接。单片机接收数据时,发送对象常常使用:74LS165,CD4014等“并-串转换”电路。它们往往可以多级串接。单片机接收数据时,要正确使用REN控制,每次对其置1,TXD就会发送8个移位时钟。每字节读取后都需要将其清0。方式0的波特率是固定的,f0/12应用I2C总线器件,如IC卡,例如24C01同步通讯I2C举例发送1字节数据(查询方式)Start:MOVSCON,#00HSEND:MOVA,@R0MOVSBUF,AWAIT:JNBTI,WAITCLRTIRET接收1字节数据(查询方式)Start:MOVSCON,#00010000BWAIT:JNBRI,WAITCLRRIMOVA,SBUFMOV@R0,ARET用软件模拟的同步通讯有时由于通讯对象速率较低或者不是8位方式时,需要用软件模拟产生同步通讯波形——如上面图中所示。这种方式应用更广:例如51单片机使用I2C总线和SPI总线器件:E2PROM-24C0X,LED显示键盘电路7279,7289,7219,语音芯片ISD330XX等。例如使用P1.0作SDATA,P1.1作SCLK,用程序接收或发送数据即可。在实验2中,把P3.0(RXD)定义为SDA,P3.1(TXD)定义为SCL,用下页的软件模拟(中括号部分不要),同样可以使“霓虹灯”转起来。SDATASCLK用软件模拟的同步通讯I2C举例发送1字节数据SEND:PUSHB MOVB,#8 ;8位数SENDLP:RLCA MOVSDA,C NOP SETBSCL NOP×4 CLRSCL DJNZB,SENDLP;未完送下一位
SETB SDA ;以下读取ACK NOP×2 SETBSCL NOP×4 MOVC,SDA ;读取ACK CLRSCL POPB RET接收1字节数据READ:SETBSDA PUSHB MOVB,#8;数据位数READLP:NOP NOP NOP SETBSCL NOP NOP MOVC,SDA;读取一位数
RLCA ;存入ACC CLRSCL DJNZB,READLP;读下一位
POPB RET同步通讯应用举例例:用8051串行口外接CD4094扩展8位并行输出口,如图所示,8位并行口的各位都接一个发光二极管,要求发光管呈流水灯状态。串行口方式0的数据传送可采用中断方式,也可采用查询方式,无论哪种方式,都要借助于TI或RI标志。串行发送时,可以靠TI置位(发完一帧数据后)引起中断申请,在中断服务程序中发送下一帧数据,或者通过查询TI的状态,只要TI为0就继续查询,TI为1就结束查询,发送下一帧数据。在串行接收时,则由RI引起中断或对RI查询来确定何时接收下一帧数据。无论采用什么方式,在开始通讯之前,都要先对控制寄存器SCON进行初始化。在方式0中将,将00H送SCON就可以了。ORG2000HSTART:MOVSCON,#00H;置串行口工作方式0MOVA,#80H;最高位灯先亮CLRP1.0;关闭并行输出(避象传输过程中,各LED的"暗红"现象)OUT0:MOVSBUF,A;开始串行输出OUT1:JNBTI,OUT1;输出完否CLRTI;完了,清TI标志,以备下次发送SETBP1.0;打开并行口输出ACALLDELAY;延时一段时间RRA;循环右移CLRP1.0;关闭并行输出JMPOUT0;循环异步通讯步骤:方式:单机,多机,波特率是否固定波特率:波特率=定时器T1溢出率51异步串行通讯(方式1)
初始化程序举例MAIN: MOVSP,#40H
MOVTMOD,#20H ;设置定时器方式T1方式2,波特率2400 MOVTL1,#0F4H
MOVTH1,#0F4H
MOVSCON,#40H ;设置串口方式
MOVPCON,#00H
MOVSBUF,#20H;送空格SETBES ;允许串口中断SETBREN;允许接收SETBTR1;T1开始工作
SETBEA ;允许中断
……要点:设T1工作方式2,送常数设SMOD,波特率不翻倍设串口工作方式1送一个“
”清除SBUF内的随机数。使用串口中断服务时,主程序需要发送一个“
”以启动串口中断
SERIAL:JNBTI,SERIAL1JBSEND,SERIAL2MOVSBUF,AAJMPSERIAL2:SERIAL1:JNBRI,ERRMOVA,SBUFMOVP1,ACLRRISERIAL2:CLRTIERR:RETIENDorg0000HAJMPSTARTorg0023hAJMPSERIAL;习题假设主单片机的晶振为12MHz,波特率为4800bps,采用方式1,功能是从P1口读入数据,送给从单片机写出主,从单片机的通讯程序假设主单片机的晶振为12MHz,波特率为4800bps,采用方式3,将00H到03H的数据分别送到从机1~4(地址1~4)送3遍,地址FF作为全部从机的复位命令10.4串行通讯的发展(9章)乙太网USBPROFIBUS(过程现场总线)CAN(控制局域网)LXI总线和网络的结构网络拓扑结构星型环型总线型
工作方式:对等主从客户/服务
LXI
总介:LXI则同时融合了VXI和以太网的优势
LXI没有带宽!软件或计算机底板结构限制
LXI如何实现减少延时和采用的同步?
LXI可以看做是网络背板结构的互连标准:
硬件辅助触发子系统
网络定时协议NTP精确定时协议PTP
为什么说LXI是仪器总线的发展方向?LXI没有带宽!软件或计算机底板结构限制
LXI系统还具有很好地伸缩性基于LAN的系统为测试和测量应用提供众多好处
(连接电缆的长度,信号传输的可靠性以及仪器节点数量)
优点:以太网,分布式,时序严格,开放,易复用缺点:网络问题,试验阶段10.5人机接口显示的方式:模拟、数字、模拟数字混合显示软件的基本任务:显示更新的数据参数设定和显示状态指示显示显示器的主要类型:LED发光二级管LED数码显示器LCD液晶显示LED发光二级管LED数码显示器共阴,共阳静态显示,动态显示字形表的制作共阳型。接线如下:P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.0CEHDGFAB则字形码如下所示:;00010100028H;1011111107EH;2101001000A4H;30110010064H;40111001072H;50110000161H;60010000121H;7011111007CH;80010000020H;90110000060H静态显示上面电路实现静态显示。利用单片机串行接口的同步方式,很容易扩展许多并行接口出来,这在单片机引脚不够用时是一种好方法。从前面软件模拟同步通讯可以看出:可以不使用专门的串行接口!R*874164R*874164R*874164R*874164R*874164RXDTXD共阳VCC共阴GNDLED数码显示器设计步骤1)驱动接口(静态、动态)2)字型码(译码方式:软件,硬件)3)程序的入口和出口(查询、中断,定时)4)程序的存储结构(堆栈、指针,显示缓冲区)串口显示程序举例DISP:MOVSCON,#00H;初始化串行口方式0MOVR1,#06H;显示6位数MOVR0,#65H;60H-65H为显示缓冲区MOVDPTR,#SEGTAB;字形表的入口地址LOOP:MOVA,@R0;取最高位的待显示数据MOVCA,@A+DPTR;查表获取字形码MOVSBUF,A;送串口显示DELAY:JNBTI,DELAY;等待发送完毕CLRTI;清发送标志DECR0;指针下移一位,准备取下一个待显示数DJNZR1,LOOP;直到6个数据全显示完。RETSETTAB:;字形表,前面有介绍,以后我们再介绍字形表的制作。DB03H9FH27H0DH99H49H41H1FH01H09H0FFH;0123456789消隐码
ORG0000H 测试用主程序AJMPSTARTORG30HSTART:MOVSP,#6FHMOV65H,#0MOV64H,#1MOV63H,#2MOV62H,#3MOV61H,#4MOV60H,#5LCALLDISPSJMP$同步串行扩展并行接口(输入)输出:常用74LS164,CD4094,6B596等“串入并出”芯片。输入:常用74LS165,CD4014等“并入串出”芯片。如下图:MCS51使用模式0,PX.X送出负脉冲后,SETBREN读取1字节,清REN后,再置1,可以读取第2字节。RXDTXDPX.X74LS165/401474LS165/4014开关量输入装入LOADMCULED电子显示屏16行,N×8列LED显示阵列(8*8模块2行N列)行扫描锁存器+4~16译码器16个达林顿管阵列驱动16行行号输入4位6B595串接N片16线16线N×8线TXDRXDSTB单片机控制器单片机控制行扫描:依次显示各行。每行送数都使用方式0思考如何实现动态显示?键盘键盘的按键有触点式和非触点式;按键开关的抖动问题数字、功能、命令键号、键值重键图2键盘键盘的类型:独立式行列式(或矩阵式)键盘的工作方式编程扫描(查询法)定时扫描中断键盘和单片机的连接和I/O相连:将每个按键的一端接到单片机的I/O口,另一端接地,如图3所示是实验板上按键的接法,四个按键分别接到P3.2、P3.3、P3.4和P3.5KEY:CLRF0;清F0,表示无键按下。ORLP3,#00111100B;将P3口的接有键的四位置1MOVA,P3;取P3的值ORLA,#11000011B;将其余4位置1CPLA;取反JZK_RET;如果为0则一定无键按下ACALLDELAY;否则延时去键抖ORLP3,#00111100BMOVA,P3ORLA,#11000011BCPLAJZK_RETMOVB,A;确实有键按下,将键值存入B中SETBF0;设置有键按下的标志K_RET:ORLP3,#00111100B;此处循环等待键的释放MOVA,P3ORLA,#11000011BCPLAJZK_RET1;直到读取的数据取反后为0说明键释放了,才从键盘处理程序中返回AJMPK_RETK_RET1:RETKEYPROC:MOVA,B;从B寄存器中获取键值JBACC.2,KeyStart;分析键的代码,某位被按下,则该位为1(因为在键盘程序中已取反)JBACC.3,KeyOverJBACC.4,KeyUpJBACC.5,KeyDownAJMPKEY_RETKeyStart:SETBStartEnd;第一个键按下后的处理AJMPKEY_RETKeyOver:CLRSt
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026广东东莞市樟木头中学招聘编外临聘教师1人笔试备考试题及答案解析
- 2026年西安长安博雅小学教师招聘考试重点题库及答案解析
- 2026福建厦门市杏南中学非在编(顶岗)教师招聘6人笔试备考题库及答案解析
- 2026江西九江市修水安翔矿山建设有限责任公司招聘12人笔试备考试题及答案解析
- 2026云南昭通昭阳区凤凰街道办事处招聘公益性岗位5人笔试备考试题及答案解析
- 2026安徽阜阳市成效高级中学招聘45人笔试备考试题及答案解析
- 2026浙江宁波市鄞州区钱湖医院招聘编外人员1人笔试备考题库及答案解析
- 2026年上海市农业生物基因中心工作人员招聘(2026年第一批)笔试备考题库及答案解析
- 2026西安市高新第一学校教师招聘笔试备考试题及答案解析
- 2025年华能核电开发有限公司所属基层企业招聘笔试备考题库及答案解析
- 发热待查诊治专家共识(2026 版)
- 家具制造工艺流程与标准操作规程
- 2026北京西城初二上学期期末数学试卷和答案
- 马年猜猜乐(马的成语)打印版
- 2026年及未来5年市场数据中国磷化铟行业市场调研分析及投资战略咨询报告
- 北京市东城区2024-2025学年高一上学期期末统一检测地理试卷
- 2025年郑州铁路职业技术学院单招职业技能考试题库含答案
- 物业人员管理及培训方案
- 2.1地形导学案-八年级地理上学期人教版
- GB/T 37507-2025项目、项目群和项目组合管理项目管理指南
- 2024年江苏省南京市中考数学试卷真题(含答案逐题解析)
评论
0/150
提交评论