《微机原理与接口技术》课程课堂布置的习题参考答案(201212).doc

上传人:精*** 文档编号:1155038 上传时间:2024-11-21 格式:DOC 页数:22 大小:966KB
下载 相关 举报
《微机原理与接口技术》课程课堂布置的习题参考答案(201212).doc_第1页
第1页 / 共22页
《微机原理与接口技术》课程课堂布置的习题参考答案(201212).doc_第2页
第2页 / 共22页
《微机原理与接口技术》课程课堂布置的习题参考答案(201212).doc_第3页
第3页 / 共22页
《微机原理与接口技术》课程课堂布置的习题参考答案(201212).doc_第4页
第4页 / 共22页
《微机原理与接口技术》课程课堂布置的习题参考答案(201212).doc_第5页
第5页 / 共22页
点击查看更多>>
资源描述

1、已布置的习题参考答案:第2章2.18 2.26,2.32,2.34,2.35, 2.36, 2.43,2.44,2.45, 2.46,2.48,2.49第5章5.2,5.3,5.4,5.6,5,9,5.10,5.11,5.14,5.16,5.17,5.21,5.23第6章6.10, 6.12, 6.15, 6.16, 6.17, 6.19,6.20第7章7.6,7.9, 7.10, 7.11(1)(3),7.12第10章10.4和10.5习题参考答案:2-18 总结一下8086/8088到Cure 2 Duo处理器外部地址线、数据线条数、通用寄存器的位数以及所处的工作方式。各自的位长以及所能寻

2、址的物理地址空间有多大?答:从8086到Cure 2 Duo的相关参数如下表所示表。2-26 已经从内存1FF00000开始存放12H, 34H, 56H, 78H, 90H, ABH, CDH, EFH, 11H, 22H, 33H, 44H, 55H, 66H, 77H, 88H,99H,00H,AAH,BBH,CCH,DDH,EEH,FFH,试说明从1FF00000H开始取一个双四字的值,从1FF00008H开始取双字的值,以及从1FF00010H开始取四字和一个字的值。解:按照数据低字节存放在低地址的原则,在Intel处理器中,为了保持兼容性,仍然定义一个字为16位(尽管字长已经是32

3、位)从1FF00000H开始的双四字的值8877665544332211EFCDAB9078563412H从1FF00008H开始的双字的值44332211H从1FF00010H开始的四字的值FFEEDDCCBBAA0099H从1FF00010H开始的一个字的值0099H2-32在非流水线方式下,如果80386的CLK2=60MHz,去访问70ns的内存,是否需要等待周期?访问32位的数据至少需要多少时间?如果Pentium的CLK=100MHz,存储器最多是多少ns(存储周期)才能使访问存储器而无需等待周期?如果内存条是50ns, 需要插入多少ns的等待周期?答:(1)在非流水线方式下,由8

4、0386的总线访问时序如图2.29可知,一次访存操作总线周期需要两个状态T1和T2,第个状态需要两个CLK2时钟周期,因此CLK260MHZ时需要1/604(us)=66.667ns,因此处理器对总线的操作速度比70ns的内存要快,因此在访问70ns的内存时需要插入1个等待周期(一个周期一个状态占2个时钟周期),即以1/60*(4+2)=100ns的速度去访问70ns的存储器是可行的(访问速度不能超过存储器的速度)(2)非流水线方式下的Pentium处理器需要两个状态T1和T2,每个状态为一个时钟周期,因此100MHz的时钟对应的总线周期为1/10020.02us=20ns,因此存储器速度最多

5、为20ns才能在访存时无需等待周期。(3)对于Pentium来说,如果内存为50ns,则至少需要502030ns的等待时,而一个状态周期为10ns,因此实际要等待的时间为30ns(3个周期或状态)。注意:如果内存为55ns,则理论上至少需要等待552035ns,但每个状态或周期为10ns,因此实际需要等待周期为40ns(4个状态或时钟周期的时间)2-33与80386Pentium处理器不同,Pentium IIPentium 4以及Cure 2等具有36条地址线的处理器决定总线操作的关键引脚由哪些?存储器和I/O的体选择信号由什么决定?答:对于具有36条地址线的处理器,不再使用W/R等访问外部

