[工学]微机原理与汇编语言实验指导书.doc

上传人:sccc 文档编号:4532908 上传时间:2023-04-26 格式:DOC 页数:44 大小:1.36MB
返回 下载 相关 举报
[工学]微机原理与汇编语言实验指导书.doc_第1页
第1页 / 共44页
[工学]微机原理与汇编语言实验指导书.doc_第2页
第2页 / 共44页
[工学]微机原理与汇编语言实验指导书.doc_第3页
第3页 / 共44页
[工学]微机原理与汇编语言实验指导书.doc_第4页
第4页 / 共44页
[工学]微机原理与汇编语言实验指导书.doc_第5页
第5页 / 共44页
点击查看更多>>
资源描述

《[工学]微机原理与汇编语言实验指导书.doc》由会员分享,可在线阅读,更多相关《[工学]微机原理与汇编语言实验指导书.doc(44页珍藏版)》请在三一办公上搜索。

1、微机原理与汇语言实验指 导 书信控学院测控系曹玉波 孙明革2010-08-21目 录.汇编语言部分1实验一 汇编基本操作1实验二 利用DEBUG调试程序调试程序段4实验三 分支程序实验7实验四 循环程序实验9实验五 子程序实验10实验六 字符处理程序实验13实验七 汇编语言综合设计实验16. 微机原理及应用部分17实验一 8255A可编程并行口实验17实验二 8253A定时/计数器实验20实验三 使用8259A的单级中断控制实验23实验四 使用ADC0809的A/D转换实验29实验五 使用DAC0832的D/A转换实验32实验六 使用8251A的串行接口应用实验35附录: DVCC8086JH

2、N实验平台性能特点3942.汇编语言部分实验一 汇编基本操作实验目的1、熟悉DIR、MD、CD等DOS系统常用命令;2、熟悉在PC机上建立、汇编、链接、调试、和运行汇编语言程序的全过程; 3、设计一个完整的顺序结构汇编语言程序,学习数据传送和算术运算指令的用法。实验内容 一、示例题:在屏幕上显示信息:“1A” 其宏汇编语言程序如下:DATA SEGMENT;定义数据段xdb 48 ;定义字节型变量x, x值存放于内存DATA段字节偏移量处ydb 65;定义字节型变量y, y值存放于内存DATA段字节偏移量1处DATA ENDSCODE SEGMENT;定义代码段(伪指令,编译器使用) ASSU

3、ME CS:CODE,DS:DATA(伪指令,编译器使用)1 ST: MOV AX,DATA;数据段在内在重定位,以便程序能够正确引用的在数据段中2 MOV DS,AX;定义的变量3 MOV DL,x;x值即48D(或31H)“1”的ASCII码存入寄器DL4 MOV AH,2;5INT 21H;调用号DOS中断,用于显示DL中存放的字符6MOV BX,017 MOV DL,BX;通过BX寄存器间接址将y值存入DL(与第3行有相同的作用)8MOV AH,29INT 21H;此段语句功能同上一段10 MOV AH,4CH11 INT 21H;4C号DOS中断,功能是结束程序,将系统控制权返给操作

4、系统CODE ENDS ;以下两句为伪指令,不占用内存,编译器使用 END START实验步骤(假设MASM6汇编程序在D: MASM6目录下),方框框起的部分为键盘输入。1、从“开始”“运行”输入“CMD”命令,进入仿真DOS状态;2、键入D: ,进入D盘(表示回车键); 3、输入CD MASM6,进入MASM6目录(即汇编程序所在目录);4、输入EDIT(即DOS下的文本编辑程序)编辑宏汇编语言源程序,或者用TC编辑环境,或者用Windows的文本编辑程序均可。选用你熟悉的文本编辑程序,按要求逐条输入给出的源程序,并对输入完毕的源程序存盘,其文件名由自己定,但文件的扩展名必须是.ASM(如

5、果用Windows编辑程序,文件格式一定要选纯文本文件),文件保存位置为D: MASM6。例如把示例题源程序文件取名为hello.asm。5、对源程序进行编译以生成.OBJ目标文件(框内为键盘输入的内容,表示回车):D: MASM6MASM hello.asm Microsoft(R) Macro Assembler Version 5.0 Copyright(C) Microsoft Corp 1981-1985,1987,All rights reserved. 工 Source filenamehello.ASM: 注:源文件名,上边已输入在此直接回车即可 Object filename

