找回密码
 注册加入
查看: 2078|回复: 9

《微机原理与接口技术》问答辅导

[复制链接]

3109

主题

2万

回帖

13万

积分

管理员

运营总监

积分
137321

帅哥勋章诚信商家歙县志愿者

发表于 2008-10-26 15:08 | 显示全部楼层 |阅读模式
第一章、基础知识
问:译码器是如何译码的?寻址空间是如何确定的?译码器与寻址空间是怎么联系的?
答:译码器实际上是由许多与门、或门、非门和它们的组合构成的。它有若干个输入端和若干个输出端(也可能只有一个输出端)。对某一个输出端来说,它的电平高低必然与输入的某一种状态相对应。
例如,具有4个输入端的与非门就是一个简单的译码器,只有四个输入端为1111时,它的输出端才为0。如果将地址总线的A9、A8、A7、A6与它的四个输入连接起来,并把它的输出连到存储器芯片或某个需要寻址的外设接口的片选端(假定低电平有效),那么,只有当A9、A8、A7、A6为1111时,存储器芯片或外设才会被选中。
译码器的寻址空间取决于地址总线的哪几根线接到译码器的输入端,例如上例,地址总线的A9、A8、A7、A6与译码器的输入连接,那么其寻址空间应该是11 1100 0000~11 1111 1111,即3C0H~3F0H。
注意,没有参与译码的低位地址线必然要参与存储器芯片或外设接口的内部译码。也就是说,内部译码地址范围是0 -- 2n - 1,例如上例为00 0000 - 11 0000。
可以说,译码器的译码输出决定了寻址空间的起始地址,内部译码决定了寻址空间的大小。
该会员没有填写今日想说内容.

3109

主题

2万

回帖

13万

积分

管理员

运营总监

积分
137321

帅哥勋章诚信商家歙县志愿者

 楼主| 发表于 2008-10-26 15:08 | 显示全部楼层
第二章、80X86原理
1. 问:为什么在流水CPU中,将一条指令从取指到执行结束的任务分割为一系列子任务,并使各子任务在流水线的各个过程段并发地执行,从而使流水CPU具有更强大的数据吞吐能力?
答:这里可以使用时空图法证明结论的正确性。
假设指令周期包含四个子过程:取指令(IF)、指令译码(ID)、取操作数(EX)、进行运算(WB),每个子过程称为过程段(Si),这样,一个流水线由一系列串连的过程段组成。在统一时钟信号控制下,数据从一个过程段流向相邻的过程段。

图2、1
图2、1(B)表示非流水CPU的时空图。由于上一条指令的四个子过程全部执行完毕后才能开始下一条指令,因此每隔4个单位时间才有一个输出结果,即一条指令执行结束。图B18.4(C)表示非流水CPU的时空图。由于上一条指令与下一条指令的四个过程在时间上可以重叠执行,因此,当流水线满载时,每一个单位时间就可以输出一个结果,即执行一条指令。
比较后发现:流水CPU在八个单位时间中执行了5条指令,而非流水CPU仅执行了2条指令,因此流水CPU具有更强大的数据吞吐能力。

2. 问:片选信号(CS)到底是起使数据有效或无效的作用还是起选择芯片的作用啊?若是前者,干吗叫片选?
答:片选信号就是选择芯片的信号。前者不叫片选信号,应该叫允许信号。

3. 问:书本上讲的是若是计算结果中1的个数为偶数时,则PF=1;但我又在另外的辅导书上看到的说如果计算结果的低8位中1的个数为偶数,PF=1.请问老师是否是低八位?
答:对,PF只与结果的低8位有关。
 
4. 问:80386 CPU包含哪些寄存器?各有什么主要用途?
80386共有7类34个寄存器。它们分别是通用寄存器、指令指针和标志寄存器、段寄存器、系统地址寄存器、控制寄存器、调试和测试寄存器。
(1)通用寄存器(8个)
EAX,EBX,ECX,EDX,ESI,EDI,EBP和ESP。每个32位寄存器的低16位可单独使用,同时AX、BX、CX、DX寄存器的高、低8位也可分别当作8位寄存器使用。它们与8088/8086中相应的16位通用寄存器作用相同。
(2)指令指针和标志寄存器。
指令指针EIP是一个32位寄存器,存放下一条要执行的指令的偏移地址。
标志寄存器EFLAGS也是一个32位寄存器,存放指令的执行状态和一些控制位。
(3)段寄存器(6个)
CS,DS,SS,ES,FS和GS。在实方式下,它们存放内存段的段地址。在保护方式下,它们被称为段选择符。其中存放的是某一个段的选择符。当选择符装入段寄存器时,80386中的硬件章自动用段寄存器中的值作为索引从段描述符表中取出一个8个字节的描述符,装入到与该段寄存器相应的64位描述符寄存器中。
(4)控制寄存器(4个)
CR0、CRl、CR2和CR3。它们的作用是保存全局性的机器状态。
(5)系统地址寄存器(4个)
GDTR、IDTR、LDTR和TR。它们用来存储操作系统需要的保护信息和地址转换表信息、定义目前正在执行任务的环境、地址空间和中断向量空间。
(6)调试寄存器(8个)
DR0~DR7。它们为调试提供硬件支持。
(7)测试寄存器(8个)
TR0~TR7,其中TR0~TR5由Intel公司保留,用户只能访问TR6、TR7。它们用于控制对TLB中的RAM和CAM相连存储器的测试。TR6是测试控制寄存器,TR7是测试状态寄存器,保存测试结果的状态。
 
5. 问:什么是实地址模式?什么是保护模式?它们的特点是什么?
答:实地址模式是与8086/8088兼容的存储管理模式。当80386加电或复位后,就进入实地址工作模式。物理地址形成与8088/8086一样,是将段寄存器内容左移4位与有效偏移地址相加而得到,寻址空间为1MB。
保护地址模式又称为虚拟地址存储管理方式。在保护模式下,80386提供了存储管理和硬件辅助的保护机构,还增加了支持多任务操作系统的特别优化的指令。保护模式采用多级地址映射的方法,把逻辑地址映射到物理存储空间中。这个逻辑地址空间也称为虚拟地址空间,80386的逻辑地址空间提供2^46的寻址能力。物理存储空间由内存和外存构成,它们在80386保护地址模式和操作系统的支持下为用户提供了均匀一致的物理存储能力。在保护模式下,用段寄存器的内容作为选择符(段描述符表的索引),选择符的高13位为偏移量,CPU的GDTR中的内容作为基地址,从段描述符表中取出相应的段描述符(包括32位段基地址、段界限和访问权等)。该描述符被存人描述符寄存器中。描述符中的段基地址(32位)与指令给出的32位偏移地址相加得到线性地址,再通过分页机构进行变换,最后得到物理地址。
该会员没有填写今日想说内容.

3109

主题

2万

回帖

13万

积分

管理员

运营总监

积分
137321

帅哥勋章诚信商家歙县志愿者

 楼主| 发表于 2008-10-26 15:08 | 显示全部楼层
第三章、汇编语言
1. 问:在逻辑运算一节,书上说“NOT”为求反操作,这里的求反操作是何意?
在循环移位指令里,书上举例:SAL 左移一位,相当于乘以二;SAR 右移一位,相当于除以二;请问除SAL和SAR外的其它移位指令也有此功能吗?
答:求反操作就是将目的操作数的内容按位变反。例如,AL=01000110B,则执行NOT AL指令后,AL=10111001B。
除SAL、SAR指令外,SHL、SHR指令也有此功能。循环移位指令没有此功能。