6、总线,而是采用请求信号REQ4:0编码确定总线操作的类型,其关系如表所示。操作类型对应外部信号00000延时反应01000中断响应(第2个时钟) 01001特殊事务(第2个时钟) 10000读I/O 10001写I/O 0X010读存储器XX011写存储器XX100读存储器代码XX11 0读存储器数据XX101写存储器 (回写)XX111写存储器 (写到底)存储体的选择信号与地址线是复用的,是由地址总线在寻址阶段的第二个状态产生的,而不是单独引脚,时序如图所示。2-34 主频为2GHz的Cure 2系列处理器,如果总线频率BCLK333MHz,则访问四个64位数据,最快需要多长时间(ns)?答

7、:对于Cure 2处理器,决定访问存储器速度的是前端总线频率FSB,2GHz的Cure 2,其总线频率为BCLK=333MHz,可知其FSB43331332MHz(333MHZ实际是333.33MHz因此可算出FSB1333MHz),1个64位数据的访问需要一次FSB总线周期,则4个64位的数据需要4/1333(us)3ns.2-35 对于IA-32或Intel 64处理器采用16位运算(用16位寄存器),求以下运算结果及相应各标志位:(1) 5439H+4567H (2) 2345H+5219H (3) 54E3H-27A0H (4) 1A9FH+E561H解:(1)5439H+4567H=

8、99A0H0101 0100 0011 1001+ 0100 0101 0110 01111001 1001 1010 0000AF=1,PE=1,ZF=0,CF=0,OF=1,SF=1(2)2345H+5219H=755EH0010 0011 0100 0101+ 0101 0010 0001 10010111 0101 0101 1110AF=0,PE=0,ZF=0,CF=0,OF=0,SF=0(3)法1直接相减54E3H-27A0H=2D43H0101 0100 1110 0011- 0010 0111 1010 00000010 1101 0100 0011AF=0,PE=0,ZF=0

9、,CF=0,OF=0,SF=0法2变减为加54E3H-27A0H=54E3+D860H=2D43H0101 0100 1110 0011+ 1101 1000 0110 00001 0010 1101 0100 0011AF=0,PE=0,ZF=0,CF=1,OF=0,SF=0说明:可见这两种方法算出的结果是一样的,但进借位标志完全不同。(4)1A9FH+E561=0000H0001 1010 1001 1111+ 1110 0101 0110 00011 0000 0000 0000 0000AF=1,PE=1,ZF=1,CF=1,OF=0,SF=02-36 8086/8088,80386,

10、80486,Pentium,Pentium Pro,Pentium II,Pentium III,Pentium 4,Cure 2内部通用寄存器的位数、段寄存器的位数、外部地址线和数据线的条数分别为多少?求其寻址范围及带符号数表示范围。答:相应参数见下表所示。2-43 内存数据如下表所示,指出实地址方式下,执行下列程序段后AX中的值。MOVAX,1100HMOVDS,AXMOV BX,200HMOV AX,BX+62H表2.26 题2-43和2-50表(内存数据分布情况)地址数据地址数据地址数据:00011267H 00H00011237H00H00001007H00H00011266H70H

11、00011236H01H00001006H40H00011265H 00H00011235H11H00001005HF2H00011264H01H00011234H47H00001004H01H00011263H 75H00011233H32H00001003H00H00011262H39H00011232H30H00001002H00H00011261H2AH00011231H30H00001001H1FH00011260H00H00011230H39H00001000HFFH解:从程序段知DS1100H,有效地址200H62H262H,因此物理地址11000H262H11262H,1126

12、2H开始的一个字为7539H,所以AX7539H2-44 IA-32处理器描述符中所含有的基地址为089C0000H,段界限为0003FH,求(1)G=0时该描述符所寻址段的地址范围,该段如果要存汉字,能容纳多少个?(2)G=1时,对于4K页,描述的段的地址范围。解:(1)G0,段以字节为单位,段大小段界13FH140H64,末地址段基址段大小1段基址+段界089C0000H3FH089C0000H0x89C0003F,可容纳汉字64/2=32个;(2)G1时,段大小以页为单位(4K页),段大小(段界1)4K(3FH1)1000H40000H262144,末地址段基址段大小1089C0000H