6、hello.OBJ: 注:目标文件名,默认与源文件同名 Source ListingNUL.LST: 注:列表文件,直接回车表示不生成该文件 Cross-referencenul.CRF: 注:交叉索引文件直接回车表示不生成该文件 50636+408356 Bytes symbol space free 0 Warning Errors注:编译过程没有警告性错误 0 Severe Errors注:没有严重错误,编译成功,如不为0刚需打开源程序按此处给出的错误提示修改错误 D: 注:返回DOS环境不同版本时,以上显示内容可能不同,但基本原理是一致的。MASM完成对源程序的编译,若编译过程中发现语

7、法错误,则列出错误的语句代码及错误类型,最后列出警告错误和语法错误的总数。此时,就可以根据错误的性质分析错误,并使用编辑程序修改源程序,再重新汇编源程序,直至汇编后无错误发生为止。6、链接目标文件,对上步生成的目标文件进行链接生成扩展名为.exe的可执行文件 D: MASM6 LINKMicrosoft(R) 8086 Object,linker Version 3.05 Copyright(C) Microsoft Corp 1983,1984,1985,All rights reserved. Object Modules .OBJ:hello注:目标文件名,扩展名不用输入 Run Fil

8、eHELLO.EXE: 注:可执行文件名,默认与目标文件同名 List FileNUL.MAP:注:不输出MAP文件 Libraries.LIB: 注:不链接库文件若连接过程有错,则显示错误信息,此时需要重新调用编辑程序修改源程序,然后再重新汇编,再经过链接,直至无错为止。7、运行程序及调试程序连接成功后,在D: MASM6目录下生成了一个可执行文件(扩展名为.exe),DOS下用DIR命令可以看见该文件(或者在Windows中文件管理器中也可看见该文件)。操作者可在该目录下直接键入文件名(或在文件管理器中双击)运行此程序:D: MASM6 hello.exe 注:大小写均可,扩展名可不输入回

9、车后屏幕将显示 :5A对于一个较复杂的问题,一次通过的可能性很少,这就需要调用在DOS支持下DEBUG程序来调试程序,关于DEBUG程序的用法参考实验。 二、自己编程:仿照上面程序,将自己的名字打印到屏幕上。反复对以上过程进行练习,认真理解各步的作用,掌握“编辑”、“编译”和“链接”的概念,了解各步的需要的输入文件,输出文件是什么。 实验报告要求 实验报告基本形式: (1)实验题目; (2 ) 实验目的; (3)解决问题的基本算法; (4)实验题的程序流程图; (5)实验题的源程序 (6)调试方案和调试数据; (7)本次实验的主要体会与教训; (8)思考题。实验注意事项 1、已正确编译链接并生

10、成的可执行程序,任何时候均可在该文件所在目录下打入文件名而运行。2、在Windows窗口中找到该文件并双击该文件也可执行该文件,但执行窗口执行后随即消失,有可能看不到执行结果。思考题 1、你在这次实验中,出现了哪些错误?如何修改? 2、通过这次上机实践,你有哪些心得体会?3、在屏幕上输出字符“hello 2012”,试编程实现(有种基本的方法)。实验二 利用DEBUG调试程序调试程序段实验目的 熟悉DEBUG有关命令的使用方法 利用DEBUG掌握有关指令的功能 利用DEBUG运行简单的程序段实验内容 进入和退出DEBUG程序 学会DEBUG中的D命令、E命令、R命令、T命令、A命令、G命令等的

11、使用。对于U命令、N命令、W命令等,也应试一下。 利用DEBUG,验证加法、减法、带进位加、带借位减指令的功能。 标志位状态的含义如下表所示:标 志 名置 位复 位溢出Overflow(是/否)OVNV方向Direction(减量/增量)DNUP中断Interrupt(允许/屏蔽)EIDI符号Sign(负/正)NGPL零Zero(是/否)ZRNZ辅助进位Auxiliary Carry(是/否)ACNA奇偶Parity(偶/奇)PEPO进位Carry(是/否)CYNC实验准备 仔细阅读有关DEBUG命令的内容,对有关命令,都要事先准备好使用的例子。 作为例子,准备用A命令,输入在显示器上显示字符

