PAGE PAGE 2 成绩:_____ 大连理工大学 本科实验报告 课程名称 : 计算机原理课程设计 学院(系): 电信学部 专业:电子信息工程 班级:电子0801 学号:200881426 学生姓名 : 丁振 指导教师 : 张仁杰 第一部分:接口实验 大连理工大学实验报告 实验时间: 2010 年12 月3日星期 三 时间 : 13 : 00 ~ 15 :00 实验室(房间号): 420 实验台号码: 22 班级: 电子0801 姓名: 丁振 指导教师签字: 成绩: 实验 一8255并行口实验 一、实验目的和要求 (1)学习利用并行接口芯片8255构成并行接口电路的基本方法 (2)熟悉掌握并行接口芯片8255的基本性能及在时间应用中的硬件连接、初始化编程方法 二、实验算法 编写程序,使8255的PB口为输出口,PA口为输入口,从PA口将K0~K7作为一个字节读入,在从PB口输出这一反码字节。 实验电路图 实验流程图 程序清单 CODE SEGMENT ASSUME CS:CODE START:	MOV DX,21BH ;8255初始化命令字	MOV AL,90H	OUT DX,AL BG: MOV DX,218H ;从PA口读入数据	IN AL,DX XOR AL,FFH ;求反	MOV DX,219H	OUT DX,AL ;从PB口输出	JMP BG CODE ENDS END START 实验结果与分析 通过8255控制字设定PA口为输入口,PB口为数据输出口,读取PA口的数值并通过求反指令将数据取反后,经由PB口输出。 大连理工大学实验报告 实验时间: 2010 年12 月3日星期 五 时间 : 13 : 00 ~ 15 : 00 实验室(房间号): 420验台号码: 22 班级: 电子0801 姓名: 丁振 指导教师签字: 成绩: 实验 二8259中断实验(一) 一、实验目的和要求 (1)了解PC机的中断结构及8259中断控制器的初始化 (2)熟悉8259中断控制器的工作原理和硬件连线方法 (3)了解8259的应用和硬???编程方法 了解8259中断屏蔽 实验算法 编写中断实验程序,主程序使8255的PB口为输出口,输出0FFH,L0~L7指示灯全亮,中断服务程序从PB口输出0FFH,L0~L3亮,L4~L7灭,并延时一段时间后返回主程序。 实验电路图 四、实验流程图 五、程序清单 INT0 EQU 220h INT1 EQU 221h P8255B EQU 219H P8255K EQU 21BH STACK SEGMENT STA	DB 50 DUP(?) TOP	EQU	LENGTH STA STACK ENDS CODE SEGMENT	ASSUME CS:CODE,SS:STACK START: CLI MOV AX,TOP MOV SP,AX PUSH DS MOV AX,0000H	;定义IRQ0中断 MOV DS,AX MOV AX,OFFSET IRQ0 ADD AX,0000H MOV SI,20H MOV [SI],AX MOV AX,CS MOV SI,22H MOV [SI],AX POP DS MOV AL,13H ;对8259进行初始化ICW1 MOV DX,INT0 OUT DX,AL MOV AL,8 ;对8259进行初始化ICW2 MOV DX,INT1 OUT DX,AL MOV CX,0FFFFH LOOP $ MOV AL,9 ;对8259进行初始化ICW4 MOV DX,INT1 OUT DX,AL MOV CX,0FFFFH LOOP $ MOV DX,INT1 MOV AL,0FEH ;对8259进行初始化OCW1 OUT DX,AL MOV CX,0FFFFH LOOP $ MOV DX,INT0 ;对8259进行初始化OCW2,普通EOI返回 MOV AL,20H OUT DX,AL MOV CX,0FFFFH LOOP $ STI	MOV DX,P8255K ;对8255进行初始化	MOV AL,90H	OUT DX,AL DSP:	MOV AL,0FFH	MOV DX,P8255B	OUT DX,AL JMP DSP IRQ0: STI	MOV CX,0FFFFH LOOP $	MOV AL,0FH	MOV DX,P8255B	OUT DX,AL MOV DX,INT0 MOV AL,20H OUT DX,AL	MOV CX,0FFFFH LOOP $	MOV CX,0FFFFH LOOP $ IRET CODE ENDS END START 实验结果与分析 主程序使8255输出高电平,实现L0~L7指示灯全亮。设置中断IRQ0,实现L0~L3亮,L4~L7灭,并延时一段时间后返回主程序。将中断向量的入口地址写入后,通过对8259初始化命令字的写入,实现中断的调用。 大连理工大学实验报告 实验时间: 2010 年12 月10 日 星期 五 时间 : 13 : 00 ~ 15 :00 实验室(房间号): 420号码: 22 班级: 电子0801 姓名: 丁振 指导教师签字: 成绩: 实验 三8259中断实验(二) 实验目的和要求 (1)了解PC机的中断结构及8259中断控制器的初始化 (2)熟悉8259中断控制器的工作原理和硬件连线方法 (3)了解8259的应用和硬件编程方法 (4)了解8259中断屏蔽,以及优先级的判别等特性 二、实验算法 编写中断实验程序,主程序使8255的PB口为输出口,输出0FFH,L0~L7指示灯全亮,IR0中断服务程序从PB口输出0FH,L0~L3灯亮,L4~L7灯灭,并延时一段时间后返回主程序。IR1中断服务程序从PB口输出0F0H,L0~L3灭,L4~L7亮,并延时一段时间后返回主程序。 实验电路图 实验流程图 程序清单 INT0 EQU 220h INT1 EQU 221h P8255B EQU 219H P8255K EQU 21BH STACK SEGMENT STA	DB 50 DUP(?) TOP	EQU	LENGTH STA STACK ENDS CODE SEGMENT ASSUME CS:CODE,SS:STACK START: CLI MOV AX,TOP MOV SP,AX PUSH DS MOV AX,0000H	;设置中断向量IRQ0 MOV DS,AX MOV AX,OFFSET IRQ0 ADD AX,0000H MOV SI,20H MOV [SI],AX MOV AX,CS MOV SI,22H MOV [SI],AX MOV AX,0000H	;设置中断向量IRQ1 MOV DS,AX MOV AX,OFFSET IRQ1 ADD AX,0000H MOV SI,24H MOV [SI],AX MOV AX,CS MOV SI,26H MOV [SI],AX POP DS MOV AL,13H ;对8259进行初始化ICW1 MOV DX,INT0 OUT DX,AL MOV AL,8 ;对8259进行初始化ICW2 MOV DX,INT1 OUT DX,AL mov cx,0fffh	loop $ MOV AL,9 ;对8259进行初始化ICW4 MOV DX,INT1 OUT DX,AL mov cx,0fffh	loop $ MOV DX,INT1 MOV AL,0FCH ;对8259进行初始化OCW1 OUT DX,AL mov cx,0fffh	loop $ MOV DX,INT0 MOV AL,20H ; 普通EOI返回 OUT DX,AL mov cx,0fffh	loop $ STI	MOV DX,P8255K ;对8255进行初始化	MOV AL,90H	OUT DX,AL DSP:	MOV AL,0FFH	MOV DX,P8255B	OUT DX,AL JMP DSP IRQ0: STI	MOV CX,0FFFFH	LOOP $	MOV AL,0FH	MOV DX,P8255B	OUT DX,AL MOV DX,INT0 MOV AL,20H OUT DX,AL	mov cx,0FFFFH	LOOP $	mov cx,0FFFFH	LOOP $ IRET IRQ1: STI	mov cx,0FFFFH	LOOP $	MOV AL,0F0H	MOV DXP8255B	OUT DX,AL MOV DX,INT0 MOV AL,20H OUT DX,AL	mov cx,0FFFFH	LOOP $	mov cx,0FFFFH	LOOP $ IRET code ends end start 六、实验结果与分析 主程序使8255输出高电平,实现L0~L7指示灯全亮。设置中断IRQ0,实现L0~L3亮,L4~L7灭,并延时一段时间后返回主程序。设置中断IRQ1,实现L0~L3灭,L4~L7亮??并延时一段时间后返回主程序。将中断向量的入口地址写入后,通过对8259初始化命令字的写入,使8259工作在全嵌套方式下,中断优先级IRQ0大于IRQ1,这样通过8259对中断的判断来实现中断的响应。 大连理工大学实验报告 实验时间: 2010 年12 月10 日 星期 五 时间 : 13 : 00 ~ 15 : 00 实验室(房间号): 420号码: 22 班级: 电子0801 姓名: 丁振 指导教师签字: 成绩: 实验 四8253定时/计数器实验 实验目的和要求 (1)了解定时器8253的初始化及用法 (2)会用逻辑笔或示波器观察8253的工作状态 二、实验算法 编写程序,使8253工作的定时/计时器2工作在方式3下三、实验电路图 实验流程图 程序清单 TIM_CTL	EQU	203H TIMER0 EQU 200H TIMER1 EQU 201H TIMER2 EQU	202H MODE23 EQU 0B6H MODE13 EQU 76H CODE SEGMENT ASSUME CS:CODE START:	TT:	CLI MOV	DX,TIM_CTL ;初始化8253 MOV	AL,MODE23 OUT	DX,AL MOV	DX,TIMER2 ;先写低8位MOV	AL,0FFh OUT	DX,AL MOV	AL,0FFh ;后写低8位OUT	DX,AL WT: JMP WT CODE ENDS END	START 实验结果与分析 设置8253计时器工作在方式2实现分频器功能,将实验箱上的频率Q0经行65535分频,再由OUT口输出接到逻辑笔,观察逻辑笔的变化。 大连理工大学实验报告 实验时间: 2010年12 月17 日 星期 五 时间 : 13 :00 ~ 15 : 00 实验室(房间号): 420号码: 22 班级: 电子0801 姓名: 丁振 指导教师签字: 成绩: 实验 四A/D转换实验 一、实验目的和要求 (1)了解模/数转换的工作原理 (2)掌握0809的使用方法 二、实验算法 编写程序,用0809的IN0通道采集数据并在数码管上显示 实验电路图 实验流程图 程序清单 B8279 EQU 212H D8279 EQU 210H LED0	EQU 00 LED1 EQU 38H DATA SEGMENT LED DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H DB 5EH,79H,71H DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV DX,B8279 ;对8279进行初始化 MOV AL,0D0H OUT DX,AL MOV	CX,0FFFFH LOOP	$ MOV DX,B8279 MOV AL,LED0 OUT DX,AL MOV AL,LED1 OUT DX,AL MOV DX,B8279 MOV AL,95H OUT DX,AL	MOV DX,D8279 ;数码管显示 MOV AL,40H OUT DX,AL MOV DX,D8279 MOV AL,5eH OUT DX,AL MOV DX,D8279 MOV AL,77H OUT DX,AL TT: MOV DX,230H ;选通IN0通道 OUT DX,AL MOV CX,0FFFFH LOOP $	MOV DX,B8279 MOV AL,83H OUT DX,AL	MOV DX,230H IN AL,DX AND AL,0FH LEA BX,LED XLAT MOV DX,D8279 OUT DX,AL MOV DX,B8279 MOV AL,84H OUT DX,AL MOV DX,230H IN AL,DX MOV CL,4H ROR AL,CL AND AL,0FH LEA BX,LED XLAT MOV DX,D8279 OUT DX,AL JMP TT CODE ENDS END START 实验结果与分析 通过A/D转换接口芯片0809实现模拟量到数据量的转变,并通过键盘显示芯片8279将转换后的数据量显示出来。 大连理工大学实验报告 实验时间: 2010 年12 月17 日 星期 五 时间 : 13 : 00 ~ 15 : 00 实验室(房间号): 420号码: 22 班级: 电子0801 姓名: 丁振 指导教师签字: 成绩: 实验 四 步进电机实验 实验目的和要求 (1)了解步进电机的工作原理,以及脉冲分配概念 (2)掌握计算机控制步进电机的方法 二、实验算法 编写程序,通过8255控制步进电机的旋转 实验电路图 实验流程图 程序清单 CODE SEGMENT ASSUME CS:CODE START:	MOV DX,21BH ;8255初始化	MOV AL,90H	OUT DX,AL	BG: MOV DX,218H	IN AL,DX	CMP AL,01H	JNZ	C2	MOV BX,0FFFFH	JMP WORK C2:	CMP AL,02H	JNZ	C4	MOV BX,07FFFH	JMP WORK C4:	CMP AL,04H	JNZ	C8	MOV BX,0FFFH	JMP WORK C8:	CMP AL,08H	JNZ	CC	MOV BX,07FFH	JMP WORK CC:	MOV	AL,00H	MOV DX,219H	OUT DX,AL	JMP	BG WORK:	MOV	AL,01H	MOV DX,219H	OUT DX,AL	MOV	CX,BX	LOOP	$	MOV	AL,03H	MOV DX,219H	OUT DX,AL	MOV	CX,BX	LOOP	$	MOV	AL,02H	MOV DX,219H	OUT DX,AL	MOV	CX,BX	LOOP	$	MOV	AL,06H	MOV DX,219H	OUT DX,AL	MOV	CX,BX	LOOP	$	MOV	AL,04H	MOV DX,219H	OUT DX,AL	MOV	CX,BX	LOOP	$	MOV	AL,0CH	MOV DX,219H	OUT DX,AL	MOV	CX,BX	LOOP	$	MOV	AL,08H	MOV DX,219H	OUT DX,AL	MOV	CX,BX	LOOP	$	MOV	AL,09H	MOV DX,219H	OUT DX,AL	MOV	CX,BX	LOOP	$	JMP BG	CODE ENDS END START 实验结果与分析 初始化8255