收藏 分享(赏)

第六章-人机接口设计.ppt

上传人:天天快乐 文档编号:588743 上传时间:2018-04-13 格式:PPT 页数:64 大小:1.14MB
下载 相关 举报
第六章-人机接口设计.ppt_第1页
第1页 / 共64页
第六章-人机接口设计.ppt_第2页
第2页 / 共64页
第六章-人机接口设计.ppt_第3页
第3页 / 共64页
第六章-人机接口设计.ppt_第4页
第4页 / 共64页
第六章-人机接口设计.ppt_第5页
第5页 / 共64页
点击查看更多>>
资源描述

1、人机接口设计,单片机系统需要与外部的世界通信和联系,尤其是与使用者进行交流。人机接口是其重要的交互界面。常用的人机交互装置有:显示器、键盘、打印机等。本章我们将介绍显示器和键盘的设计。,第六章 人机接口实例,显示器接口设计,单片机系统常用的显示器有:LED显示器和LCD显示器。,LEDLight Emitting Diode Light Emitting Diode Display Device,LCDLiquid Crystal Display,LED显示器,LED数码管的结构:共阳极与共阴极,单片机系统扩展LED数码管时多用共阳LED:共阳数码管每个段笔画是用低电平(“0”)点亮的,要求的

2、驱动功率很小;而共阴数码管段笔画是用高电平(“1”)点亮的,要求的驱动功率较大。 通常每个段笔画要串一个限流电阻。,公共阳极,h g f e d c b a,接高电平,LED数码管的译码:硬件译码与软件译码,硬件译码特点:采用专用的译码/驱动器件,驱动功率较大;增加了硬件的开销;软件编程简单;字型固定,74LS48/CD4511是“BCD码七段共阴译码/驱动”IC; 74LS47是“BCD码七段共阳译码/驱动”IC,硬件译码,软件译码特点: 不用专用的译码/驱动器件,驱动功率较小;不增加硬件的开销;软件编程较复杂;字型灵活。,软件译码,LED数码管的软件译码,八段LED数码管段代码编码表(连线

3、不同可有多种表):,设:h g f e d c b a D7D6D5D4D3D2D1D0,LED数码管的显示方式:静态显示与动态显示,动态显示特点: 有闪烁,用元器件少,占I/O线少,必须扫描,花费CPU时间,编程复杂。(有多个LED时尤为突出),静态显示特点: 无闪烁,用元器件多,占I/O线多,无须扫描,节省CPU时间,编程简单。,静态显示: 各数码管在显示过程中持续得到送显信号,与各数码管接口的I/O口线是专用的。,动态显示: 各数码管在显示过程中轮流得到送显信号,与各数码管接口的I/O口线是共用的。,LED数码管动态显示举例,工作原理:从P0口送段代码,P1口送位选信号。段码虽同时到达

4、6个LED,但一次仅一个LED被选中。利用“视觉暂留”,每送一个字符并选中相应位线,延时一会儿,再送/选下一个循环扫描即可。,要求:此处为共阳数码管,P0口送段代码,P1口送位选信号。 实现动态显示。条件:待显数据存放在数组seg0 seg5 数字09的段代码已放在:BUF0 BUF9中。,# include void display( )unsigned char code BUF10=0xc0,0xf9,0xa4,0xb0,ox99,0x92,0x82,0x80,0x90,0x88,0x83; unsigned char seg 6 ; void display( )unsigned ch

5、ar i , j, temp;temp =0x01;for( i=0; i6; i+)P1 = temp;P0 = BUF seg i ;for( j=0; j50; j+)_nop_( );temp=temp*2; ,LCD接口设计,LCD是一种与LED不同的被动式的显示设备,液晶本身并不发光,它是利用液晶在电压的作用下能够改变光线通过的方向的特性而达到显示白底黑字或黑底白字的目的。,液晶:实质上是一种物质态,有人称之为第四态1888年奥地利植物学家F.REINITZER发现液晶当时德国物理学家将其命名为Flissende krystalle英文翻译为Liquid crystal,中文翻译为