13、400001089C0000H3FFFFH089FFFFFH,可容纳汉字262144/2=131072个。2-45 IA-32处理器在实地址方式下各寄存器的值如下,求当前的存储单元地址。(偏移量在EAX、ECX、ESP、ESI和EDI中)(1) DS=2000H, EAX=00003000H (2)DS=1A00,ESI=00002000H(3) SS=C000H, ESP=0000A000H (4)DS=1239H,EDI=0000A000H解:(1)物理地址DS16EAX20000H00003000H00023000H(2)物理地址DS16ESI1A000H+00002000H=0001C

14、000H(3)物理地址SS16ESPC0000H+0000A000H=000CA000H(4)物理地址DS16ESI12390H+0000A000H=00001C390H2-46 试定义IA-32处理器的两个段描述符来描述一个存储器段,均为一个可写、向上增长的用户访问的在物理存储器中、未访问过的数据段,(1)地址范围为03000000H03001FFFH,(2)01000000H027FFFFFH。 解:(1)定义段描述符就是确定段基址、段界和相关属性段基址03000000H,段界末地址首地址1FFFH,段界FFFFFH1因此,G1,由于段大小(段界1)4K,因此段界段大小/4K-1=0180

15、0000H/4K-1=1800H-1=17FFH,其它属性同上,则段描述符01C1F200000017FFH2-48 已知从00100000H开始存放FFH,01H,00H,04H,10H,F2H,0AH,06H,FFH,03H,00H,00H,10H,F2H,40H,02H,从02100000H开始存放35H,36H,31H,30H,30H,32H,39H,38H,3AH,DS=000BH,EBX=0000002H,GDTR=001000001FFFH,CR0=60000011H,CR3=00034000H,对于IA-32处理器,执行指令MOV EAX,EBX时:(1) 求源操作数对应的描述

16、符表可存放描述符个数(2) 求源操作数对应段描述符的值以及该描述符描述段的地址范围(3) 求源操作数所对应的物理地址(4) 求指令执行后EAX中的内容。(5) 从已知条件中还能得到什么信息?解:DS000BH0000 0000 0000 1011B, 对照选择子的格式可知TI0,选中GDT表,RPL11为普通用户使用,索引808H(1)GDT表可存放的描述符的个数由GDTR中的界决定,GDT表的界1FFFH,因此可存放的段描述符的个数(1FFFF+1)/8=400H=1K个;(2)先找出描述符存放的首地址GDT表首址(GDTR高32位)索引800100000H08H00100008H,以段描述

17、符为0240F210000003FFH,段描述符描述的段的大小取决于段界和G,对照段描述符的格式可知G0,段界003FFH,段基址02100000H,因此段地址范围为02100000H0210003FFH;(3)CR0600000011H,因此PE1,PG0,是分段而不分页的保护方式,因此CR3多余,段内偏移地址EBX的值00000002H,因此物理地址段基址段内偏移地址02100000H00000002H02100002H;(4)021000002H开始的4个字节就是EAX的值32303031H;(5)由段描述符可知,G0,D1为32位数据,此外决定其它属性的主要是访问权字节,访问权字节中为

18、F2H11110010B,即P1表示数据在物理存储器中,DPL11表示一般用户程序访问的数据,S1表示段描述符,A0表示该段还没有被访问过,TYPE001表示该段是向上增长的可写的数据段。2-49 已知内存中的数据如表2.26所示,对于IA-32处理器,已知内部相应寄存器的值为:ESI=00001230H,DS=SS=ES=FS=GS=1003H。GDT表和LDT表的首地址均为0,CR40。内存数据如下所示。(1)当CR0=60000010H时指令MOV EAX,ESI对应源操作数的物理地址及指令执行后EAX中的值。(2)当CR0=60000011H时 求指令MOV EAX,ESI对应源操作数