2. 问:TEST指令到底是怎么回事?NZ和Z到底是怎么得到的?若是要检查好几位的话,要怎么检查呢?
答:AND指令属于逻辑操作指令,它是对两个操作数(源操作数和目的操作数)进行“与”操作,操作是按位进行的,即源操作数bit7和目的操作数bit7相与,源操作数bit6和目的操作数bit6相与,and so on。与操作的结果最后被送到目的操作数中,也就是说,原来的目的操作数被破坏了。
TEST指令与AND指令类似,也是对两个操作数进行“与”操作。但TEST不把结果送到目的操作数,只是设置一下标志位(请复习一下:逻辑操作指令会影响哪些标志位?)。这就给我们带来了一个好处:你如果想测试操作数某几位的状态,但又不想破坏操作数的内容,就可以用TEST指令。(AND/TEST这一对指令的关系与SUB/CMP这一对指令的关系一样:操作相同,不同之处是结果送不送到目的操作数中。)
一般来说,逻辑指令和算术运算指令都会根据运算结果设置标志位,所以你提出的“NZ和Z到底是怎么得到的?”这个问题应该这样回答:NZ和Z是根据指令操作的结果所得到的,或者说是由CPU根据指令的运算结果来设置各个标志位得到的。
Z和NZ都是指ZF标志的状态,ZF=1时称为Z(即Zero的缩写),ZF=0时称为NZ(即Not Zero的缩写)。其实Z和NZ这两种状态都只用于条件转移指令中,如“JZ XXX”(意思是如果ZF标志等于1就转移到标号为XXX的指令处执行)或“JNZ XXX”(意思是如果ZF标志等于0就转移到标号为XXX的指令处执行)。
注意,如果运算的结果为0,ZF会被设置成1,如果运算的结果不为0,ZF会被设置成0。所以ZF代表了运算结果是否为0:若ZF=1,运算结果肯定为0;反之,运算结果肯定不为0。
若要检查一个操作数中某几位的状态,可设置另一个操作数中相应的位为1,其他位为0,然后进行TEST操作。如要检查AL的bit7、bit6、bit5是否全是0,另一操作数应该是11100000B,测试指令为TEST AL,11100000B。

3. 问:有一段代码:
AND AX,AX
JZ STOP
这个JZ是对哪一个标志位说的呢?
答:JZ当然是对ZF标志说的,因为AND AX,AX会影响ZF标志位的。

4. 问:
MOV DI,1000H
MOV CX,64H
MOV AL,2AH
AGAIN:MOV [DI],AL
INC DI
DEC CX
JNZ AGAIN
HLT
程序中 INC DEC 如何影响标志位,MOV [DI],AL中的DI可否用别的寄存器替代?
答:INC/DEC将影响ZF,OF,PF,AF,SF,但不影响CF。
因为这里是MOV指令,DI寄存器当然就可以用其他3个能够作为指针的寄存器代替,例如
SI,BX,BP(BP要指定段超越前缀)。

5. 问:以下这两条指令哪里错了?
MOV DS,BP
MOV DATA[SI],ES:AX
答:第一条没错。第二条的寄存器前不应该有段超越前缀,因为寄存器不是内存单元,它没有地址。

6. 问:过程调用返回语句RET后加数字表示什么?比如RET 4。
答:表示把栈顶内容弹出到指令指针后再扔掉栈顶的n个字节(n为偶数)。栈顶的这n个字节是调用子程序前压入堆栈的子程序入口参数。仅当用堆栈传递参数时才会使用这种指令。
这种参数处理方法也可用其它方法替代,如在主程序的调用指令后用几个POP指令把调用之前压入的参数扔掉。

7. 问:请问汇编中有无浮点数?有书上说,用DQ,DT等定义的实数如:-5.12E-1表示-0.512,应该没错吧,但这样的数据在程序运算中是怎样具体进行的?我曾经试过,有提示警告说字长有问题。而且得不到有意义的结果。
如:
DATA DQ -5.12E-1
MOV AX,120
MUL DATA
请问AX中的结果?恳请老师能详细解答!
答:汇编语言程序中可以使用浮点数,有两个方法:1)自己编写浮点运算子程序;2)使用CPU的浮点指令(486以上级别的CPU支持浮点操作)。
DQ定义的数据类型是每个元素8个字节,你用16位的乘法操作当然就不对了,因为AX是16位的寄存器,与DQ定义的数据类型不一致。如果一定要这样做,应把最后一句改为 MUL WORD PTR DATA,这样语法就正确了,但这样得到的结果并不是所期望的。

8. 问:
Object filename [2.OBJ]:
Source listing [NUL.LST]: 2
Cross-reference [NUL.CRF]:
2.asm(25): error A2071: Forward needs override or FAR

49922 + 416126 Bytes symbol space free

0 Warning Errors
1 Severe Errors
请指教!
答:看见第4行的提示了吗?意思是:在2.ASM程序文件中的第25行有一个错误。
因为没看见你的源程序,不好说具体是什么原因。估计是转移指令中的转移目的地址有问题,可能超出转移范围。最后一行“1 Severe Errors”是说有一个严重错误!通常这样的错误是不可饶恕的,你应该重新修改程序。

9. 问:请问:
LEA BX,ARRAY
LEA DI,RESULT
MOV CL,4
AGAIN: MOV AL,[BX]
TEST AL,80H
JZ NEXT
NEG AL
MOV [DI],AL
INC BX
INC DI
DEC CL
JNZ AGAIN
该指令是什么意思?完成的功能是什么?
答:首先,你程序段中的NEXT标号是在哪定义?我猜可能是在INC BX指令处吧。假定是这样的话,这个程序段是找出ARRAY数组中的负数,然后求出它们的绝对值再送到RESULT数组中。程序段中的NEG AL指令为求补指令,可以看出,程序中只对负数求补。

10. 问:从FIRST开始存放着100个字符的字符串,结束符为"$",统计该字符串中字母"B"的个数。这道题该如何编程。
答:请看下面:
mov si,offset first ;指向FIRST数组
mov cx,100 ;循环次数
mov dl,0 ;用于存放"B"的个数
kkk: lodsb ;取一个字符
cmp al,"$" ;串结束?
jz quit ;若结束,则退出
cmp al,"B" ;否则判断字符是否是"B"
jnz qqq
inc dl ;若是"B",则"B"的个数加1
qqq: loop kkk ;循环,直到整个串搜索完
quit: hlt ;程序执行完后,dl中有"B"的个数

11. 问:请问什么时候用逻辑尺?具体怎么用啊?能举个例子吗?谢谢!
答:逻辑尺用于对一批数据进行处理,而处理的方法又无规律可言(即无法用循环的方法处理)。例如,有16个数据(Ai)存于buffer开始的缓冲区中,要求对第2、4、5、6、9、11、12、14个数据进行F1(Ai)=2Ai的运算,对其余的数据进行F2(Ai)=Ai-3的运算。
可以看出,对这些数据元素进行F1运算还是F2运算无法用它们的下标来确定。这时,用逻辑尺就非常合适。特别是当数据元素很多时,用逻辑尺方法比用其他方法具有更好的程序结构。