6、液晶用它制成的显示器件称为LCD(Liquid crystal Display)1961年,美国RCA公司普林斯顿实验室的年轻电子学者F. Heimeier把电子学的知识用于研究化学。在研究外部电场对晶体内部电场的影响时,他使用了液晶。他将两片透明导电玻璃之间夹上掺有颜料的液晶,当在液晶层的两面施加以几伏的电压时,液晶层就由红色变成透明态。根据这一现象,进而研制出一系列数字、字符显示器件。,LCD的特点:工作电流比LED小几个数量级;尺寸小,厚度约为LED的1/3;工作温度范围较窄;响应速度低。,应用实例,常见的LCD显示器有:笔画式和点阵式两种,笔画式,笔画式LCD的字型由硬件直接形成,每种

7、字型对应相应的字码。驱动编程简单。字型固定。,点阵式,点阵式LCD的显示由一个一个的点像素构成。字型由软件控制各个像素的亮和灭来实现。驱动编程较为复杂。字型灵活。,在小规模点阵液晶显示模块上使用液晶显示驱动控制器组成液晶显示驱动控制系统是非常有益的。这使得液晶显示模块的硬件电路简单化,从而使模块的成本降低。HD61203U,HD61202U就是这类液晶显示驱动控制器套件。下面我们以香港精电公司产品MGLS12864为例,详细叙述内置HD61202U图形液晶显示模块的应用。,HD61202U是带显示存储器的图形液晶显示列驱动控制器。它的特点是内置6464位的显示存储器,显示屏上各像素点的显示状态

8、与显示存储器的各位数据一一对应,显示存储器的数据直接作为图形显示的驱动信号。显示数据为“1”,相应的像素点显示;显示数据为“0“,相应的像素点就不显示。同时HD61202U配备了一套显示存储器的管理电路和与计算机接口电路,允许计算机直接访问显示存储器,也就是说HD61202U可以直接与计算机的总线连接。但是HD61202U不能独立工作,因为它本身不能生成显示时序,所以HD612O2U需要与相应的带振荡器和显示时序发动器的行驱动器HD61203U配套才能形成一个完整的液晶驱动和控制系统。,HD61202U的主要特性为: 拥有6464位(512字节)的显示存储器,其数据直 接作为显示驱动信号。 8

9、位并行数据接口,适配M6800系列时序。 64路列驱动输出。 简单的操作指令 显示开关设置,显示起始行设置, 地址指针设置和数据读写等指令。 低功耗,在显示期间功耗最大为mW。 宽电压工作 Vcc=2.7V5.5V Vee=OV-10V,精电MGLS12864模块的电路特性,模块的接口定义如下表所示,HD61202U的操作时序图,E,R/W,/CS1 /CS2,D/I,D0-D7,write,D0-D7,read,内置HD61202U图形液晶显示模块的软件特性,了解内置HD61202U图形液晶显示模块的电路特性后,要使用内置HD612O2U图形液晶显示模块还需要熟悉其软件特性,即HD61202

10、U的指令功能,才能很好地应用内置HD61202U图形液晶显示模块。指令一览表如下表所示。,HD61202U指令表,HD61202操作流程图,读状态字(Status Read)格式 BUSY O ONOFF RESET 0 0 0 0 状态字是计算机了解HD61202U当前状态,或是HD612O2U向计算机提供其内部状态的唯一的信息渠道。状态字为一个字节,其中仅有3位有效位,它们是:BUSY表示当前 HD61202U接口控制电路运行状态。BUSY=1表示 HD61202U正在处理计算机发来的指令或数据。此时接口电路被封锁,不能接受除读状态字以外的任何操作。BUSY0表示 HD61202U接口控制

11、电路已处于“准备好”状态,等待计算机的访问。ONOFF 表示当前的显示状态。ONOFF=l表示关显示状态,ONOFF=0表示开显示状态。RESET 表示当前 HD61202U的工作状态,即反映RST端的电平状态。当RST为低电平状态时,HD61202U处于复位工作状态,RESET=1。当RST为高电平状态时,HD61202U为正常工作状态,RESET=0。 在指令设置和数据读写时要注意状态字中的BUSY标志。只有在BUSY=0时,计算机对HD61202U的操作才能有效。因此计算机在每次对HD61202U操作之前,都要读出状态字判断BUSY是否为“0”。若不为“0”,则计算机需要等待,直至 BU