12、S的系统调用程序段。 阅读将AX左移9位的程序段。实验步骤 在DOS提示符下,键入DEBUG进入DEBUG程序。DEBUG界面提示符为一横线加闪烁的光标。注意,DEBUG下的数均默认为16进制数进入汇编状态:键入A,屏幕显示: XXXX:0100 MOV AH,02 XXXX:0102 MOV AL,03XXXX:0104 ADD AL,AHXXXX:0106 MOV DL,ALXXXX:0108 ADD DL,30XXXX:010B MOV AH,2XXXX:010D INT 21XXXX:010F MOV AH,4CXXXX:0111 INT 21XXXX:0113 -g屏幕将显示”5”并

13、返回DOS界面。窗口截图如下所示:注:左图中1)0B00:0100表示内存中逻辑地址,即所编写程序从内存中0B00:0100处开始存放;2)0B00为当前段寄存器DS的内容,该值随内存使用的不同而具有不同的值,冒号后边的值表示偏移量,0100为起始地址,后边的值由指令的长度决定图:在DOS下进入DEBUG,用A命令编程注:左图中1)0B00:0100列表示内存中逻辑地址,与上图同,通过地址编号间隔数可以计算出每条指令的长度。 2)第二列(B402列)是机器码,与右边的汇编指令一一对应3)从0B00:0113开始的内存区域并没有存放程序,所以后边的程序指令为内存遗留垃圾数据图:编完程序后用U反汇

14、编命令查看程序指令码注:左图中1)g=100表示从偏移量0100处开始执行程序,程序执行到010D时,将字符5打印到屏幕,执行到0111偏移量时,由于该处的指令为结束程序返回DOS指令,所以程序直接退出DEBUG而进入DOS提示符,并显示打印结果2)也可用t=100单步执行命令图:用g命令执行程序 详细记录每一步所用的命令,以及查看结果的方法和具体结果。 在DEBUG状态下调试加减乘除的程序,熟悉DEBUG各种指令。实验报告要求如何启动和退出DEBUG程序。整理每个DEBUG命令使用的方法,实际示例及执行结果。启动DEBUG后,要装入某一个.EXE文件,应通过什么方法实现?实验三 分支程序实验

15、利用DEBUG调试程序调试程序段实验目的 掌握分支程序的设计方法 掌握利用DEBUG修改参数、检查结果的方法。 掌握汇编语言源程序的编辑、汇编、连接及调试过程。实验内容 编写一个程序,显示AL寄存器中的两位十六进制数 编写一个程序,判别键盘上输入的字符;若是1-9字符,则显示之;若为A-Z或a-z字符,均显示c;若是回车字符(其ASCII码为0DH),则结束程序,若为其它字符则不显示,继续等待新的字符输入。实验准备 编写实验内容要求的两个程序。 写出调试以上程序,即修改程序参数,检查结果的操作方法。熟悉源程序汇编、连接命令的使用方法即要回答的内容。实验步骤 用EDIT或其它编辑软件,编写.AS

16、M源程序,例如HEXASC.ASM及DSPKEY.ASM。对其进行汇编及连接,产生.EXE文件。对.EXE文件进行调试运行。a.用DEBUG调试运行,学会修改AL内容的方法。b.对DSPKEY.EXE键入不同的字符,分别进行调试。c.在MS-DOS下运行这两个.EXE文件。实验报告要求画出两个程序的流程图,若要独立编写程序,应列出相应的程序清单。说明本实验是如何利用DEBUG进行调试的。参考程序清单显示AL中两位十六进制数程序:;DISPHEX.ASMCODE SEGMENT ASSUME CS:CODESTART:MOV AL,3EH MOV BL,AL MOV DL,AL MOV CL,4

17、 SHR DL,CL CMP DL,9 JBE NEXT1 ADD DL,7NEXT1:ADD DL,30H MOV AH,2 INT 21H ;显示高位ASCII码 MOV DL,BL AND DL,0FH CMP DL,9 JBE NEXT2 ADD DL,7NEXT2:ADD DL,30H MOV AH,2 INT 21H ;显示低位ASCII码 MOV AH,4CH INT 21HCODE ENDS ;返回DOS END START显示键入字符程序;DISPKEY.ASMCODE SEGEMENT ASSUME CS:CODESTART: MOV AH,1 INT 21H ;等待键入字

18、符,送AL CMP AL,0DH ;是否是回车符? JZ DONE ;是则转DONE退出程序 CMP AL,0 JB NEXT CMP AL,9 JA CHARUP MOV DL,AL MOV AH,2 INT 21H JMP STARTCHARUP: CMP AL,41H JB NEXT CMP AL,5AH JA CHRDNDISPC: MOV DL,C MOV AH,2 INT 21HNEXT: JMP STARTCHRDN: CMP AL,61H JB NEXT CMP AL,7AH JA NEXT JMP DISPCDONE: MOV AH,4CH INT 21HCODE: ENDS