12. 问:$的含义?
答:$是指当前地址(即分配地址的地址计数器的内容,它是在汇编时的一个动态值)。例如上例中,最初地址计数器内容为0,汇编时分析出SHR1占据两个字节,于是分配给数据段的0号单元和1号单元(即SHR1=0),接着地址计数器增加到2;再汇编到SHR2时,分析出它占据16个字节,则顺序分配给2号单元(即根据地址计数器的当前值进行分配)到17号单元(即SHR2=2),分配完后,地址计数器的内容增加为18,所以遇到$时,汇编程序就用18代替$符号,即18-0=18,也即CNT=18。 MOV CX,CNT自然就是MOV CX,18了。

13. 问:怎么用debug运行连接过的程序?
答:在dos窗口中键入以下命令:
debug <你的可执行程序的名字> <回车>
debug运行后,你的程序就被加载到内存中,可以调试执行了。debug的各种调试命令见实验指导书中的附录。

14. 问:我们的微机是赛扬的CPU,为什么再运行汇编时,一闪即过了,看不到结果?
答:不要在Windows下直接点击运行。应该先进入DOS方式(运行COMMAND或点击开始菜单中的DOS方式命令),然后在DOS方式下运行就不会出现这个问题了。
该会员没有填写今日想说内容.

3109

主题

2万

回帖

13万

积分

管理员

运营总监

积分
137321

帅哥勋章诚信商家歙县志愿者

 楼主| 发表于 2008-10-26 15:09 | 显示全部楼层
第四章、输入输出
1. 问:I/O设备是如何进行管理的?
答:一个计算机系统包含多个I/O设备,这些设备全由操作系统统一进行管理。DOS操作系统对PC I/O设备的管理分为以下3个层次:
(1)ROM BIOS驱动程序
ROM BIOS为基本I/O系统,存放在PC系统存储空间的高端位置(0FE000H一0FFFFFH),共有8KB容量。ROMBIOS是三个层次中的最底层,它直接和硬件接口,并向用户开放。它包括3种功能:系统初始化、对主要I/O设备的底层管理和系统服务。
ROM BIOS为PC系列机上的各种操作系统所公用,用户也可以直接使用它。这些I/O设备的驱动程序以软中断的方式提供,汇编程序用INT 10H—INT 1AH调用,调用时由寄存器AH表示其指定功能。
INT 10H--显示器驱动程序
INT 11H--检测系统配置程序
INT 12H--检测存储器容量程序
INT 13H--磁盘驱动程序
INT 14H--串行口驱动程序
INT 15H--设备管理驱动程序
INT 16H--键盘驱动程序
INT 17H--打印机驱动程序
INT 18H--启动ROMBASIC程序
INT 19H--引导程序
INT 1AH一实时时钟驱动程序
在接口设计中,常会调用这些I/O驱动程序,以方便接口编程。有了BIOS,人们不再需要详细了解硬件设备,就可方便地使用它们。
(2)DOS可安装的和驻留的驱动程序
可安装的驱动程序是在增加新的外设时,通过磁盘进行安装,再修改CONFIG.SYS文件,并重新启动系统后,新的外设便处于DOS管理之下了,用户可通过系统调用去使用它。
驻留的驱动程序在IBMBIOS.COM文件中,系统引导时读人RAM。
可安装的驱动程序和驻留的驱动程序形式基本一样,由3部分组成:设备驱动程序头、策略过程和中断过程。
驱动程序为每一个设备定义一个逻辑名,例如打印机叫PRN,串行接口叫AUX,时钟设备叫CLOCK等等。为每一个设备的逻辑驱动器定义一个逻辑标志,并为每一个外设定义了统一的17个命令或功能。有了驱动程序,对上层而言,所有外设便具有了统一的界面。
(3)DOS系统调用
DOS系统调用是DOS操作系统和用户之间的界面,功能包括内存管理、文件和记录的管理、字符设备的输入输出管理、“假脱机”和实时时钟管理等。它也是以中断方式提供的,汇编程序用INT 20H~INT 2FH调用,调用时由寄存器AH表示其指定功能。
 
2. 问:如何设计接口电路?
答:(1)分析了解外设或被控设备与CPU之间信息交换的要求
用什么做联络信号;I/O的数据格式;I/0线数量;最短响应时间和服务时间估算;确定I/0控制方式
(2)硬、软件间功能分配
综合考虑速度、成本、特性、设计难易程度等因素。
(3)进行I/0端口的数量统计、数据流向安排和端口地址号分配
(4)I/0接口硬件电路的扩展设计
扩展方案选择;地址译码器扩展;负载能力扩展。
(5)I/0接口软件设计
(6)联调
进行接口硬件、软件联调,直至满足快速、可靠、方便地实现CPU和各外设之间的信息交换要求为止。

3. 问:<o:p> </o:p> I/O接口扩展的方法有哪些?
I/O接口扩展方案有两种:
(1)购置厂家生产的现成的多功能I/0接口板
为适应系统I/0扩展的需要,每一种微机系统都设计有配套的I/0接口板,将I/0接口板插到系统外引总线槽上,只要适当选择板上的有关选择开关(选址开关、工作方式选择开关等),就可与系统配套使用。如按STD总线标准设计的模块式工作控制计算机,采用小板结构、每种模板功能单一,有CPU模板、内储模板、键盘显示模板、串行接口模板、A/D转换模板、D/A转换模板等等,按扩展要求可选用其中几块模板,构成实用的工业控制机,非常灵活方便、可靠。如果控制系统对I/0无特殊要求,经费也许可的话,选用此种方案是最简单、快速的。
(2)自己设计、安装I/0接口电路
采用通用的大规模集成电路接口芯片扩展I/O接口电路,如8255A、8251A等。由于通用的I/O接口芯片电路是标准化的,提供了方便地与CPU和外设相连接的信号线,可方便地对I/O接口进行扩展。采用普通的缓冲器/锁存器和译码器等集成电路扩展I/O接口。
4. 问:为什么微机系统中有时要采用DMA传送方式?
答:外设与计算机内存之间的信息交换,可通过程序查询方式和中断方式进行。这两种方式都是在CPU的控制下,通过CPU执行指令来完成的。数据传送方向为外设一CPU—内存。这两种方式每传送一个字节都需要耗用较长时间。在程序查询方式时,CPU要反复测试外设状态,在外设未准备好时,CPU就处于等待状态,直到外设准备好,才进行数据传送。在中断方式下,每实现一次数据传送,CPU都要进行转入中断服务子程序、保护断点、保护现场、恢复现场、返回主程序等操作。显然对于高速的I/O设备以及大量数据交换的场合(如软、硬磁盘等),这两种传送方式就不能满足速度的要求了。对于这些高速外设,如果传送速度太慢,不仅降低传送效率,还会造成数据丢失,导致传送出错。
为此,提出了DMA(直接存储器存取)传输方式。这种传送方式是不经过CPU干预,直接在外设与内存储器之间进行数据传送的方式。实现DMA传送,需要一个专用硬件DMA控制器(DMAC),在DMA传送期间,CPU要让出对系统总线的控制权,交给DMA控制。总线在DMA的控制下,数据直接在存储器和外设之间传送,而不经过CPU干预,其传送速度大大提高,可接近于存储器的最快存取速度。这种传送方式适用于图像显示、磁盘存取、磁盘间数据传送和高速的数据采集等系统。
 