12、SY=0为止。,显示开关设置(Display onoff) 格式 0 O 1 1 1 1 1 D 该指令设置显示开关触发器的状态,由此控制显示数据锁存器的工作方式,从而控制显示屏上的显示状态。D位为显示开关的控制位。当D=1为开显示设置,显示数据锁存器正常工作,显示屏上呈现所需的显示效果。此时在状态字中 ONOFF=0。当 D=0为关显示设置,显示数据锁存器被置零,显示屏呈不显示状态,但显示存储器并没有被破坏,在状态字中 ONOFF1。,显示起始行设置(Display Start Line)格式 1 1 L5 L4 L3 L2 L1 L0 该指令设置了显示起始行寄存器的内容。HD612O2U有

13、64行显示的管理能力,该指令中 L5LO为显示起始行的地址,取值在O3FH(164行)范围内,它规定了显示屏上最顶一行所对应的显示存储器的行地址。如果定时间隔地,等间距地修改(如加一或减一)显示起始行寄存器的内容,则显示屏将呈现显示内容向上或向下平滑滚动的显示效果。,页面地址设置Set Page(X address)格式 1 O 1 1 1 P2 P1 P0 该指令设置了页面地址X地址寄存器的内容。HD61202U将显示存储器分成8页,指令代码中P2PO就是要确定当前所要选择的页面地址,取值范围为07H,代表第l8页。该指令规定了以后的读写操作将在哪一个页面上进行。列地址设置(Set Y ad

14、dress)格式 0 1 C5 C4 C3 C2 C1 C0 该指令设置了Y地址计数器的内容,C5COO3FH(164)代表某一页面上的某一单元地址,随后的一次读或写数据将在这个单元上进行。Y地址计数器具有自动加一功能,在每一次读写数据后它将自动加一,所以在连续进行读写数据时,Y地址计数器不必每次都设置一次。页面地址的设置和列地址的设置将显示存储器单元唯一地确定下来,为后来的显示数据的读写作了地址的选通。,写显示数据(Write Display Data)格式 数 据 该操作将8位数据写入先前已确定的显示存储器的单元内。操作完成后列地址计数器自动加一。 读显示数据(Read Display D

15、ata) 格式 数 据 该操作将HD61202U接口部的输出寄存器内容读出,然后列地址计数器自动加一。,内置HD612O2U图形液晶显示模块的接口技术,一、直接访问方式 直接访问方式就是将液晶显示模块的接口作为存储器或 IO设备直接挂在计算机总线上,计算机以访问存储器或IO设备的方式操作液晶显示模块的工作。直接访问方式的接口实用电路如下图所示。在图中,计算机8031通过高位地址A11控制CSB;A10控制CSA;以选通液晶显示屏上各区的控制器 HD61202U;同时 8031用地址A9作为RW信号控制数据总线的数据流向;用地址A8作为DI信号控制寄存器的选择;E信号由8031的读信号RD和写信

16、号WR合成产生。从而实现计算机对内置HD61202U图形液晶显示模块的电路连接。电位器用于显示对比度的调节。,二、间接控制方式 间接控制方式是计算机通过自身的或系统中的并行接口与液晶显示模块连接,如 8031的P1和P3口, 8255或Z80PIO等并行接口芯片以及像74LS373类的锁存器等。计算机通过对这些接口的操作,以达到对液晶显示模块的控制。这种方式的特点是电路简单,控制时序由软件实现,可以实现高速计算机与液晶显示模块的接口。实用电路图如下图所示。在图中电路中以 8031的P1口作为数据口, P3.O控制CSA, P3.l控制CSB, P3.2控制DI,P3.3控制R/W和P3.4控制

17、E等信号。电位器用于显示对比度的调节。,驱动子程序如下: ;-;端口定义 ;-CSA EQU P3.0;片选CSA CSB EQU P3.1;片选CSB D/IEQU P3.2 ;寄存器选择信号 RW EQU P3.3;读写选择信号 E EQU P3.4;使能信号,1左区驱动子程序(1)写指令代码子程序(左)PRLO; CLR CSA;片选设置为“00”CLR CSB CLRDI;DI=0 SETB RW;RW=1PRL01:MOV P1,OFFH;P1口置“1” SETBE;E=1 MOV A,P1;读状态字 CLR E ;E=0 JB ACC7,PRL01;判“忙”标志为“0”否,否再读