19、的物理地址及指令执行后EAX中的值。该段的最多能容纳多少字节数据?根据访问权字节说明该段是什么样的段,是否存在存储器中?地址数据地址数据地址数据:00011267H 00H00011237H00H00001007H00H00011266H70H00011236H00H00001006H00H00011265H 00H00011235H11H00001005H11H00011264H01H00011234H47H00001004H47H00011263H 75H00011233H32H00001003H00H00011262H39H00011232H30H00001002H00H00011261

20、H2AH00011231H30H00001001H1FH00011260H00H00011230H39H00001000HFFH解:CR40表示没有页的扩展,默认4KB页大小(1)由CR060000010H可知,PE0,处于实地址方式,因此物理地址段地址16偏移地址10030H00001230H00011260H,由表可知执行完MOV EAX,ESI之后,EAX的值75392A00H;(2)由CR060000011H知PE1且PG0为仅分段的保护方式,由DS1003H0001000000000011B,可知,TI0选择的是GDT表,RPL11表示一般用户访问,索引81000H段描述符存放的首地

21、址GDT表首址索引800001000H,所以通过上表可知,段描述符0040F30100001FFFH,段基址00010000H,段界01FFFH,G0,段内偏移量ESI00001230H,因此物理地址段基址偏移地址00010000H00001230H00011230H,由表可得执行MOV EAX,ESI后,EAX的值就是从00011230H开始的4个字节,即EAX32303039H;由于G0时段大小段界101FFFH12000H8192字节,即可容纳8192字节的数据访问权字节F3H11110011B,A1该已经被访问过,同P1在物理存储器中,是向上增长的可写的数据段。5-2简述半导体存储器的