19、 END START实验四 循环程序实验实验目的 掌握循环程序的设计方法进一步熟悉利用DEBUG程序修改参数的方法,并检查和验证结果的正确性。学会针对不同的问题,选用不同的组织循环的方法。实验内容编写一个程序,显示AL寄存器中的两位十六进制数编写一个程序,判别键盘上输入的字符;若是1-9字符,则显示之;若为A-Z或a-z字符,均显示c;若是回车字符(其ASCII码为0DH),则结束程序,若为其它字符则不显示,继续等待新的字符输入。实验准备 编写实验内容要求的两个程序。写出调试以上程序,即修改程序参数,检查结果的操作方法。熟悉源程序汇编、连接命令的使用方法即要回答的内容。实验步骤用EDIT或其它

20、编辑软件,编写.ASM源程序,例如HEXASC.ASM及DSPKEY.ASM。对其进行汇编及连接,产生.EXE文件。对.EXE文件进行调试运行。a.用DEBUG调试运行,学会修改AL内容的方法。b.对DSPKEY.EXE键入不同的字符,分别进行调试。c.在MS-DOS下运行这两个.EXE文件。实验报告要求 画出两个程序的流程图,若要独立编写程序,应列出相应的程序清单。 说明本实验是如何利用DEBUG进行调试的实验五 子程序实验本实验的目的在于让读者掌握同一模块调用的方法。实验目的 掌握主程序与子程序之间的调用关系及调用方法。 掌握子程序调用过程中近程调用与远程调用的区别。 掌握通过堆栈转送参数

21、的方法。实验内容 将BUF开始的10个单元中的二进制数转换成两位十六进制数的ASCII码,在屏幕上显示出来。要求码型转换通过子程序HEXAC实现,在转换过程中,通过子程序DISP实现显示。 编写一个主程序,从键盘接收若干个字符,然后用远调用的方法,调用子程序统计字符串中字符b的个数。子程序的参数是字符串的首地址TABLE,字符串长度N及字符b。子程序返回字符b的个数。参数传送采用堆栈实现。主程序在子程序返回后,显示字符b及其个数(设为一位十六进制数)。实验说明 第一个实验程序用子程序的近程调用实现。由于在调用HEXASC子程序时,子程序又调用了DISP子程序,这叫子程序的嵌套调用。实验过程中可

22、以从堆栈的内容看到两个子程序的返回地址值。由于是近调用,地址值只包括返回地址的段内偏移量。在每个子程序的执行中,检查CS值是不变的。 第二个程序是利用远调用的方法调用子程序的。在远调用情况下,主程序与子程序处在不同的逻辑代码段中,可在子程序执行中查看CS值,它与主程序中的CS值是不同的。子程序调用后,堆栈中保留了返回地址的段地址及段内偏移量。 第二个程序中,主程序与子程序之间参数的传送是由堆栈实现的。一段是将参数(此处是串首址TABLE,串的长度N及待统计的字符b)顺序压如堆栈,在子程序调用后,通过BP指针对堆栈中的参数访问,并将统计的结果通过堆栈返回。有关该方法的原理此处不再介绍。实验准备

23、预习子程序设计的基本方法,根据实验内容要求,画出子程序及主程序的流程图。 熟悉键盘键入字符串及用堆栈传送参数的程序段编制方法。实验步骤 编辑、汇编两个源程序,生成相应的可执行文件(.EXE) 用DEBUG的R 命令,T 命令或G命令和D命令检查远程调用及近程调用时堆栈的变化。特别是通过堆栈传送的参数和子程序取出的参数是返回参数的详细过程。 检查程序执行的结果是否正确。实验报告要求 分析远程调用与近程调用的区别,在用DEBUG有关命令观察时,执行过程有何不同。 说明用堆栈传送参数的过程及其具体方法。 分析实验结果及所遇到问题,并说明解决的方法。参考程序清单 码型转换程序清单:;CONV.ASND

24、ATA SEGMENTBUF DB 0ABH,0CDH,0DEH,01H,02H,03HDB 3AH,4BH,5CH,6FHDATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AX MOV CX,10 LEA BX,BUFAGAIN: MOV AL, BX CALL HEXASC INC BX LOOP AGAIN MOV AH,4CH INT 21HHEXASC PROC NEARMOV DL,ALPUSH CXMOV CL,4SHR DL,CLPOP CXCALL DISP ;显示高位HEX数MOV D

