2.微处理器,微型计算机,微型计算机系统有什么联系与区别? 答:微处理器(Microprocessor):由算术逻辑部件(ALU),累加器和通用寄存器组,程序计数器,时序和控制逻辑部件,内部总线等组成。微型计算机(Microcomputer__MC):由CPU、存储器、输入/输出接口和系统总线组成。微型计算机系统(Microcomputer System_MCS):以微型计算机为主体,配上外设和系统软件,就构成了微型计算机系统。
3.微处理器由哪些主要部件组成?其功能是什么?
答:微处理器(Microprocessor):由算术逻辑部件(ALU),累加器和通用寄存器组,程序计数器,时序和控制逻辑部件,内部总线等组成。指令执行部件(EU)主要由算术逻辑运算单元(ALU)、标志寄存器FR、通用寄存器组和EU控制器等4个部件组成,其主要功能是执行指令。 总线接口部件(BIU)主要由地址加法器、专用寄存器组、指令队列和总线控制电路等4个部件组成,其主要功能是形成访问存储器的物理地址、访问存储器并取指令暂存到指令队列中等待执行,访问存储器或I/O端口读取操作数参加EU运算或存放运算结果等。
4.画一个计算机系统的方框图,简述各部分主要功能。 答:计算机系统的方框图如下:
控制器输入设备主存储器输出设备运算器 运算器是执行算术运算和逻辑运算的部件,其主要任务是对数据进行加工处理。 控制器的主要作用是取出要执行的每一条指令、然后进行指令译码并执行指令。 输入设备用于将数据输入到计算机中。
输出设备把计算机加工后的信息输出给用户。 主存储器用于存放程序和数据等。
7.什么是PCI局部总线?什么是USB?
答:PC总线是PC机和PC/XT机中采用的系统总线标准,是外设互连局部总线,适用于32/位并行数据传送,最大通信速率为132MB/s,具有即插即用的功能。
USB总线是通用串行总线,采用通用连接器和自动配置及热插拔技术和相应的软件,实现资源共享和外设的简单快速连接,不需要单独的供电系统,数据传输速率有15MB/S和1.5MB/S两种。
第二章8086系统结构
1.8086CPU内部由哪两部分组成?它们的主要功能是什么?
答:8086CPU内部由指令执行部件(EU)和总线接口部件(BIU)两部分组成。
指令执行部件(EU)主要功能是完成指令译码和执行指令。 总线接口部件(BIU)主要功能是形成访问存储器的物理地址、访问存储器并取指令暂存到指令队列中等待执行,访问存储器或I/O端口读取操作数参加EU运算或存放运算结果等。
2.8086CPU中有哪些寄存器?各有什么用途? 答:
数据寄存器:共有4个寄存器AX、BX、CX、DX,用来保存操作数或运算结果等信息。 AX寄存器称为累加器。使用频度最高,用于算术、逻辑运算以及与外设传送信息等。 BX寄存器称为基址寄存器。常用于存放存储器地址。
CX寄存器称为计数器。一般作为循环或串操作等指令中的隐含计数器。
DX寄存器称为数据寄存器。常用来存放双字数据的高16位,或存放外设端口地址。
变址和指针寄存器:包括SI、DI、SP、BP4个16位寄存器,主要用于存放某个存储单元的偏移地址。SI是源变址寄存器,DI是目的变址寄存器,在字符串操作中,SI和DI都具有自动增量或减量的功能。 SP为堆栈指针寄存器,用于存放当前堆栈段中栈顶的偏移地址;BP为基址指针寄存器,用于存放堆栈段中某一存储单元的偏移地址。
段寄存器:8086CPU的4个16位的段寄存器分别称为代码段寄存器CS,数据段寄存器DS,堆栈段寄存器SS,附加数据段寄存器ES。段寄存器用来确定该段在内存中的起始地址。
代码段用来存放程序的指令序列。CS存放代码段的段首址,指令指针寄存器IP指示代码段中指令的偏移地址。
8086CPU中的指令指针IP,它总是保存下一次将要从主存中取出指令的偏移地址,偏移地址的值为该指令到所在段段首址的字节距离。在目标程序运行时,IP的内容由微处理器硬件自动设置,程序不能直接访问IP,但一些指令却可改变IP的值,如转移指令、子程序调用指令等。
标志寄存器:8086CPU中有一个很重要的16位标志寄存器,它包含9个标志位,主要用于保存一条指令执行后,CPU所处状态信息及运算结果的特征。
5.要完成下述运算或控制,用什么标志位判断?其值是什么?
(1)比较两数是否相等? (2)两数运算后结果是正数还是负数?
(3)两数相加后是否溢出? (4)采用偶校验方式,判定是否需要补“1”? (5)两数相减后比较大小? (6)中断信号能否允许? 答:(1)ZF=0则不等,ZF=1则相等; (2)SF=0为正,SF=1为负; (3)OF=0不溢出,OF=1溢出; (4)需要补“1”;
(5)如ZF=1则相等,否则:ZF=0时,如CF=0则被减数大于减数;CF=1则减数大于被减数; (6)如IF=1则允许CPU响应可屏蔽中断,否则IF=0则CPU不响应。
6.8086系统中存储器采用什么结构?用什么信号来选中存储体?
答:8086系统中存储器采用分体结构。分成奇、偶两个存储体,把1MB分成两个512KB存储体。分别用A0选中偶存储体,用BHE选中奇存储体。
12.若当前SS=3500H,SP=0800H,说明堆栈段在存储器中的物理地址,若此时入栈10个字节,SP内容是什么?若再出栈6个字节,SP为什么值? 答:堆栈段在存储器中的物理地址为:从以物理地址为35800H的栈顶开始递减的最大为KB空间。
若此时入栈10个字节,(SP)=03F6H; 若再出栈6个字节,(SP)=03FCH。
15.说明8086系统中“最小模式”和“最大模式”两种工作方式的主要区别是什么?
答:8086系统中“最小模式”和“最大模式”两种工作方式的主要区别是:最小模式为单处理器系统,系统中所需的控制信号由CPU提供,实现存储器及I/O接口电路的连接。最大模式可以构成多处理器/协处理器系统,系统中所需的控制信号由总线控制器8288提供,8086提供信号控制8288,以实现全局资源分配及总线控制权传递。
16.8086系统中为什么要用地址锁存器?8282地址锁存器与CPU如何连接?
答:CPU与存储器(或I/O端口)进行数据交换时,CPU首先要送出地址信号,然后再发出控制信号及传送数据。由于8086引脚,地址和数据分时
复用一组总线,所以要加入地址锁存器,先锁存地址,使在读/写总线周期内地址稳定。
第三章 8086的寻址方式和指令系统
7.已知当前数据段中有一个十进制数字0~9的7段代码表,其数值依次为40H,79H,24H,30H,19H,12H,02H,78H,00H,18H。要求用XLAT指令将十进制数57转换成相应的7段代码值,存到BX寄存器中,试写出相应的程序段。
答:TAB DB 40H,79H,24H,30H,19H,12H,02H,78H,00H,18H START: MOV AL, 5 LEA BX, TAB XLAT TAB
MOV DH, AL MOV AL, 7
LEA BX, TAB
XLAT TAB
MOV BL, AL MOV BH, DH
10.某班有7个同学的英语成绩低于80分,分数存在ARRAY数组中,试编程完成以下工作: (1)给每个人加5分,结果存到NEW数组中。 (2)把总分存到SUM单元中。
(3)把平均分存到AVERAGE单元中。 答:(1)ARRAY DB 60,62,63,65,67,68,69 NEW DB 7DUP(?) START: LEA SI, ARRAY LEA DI, NEW MOV CX, 7 L1: MOV AL, [SI] MOV [DI], AL ADD AL, 5 DAA
INC SI INC DI
LOOP L1
(2)SUM DW 0 (3)AVERAGE DB 0 START: LEA BX,ARRAY MOV AX,SUM MOV CX,7 MOV BX,7 MOV AX,0 DIV BX
L2:MOV DL,[BX] MOV AVERAGE,AL MOV DH,0 ADD AX,DX INC BX LOOP L2
MOV SUM,AX
13.编程将AX寄存器中的内容以相反的次序传送到DX寄存器中,并要求AX中的内容不被破坏,然后统计DX寄存器中的1的个数是多少? 答:DATA DW ?
START: MOV BX, 0 MOV CX, 16 MOV AX, DATA L1: ROL AX, 1 JNC L2 INC BX L2: RCR DX, 1 LOOP L1 END START
第四章 程序设计
1.下列变量各占多少字节?
A1 DW 23H,5876H ;4 A2 DB 3 DUP(?),0AH,0DH,‘$’ ;6
A3 DD 5 DUP(1234H,5670H) ;40 A4 DB 4 DUP(3 DUP(1,2,‘ABC’)) ;60
7.编程完成下列功能:
(2)利用中断调用,在屏幕上显示1~9之间随机数。 答:
stack SEGMENT DW 50 DUP(?) stack ENDS code SEGMENT
ASSUME CS:code,SS:stack start:
MOV AX,stack MOV SS,AX
L1: MOV AH,2CH
INT 21H ;取时间,DL=1/100秒为随机数(0~99) XOR AX,AX MOV AL,DL
MOV BL,10
DIV BL ;1/100秒除10 MOV DL,AH
ADD DL,30H ;二进制数转换为ASCII码 MOV AH,2
INT 21H ;显示1~9 MOV AH,4CH
INT 21H ;返回DOS
code ENDS END start
15.从键盘输入20各有符号,将他们排序并在屏幕上显示。
data SEGMENT
buf1 DB 20 DUP(?) buf2 db 0dh,0ah,'$' data ENDS
stack SEGMENT DW 50 DUP(?) stack ENDS code SEGMENT
ASSUME CS:code,DS:data,SS:stack start:MOV AX,data MOV DS,AX MOV AX,stack
MOV SS,AX
MOV BX,0 MOV CX,20 input:MOV AH,1 INT 21h CMP AL,39h JBE z1 ADD AL,9 z1: AND AL,0fh PUSH CX MOV CL,4 SAL AL,CL MOV DL,AL MOV AH,1 INT 21h CMP AL,39h JBE z2 ADD AL,9 z2: AND AL,0fh OR AL,DL
MOV buf1[BX],AL INC BX MOV DL,',' MOV AH,2
INT 21h POP CX LOOP input
MOV BX,0ffffh MOV CX,20 DEC CX L1: MOV DX,CX L2: INC BX
MOV AL,buf1[BX] CMP AL,buf1[BX+1] JLE cont1
XCHG AL,buf1[BX+1] MOV buf1[BX],AL cont1:LOOP L2
MOV CX,DX MOV BX,0ffffh LOOP L1 ;
LEA DX,buf2 MOV AH,9 INT 21h MOV BX,0 MOV CX,20
output:MOV DL,buf1[BX]
PUSH CX PUSH DX AND DL,0f0h MOV CL,4 SHR DL,CL CMP DL,0ah JB s1
ADD DL,07h s1: ADD DL,30h MOV AH,2 INT 21h POP DX AND DL,0fh CMP DL,0ah JB s2
ADD DL,07h s2: ADD DL,30h MOV AH,2 INT 21h INC BX MOV DL,',' MOV AH,2 INT 21h POP CX LOOP output
MOV AH,4ch INT 21h code ENDS END start
22.编程统计学生的数学成绩,分别归类90~99分、80~分、70~79分、60~69分及60分以下,并将各段人数送入内存单元中。分别存放到SCOREE、SCORED、SCOREC、SCOREB、SCOREA DATA SEGMENT
SCORE DB 90,23,56,67,98,78,10,45,87,98 N=$-SCORE
SCOREE DB 0 ;60分以下人数 SCORED DB 0 ;60~69分人数 SCOREC DB 0 ;70~79分人数 SCOREB DB 0 ;80~分人数 SCOREA DB 0 ;90~99分人数 DATA ENDS
CODE SEGMENT 'CODE'
ASSUME CS:CODE,DS:DATA START: MOV AX, DATA
MOV DS, AX LEA SI, SCORE MOV CX, N MOV DL, 10 CLASS: MOV AH, 0
MOV AL, [SI] DIV DL SUB AL, 5 JG GREAT
INC BYTE PTR SCOREE JMP NEXT GREAT: MOV AH, 0
MOV BX, AX
INC BYTE PTR SCOREF[BX] NEXT: INC SI
LOOP CLASS MOV AH, 4CH INT 21H CODE ENDS
END START
第五章 存储器
4.什么是Cache?作用是什么?处在微处理机中的什么位置? 答:Cache是由SRAM组成的容量较小的高速缓冲存储器。
它的作用是为了提高CPU的运行效率,将经常访问的代码和数据保存到Cache中。从而有效的利用某些程序访问存储器在时间上和空间上有局部区域的特性,并且由于Cache的访问速度高于内存的访问速度,因此可以大大的提高CPU的工作效率。 Cache位于CPU和主存储器之间。
6.为什么要保持Cache内容与主存储器内容的一致性?为了保持Cache内容与主存储器内容的一致性应采取什么方法?
答:在高速缓冲存储器系统中,主存储器与Cache中的数据可能由于一个被修改了,而另一个未修改而不一致。所以必须有一个更新系统来保持两个存储内容的一致性。
为了保持Cache内容与主存储器内容的一致性可采取两种方法:
①通写式:Cache中的数据块一经修改,立即将其写入主存储器相关存储块中。
②回写法:当Cache中的数据块被其他数据替换时,才将Cache中的数据回写到主存储器。
8.现有一存储体芯片容量为512×4位,若要用它组成4KB的存储器,需要多少这样的芯片?每块芯片需要多少寻址线?整个存储系统最少需要多少寻址线? 答:
5124位5124位==16(片) 4K8位4KB由于每片容量为512×4位,而29=512,所以需要9根寻址线。
由于每片容量为512×4位所以要组成4KB的存储器必须每两片512×4位组成一组构成
512×8位即512B容量,共需8组才能构成4KB的存储器, 因此片外地址需要3根寻址线(2=8);所以整个存储系统最少需要12根寻址线。
13.用8K×8位的27,8K×8位的62和译码器74LS138构成一个16K字ROM,16K字RAM的存储器子系统。8086工作在最小模式系统带有地址锁存器8282,数据收发器8286。画出存储器系统与CPU的连接图,写出各块芯片的地址分配。
3123456DDa1RDWR322925ALE242627283130RDLOC/WRQS0ALEQS1INAS0,DENS1DT/RS2M/IORQ/GT0RQ/GT1AD0AD1AD2AD3AD4AD5AD6AD7AD8AD9AD10AD11AD12AD13AD14AD15A16/S3A17/S4A18/S5A19/S6BHE/S7161514131211109876323938373635AD0AD1AD2AD3AD4AD5AD6AD7AD8AD9AD10AD11AD12AD13AD14AD15A16A17A18A19AD0AD1AD2AD3AD4AD5AD6AD7123456711a2DI0DI1DI2DI3DI4DI5DI6DI7OESTB8282a3AD81AD92AD103AD114AD125AD136AD147AD1511DI0DI1DI2DI3DI4DI5DI6DI7OESTB8282a4a5DO0DO1DO2DO3DO4DO5DO6DO71918171615141312A16A17A18A191A162A173M/IO6A184A195SEL ASEL BSEL CEN 1EN 2AEN 2BY0 OUTY1 OUTY2 OUTY3 OUTY4 OUTY5 OUTY6 OUTY7 OUTBHE15141312111097DO0DO1DO2DO3DO4DO5DO6DO71918171615141312A8A9A10A11A12A13A14A15DO0DO1DO2DO3DO4DO5DO6DO71918171615141312A0A1A2A3A4A5A6A7A110A29A38A47A56A65A74A83A925A1024A1121A1223A132RD22WR27A02620a8A0A1A2A3A4A5A6A7A8A9A10A11A12OEWECS2CS162a9A110A29A38A47A56A65A74A83A925A1024A1121A1223A132RD22WR27BHE2620A0A1A2A3A4A5A6A7A8A9A10A11A12OEWECS2CS162D0D1D2D3D4D5D6D71112131516171819D8D9D10D11D12D13D14D15A110A29A38A47A56A65A74A83A925A1024A1121A1223A132RD22WR272620D0D1D2D3D4D5D6D71112131516171819D0D1D2D3D4D5D6D7A110A29A38A47A56A65A74A83A925A1024A1121A1223A132RD22WR27A02620a10A0A1A2A3A4A5A6A7A8A9A10A11A12OEWECS2CS162a11A0A1A2A3A4A5A6A7A8A9A10A11A12OEWECS2CS162D0D1D2D3D4D5D6D71112131516171819D8D9D10D11D12D13D14D15D0D1D2D3D4D5D6D71112131516171819D0D1D2D3D4D5D6D7DENALE1718332322NMIINTRMN/MXTESTREADY1921CLKRESET808634BHEALECM/IOA16A17A18A19123456711DI0DI1DI2DI3DI4DI5DI6DI7OESTBC74LS138(16)ALEBHE828221A02A4ASN74001A4ASN7400a6AD0AD1AD2AD3AD4AD5AD6AD7DENDT/R123456711A0A1A2A3A4A5A6A7OET8286a7AD81AD92AD103AD114AD125AD136AD147AD158DENDT/R911A0A1A2A3A4A5A6A7OET8286B0B1B2B3B4B5B6B71918171615141312D8D9D10D11D12D13D14D15A14B0B1B2B3B4B5B6B71918171615141312D0D1D2D3D4D5D6D7BHEa12A1A2A3A4A5A6A7A8A9A10A11A12A1332SN74001098763252421232A0A1A2A3A4A5A6A7A8A9A10A11A12CEOEPGMVPP27a13A1A2A3A4A5A6A7A8A9A10A11A12A1310987632524212322022271A0A1A2A3A4A5A6A7A8A9A10A11A12CEOEPGMVPP2765SN7400D0D1D2D3D4D5D6D71112131516171819D8D9D10D11D12D13D14D15A110A29A38A47A56A65A74A83A925A1024A1121A1223A13220RD22271D0D1D2D3D4D5D6D71112131516171819D0D1D2D3D4D5D6D7A110A29A38A47A56A65A74A83A925A1024A1121A1223A13220RD22271a14A0A1A2A3A4A5A6A7A8A9A10A11A12CEOEPGMVPP27a15A0A1A2A3A4A5A6A7A8A9A10A11A12CEOEPGMVPP27D0D1D2D3D4D5D6D71112131516171819D8D9D10D11D12D13D14D15D0D1D2D3D4D5D6D71112131516171819D0D1D2D3D4D5D6D733BA19A1B20RD22271A16NOTRDA3B4 AATitleSizeCDate:File:12345NumberRevision1-Dec-2008 H:\\ZY\\homework1.DdbSheet of Drawn By:6解:
A 19 A 18 A 17 A16 A 15 A 14 A13 A 12 A 11 A 10 A 9 A 8 A 7 A 6 A 5 A 4 A 3 A 2 A 1 A0
8.2 CPU响应中断的条件是什么?简述中断处理的过程。 答:
CPU响应中断的条件: 1.外设请求
2.中断接口未屏蔽 3.中断允许 中断处理过程 1.取类型号
2.标志寄存器入栈 3.TF=IF=0(关中断)
4.CS、IP入栈(保护断点) 5.查找入口地址→ CS、IP
6.恢复有关寄存器内容(IP 、CS 、PSW)
8.8 假定中断类型号15的中断处理程序的首地址为ROUT15,编写 主程序中为建立一个中断向量的程序。 解:
Rout15: .
mov al,15
mov ah,35h ;利用DOS功能35H号 int 21h ;获取原15号中断向量 Push es ;保存段基地址 Push bx ;保存偏移地址
Push ds ; 保存原数据段基地址 mov dx,offset rout15 ;取中断程序偏移地址
mov ax,seg rout15 ; 取中断程序段地址 mov ds,ax mov al,15 mov ah,25h int 21h pop ds
Pop dx ;恢复原中断向量
Pop ds mov al,15 mov ah,25h int 21h Ret .
. iret
8.15 某系统中有3片8259A级联使用,1#片为8259A主片,2#片为8259A从片,从片接入8259A主片的IR2和IR5端,并且当前8259A主片的IR3及两片8259A从片的IR4各接有一个外部中断源。中断类型基号为80H、 90H 、A0H,中断入口段基址在2000H,偏移地址分别为1800H、 2800H、3800H ,主片8259A的端口地址为CCF8H、CCFAH。一片8259A从片 的端口地址为FFE8H、FFEAH,另一片8259A从片的端口地址为FFECH、FFEEH,中断采用电平触发,完全嵌套工作方式,普通EOI结束。 (1)画出硬件连接图; (2)编写初始化程序。 解: (1)硬件连接图
U?1110987627132161726D0D1D2D3D4D5D6D7A0CSRDWRSP/ENINTINTA8259AU?IR0IR1IR2IR3IR4IR5IR6IR718192021222324251110987627132161726D0D1D2D3D4D5D6D7A0CSRDWRSP/ENINTINTA8259AU?1110987627132161726D0D1D2D3D4D5D6D7A0CSRDWRSP/ENINTINTA8259AIR0IR1IR2IR3IR4IR5IR6IR71819202122232425IR0IR1IR2IR3IR4IR5IR6IR71819202122232425IR0IR1IR2IR3IR4IR5IR6IR71819202122232425从片CAS0CAS1CAS2121315U?1110987627132161726D0D1D2D3D4D5D6D7A0CSRDWRSP/ENINTINTA8259AVCC主片从片CAS0CAS1CAS2121315CAS0CAS1CAS2121315从片CAS0CAS1CAS2121315 (2)初始化程序 ①设置中断向量:
mov ax,2000H ; 送入段地址 mov ds,ax
mov dx,1800H ; 送入偏移地址 mov al,83H ; 设置83H mov ah,25h int 21h
mov dx,2800H ; 送入偏移地址 mov al,94H ; 设置94H mov ah,25h int 21h
mov dx,3800H ; 送入偏移地址 mov al,A4H ; 设置A4H mov ah,25h int 21h
②主片8259A初始化:
Mov al,19h ; 定义ICW1,主片8259A级联使用、电平触发,0001 mov dx,ccf8H Out dx,al Mov dx,ccfah
Mov al.80h ; 定义ICW2,中断类型号80H~87H Out dx,al Mov al,24h
Out dx,al ; 定义ICW3,IR2和IR5接从片的INT Mov al, 11h
Out dx,al ; 定义ICW4,.特殊完嵌套方式,非缓冲方式,非自动EOI Mov al,d3h
Out dx,al ; 定义OCW1,允许IR2、IR3、IR5中断,其余屏蔽 Mov al,20h Mov dx,ccf8h
Out dx,al ; 定义OCW2,普通EOI ②从片8259A-1初始化:
Mov al,19h ; 定义ICW1,级联使用、电平触发、设置ICW4 mov dx,ffe8H Out dx,al Mov dx,ffeah
Mov al.90h ; 定义ICW2,中断类型号90H~87H Out dx,al Mov al,02h
Out dx,al ; 定义ICW3,从片接主片的IR2 Mov al, 01h
Out dx,al ; 定义ICW4,完全嵌套方式,非缓冲方式,非自动EOI Mov al,EFH
Out dx,al ; 定义OCW1,允许IR4中断,其余屏蔽 Mov al,20h Mov dx,ffe8h
Out dx,al ; 定义OCW2,普通EOI ②从片8259A-2初始化:
Mov al,19h ; 定义ICW1,级联使用、电平触发、设置ICW4 mov dx,0ffe8H Out dx,al
Mov dx,0ffeah
Mov al.A0h ; 定义ICW2,中断类型号A0H~A7H Out dx,al Mov al,05h
Out dx,al ; 定义ICW3,从片接主片的IR5 Mov al, 01h
Out dx,al ; 定义ICW4,完全嵌套方式,非缓冲方式,非自动EOI Mov al,0EFH
Out dx,al ; 定义OCW1,允许IR4中断,其余屏蔽 Mov al,20h Mov dx,0ffe8h
Out dx,al ; 定义OCW2,普通EOI
9.4 设8253通道0~2和控制端口的地址分别为300H、302H、304H和306H,定义通道0工作方式3,CLK0=2MHZ。试编写初始化程序,并画出硬件连线图。要求通道0输出1.5KHZ的方波,通道1用通道0的输出作计数脉冲,输出频率为300HZ的序列脉冲,通道2每秒钟向CPU发50次中断请求。
解: (1)硬件连线图
(2)初始化程序
MOV DX,306H MOV DX,306H MOV DX,306H
MOV AL,00110111B MOV AL,01010101B MOV AL,10010101B OUT DX,AL OUT DX,AL OUT DX,AL MOV DX,300H MOV DX,302H MOV DX,300H MOV AL,33H MOV AL,05H MOV AL,06H OUT DX,AL OUT DX,AL OUT DX,AL MOV AL,13H OUT DX,AL
9.8255A的口地址为80H一83H,8253的口地址为84H一87H。
(1)若A口接8个开关K7一K0,B口接8个指示灯LED7一LED0,当开关合上时相应的指示灯点亮,断开时灯灭,要求每隔0.5秒检测一次开关状态,并在开关上显示出来,试画出硬件连线图,编写实现这种功能的程序。
(2)若把接在端口A上的开关去掉,要求接在端口B上的指示灯轮流熄灭灭1秒钟,请编程实现这种功能。
第十章 串行通信和可编程接口芯片8251A
1.串行通信与并行通情的主要区别是什么?各有什么优缺点?
答:串行通信与并行通情的主要区别是:串行通信是以一位一位的方式按照一定的顺序发送数据,每次只能发送一位数据;并行通信是一次发送多位数据;串行通信的速度慢,但使用的传输设备成本低,可利用现有的通信手段和通信设备,适合于计算机的远程通信;并行通信的速度快,但使用的传输设备成本高,适合于近距离的数据传送。
2.在串行通信中.什么叫单工、半双工、全双工工作方式? 答:1.单工:
单工数据线仅能在一个方向上传输数据.两个站之间进行通信时,一边只能发送数据,另一边只能接收数据。 2.半双工:
在半双工方式中。数据可在两个设备之间向任一个方向传输、但两个设备之间只有一根传输线,故同一时间内只能在——个方向上传输数据,不能同时收发。
3.全双工:
如果在一个数据通信系统中,对数据的两个传输方向来用不同的通路,这样的系统就可以同时发送和接收数据。 3.什么叫同步工作方式?什么叫异步工作方式?哪种工作方式的效率更高?为什么?
答:所谓异步工作方式,是指以字符为单位传输数据,用起始位和停止位标识每个字符的开始和结束字符,两次传输时间间隔不固定。而同步工作方式就是为了提高速度,去掉了同步通信的这些标志,由同步字符实现发送和接收方同步工作进行数据的连续发送和接收。同步通信工作方式的效率更高。异步通信对收、发两端的同步要求不是很高,不需要同步信号线,但传输速度较低。同步通信虽然传输速度较高,但对收、发两端的同步要求也较高。采用同步传输,在数据块开始处要用同步字符来指示,并在发送端和接收端之间要用时钟来实现同步。
4.用图表示异步串行通信数据的依格式,标出起始佐、停止位和奇偶校验位,在数字位上标出数字各位发送的顺序。 答:
数据发送的顺序
第十一章 模数(A/D)和数模(D/A)转换
3 某一8位D/A转换器的端口地址为220H,已知延时20ms的子程序为DELAY_20MS,参考电压力十5 V,输出信号(电压值)送到示波器显示,试编程产生如下波形:
(1)下限为0V,上限为十5 V的三角波。 (2)上限为1.2 V,下限为4 V的梯形波。
(1)下限为0V,上限为十5 V的三角波。 下限:0V=0;上限:5 V=FFH
MOV DX,220H;0832芯片地址
T1:MOV AL,0 ;下限 OUT DX,AL
INC AL ;修改输出数据 CMP AL,0FFH JNZ T1
T2:OUT DX,AL ;输出0FF DEC AL CMP AL,0 JNZ T2
JMP T1 ;循环产生三角波
(2)上限为1.2 V,下限为4 V的梯形波。
下限:1.2 V=256×1.2 V/5 V=61=1DH;上限:4V=256×4V/5 V=205=CDH
MOV DX,220H ;端口地址送DX T1:MOV AL,1DH OUT DX,AL
CALL DELAY_20MS
T2: INC AL
CMP AL,0CDH JG T3
OUT DX,AL LOOP T2
T3:CALL DELAY_20MS DEC AL CMP AL,1D JE T1
OUT DX,AL LOOP T3
7.利用8255A和A沉0809等芯片设计PC机上的A/D转换卡,设8255A的口地址为3C0H~3C3H,要求对8个通道各采集1个数据,存放到数据段中以D_BUF为始址的缓冲器中,试完成以下工作:
(1)画出硬件连线图
(2)编写完成上述功能的程序
DSEG SEGMENT
D_BUF DB 8 DUP(?) DSEG ENDS
CSEG SEGMENT
ASSUME CS:CSEG,DS:DSEG ,ES:DSEG MAIN PROC
MOV AX,DSEG MOV DS,AX MOV ES,AX MOV CX,8 CLD
MOV AL,10011001B
MOV DX,3C3H ;8255初始化 OUT DX,AL
MOV BL,00H ;模拟通道号 LEA DI,DATA
NEXT1: MOV DX,3C2H ;C口 MOV AL,BL OUT DX,AL
MOV DX,3C3H ;指向控制口
MOV AL,00000111B ;PC3置1 OUT DX,AL
MOV AL,00000110B OUT DX,AL MOV DX,3C2H A1: IN AL,DX TEST AL,80H JNZ A1
A2: IN AL,DX TEST AL,80H JZ A2
MOV DX,3C0H IN AL,DX STOSB INC BL
LOOP NEXT1 INT 20H MAIN ENDP CSEG ENDS END
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- igat.cn 版权所有 赣ICP备2024042791号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务