5. 问:DMA控制器占用总线控制权的方法有哪几种?
答:DMA控制器占有总线控制权又称DMA操作的基本方法共有四种:
(1)使CPU与系统总线处于高阻状态的方式
此种方式又称停机方式,在这种方式下,当DMAC要进行DMA传送时,DMAC向CPU发出DMA请求信号,迫使CPU在现行的总线周期(机器周期)结束后,使其地址总线、数据总线和部分控制总线处于高阻态,从而让出对总线的控制权,并给出DMA响应信号。DMAC接到该响应信号后,就可以控制总线,进行数据传送的控制工作,直到DMA操作完成,CPU再恢复对总线的控制权,继续执行被中断的程序。这种方式比较简单,只需要一对联络信号作为请求占用总线和对请求的响应,而不需要附加的逻辑电路。
(2)暂停CPU的时钟脉冲方式
CPU的正常操作得以进行是靠系统的时钟脉冲来定时推动的。因此,在进入DMA操作时,把CPU的时钟暂停,就能达到停止CPU操作的目的。此时CPU的地址总线输出为高电平,控制信号输出为高阻状态,数据总线也成为高阻状态。
(3)周期挪用方式
周期挪用方式又称为利用CPU不访问总线的间隔方式。上述两种方式进行DMA时,均使CPU暂停常规的操作。优点是操作简便,但浪费CPU资源。为充分利用CPU资源,可采用只当CPU不使用总线时,才进行DMA传送。这种DMA操作仅是在CPU执行内部操作时,如指令译码或CPU内部进行算术运算或逻辑运算时,CPU不使用总线,这时DMA接管总线。这种方法的关键是如何识别合适的可挪用周期。有的CPU能产生一个表示存储器是否正在被使用的信息(如M6800的VMA),有的CPU则规定在特定条件下(如Intel8080的T4、T5状态)不访问存储器。此方法不减慢CPU的操作,但需复杂的时序电路,而且数据传送也是不连续和不规则的。
(4)周期扩展方式
使用专门的时钟发生器/驱动器电路,当需要进行DMA操作时,由DMAC发出请求信号给时钟电路,时钟电路把供给CPU的时钟周期加宽,而提供给存储器和DMAC的时钟不变。这样,CPU在加宽时钟周期内操作不往下进行,而这加宽的时钟周期相当于若干个正常的时钟周期,可用来进行DMA操作。加宽的时钟结束后,CPU仍按正常的时钟继续操作。这种方法会使CPU的处理速度减慢,而且CPU时钟周期的加宽是有限制的。因此用这种方法进行DMA传送,一次只能传送一个字节。
 
6. 问:中断方式比查询方式有何优点?和DMA相比又有什么不足之处?
答:(1)中断方式与查询方式相比其优点是:
①提高了CPU的工作效率
把CPU从查询方式时漫长的等待时间中解放出来,使CPU和外设以及外设和外设之间能并行工作:
②实时响应能力强
在具有多个中断源的系统中,查询方式要轮流对多个中断源进行查询,所需时间较长,很难满足外设的实时要求,而采用中断方式便可满足外设的实时性要求。
(2)中断方式与DMA方式相比不足之处是:
中断方式传送数据的速度比DMA慢,不适于高速外设的要求。
 
7. 问:中断方式和DMA方式传送数据,哪个的CPU效率高?
答:当然DMA方式效率高。DMA方式中,CPU只需要进行初始化工作和扫尾工作,数据传输完全不需要CPU介入,而是由DMAC控制。这样CPU空出来可以作其他事情。

8. 问:要自己编一个中断程序,如何指定它的中断号呢?
答:一般来说,硬件中断对应的中断号不能随便指定,操作系统基本已固定。而软件中断的号也有一部分不能随便使用,一般中断号在60H以前的都不要用。具体哪个可以用,每个机器不定相同,可用DEBUG查看中断向量表(0:0到0:3FFH)的内容,凡是中断向量为0的均是系统没有使用的,用户可以使用。
要在自己的程序中使用中断,应设置中断向量,有两个办法:
1)将中断向量强行写入中断向量表。例如,要把自己的中断服务程序指定为61H号中断,则把中断服务程序的首地址(即中断向量)写入61H*4开始的两个字单元即可,偏移写入低字,段写入高字。设置好后,即可用INT 61H调用自己的中断服务程序。
2)用DOS功能25H也能设置:把中断向量的段放在DS中,偏移放在DX中,中断号放在AL寄存器中,然后下面的指令:
MOV AH,25H
INT 21H
即可设置好中断向量。
 
9. 问:CPU响应中断的条件是什么?
答:(1)设置中断请求触发器
每个中断源向CPU发出中断请求信号是随机的,而大多数CPU都是在现行周期结束时,才检测有无中断请求信号发出。故必须把随机输入的中断信号锁存起来,并保持到CPU响应这个中断请求后,才可以清除中断请求。因此要求每一个中断源有一个中断请求触发器。
(2)设置中断屏蔽触发器
在多个中断源的情况下,要求设置一个中断屏蔽触发器,只有当此触发为“1”时,外设的中断请求才能被送到CPU。
(3)设置中断允许触发器的状态
在CPU内部有一个中断允许触发器,只有当其为“1”时,CPU才能响应中断。可用允许中断和禁止中断指令来设置中断允许触发器的状态。当CPU复位时,中断允许触发也复位为“0”,即关中断。当中断响应后,CPU就自动关闭中断,以禁止接受另一个新的中断(否则要处理多重中断),因而通常在中断服务程序结束时,必须有两条指令,即允许中断指令和返回指令。
(4)CPU在现行指令结束后响应中断。

10. 问:ISA总线的硬中断扩充到11级(IRQ3-IRQ7,IRQ9,IRQ10-IRQ12,IRQ14-IRQ15),DMA通道扩充到7个(DERQ1-DERQ3,DERQ0,DERQ5-DERQ7)其中的下标是来自8259吗?
答:硬中断是由第2个8259扩充的,DMA不是来自8259。

11. 问:接口硬件是如何组成的?
答:接口硬件通常做在一块超大规模集成电路芯片上,常称为接口芯片。
接口硬件一般包括如下七部分:
(1)数据缓冲寄存器
缓冲寄存器又称缓冲器,它分输入缓冲器和输出缓冲器两种。前者的作用是将外设送来的数据暂时存放,以便处理器将它取走;后者的作用是用来暂时存放处理器送往外设的数据。有了数控缓冲器,就可以使高速工作的CPU与慢速工作的外设起协调和缓冲作用,实现数据传送的同步。由于缓冲器接在数据总线上,故必须具有三态输出功能。
(2)控制寄存器
控制寄存器用于存放处理器发来的控制命令和其它信息,以确定接口电路的工作方式和功能。控制寄存器是写寄存器,其内容只能由处理器写入,而不能读出。
(3)状态寄存器
状态寄存器用于保存外设现行各种状态信息。它的内容可以被处理器读出,根据外设状态,可使处理器安全可靠地与接口完成交换数据的各种操作。处理器通过查询外设的忙与闲、良好与故障,就绪与不就绪等状态,才能正确的交换信息。
(4)数据总线和地址总线缓冲器
数据总线和地址总线缓冲器用于实现接口芯片内部总线和处理器外部总线的连接。如接口的数据,温线可直接和系统数据总线相连接,接口的端口选择端根据I/O寻址方式的要求与地址总线恰当地连接。
(5)端口译码器
端口译码器用于正确选择接口电路内部各端口寄存器的地址,保证一个端口寄存器惟一地对应一个端口地址码,以便处理器正确无误地与指定外设交换信息,完成规定的输人输出操作。
(6)内部控制逻辑
内部控制逻辑用于产生一些接口电路内部的控制信号,实现系统控制总线与内部控制信号之间的变换。
(7)对外联络控制逻辑
对外联络控制逻辑用于产生与接收CPU和外设之间数据传送的同步信号。这些握手联络信号包括微处理器一边的中断请求和响应、总线请求和响应以及外设一边的准备就绪和选通等控制与应答信号。
当然,并非所有接口都必须具备全部组成部分。但一般情况,数据缓冲寄存器、端口地址译码器和输入输出操作控制逻辑是接口的核心部件,任何接口都不可少。其它部分视需要而定。