25、L,ALAND DL,0FHCALL DISPRETHEXASC ENDPDISP PROC CMP DL,9 JBE NEXT ADD DL,7NEXT: ADD DL,30H MOV AH,2 INT 21H ;显示 RET DISP ENDPCODE ENDS END START 统计并显示某键入字符的个数的程序: :COUNTER.ASMDATA SEGMENTCHAR DB bBUF DB 50H, ? 50H DUP(?)DATA ENDS MCODE SEGMENT ASSUME CS: MCODE, DS: DATASTART: MOV AX,DATA MOV DS,AX LE

26、A DX,BUF MOV AH,9 INT 21H LEA SI BUF MOV CL, SI+1 MOV CH, 0 ;CX中为字符串长度 INC SI INC SI ;SI指向串首址TABLE MOV AL,CHAR MOV AH,0 ;AX中为待查字符 PUSH SI PUSH CX PUSH AX ; 参数送堆栈CALL CHECKPOP AX ;统计个数在AL中 MOV DL,CHAR MOV AH,2 INT 21H MOV DL,AL AND DL, 0FH CMP DL,9 JBE NEXT ADD DL,7NEXT: ADD DL,30H MOV AH,2 INT 21H ;

27、显示统计个数 MOV AH,4CH INT 21HMCODE ENDSSCODE SEGMENT ASSUME CS:SCODECHECK PROC FAR PUSH BP MOV BP,SP MOV SI,BP+10 MOV CX, BP+8 MOV AX, BP+6 XOR AH, AHAGAIN: CMP AL,SI JNE NEXT1 INC AHNEXT1: INC SI LOOP AGAIN MOV AL, AH MOV BP+10,AX POP BP RET 4CHECK ENDP END START实验六 字符处理程序实验实验目的 熟悉串操作指令的功能与应用 掌握串操作指令的寻

28、址方式及使用方法,编写常用的字符串处理程序。实验内容 字符串统计。自STRN开始的存储区中,有一个字符串,统计其中含有小写字母的个数,将统计结果以两位十进制数显示在屏幕上。 在给定的字符串中,删除重复的字符,其余的字符向前递补。实验准备 熟悉字符处理的方法和字符处理程序的设计; 认真预习有关串操作的指令极其寻址方式的特点,能够正确使用串操作指令,并准备好数据。 按正常的方法将删除字符程序编成子程序,规定子程序的入口和出口参数。实验步骤 用1号系统调用从键盘键入一个字符串,然后统计其中小写字母的个数。程序每次执行,都能得到不同的结果。 实验2编写一个在同一个字符串中删除字符,并将其余字符向前递补

29、的程序。实验报告要求 对照参考程序,画出程序流程图。 总结字符串处理的编程方法,提出改进和完善此类程序的设计方案。参考程序清单 统计小写字母个数的程序清单:;COUNTDC.ASMDATA SEGMENTSTRN DB 80 DUP(?)DATA ENDSCODE SEGMENT ASSUME CS:CODE, DS:DATASTART:MOV AX, DATA MOV DS, AXLEA DI, STANMOV CL, 0AGAIN:MOV AH, 1 INT 21HCMP AL,0DHJZ DONEMOV DI,ALINC DIINC DLJMP AGAINDONE: LEA SI,STR

30、NMOV CH,0MOV BL,0CLDCYCLE: LODSB CMP AL,61HCMP AL,7AHJA NEXTINC BLNEXT: LOOP CYCLEMOV AL,BLMOV AH,0MOV CL,10DIV CL ;十位数在AL中,个位数在AH中XCHG AH,AL ;以下显示两位十进制数MOV DL,AHOR DL,30HINT 21HMOV DL,ALOR DL,30HMOV AH,2INT 21HMOV DL,ALOR DL,30HINT 21HMOV DL,ALOR DL,30HINT 21HMOV AH,4CHINT 21HCODE ENDSEND START 删除字