18、CLR RW;RW=0 MOV P1,COM ;写指令代码 SETB E ;E=1 CLR E ;E=0 RET,(2)写数据代码子程序(左)PRL1; CLR CSA;片选设置为“00” CLRCSB CLRDI;DI=0 SETB RW;RW=1PRL11:MOV P1,OFFH;P1口置“1” SETBE;E=1 MOV A,P1;读状态字 CLR E ;E=0 JB ACC7,PRL11;判“忙”标志为“0”否,否再读 CLR RW;RW=0 MOV P1,DAT ;写指令代码 SETB E ;E=1 CLR E ;E=0 RET,(3)读数据代码子程序(左)PRL2; CLR CSA

19、;片选设置为“00” CLRCSB CLRDI;DI=0 SETB RW;RW=1PRL21:MOV P1,OFFH;P1口置“1” SETBE;E=1 MOV A,P1;读状态字 CLR E ;E=0 JB ACC7,PRL21;判“忙”标志为“0”否,否再读 SETB D/I;DI=1MOV P1,OFFH;P1口置“1” SETB E ;E=1 MOV DAT,P1 ;读显示数据 CLR E ;E=0 RET,2右区驱动子程序(1)写指令代码子程序(右)PRLO; SETB CSA;片选设置为“10” CLR CSB CLRDI;DI=0 SETB RW;RW=1PRL01:MOV P1

20、,OFFH;P1口置“1” SETBE;E=1 MOV A,P1;读状态字 CLR E ;E=0 JB ACC7,PRL01;判“忙”标志为“0”否,否再读 CLR RW;RW=0 MOV P1,COM ;写指令代码 SETB E ;E=1 CLR E ;E=0 RET,(2)写数据代码子程序(右)PRL1; SETB CSA;片选设置为“10” CLR CSB CLRDI;DI=0 SETB RW;RW=1PRL11:MOV P1,OFFH;P1口置“1” SETBE;E=1 MOV A,P1;读状态字 CLR E ;E=0 JB ACC7,PRL11;判“忙”标志为“0”否,否再读 CLR

21、 RW;RW=0 MOV P1,DAT ;写显示数据 SETB E ;E=1 CLR E ;E=0 RET,(3)读数据代码子程序(右)PRL2; SETB CSA;片选设置为“10” CLR CSB CLRDI;DI=0 SETB RW;RW=1PRL21:MOV P1,OFFH;P1口置“1” SETBE;E=1 MOV A,P1;读状态字 CLR E ;E=0 JB ACC7,PRL21;判“忙”标志为“0”否,否再读 SETB D/I;DI=1MOV P1,OFFH;P1口置“1” SETB E ;E=1 MOV DAT,P1 ;读显示数据 CLR E ;E=0 RET,内置HD612

22、02U图形液晶显示模块的应用软件,初始化子程序:INT:MOV COM,0C0H;设置显示起始行为第一行 LCALL PRL0 LCALL PRM0 LCALL PRR0 MOV COM,3FH;开显示设置 LCALL PRL0 LCALL PRM0 LCALL PRRO RET,清显示RAM区(清屏)子程序CLEAR: MOV R4, 00H ;页面地址暂存器设置CLEAR1:MOV A, R4 ORL A, OB8H ;“或”页面地址设置代码 MOV COM, A ;页面地址设置 LCALL PRLO LCALL PRM0 LCALL PRR0 MOV COM, 40H ;列地址设置为“0

23、” LCALL PRLO LCALL PRM0 LCALL PRRO MOV R3, 40H ;一页清 64个字节CLEAR2:MOV DAT, 00H ;显示数据为“0” LCALL PRL1 LCALL PRM1 LCALL PRR1 DJNZ R3, CLEAR2 ;页内字节清零循环 INC R4 ;页地址暂存器加一 CJNE R4, 08H,CLEAR1 ;RAM区清零循环 RET,COLUMN EQU 30H;列地址寄存器PAGE EQU 31H;页地址寄存器D2,D1,DO:页地址 ;D7:字符体 D70为6 8点阵 ;D71为8 8点阵CODE EQU 32H;字符代码寄存器CO