12. 问:接口软件包括哪些内容?
答:接口软件又称设备驱动程序,一般来说它包括如下程序段。
(1)初始化程序段
对可编程接口芯片,都需要通过方式命令或初始化命令来设置工作方式及初始条件,这是驱动程序中的基本部分。
(2)传送方式处理程序段
只要有数据传送,就有传送方式的处理。针对CPU与I/O设备不同的数据传送方式,就有不同的处理程序段。如查询方式有检测外设或接口状态的程序段;中断方式有中断向量修改、对中断源的屏蔽研放以及中断结束等的处理程序段;DMA方式有相关的DMA传送操作,如通道的开放/屏蔽等处理程序段。
(3)主控程序段
这是完成接口任务的程序段。如数据采集的程序段,包括发转换启动信号、查询转换结束信号、读数据以及存数据等内容。
(4)程序终止与退出程序段
包括程序结束退出前对接口电路中硬件的保护程序段,如对一些芯片的引脚设置为高电平或低电平,或将其设置为输入输出状态等。
(5)辅助程序段
该程序段包括人-机对话菜单设计等内容。
以上这些程序段是相互依存统为一体的,只是为了分析一个完整的设备接口程序而划分成几部分。
13. 问:微机的接口卡和主板之间的插槽中各根地址线、数据线和控制线都是如何安排的?另外,可不可以在用户的接口电路中使用8237dma控制器?如果可以,如何避免同系统的dma控制器的优先级的冲突?
答:总线的信号线安排可参考相关资料,例如《ISA总线规范》、《PCI总线规范》等国际标准。因为标准文本太厚,这里无法列出。
用户接口电路中一般无法使用自己的8237DMA控制器,至少我是这么认为的。但系统提供的DMA通道还给用户保留了好几个,如果要用DMA传输的话,可使用未被系统占用的那几个DMA通道。

14. 问:接口电路的实现方法有哪些?
答:接口电路实现方法有三种:
(1)用中、小规模集成电路芯片设计接口电路
这种设计方法仅适用于简单接口电路。
(2)用可编程集成电路芯片设计接口电路
可编程集成电路芯片是品种繁多、功能各异的大规模集成电路接口芯片,通过CPU的编程选择各种接口功能,使用灵活方便。因此只需掌握如何选择和使用这些芯片来设计接口,完成与外设的连接,以达到预期目的。
可编程接口芯片的特点是:集成度高、功能全、灵活性好;芯片需CPU编程设置(如初始化等);有多个I/0端口地址,设计时要合理分配,防止地址冲突。
通用可编程芯片可分为三类:
①通用I/0接口芯片,如Intel公司产品有:
8255并行接口芯片
8251,8250串行接口芯片
8253,8254定时器卅数器
8237DMA控制器
8279键盘显示控制器
②专用I/O功能控制芯片,如
8272磁盘控制器
8275CRT控制器
③系统功能控制芯片,如
8259中断控制器
存储器管理部件:W4006AF DRAM控制器
8288总线控制器
8089智能I/O接口芯片
8087、80287、80387数值处理器
8292、8293、82911EEE-486智能仪表控制接口
(3)用I/O接口控制卡(I/O适配器)连接外设
将常用通用接口电路制成专用的接口控制卡(也称适配器),由若干集成电路芯片按一定的逻辑构成,并组装成一个部件。这些部件制成一个标准的插件板,可直接插入CPU的主机板的扩展槽上,以完成与系统的连接。常用的I/O接口控制卡有:显示卡/声卡/网卡等。

15. 问:什么是接口中的联络信号?
答:CPU通过接口同外设交换信息时,接口常常需要和外设间有一定的“联络”信号,一保证信息的正常传送。通常采用两个“联络”信号:STB#(选通信号)和RDY(就绪信号)。
(1)输入操作
RDY=“H”表示接口芯片中输入寄存器已准备就绪,可接外设信息,以实现外设与接口的输入操作,该信号是由接口向外设发出的。
STB#=“L”表示接口选通,是外设向接口发出的,外设把数据送至接口芯片端口后,用STB信号有效送人接口芯片输入寄存器。在STB#的后沿,把RDY信号拉为“L”,表明输人寄存器已有数据。RDY=“L”正是接口与外设的通信标志,外设接收RDY=“L”后,暂不送新数。CPU发出读数指令,读人该数据,并使RDY置“H”。然后,又开始新一轮的输入操作。在输入操作中,RDY信号有时用IBF(输入缓冲器满)表示。
(2)输出操作
RDY=“H”,表示接口寄存器已有数据,通知外设来取数,该信号是由接口发给外设的。
STB=“L”,表示端口数据已为外设接收,且已处理,CPU可送新数据到接口寄存器,STB#的后沿使RDY变为“L”。在输出接口中,RDY信号有时用OBF#(输出缓冲器满)表示,STB#信号有时用ACK#(响应)表示。

16. 问:8255A的三种工作方式,各用于哪种传送方式?
答:方式0是基本输入/输出方式,A、B、C三个口中任何一个口都可提供简单的输入和输出操作,不需要应答联络信号,即可用于无条件传送的场合,也可以用作查询方式传送。当采用查询方式传送时,原则上可用A、B和C三个口的任一位充当查询信号,但通常都是选用C口充当查询信号,这和C口的编程有关。通常把C口的4位(高4位或低4位)规定为输出口,用以输出一些控制信号,把C口的另4位规定为输人口,用以输入外设的状态。
方式1是一种选通输人偷出方式,A口和B口均可工作在这种方式。方式1可作为查询式传送方式,此时握手联络信号,C口要用6位(分成两个3位)分别作为A口和B口的应答联络信号。方式1也可用作中断方式,此时要写对应的C口的按位置位字,打开中断。
方式2是A口独有的双向传送方式,一般使用中断传送方式。

17. 问:8255A是8位的,如何在16位微机中作为接口?
答:用2片8255A芯片来构成一个16位微机系统的输入与输出接口。一片为偶地址端口,另一片为奇地址端口。偶地址端口的8255A芯片由CPU的地址线A。参与片选译码,其8位数据线同CPU的低8位数据线助~no相连;奇地址端口的8255A由CPU的“总线高允许BHE'’参与片选译码,其8位数据线同CPU的高8位数据线D15~DR相连。8086CPU可以对某一个8255A的各端口进行8位字节信息传送,也可以对2个8255A的对应2个端口(两个PA口,或两个PB口,或两个PC口)用一个总线周期实现偶地址字的传送。

18. 问:什么是IEEEl284标准?
答:IEEE(美国电子电器工程师协会)1284标准是PC机上的双向并行端口的标准信号方法。它定义了使用并行端口进行高速通信的新方法,为PC机和外设间定义了双向通信协议。
IEEEl284定义了5种数据传输模式(井口模式),见下表所示。
井口模式          方向        传输速率
半字节        反向         50KB/S
字节         反向        150KB/S
兼容Centronics方式        正向         150KB/S
EPP        双向        500KB/S~2MB/S
ECP        双向        500KB/S~2MB/S
 