22、分类及主要性能指标。答:(1)分类(2)主要性能指标:存储容量、存取速度和带宽(带宽=存储器总线频率数据宽度/8 (单位:字节/S)5-3 说明SRAM、DRAM、MROM、PROM、EPROM及FRAM的特点及简单工作原理。答:SRAM靠双稳态触发器的两个稳定状态存储信息的;DRAM靠极间电容的充放电来存储信息的;MROM靠光刻技术确定是否保留MOS管决定信息的,跨接MOS管,信息为0,没有跨接MOS管,信息为1;PROM是靠熔丝的通断决定信息的,没有熔断,则信息为1,熔断信息为1;EPROM是靠雪崩注入式场效应管(FAMOS管)的浮置栅是否积累足够的电荷来存储信息的,有足够的电荷积累,则记

23、录信息0,没有足够的电荷积累信息记录;FRAM是靠铁电电容来存储信息的。5-4 已知一个SRAM芯片的容量为4M8,该芯片有一个片选信号引脚和一个读/写控制引脚,问该芯片至少有多少个引脚?解:SRAM的引脚的确定从地址线、数据线、控制线及电源线四方面考虑,地址线m决定字数,2m=4M,因此m=22,容量4M8,所以n=8,片选一条,读写控制一个,电源和地各一条,芯片共有引脚22811+234条。5-6 50ns的512M8的DRAM芯片,其外部数据线和地址线为多少条?1秒钟至少可存取多少次?如果总线速度为50MHz的微机系统,在访问存储器时要不要插入等待周期? 解:(1)寻址的地址线log2(

24、单元数)=log2(512M)=log2(229)=29条,由于DRAM的外部地址线是内部的一半,因此DRAM的外部地址线为15条,数据线8条,1s/50ns=109/50=20000000次,即每秒可存取2千万次,总线速度为50MHz,即总线周期为1/50MHz=0.02us=20ns,因此比 50ns快,因此需要插入等待周期,要插入2个等待周期20ns+20ns*2=60ns,才能正常访问50ns的存储器。5-9 试计算外频(内存模块的核心频率)为100MHz时DDR、DDR2、DDR3的带宽。解:由于DDR、DDR2和DDR3数据宽度为64位,100MHz下的速度如下:(1) DDR:1

25、00MHz264/81600MB/s(2) DDR2:100MHz464/8=3200MB/s(3) DDR3:100MHz4264/86400MB/s 5-10已知RAM的容量为(1) 16K8 (2) 64K8 (3) 128K8 (4) 256K8如果RAM的起始地址为3450H,则各RAM对应的末地址为多少?解:(1)16K8,单元数16K24210=3FFFH+1,所以末地址首地址大小13450H3FFFH744FH(2)64K216=FFFFH+1,末地址3450HFFFFH1344FH(3)128K2171FFFFH1,末地址3450H1FFFFH2344FH(4)256K218

26、3FFFFH1,末地址3450H3FFFFH4344FH5-11如果一个应用系统中ROM为8KB,最后一个单元地址为57FFH,RAM紧接着ROM后面编址,RAM为16KB,求该系统中存储器的第一个地址和最后一个单元地址。解:ROM最后一个单元为57FFH,8K2131FFFH1,因此首地址末地址(大小1)57FFH1FFFH3800H,由于RAM紧跟ROM后面编址,因此RAM的首地址57FFH15800H,RAM大小16K2143FFFH1,所以RAM的最后地址就是系统存储器的末地址(最后一个单元的地址)5800H3FFFH97FFH5-14用4K8的SRAM芯片构成16K16的存储器,要求

27、起始地址为08000H,画出联接图,选用8086。解:需要的芯片数:16K16/(4K8)428片。起始地址08000H,容量16K1632K832KB(微机是按字节编址的),因此32K2157FFFH1,末地址08000H7FFFH0FFFFH,需要增加的地址线3条,08000H0FFFFH可变的地址为A14A0,其中A14、A13为增加的地址线,分别接24译码器输入端B和A,A11A0是芯片本身的地址线接系统地址总线的A12A1,不变的地址A19A16均为0,A151,A0与逻辑或后接存储器的偶地址(低字节)存储模块的读信号,A0与或后接存储器的偶地址(低字节)存储模块的写信号,与逻辑或后

28、接存储器的奇地址(高字节)存储模块的读信号,与或后接存储器的奇地址(高字节)存储模块的写信号,即当读或写偶地址存储体时,A00,能对如1,3,5,7进行读写操作,当读或写奇地址存储体时,0,能对2,4,6,8进行读操作,以保证对奇偶存储体的访问,当A00并且0时,可对一个字(16位)进行访问,连接示意如图所示。5-16写出图5.43(a)所示的片选信号CS以及(b)中Y0Y7对应的端口地址。(a) (b)图5.43 题5-16图解:(a)由CS0可知:A90,A80,A70,A61,A51,A41,A31,A21,A11,A01,地址0001111111B07FH;(b)由38译码器使能端有效

29、即E31,E2E10知:A91,A80,A70,A61,A50,A41,A30Y0:A2A1A0=000,因此Y0的地址1001010000B250HY1:A2A1A0=001,因此Y1的地址1001010001B251HY2:A2A1A0=010,因此Y2的地址1001010010B252HY3:A2A1A0=011,因此Y3的地址1001010011B253HY4:A2A1A0=100,因此Y4的地址1001010100B254HY5:A2A1A0=101,因此Y5的地址1001010101B255HY6:A2A1A0=110,因此Y6的地址1001010110B256HY7:A2A1A0

30、=111,因此Y7的地址1001010111B257H5-17某系统的存储器配备两种芯片即32K8的EPROM和32K8的SRAM,采用74LS138译码器输出作片选信号。如图5.44所示。(1) 确定每一片存储器芯片的地址范围(2) 编程将4#的32KB数据传送到7#存储区域图5.44 题5-17图解:(1)38译码器的使能端有效可知A191A1801:Y0:A17A16A15000,A14A00011,地址范围:80000H87FFFH2:Y1:A17A16A15001,A14A00011,地址范围:88000H8FFFFH3:Y2:A17A16A15010,A14A00011,地址范围:

31、90000H97FFFH4:Y3:A17A16A15011,A14A00011,地址范围:98000H9FFFFH5:Y4:A17A16A15100,A14A00011,地址范围:A0000HA7FFFH6:Y5:A17A16A15101,A14A00011,地址范围:A8000HAFFFFH7:Y6:A17A16A15110,A14A00011,地址范围:B0000HB7FFFH(2)用串操作指令完成MOV AX,9000H;不仿设数据段地址9000HMOV DS,AXMOV SI,8000H;数据段段内偏移量起始地址8000HMOV AX,0B000H;设附加数据段地址B000HMOV E

32、S,AXMOV DI,0;附加数据段段内偏移量起始地址0CLD;在DF=0让地址增加MOV CX,32*1024;32KB大小数据传输REP MOVSB用普通数据传送指令完成MOV AX,9000H;不仿设数据段地址9000HMOV DS,AXMOV SI,8000H;数据段段内偏移量起始地址8000HMOV AX,0B000H;设附加数据段地址B000HMOV ES,AXMOV DI,0;附加数据段段内偏移量起始地址0MOV CX,32*1024;32KB大小数据传输REPLP0:MOV AL,SIMOV ES:DI,ALINC SIINC DILOOP REPLP05-21 简述8088、

33、8086、80386、Pentium、Pentium II、Pentium III、Pentium4以及Cure 2系统存储器的组成形式。解:8088为8位存储器组织,共一个8位存储体,总容量最大1MB;8086和80286为16位存储器组织,共2个8位存储体,1个偶地址存储体和1个奇地址存储体,其中8086的每个存储体最大512KB,共1MB,而80286每个8MB,共16MB;80386为32位存储器组成,共4个8位存储体,每个最大1MB,共4GB;PentiumCure2均为64位存储器组织,共8个8位存储体,Pentium每个存储体最大512MB,共4GB,PentiumIICure2

34、每个最大8GB,共64GB。5-23 CMOS 的功能是什么?如何对其操作?写出将年月日时分秒的值读出后存入1000H:2000H开始的内存区域的程序片段。解:CMOS主要包括实时钟及CMOS RAM,因此其主要功能有产生实时钟及保存设置和配置信息。对CMOS的操作分两个步骤:(1)向70H写CMOS地址;(2)对71H读或写数据MOV AX,1000HMOV DS,AXMOV DI,2000HINC DIMOV AL,09H;年单元OUT 70H,ALIN AL,71HMOV DI,ALMOV AL,08H;月单元OUT 70H,ALIN AL,71HMOV DI,ALINC DIMOV A

35、L,07H;日单元OUT 70H,ALIN AL,71HMOV DI,ALINC DIMOV AL,4;时单元OUT 70H,ALIN AL,71HMOV DI,ALINC DIMOV AL,2;分单元OUT 70H,ALIN AL,71HMOV DI,ALINC DIMOV AL,0;秒单元OUT 70H,ALIN AL,71HMOV DI,AL6-10已经波特率为2400bps,字符格式为7位数据,1位校验位,1位停止位,UART发送端的波形如图6.53所示(下方为参考方波,说明该数据是多少(用十六进制表示),采用什么校验? 解:由UART字符格式知,传送数据是低位在前高位在后,据已经条件

36、知,1位起始位,7位数据,1位校验位,1位停止位,共10位为一帧,从图中找出起始位(低电平)开始的连续10位,图从2.4KHz的一个脉冲对应2400bps波特率的一个位,即从第3个脉冲开始10位恰是传送的一帧字符,去掉开始的起始位,从第4个脉冲开始取7位数据位,依次是D01,D11,D20,D31,D40,D51和D61,校验位0,停止位1,因此数据为D6D5D4D3D2D1D01101011B6BH,由于校验为0,因此传送的字符中(含校验位)1的个数为5,奇数,因此为奇校验。6-12如果通过RS-232C进行双机通信,波特率为11520bps,字符格式为1位停止位,没有校验,8位数据,通过示

37、波器得到的波形如图6-54所示,上图是RS232C的连接器DB92脚(RXD)的波形,下面是为了比较方便输入的频率为11.52Kz的参考方波。指出波形对应的数据(用十六进制表示)。图6-54 题6-11图解:分析方法同6-10,只是逻辑关系是相反的,9.6V对应逻辑0,9.6V对应逻辑1。第3个参考脉冲对应起始位9.6V(逻辑0),数据位从第4个脉冲开始的8位,依次为D01,D10,D20,D31,D40,D51,D60,D70,因此传送的数据为00101001B=2BH6-15简述8255的工作方式。并说明端口A和B作为方式1输入或输出时,C端口与之配合的引脚的含义。解:8255有三种工作方

38、式,方式0,1,和2,方式0为基本的输入输入方式,其输入输出没有固定用于联络的信号,方式1为选通的输入输出方式,A和B口作为I/O,端口指定的位作为联络应用信号,包括选通信号、输入输出缓冲器满信号和中断信号,方式为双向通信的方式,主要限于组的端口,用于配合,作为联系信号。口作为方式输入时,PC4作为选通输入信号,PC5作为输入缓冲器满信号,PC3作为中断信号;B口作为方式输入时,PC2作为选通输入信号,PC1作为输入缓冲器满信号,PC0作为中断信号;口作为方式输出时,PC6作为输出缓冲器满信号,PC7作为应答信号,PC3作为中断信号;B口作为方式输出时,PC1作为输出缓冲器满信号,PC2作为应

39、答信号, PC0作为中断信号;6-16假设8255的端口地址为60H-63H,试分别编写满足条件的初始化程序:(1) 将A组和B组设置为方式0,端口A和B设成输入端口,C上半口为输入,下半口为输出。(2) 将A口设为方式2,B口设为方式1输出。(3) 将A口设为方式1输出,B口为方式1输出,PC4和PC5为输出。解:(1)MOV AL,10011010BOUT 63H,AL(2)MOV AL,11000100BOUT 63H,AL(3)MOV AL,10100100BOUT 63H,AL6-17如图6.55所示为以8086为核心采用8255扩展I/O接口,A口接一输入设备,B接输出设备,PC2

40、作为检测输入设备的的准备就绪信号READY,PC6作为输出设备忙BUSY检测端。(1) 写出8255的初始化程序片段(2) 写出读取输入设备数据并存入内存ES:DI指示单元的子程序(3) 写出从DS:SI指示的内存单元取出数据写到输出设备的子程序(4) 已知8255的PC7接一上拉电阻,其对地连接一细长微型导线(A与B之间),PC0通过驱动接一蜂鸣器构成一简易防盗报警系统,如果微型导线被碰断,则蜂鸣器发出报警声(蜂鸣器得电而响)直到导线被保安人为接上,报警的同时向输出设备发送字符串“Grasp the burglar!”通知值班人员采取措施。写出有关程序。图6.55 题6-17图解:(1) M

41、OV AL,10011000BMOV DX,0FEFFH;控制口OUT DX,AL(2) MOV DX,0FEFEH;C口WAITL:IN AL,DX;ReadyTEST AL,00100000B;PC5JZ WAITL;未准备好等待MOV DX,0FEFCH;A口IN AL,DX;读输入设备数据MOV ES:DI,AL;写入指定内存单元(3)MOV DX,0FEFEH;C口WAITP:IN AL,DXTEST AL,01000000B;PC6(BUSY)JNZ WAITPMOV AL,DSSIMOV DX,0FEFDH;B口OUT DX,AL; 数据输出(4)START:MOV DX,0FE

42、FEHIN AL,DXTEST AL,80H;判断PC7JNZ BEEPMOV DX,0FEFFHMOV AL,0;PC0=0置复位命令字OUT DX,AL;取消报警JMP STARTBEEP:MOV DX,0FEFFHMOV AL,1;PC0=1OUT DX,AL;报警MOV SI,OFFSET STRINGSMOV CX,18;18个字符WAITB:MOV DX,0FEFFHIN AL,DXTEST AL,01000000B;BUSY=1?JNZ WAITBMOV AL,SIMOV DX,OFEFDH;B口OUT DX,ALINC SILOOP WAITBSTRINGS DB Grasp the burglar! 6-19已知8254的端口地址为9F0CH9F0FH,外接时钟频率为2MHz,利用8254的OUT0通道产生周期为1ms的方波,OUT1产生最快的连续脉冲序列,周期为多少?OUT2产生最大的负脉冲(建议方式1),负脉冲的宽度为多少。试编制满足上述要求的程序。解:(1)满足要求的程序如下.MODEL SMALL.CODE.STARTUPMOV AL,00110110B

展开阅读全文
相关资源
相关搜索
资源标签

当前位置:首页 > 技术资料 > 其他资料

版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1 

陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922