24、UNT EQU 33H;计数器,CWPR:MOV DPTR,CTAB;确定字符字模块首地址 MOV A,CODE;取代码 MOV B,08H;字模块宽度为8个字节 MUL AB;代码8 ADD A,DPL;字符字模块首地址 MOV DPL,A ;字模库首地址十代码 8 MOV A,B ADDC A,DPH MOV DPH,A MOV CODE,00H;借用为间址寄存器 MOV A,PAGE;读页地址寄存器 JB ACC7,CW1;判字符体 MOV COUNT,06H ;6 8点阵 LJMP CW2 CW 1: MOV COUNT,08H;8 8点阵 CW 2: ANL A,07H;取页地址值,

25、ORL A,OB8H;“或”页地址指令代码 MOV COM,A;写页地址指针 LCALL PRL0 LCALL PRM0 LCALL PRR0 MOV A,COLUMN ;读列地址寄存器 CLR C SUBB A,40H;列地址一 64 JC CW3 ;0为左屏显示区域 MOV COLUMN,A SUBB A,40H;列地址一64 JCCW21;0为中屏显示区域 MOV COLUMN,A;O为右屏显示区域,MOV A,PAGE SETB ACC5 ;设置区域标志位, MOV PAGE,A ;“00”为左,“01”为中,“10“为右 LJMP CW3 CW21:MOV A,PAGE SETB A

26、CC4;设置区域标志位 MOV PAGE,A CW3:MOV COM,COLUMN;设置列地址位 ORL COM,40H;“或”列地址指令标志让 MOV A,PAGE;判区域标志以确定设置哪个控制器 ANL A,30H CJNE A,10H,CW31;“01“为中区 LCALL PRM0 LJMP CW4CW31: CJNE A,20H,CW32 ;“10”为右区 LCALL PRRO LJMP CW4CW32: LCALL PRLO;“00“为左区,CW4:MOV A,CODE;取间址寄存器值 MOVC A,ADPTR ;取字符字模数据 MOV DAT,A;写数据 MOV A,PAGE ;判

27、区域标志 ANL A,30H CJNE A,10H,CW41;“01”为中区 LCALL PRM1 LJMP CW5CC41: CJNE A,20H,CW42;“10”为右区 LCALL PRR1 LJMP CW5CW42: LCALL PRL1;“00“为左区CW5: INC CODE;间址加一 INC COLUMN;列地址加一 MOV A,COLUMN;判列地址是否超出区域范围 CJNE A,40H,CW6CW6: JC CW9;未超出则继续 MOV COLUMN,00H,MOV A,PAGE ;超出则判在何区域 JB ACC5,CW9 ;在右区域则退出 JB ACC4,CW61 ;判在左

28、区或中区 SETB ACC4 ;在左区则转中区 MOV PAGE,A MOV COM,40H ;设置中区列地址为“0“ LCALL PRM0 LJMP CW9CW61:SETB ACC5 ;在中区则转右区 CLR ACC4 M0V PAGE,A MOV COM,4OH ;设置右区列地址为“0“ LCALL PRR0CW9:DJNZ COUNT,CW4 ;循环RET;CTAB:(西文字符字库表,略),键盘接口设计,键盘是人机交互中的重要的输入设备,价格低廉,结构简单,使用方便,在单片机系统中得到广泛的应用。 单片机与计算机在键盘规模/键符设置等方面差别很大。本节将介绍单片机系统中常用的键盘。,键

29、盘分类,按键值编码方式分 (硬件)编码键盘与非(硬件)编码键盘。 按键组连接方式分 独立连接键盘与矩阵连接键盘。,编码键盘: 采用专用的编码/译码器件,被按下的键由该器件译码输出相应的键码/键值。特点:增加了硬件开销,编码因选用器件而异,编码固定,但编程简单。适用于规模大的键盘。,非编码键盘: 单片机系统多采用此类键盘 采用软件编码/译码的方式,通过扫描,对每个被按下的键判别输出相应的键码/键值。特点:不增加硬件开销,编码灵活,适用于小规模的键盘,特别是单片机系统。但编程较复杂,占CPU时间,还须软件“消颤”。,按键值编码方式:编码键盘与非编码键盘,按键组连接方式:独立连接键盘与矩阵连接键盘,

30、矩阵连接键盘: 键按矩阵排列,各键处于矩阵行/列的结点处,CPU通过对连在行(列)的I/O线送已知电平的信号,然后读取列(行)线的状态信息。逐线扫描,得出键码。特点:键多时占用I/O口线少,但判键速度慢,多用于设置数字键。适用于键数多的场合。,特点:此子程序需不断(或定时)调用,否则可能漏判。4个键的优先级由指令顺序决定。,P1.0P1.1P1.2P1.3,87C52,独立连接式键盘例1,# include sbit KEY1=P10;sbit KEY2=P11;sbit KEY3=P12;sbit KEY4=P13;void KEY1FUNC( );/键1功能函数void KEY2FUNC(