该会员没有填写今日想说内容.

3109

主题

2万

回帖

13万

积分

管理员

运营总监

积分
137321

帅哥勋章诚信商家歙县志愿者

 楼主| 发表于 2008-10-26 15:09 | 显示全部楼层
第五章、存储器
1. 问:我对教材所讲的“部分地址译码方式”不是很理解。 比如:书上说A16和A18未参加译码,因此无论这两根线上是什么值都不影响输出。能不能理解成:既然输出的值是一定的,那么就应该就像全地址译码那样,高地址只对应一个片选地址,为什么能映射四个内存空间,是怎么工作的?还有少了两根线和相关的器件就能节约多少成本?何必那么麻烦,都选全地址译码不就得了。
答:应该这样理解:因为部分地址译码方式有部分高位地址线未参加译码,所以未参加译码的地址线上无论是什么值都不会影响译码输出。而未参加译码的地址线上的值的集合对应了多个地址空间。例如,A19、A18不参加译码时,它们的值为00、01、10、11时均不会影响译码输出,而00x....x、01x....x、10x....x、11x....x不正好对应了四个地址空间吗?
部分地址译码方式为电路设计提供了另外一种选择,你可以灵活地选用,不必拘泥于某一种译码方式。总之,在满足要求的情况下,电路越简单越好。

2. 问:关于内存芯片的标号(如6264)有什么规律呢?每位数字都有什么含义呢?
答:一般最后几位表示该芯片有多少位(bit)。如6264共有64K位(8K*8位),62256为256K位,等等。但新型芯片已不再用这种表示方法。有兴趣的话可看一看《微型计算机》杂志2003年第23期的有关文章。
 
3. 问:用存储器件组成内存时,为什么总是采用矩阵形式?
答:采用矩阵形式存储信息主要是为了节省地址译码电路,提高半导体器件的集成度。例如要组成1KB的内存,若不采用矩阵形式,就需要1024条译码线才能实现对1KB的寻址,但若采用32*32的矩阵来排列,则只要有32条行选线和32条列选线就可以了。存储容量越大,矩阵形式的优点就越明显。
 
4. 问:CPU与存储器连接时有哪些方面要求?
答:存储器与CPU连接时有如下三方面要求:
(1)信号线连接要求
CPU是通过地址总线AB、数据总线DB及控制总线CB与外界交换信息的。因此,存储器芯片与CPU的连接也就是与CPU三种总线的连接。
①数据线的连接:CPU的数据线与存储器的数据线直接相连。
②地址线的连接:地址线高位部分用于选择存储器芯片,与存储器片选信号相连;地址线低位部分用于选择存储器芯片内的某一存储单元,与存储器芯片的地址引脚相连。
③控制线的连接:系统控制总线的读屑控制与存储器芯片的控制线相连。
(2)地址分配要求
内存分ROM和RAM两部分。ROM用于存放固化程序及常数,RAM分为系统区和用户区。系统区用于存放监控程序或操作系统的数据;用户区用于存放用户程序和数据。一般存储器由多个芯片组成,地址进行分配时,需要知道哪些
地址区域分配给ROM,哪些地址区域分配给RAM。对8086CPU而言,高地址区域分配给ROM区域,低地址区域分配给RAM。
(3)驱动能力要求
在CPU的设计中,一般输出线的直流负载能力可以驱动一个TTL负载,而在连接中,CPU的一根地址线或数据线,可能连接多个存储器芯片,但现在的存储器芯片都为MOS电路,主要是电容负载,直流负载远小于TTL负载。故小型系统中,CPU可与存储器直接相连,在大型系统中就需要加缓冲器。
 
5. 问:何谓IDE接口?
答:IDE接口就是智能驱动器电子接口,是PC机用来连接硬盘、光盘等设备的标准接口。一般家用计算机和台式计算机的硬盘和光盘接口都采用IDE接口。
IDE接口由COMPAQ公司推出,将硬件控制器集成到硬盘驱动器中。这样,其优点是可以消除驱动器和控制器间的数据丢失问题,使数据传输可靠性提高了。
IDE是针对AT机系统设计的,可支持超大容量高速硬盘。1个IDE接口可带两个硬盘驱动器。
IDE接口的基本特征是:
(1)最多接两台硬盘机;
(2)数据传输速率最高为2MB/S;
(3)最大可支持528MB;
(4)传输带宽8位;
(5)只能轮流操作,不能并行处理。
IDE扩充后的规范是EIDE,其性能有很大提高:
(1)可连接4台硬盘机;
(2)支持硬盘的最大容量为8.4GB;
(3)数据传输速率为12MB/S~18MB/S;
(4)传输带宽为16位,可扩展到32位;
(5)读/写操作可并行处理。
IDE接口的硬盘机与主机有两种数据传送方式:PIO方式和DMA方式。
PlO方式是通过CPU执行I/O端口指令来进行数据读/写,常采用I/O串操作指令,以达到高的数据传输速率。
DMA方式是数据不经过CPU,而直接在硬盘和内存之间传送,可获得很高的数据传输速率。

6. 问:何谓SCSI接口?
答:SCSI接口是小型计算机接口的缩写,它是美国Shugart公司开发的,主要用于光盘机、磁带机、扫描仪和打印机等设备。
大部分SCSI控制器是以接口卡形式连接到PC主机上的。可连接ISA、EISA、VESA和PCI总线。个别高档主板在板上集成了SCSI控制器。
SCSI有多个标准,从传输速率来分有如下6种:
(1)Fast SCSI—8位总成,数据传输率为10MB/S。
(2)Fast Wide SCSI—16位数据总线,数据传输率为20MB/S。
(3)Ultra SCSI—8位总线,数据传输率为20MB/S。
(4)Wide Ultra SCSI—16位总线,数据传输率为40MB/S。
(5)Ultra-2 SCSI—8位总线,数据传输率为40MB/S。
(6)Wide Ultra-2SCSI—16位总线,数据传输率为80MB/S。
该会员没有填写今日想说内容.

3109

主题

2万

回帖

13万

积分

管理员

运营总监

积分
137321

帅哥勋章诚信商家歙县志愿者

 楼主| 发表于 2008-10-26 15:10 | 显示全部楼层
第六章、中断控制器8259A
1. 问:8259A的缓冲方式和非缓冲方式有什么区别?
答:缓冲方式是指在8259的数据线与8086CPU之间加入一个三态缓冲器,缓冲器的控制信号由8259来提供,而不是由CPU提供。
非缓冲方式当然就是不加缓冲器了。
该会员没有填写今日想说内容.

3109

主题

2万

回帖

13万

积分

管理员

运营总监

积分
137321

帅哥勋章诚信商家歙县志愿者

 楼主| 发表于 2008-10-26 15:10 | 显示全部楼层
第七章、定时计数器8253
1. 问:8253的6种工作方式在计数到0之后计数器处于何种状态?
答:8253中的各个计数器减1使计数值变成0之后,计数器的状态不是处于停止不动的状态。在方式0、1、4和方式5时,计数器减1计数到0后,都从最大的计数值,即FFFFH或BCD码9999继续减1计数;方式2和方式3是周期性工作的,每当计数到0时,计数的初值重新送人计数执行部件,从初值开始继续计数。