31、符串中重复字符的源程序清单:;DELD.ASMDATA SEGMENTSTAN DB 80 DUP(?)LEN DB ?DATA ENDSCODE SEGMENTASSUME CS: CODE,DS: DATA,ES: DATAATART:MOV AX, DATAMOV DS,AXMOV ES,AXLEA SI,STRNMOV CL,0AGAIN: MOV AH,1INT 21HCMP AL,0DHJZ DONEMOV SI,ALINC SIINC CLJMP AGAINDONE: MOV CH,OMOV LEN,CLREPEAT:PUSH SI PUSH CX ;CX为内循环记数 PUSH

32、CX ;DX为外循环记数 POP DX DEC CX JE NEXT1;是最后一个字符,不再查找重复字符 MOV AL,SI CMP AL,0 JE NEXT1COMP: INC SI CMP AL,SIJNE GOON;为非重复字符MOV BUTE PTRSI,0GOON: LOOP COMP ;查出与该字符重复的所有字符,并用0替换NEXT1: POP DX POP SI DEC DX JNZ REPEAT ;对所有重复字符都进行查找 LEA SI,STRN;删除重复字符 MOV CL,LEN MOV CH,0CYCLE: MOV AL,SI CMP AL,0 ;是重复字符吗?JNZ NE

33、XT ;不是,查找下一个字符DEC CX ;递补字串长度送CXJZ DONE ;若是最后字符不递补CALL DELE ;删除该空字符并递补DEC SI ;对递补子串从头处理NEXT: INC SILOOP CYCLEMOV AH,4CHINT 21HDELE PROCPUSH SIPUSH CXCLDMOV DI,SI ;空字符处为目的首址INC SI ;下一个地址为源串首址REP MOVSBPOP CXPOP SI RETDELE ENDPCODE ENDSEND START实验七 汇编语言综合设计实验实验目的 学会自行设计程序框图和编写程序; 学会自行调试程序方法和分析运行结果。实验要求

34、自行选题; 自行设计方案; 如有雷同,均为零分; 程序不低于100条语句。注意:其中某些程序有错误,请同学们上机时认真检查,并在实验报告中指出。. 微机原理及应用部分实验一 8255A可编程并行口实验一、实验目的 1、掌握并行接口芯片8255A和微机接口的连接方法。 2、掌握并行接口芯片8255A的工作方式及其编程方法。二、预备知识 1、 8255A结构 8255A是可编程并行接口芯片,双列直插式封装,用+5V单电源供电,如图1是8255A的逻辑框图,内部有3个8位I/O端口:A口、B口、C口;也可以分为各有12 位的两组:A和B组,A组包含A口8位和C口的高四位,B组包含B口8位和C口的低4

35、位;A 组控制和B组控制用于实现方式选择操作;读写控制逻辑用于控制芯片内寄存器的数据和控制字经数据总线缓冲器送入各组接口寄存器中。由于8255A 数据总线缓冲器是双向三态8位驱动器,因此可以直接和8088系统数据总线相连。 2、 8255A端口地址(下表) A1A0/ RD/WR/CS操作类型操作方向001010000111000PA数据总线PB数据总线PC数据总线输入(读)00110101111100000000数据总线PA数据总线PB数据总线PC数据总线控制字输出 (写)110111100数据总线三态非法状态数据总线三态断开 3、 8255工作方式 8255A芯片有三种工作方式: 方式0、

36、方式1、方式2。 它通过对控制寄存器写入不同的控制字来决定其三种不同的工作方式。 方式0 : 基本输入/输出 该方式下的A口8位和B口8位可以由输入的控制字决定为输入或输出, C 口分成高4 位(PC7PC4)和低4位(PC3PC0)两组,也有控制字决定其输入或输出。 需注意的是:该方式下,只能将C口其中一组的四位全部置为输入或输出。 方式1 : 选通输入/输出 该方式又叫单向输入输出方式,它分为A、B两组,A组由数据口A和控制口C 的高4位组成,B组由数据口B和控制口C的低4位组成。数据口的输入/输出都是锁存的,与方式0不同,由控制字来决定它作输入还是输出。C口的相应位用于寄存数据传送中所需的状态信号和控制信息。 方式2 : 双向输入输出 本方式只有A组可以使用,此时A口为输入输出双向口,C口中的5位(PC3PC7)作为A口的控制位。 4、 8255A控制字7 6 5 4 3 2 1 0 PC30:1=输入, 0=输出 PB口: 1=输入,0=输出 B组 方式选择:0=方式0,1=方式1PC74:1=输入, 0=输出 PA口:1=输入,0=输出 方式选择:00=方式0 A组 01=方式1

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

当前位置:首页 > 教育教学 > 成人教育


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号