31、 );/键2功能函数void KEY3FUNC( );/键3功能函数void KEY4FUNC( );/键4功能函数unsigned char getkey( )if( KEY1=0 ) return 1;if( KEY2=0 ) return 2;if( KEY3=0 ) return 3;if( KEY4=0 ) return 4;return 0; ,main( )unsigned char keyNo=0xff; while( 1 )keyNo = getkey( );if ( keyNo = 1) KEY1FUNC( );if ( keyNo = 2) KEY2FUNC( );if

32、( keyNo = 3) KEY3FUNC( ); if ( keyNo = 4) KEY4FUNC( );,特点:1.此子程序采用中断查询不会漏判,省时。2.键的优先级由指令顺序决定。3.为防止一次按键多次中断,在功能子程序里应安排“关/开中断指令”并“延时”。,独立连接式键盘例2,# include sbit KEY1=P10;sbit KEY2=P11;sbit KEY3=P12;sbit KEY4=P13;unsigned keyNo=0xff;void KEY1FUNC( );/键1功能函数void KEY2FUNC( );/键2功能函数void KEY3FUNC( );/键3功能函

33、数void KEY4FUNC( );/键4功能函数void getkey( ) interrupt 0EA=0;if( KEY1=0 ) keyNo=1;if( KEY2=0 ) keyNo=2; if( KEY3=0 ) keyNo=3;if( KEY4=0 ) keyNo=4;EA=1; ,main( )EX0 = 1;EA = 1;while( 1 )if ( keyNo = 1) KEY1FUNC( );if ( keyNo = 2) KEY2FUNC( );if ( keyNo = 3) KEY3FUNC( ); if ( keyNo = 4) KEY4FUNC( );,RST,GN

34、D,8051,VCC,XTAL1,XTAL2,EA,复位电路,振荡电路,+5v,列线,0列,7列,0行,3行,0 4 8 12 16 20 24 28,1 5 9 13 17 21 25 29,2 6 10 14 18 22 26 30,3 7 11 15 19 23 26 31,行线,P2.7,P1.7,P1.6,P1.5,P1.4,P1.3,P1.2,P1.1,P1.0,P2.6,P2.5,P2.4,矩阵式键盘工作原理: 先由行线送出数据,送全“0” 然后读进列线,判有无键按下。如果确定有键按下,行线再次送出数据,每次送出数据中只有一位“0”,判断按键的位置并算出键值,顺序扫描。,# in

35、clude # include # include # defined uc unsigned char# defined DISPORT XBYTE 0x2000 sbit KEY_REC = P1.7 ;,char getkey ( ) uc i, temp ;char key ;P1 = 0xff ;DISPORT = 0 ;key = 0xff ;temp = 0xfe ;if ( KEY_REC != 0 ) return key;else for( i=0;i8;i+) key = i;DISPORT = temp;if ( KEY_REC=0)return key;temp=te

36、mp*2+1; key=0xff; return key;,DISPORT = 0 ; 语句的作用# defined DISPORT XBYTE 0x2000 宏定义表明DISPORT是一个地址为0X2000的外部存储器单元。对其赋值既是CPU向外写的过程。因此,它有3个作用是:1. 产生一个WR有效信号。2. 同时,由于它的地址为0X2000。A15A14A13为001,这使得74LS138译码器的CS1输出有效信号。3. 所赋的值(8位数据)出现在数据总线上。,为什么向地址0X2000赋值?还有其它的地址可以用吗?,DP51S实验系统存储器配置,采用单片机:P87C52X2,片外32KFLASHROM,IS62C256,OE,WE,CE,WR,PSEN,RD,A15,A14A0,D7D0,DP51S实验系统存储器配置,采用单片机:P87C52X2,片外32KFLASHROM,IS62C256,OE,WE,CE,WR,PSEN,RD,A15,A14A0,D7D0,0x00000x7FFF,0x80000xFFFF,外部 I / O 接口可以使用的地址:0X00000X7FFF,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经济财会 > 贸易

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报