2. 问:8253在PC系列微机系统中是如何得到应用的?
答:8253在PC系列微机系统中,在如下三个方面得到了应用:
(1)计数器0作为系统计时器
用计数器0产生时钟信号的系统计时器。系统主要利用它完成日时钟计数。
计数器0的CLKo输人为1.1931816MHz方波,工作于方式3,计数初值为0(即65536),输出信号OUTo接到中断控制器8259A的IRQo作为中断请求输入线,OUT0输出的方波脉冲序列频率为Fout0=1.1931816MHz/65536=18.2Hz
即计数器0中断频率为每秒18.2次,计满1h需要中断65520次(18.2*60*60=65520)。24h需中断1573040次(001800BOH)。每次中断总是对低位字加1,当低位字计满为0时高位字加1。当高位字计到0018H,低位字计到00BOH时,表示计满24h,双字复位清0。
(2)计数器1作为动态存储器定时刷新控制
计数器1的CLK1接1.1931816MHz的方波脉冲,工作于方式2,计数初值为18(0012H),OUTl输出的负脉冲脉宽为1÷1.1931816MHz=838ns,其周期为18÷1.1931816MHz= 15.08 us,即每隔15.08us产生一个正脉冲,作为DMAC8237A的0通道的请求信号DREQ0,定时地对系统的动态存储器芯片进行一次刷新操作。
(3)计数器2作为扬声器音频发生器
计数器2用于为系统机箱内的扬声器发声提供音频信号。系统利用扬声器发声进行提示和故障报警。另外,还可对计数器2重新进行初始化,用于乐曲演奏等。
该会员没有填写今日想说内容.

3109

主题

2万

回帖

13万

积分

管理员

运营总监

积分
137321

帅哥勋章诚信商家歙县志愿者

 楼主| 发表于 2008-10-26 15:10 | 显示全部楼层
第八章、A/D、D/A转换器
1. 问:A/D转换器芯片与微处理器接口时重点应考虑哪些问题?
答:A/D转换器与微处理器相连接是作为微机的一个输入设备。A/D转换器将转换后的数字量输入微机,同时A/D的工作还要受CPU控制,两者之间是通过数据线、控制线和状态线相连接的。
(1)A/D)转换器具有三态缓冲器时,数据线可直接相连;无三态缓冲器的A/D芯片,需外接三态缓冲器,或接并行接口8255A。
(2)A/D转换器需要一个启动信号START和一个输出允许信号OE,这两个信号都应由CPU产生并送人A/D;A/D转换结束将产生一个转换结束状态信号EOC送回到CPU。
(3)A/D与CPU接口时,有一个时间配合问题。从启动A/D到转换结束需几微秒~几百微秒,只有时间匹配得好,才能得到正确转换结果。可采用下述三种方法读取A/D转换结果:
①固定延时等待法
不需应答信号,通过执行一段程序达到延时目的,应等于或略大于A/D转换时间。此法优点是接口简单,缺点是CPU效率低。
②查询等待法
A/D转换启动后,反复测试转换结束信号EOC状态是否有效,转换完毕EOC有效。
③中断法
转换完成EOC有效,用EOC作中断请求信号,请求CPU中断服务。
④A/D位数与CPU数据线位数相等时,读人一次完成;A/D位数高于CPU数据线位数,需外加三态缓冲器,分2次转换,一次读出。

2. 问:D/A转换器芯片与微处理器接口时重点应考虑哪些问题?
答:D/A与CPU连接时,D/A相当于CPU的一个输出设备,只有数据输入线、片选线和写入控制线与CPU有关。实际上就是数据线、地址线及控制线的连接问题。这其中一个重要问题就是数据锁存问题。CPU向D/A转换器输出,实际是通过数据总线进行的。这Vii:据在数据总线上停留的时间极短,而D/A转换器要求在转换期间数据输人保持稳定,以便得到正确的模拟输出,因此需要数据锁存器来保持CPU输出给D/A转换器的数据直至转换结束。事实上多数D/A转换器内部已有锁存器,所以可以直接相连。对于内部没有数据锁存器的D/A转换芯片,则必须外加锁存器,如D触发器、接口芯片8212、8255A等。不论D/A转换器内部或外部的数据锁存器都受地址译码和I/O等信号的控制。

3. 问:常用的D/A转换器有哪几种?
答:常用的D/A转换器有下列4种:
(1)1408DAC
1408DAC是一种价格便宜,性能较低的8位D/A芯片。使用这种转换芯片时,需外加一些器件和电路,如基准电源、输出极性选择电路、运算放大器等。
属于这类芯片的有ADl408,SSSl408A,t~os(r2等。这类芯片主要性能如下:
分辨率:8位
建立时间:250ns
单调性:8位
功耗:157mW
(2)DAC0832
数字输入端具有双重缓冲功能,可以双缓冲、单缓冲或直接输入,适用于多个模拟量同时输出的场合。主要特性为:
分辨率:8位
建立时间:1us
功耗:20mW
输入:TTL
(3)AD7522
数字输入端具有双重锁存,可锁存10位并行数码,还可接纳串行信息。主要特性如下:
分辨率:10位
建立时间:500ns
输出:单极性/5~t极性
功耗:20mW
(4)AD561
AD561是一种高速的D/A转换芯片,双极型器件。主要特性为:
分辨率:10位
建立时间:250ns
输出:单极性/双极性
功耗:290mW

4. 问:常用的A/D转换器有哪几种?
答:常用的A/D转换器有下列3种:
(1)ADC0804
ADC0804是8位、CMOS、逐次逼近型A/D芯片。由+5V单一电源供电,片内有三态输出数据锁存器。主要特性为:
分辨率:8位
精度:+LSB
转换时间:l00us
功耗:875mW
(2)ADC0808/0809
ADC0808/0809是CMOS数据采集器件。包括一个8位的逐次逼近型A/D部分,还提供一个8通道的模拟多路开关和联合寻址逻辑。主要特性为:
分辨率:8位
精度:8位(ADC0809为7位)
转换时间:100us
功耗:15mW
输入电压范围:0~5V
(3)AD574A
AD574A是一种价格低廉、应用广泛的12位逐次逼近式模/数转换器芯片。为了直接与多个8位、12位或16位总线的微处理器相配接,它含有多路方式的三态缓冲器。12位数据在逻辑控制下可以一次读出或两次读出,输入电压可以是单极性的,也可以是双极性的。主要特性如下:
分辨率:12位
转换时间:25us
输入电压:单极性0~+10V,0~+20V;双极性—5~+5V,—10~+10V
功耗:390mW(典型) 725mW(最大)

5. 问:DAC芯片结构中采用双缓冲寄存器的目的是什么?
答:DAC结构中采用双缓冲寄存器的目的是:
(1)能够用于需要同时输出多个参数的模拟量系统中。因为每种参数需1片DAC芯片,N种参数就需要N个DAC芯片。把各个参数分别输入到各个DAC芯片的第一级锁存器,然后再把第一级锁存器的内容同时输入到第二级锁存器,以构成多片DAC0832同时输出模拟量。
(2)对于D/A转换器的位数比CPU数据位数多的场合(例如DAC是12位,CPU数据线8位),采用双缓冲寄存器可解决D/A转换时出现毛刺。因为第一级寄存器需两次送数,两次送数有时间差,会在两次送数的过程中,D/A转换时出现毛刺;而往第二级(D/A)寄存器送数是12位同时传送的,不会出现毛刺问题。
(3)采用二次缓冲输入数据方式可以提高转换速度,因为在输出的同时,可以采集下一个数字量。

6. 问:如何启动A/D?
答:A/D转换器要进行转换需由外部控制启动转换信号,这一启动转换信号可由CPU提供。通常启动信号有两种形式:脉冲信号和电平信号。不同类型的A/D转换器,要求的启动信号也有所不同。对ADC0809、ADC0804和ADCl210等A/D芯片,要求用脉冲信号来启动,由CPU执行输出命令,发出一符合要求的脉冲信号作为启动信号以启动A/D转换器进行转换。对AD570及AD574等A/D芯片,要求用电平作为启动信号。当符合要求的电平加到控制转换的输入引脚时,立即开始转换。在整个转换过程中都必须保证启动信号有效。如果中途撤走启动信号,则转换终止、产生错误结果。为此,CPU一般通过并行接口提供给A/D转换芯片启动信号,或用D触发器锁存启动信号,使之在A/D转换期间保持有效电平。
该会员没有填写今日想说内容.

0

主题

1

回帖

201

积分

秀才

积分
201
发表于 2008-11-5 21:27 | 显示全部楼层
大哥,一看就知道你是高手,能不能帮个忙!
我的邮箱:lijian8742@163.com
1. 编程实现:从一个字节字符串中查找字符‘#’,如果查到则将其偏移地址送到存储单元addr中,否则将0送到addr中。
2. 编程实现:统计存储下列给定字符串的数据块中所有的“0”位的个数,并将统计的结果送入COUNT存储单元。  
所需字符串用:“十七大的主要议程是:听取和审议党的十六届中央委员会的报告,审议中央纪律检查委员会的工作报告,审议并通过《中国共产党章程(修正案)》,选举党的十七届中央委员会,选举中央纪律检查委员会。”
谢谢了
【歙县论坛 贴贴必回】 欢迎网友们加入,群策群力,把我们的论坛越办越好。

1667

主题

1万

回帖

20万

积分

状元

积分
207143

罐水天才奖活动参与奖帅哥勋章突出贡献奖起早贪黑奖宣传大使奖新人进步奖

发表于 2008-11-21 14:36 | 显示全部楼层
灌灌灌灌灌灌灌灌灌灌灌灌灌灌灌灌灌灌灌灌灌灌灌灌灌灌灌灌水水水水灌灌灌灌灌
灌灌灌灌灌灌灌灌灌灌灌灌灌灌灌灌灌灌灌灌灌灌灌灌水水水水水水水水水灌灌灌灌
灌灌灌灌灌灌灌灌灌灌灌灌灌灌灌灌灌灌水水水水水水水水水水水水水水水灌灌灌灌
灌灌灌灌灌灌灌灌灌灌灌灌灌灌灌灌水水水水水水水水水水水水水水水灌灌灌灌灌灌
灌灌灌灌灌灌灌灌灌灌灌水水水水灌水水水水水水水水水水水灌灌灌灌灌半灌灌灌灌
灌灌灌灌灌灌灌灌水水水水水水水灌水水水灌灌水水水水水灌灌灌灌灌灌灌灌灌灌灌
灌灌灌水水水水水水水水水水水水灌灌灌灌灌灌水水水水灌灌灌灌灌灌灌灌灌灌灌灌
灌水水水水水水水水水水水水水水灌灌灌灌灌灌水水水水灌灌灌灌灌灌灌灌灌灌灌灌
灌水水水水水水水水水水水水灌灌灌灌灌灌灌水水水水水水水水水水水灌灌灌灌灌灌
灌水水水水水水水水水水水水灌灌灌灌灌灌水水水水水水水水水水水水水水灌灌灌灌
灌灌水水水水水水水水水水灌灌灌灌灌水水水水水水灌灌灌水水水水水水水灌灌灌灌
灌灌灌灌灌灌灌灌水水水水灌灌灌灌灌水水水水灌灌灌灌灌灌水水水水水灌灌灌灌灌
灌灌灌灌灌灌灌灌水水水水灌灌灌灌水水水水灌灌水水灌灌灌水水水水水灌灌灌灌灌
灌灌灌灌灌灌灌灌水水水水灌灌灌灌水水水水灌灌水水水水灌水水水水水灌灌灌灌灌
灌灌灌灌灌灌灌灌水水水水灌灌灌灌水水水水灌灌水水水水灌水水水水水灌灌灌灌灌
灌灌灌灌灌灌灌灌水水水水灌灌灌灌水水水水灌灌水水水灌灌水水水水水灌灌灌灌灌
灌灌灌灌灌灌灌灌水水水水灌灌灌灌水水水水灌灌水水水灌灌水水水水水灌灌灌灌灌
灌灌灌灌灌灌灌灌水水水水灌灌灌灌水水水水灌水水水水灌灌水水水水水灌灌灌灌灌
灌灌灌灌灌灌灌灌水水水水灌灌灌灌水水水水灌水水水水灌灌水水水水水灌灌灌灌灌
灌灌灌灌灌灌灌灌水水水水灌灌灌灌水水水水灌水水水水灌灌水水水水水灌灌灌灌灌
灌灌灌灌灌灌灌灌水水水水灌灌灌灌水水水水灌水水水水灌灌水水水水水灌灌灌灌灌
灌灌灌灌灌灌灌灌水水水水灌灌灌灌水水水灌灌水水水水灌灌水水水水水灌灌灌灌灌
灌灌水水灌灌灌水水水水水灌灌灌灌水水水灌灌水水水灌灌灌水水水水水灌灌灌灌灌
灌灌水水水水水水水水水水灌灌灌灌灌水水灌灌水水灌灌灌灌水水水水水灌灌灌灌灌
灌灌灌水水水水水水水水水灌灌灌灌灌灌灌灌水水水灌灌灌灌水水水水灌灌灌灌灌灌
灌灌灌灌灌水水水水水水水灌灌灌灌灌灌灌灌水水水灌水水水水灌灌灌灌灌灌灌灌灌
灌灌灌灌灌灌水水水水水水灌灌灌灌灌灌灌水水水水灌灌水水水水灌灌灌灌灌灌灌灌
灌灌灌灌灌灌灌灌灌水水水灌灌灌灌灌灌水水水水水灌灌灌水水水水水水水灌灌灌灌
灌灌灌灌灌灌灌灌灌灌灌灌灌灌灌灌水水水水水水灌灌灌灌灌水水水水水水灌灌灌灌
灌灌灌灌灌灌灌灌灌灌灌灌灌灌灌水水水水水水灌灌灌灌灌灌水水水水水水水灌灌灌
灌灌灌灌灌灌灌灌灌灌灌灌灌灌水水水水水灌灌灌灌灌灌灌灌灌水水水水水水灌灌灌
灌灌灌灌灌灌灌灌灌灌灌灌灌水水水水水灌灌灌灌灌灌灌灌灌灌灌水水水水灌灌灌灌
灌灌灌灌灌灌灌灌灌灌灌灌水水水灌灌灌灌灌灌灌灌灌灌灌灌灌灌灌水水水灌灌灌灌
【歙县论坛 贴贴必回】 欢迎网友们加入,群策群力,把我们的论坛越办越好。
您需要登录后才可以回帖 登录 | 注册加入

本版积分规则

QQ|手机版|歙县论坛主站|歙县论坛-歙县老百姓值得信赖的网络平台 ( 皖ICP备14023110号-2 |34102102000101 )

GMT+8, 2024-5-20 14:18

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表