16 值不相同。 实验九、8279键盘扩展实验 一、实验目的 1、 掌握8279的工作原理。 2、熟悉8279与键盘接口的方法 3、学习、了解键盘扩展方法。 二、实验内容 将8279的扫描放入BX寄存器中,程序每循环一次,将读键码一次。 实验十、8279显示器接口实验 一、实验目的 1、进一步掌握8279的工作原理 2、学习LED显示器的使用方法。 3、熟悉8279的接口方法。 二、实验内容 将在6位LED上循环显示8。 实验十一、8237DMA控制器实验 一、实验目的 掌握DMA工作方式的原理和DMA控制器8237的编程使用方法。 二、实验内容 用DMA方式将02000H到020FFH共100H个字节传送到02100H
16 值不相同。 实验九、8279 键盘扩展实验 一、实验目的 1、 掌握 8279 的工作原理。 2、 熟悉 8279 与键盘接口的方法。 3、 学习、了解键盘扩展方法。 二、实验内容 将 8279 的扫描放入 BX 寄存器中,程序每循环一次,将读键码一次。 实验十、8279 显示器接口实验 一、实验目的 1、 进一步掌握 8279 的工作原理。 2、 学习 LED 显示器的使用方法。 3、 熟悉 8279 的接口方法。 二、实验内容 将在 6 位 LED 上循环显示 8。 实验十一、8237DMA 控制器实验 一、实验目的 掌握 DMA 工作方式的原理和 DMA 控制器 8237 的编程使用方法。 二、实验内容 用 DMA 方式将 02000H 到 020FFH 共 100H 个字节传送到 02100H
九、课堂演示实验指导 1、课堂演示实验是在多媒体教室进行,是理论教学过程中的实际展示。课 堂演示实验由上课教师操作,随堂进行。一般每个演示实验不超过10分钟。 2、课堂演示实验只是对课堂教学内容在实际微机上实现的展示,与实验室 实验课不同,是实验室实验课的补充。例如课堂上讲中断系统组织、中断向量、 中断服务程序等,学生可能听不系统。通过现场进入微机的内存,直接观看中 断向量、中断服务程序,印象会非常深刻。对消化、理解理论课的教学内容起 到非常重要的作用。 3、课堂演示实验方法举例: 例如本节课讲中断系统,可以打开DEBUG,进入内存,实际看中断向 量表。在2000:1234单元写一个显示字符“A”的小程序,给该程序约定为80H 号中断服务程序,在2000:100单元写一条软中断调用指令进入80H中断,在 0000:0200单元填写2000:1000向量。用单步执行方式一步一步执行程序。 可以使学生当堂掌握、加深理解课堂教学内容。 (一)8086CPU内部寄存器实验(10分钟) 实验目的加深对8086CPU内部寄存器的印象,加深对CPU内部状态 标志位的印象。理解控制标志的意义。 1、利用DEBUG实现内部寄存器显示 利用R命令查看寄存器 利用R命令查看、修改寄存器 2、利用DEBUG编写2条指令,执行,看状态标志位改变 例执行MOV AL,55H ADD AL,55H看ZF,CF,OF,AF,SF的变化 3、记住DF标志=UP写如下程序 CLD 使方向标志置0 STD 使方向标志置1 CLD STD 单步运行此程序,观察DF标志的变化。 (二)中断向量表实验(10分钟) 实验目的是观看微机的中断向量表,计算某个向量对应的地址,填写中 断,编写中断服务程序,演示中断进入、返回的过程。 1、运行DEBUG,进入内存,用D0000:0000命令看中断向量表。 2、在2000:1234单元写一个显示字符“A”的小程序
17 九、课堂演示实验指导 1、课堂演示实验是在多媒体教室进行,是理论教学过程中的实际展示。课 堂演示实验由上课教师操作,随堂进行。一般每个演示实验不超过 10 分钟。 2、课堂演示实验只是对课堂教学内容在实际微机上实现的展示,与实验室 实验课不同,是实验室实验课的补充。例如课堂上讲中断系统组织、中断向量、 中断服务程序等,学生可能听不系统。通过现场进入微机的内存,直接观看中 断向量、中断服务程序,印象会非常深刻。对消化、理解理论课的教学内容起 到非常重要的作用。 3、课堂演示实验方法举例: 例如本节课讲中断系统,可以打开 DEBUG,进入内存,实际看中断向 量表。在 2000:1234 单元写一个显示字符“A”的小程序,给该程序约定为 80H 号中断服务程序,在 2000:100 单元写一条软中断调用指令进入 80H 中断,在 0000:0200 单元填写 2000:1000 向量。用单步执行方式一步一步执行程序。 可以使学生当堂掌握、加深理解课堂教学内容。 (一) 8086CPU 内部寄存器实验(10 分钟) 实验目的加深对 8086CPU 内部寄存器的印象,加深对 CPU 内部状态 标志位的印象。理解控制标志的意义。 1、利用 DEBUG 实现内部寄存器显示 利用 R 命令查看寄存器 利用 R 命令查看、修改寄存器 2、利用 DEBUG 编写 2 条指令,执行,看状态标志位改变 例 执行 MOV AL,55H ADD AL,55H 看 ZF, CF, OF,AF, SF 的变化 3、记住 DF 标志=UP, 写如下程序: CLD 使方向标志置 0 STD 使方向标志置 1 CLD STD 单步运行此程序,观察 DF 标志的变化。 (二)中断向量表实验(10 分钟) 实验目的是观看微机的中断向量表,计算某个向量对应的地址,填写中 断,编写中断服务程序,演示中断进入、返回的过程。 1、运行 DEBUG,进入内存,用 D 0000:0000 命令看中断向量表。 2、在 2000:1234 单元写一个显示字符“A”的小程序
18 2000:1234 PUSH AX PUSH DX MOV AH,2 MOV DL,41 INT 21 POP DX POP AX IRET 3、用G=1234 123E运行此程序,显示一个“A”字符。 4、约定该程序为80H号中断服务程序,在2000:100单元写一条软中断 调用指令调用8OH中断。 5、在0000:0200单元填写2000:1000向量。 6、用T=2000:100命令单步执行方式一步一步执行程序。注意查看堆栈栈 顶的变化。问学生栈顶放的是什么? (三)端口地址展示实验(5分钟) 实验目的是加深几个端口地址的印象。 I、进入DEBUG 2、用D40:0命令查看口地址 40:0=03F8 串行口1的地址 40:2=02F8 串行口2的地址 40:4=03E8 串行口3的地址 40:6=02E8 串行口4的地址 40:8=03BC 并行口、单显的地址 40:A=0378 并行口1的地址 40:C=0278 并行口2的地址 3、用140命令查看定时器的计 (四)8255应用演示实验(10分钟) 本实验直接操作8255的PB0、PB1引脚,使扬声器发出不同频率的声音 加深对8255端口地址的印象。 I、进入DEBUG 2、键入实验程序: MOV AL,O LOOPO: CPL AL ;取反 OR AL,01 ;允许发音 OUT 6IH AL :输出给8255B口 MOV CX.1000H ;延时程序,可以改变声音频率 LOOPI: DINZ LOOPI
18 2000:1234 PUSH AX PUSH DX MOV AH, 2 MOV DL, 41 INT 21 POP DX POP AX IRET 3、用 G=1234 123E 运行此程序,显示一个“A” 字符。 4、约定该程序为 80H 号中断服务程序,在 2000:100 单元写一条软中断 调用指令调用 80H 中断。 5、在 0000:0200 单元填写 2000:1000 向量。 6、用 T=2000:100 命令单步执行方式一步一步执行程序。注意查看堆栈栈 顶的变化。问学生栈顶放的是什么? (三)端口地址展示实验(5 分钟) 实验目的是加深几个端口地址的印象。 1、进入 DEBUG 2、用 D 40:0 命令查看口地址 40:0 = 03F8 串行口 1 的地址 40:2 = 02F8 串行口 2 的地址 40:4 = 03E8 串行口 3 的地址 40:6 = 02E8 串行口 4 的地址 40:8 = 03BC 并行口、单显的地址 40:A = 0378 并行口 1 的地址 40:C = 0278 并行口 2 的地址 3、用 I 40 命令查看定时器的计数 (四)8255 应用演示实验(10 分钟) 本实验直接操作 8255 的 PB0、PB1 引脚,使扬声器发出不同频率的声音, 加深对 8255 端口地址的印象。 1、进入 DEBUG 2、键入实验程序: MOV AL, 0 LOOP0: CPL AL ; 取反 OR AL, 01 ;允许发音 OUT 61H, AL ;输出给 8255 B 口 MOV CX,1000H ;延时程序,可以改变声音频率 LOOP1: DJNZ LOOP1
19 JMP LOOPO ;循环 3、运行该程序,扬声器发音,改变CX的赋值,可以改变声音频率。 (五)定时器8253应用演示实验(10分钟) 本实验直接操作8255的PB0引脚和8253的定时器0,使扬声器发出不 同频率的声音,加深对8253分频的理解。 I、进入DEBUG 2、键入实验程序: 0 LOOPO: :取反 1 ;允许发音 :输出给8255B口 H ;延时程序,可以改变声音频率 LOOP1:P1 OPO :循环 3、运行该程序,扬声器发音,改变计数初值,可以改变声音频率。 4、已知8253的通道0做定时时钟,周期18ms,连续用D40:66命令看 40:66单元的值的变化,可以发现,每18ms40:66单元+1。与课堂讲一致。 5、查看40:6CH单元的时钟计数,验证8253的0通道每隔55毫秒申请 一次中断。 (六)8251应用演示实验(10分钟) 本实验直接操作8251的发送器发送字符,直接从8251的接收器接收字 符,加深对8251工作原理的理解。 1、老师找一个9针的D型RS232插座,将它的2一3脚直接连接。实现 自发自收。 2、进入DEBUG 3、用03F8,41命令从8251的发送器发送一个“A”字符。 4、用I3F8命令从8251的接收器输入一个字符,看是不是A. (七)微机内存空间区域展示实验(10分钟) 实验目的是观看微机的内存空间使用情况。 1、进入DEBUG 2、用D命令查看内存空间各区域: D0:03FF ;向量表 D0:400480 ;DOS数据 D40:0900 ;DOS程序 D40:9001200 ;DEBUG程序 D ;当前程序区
19 JMP LOOP0 ;循环 3、运行该程序,扬声器发音,改变 CX 的赋值,可以改变声音频率。 (五)定时器 8253 应用演示实验(10 分钟) 本实验直接操作 8255 的 PB0 引脚和 8253 的定时器 0,使扬声器发出不 同频率的声音,加深对 8253 分频的理解。 1、进入 DEBUG 2、键入实验程序: 0 LOOP0: ; 取反 1 ;允许发音 L ;输出给 8255 B 口 H ;延时程序,可以改变声音频率 LOOP1: P1 OP0 ;循环 3、运行该程序,扬声器发音,改变计数初值,可以改变声音频率。 4、已知 8253 的通道 0 做定时时钟,周期 18ms,连续用 D 40:66 命令看 40:66 单元的值的变化,可以发现,每 18ms 40:66 单元+1。与课堂讲一致。 5、查看 40:6CH 单元的时钟计数,验证 8253 的 0 通道每隔 55 毫秒申请 一次中断。 (六) 8251 应用演示实验(10 分钟) 本实验直接操作 8251 的发送器发送字符,直接从 8251 的接收器接收字 符,加深对 8251 工作原理的理解。 1、老师找一个 9 针的 D 型 RS232 插座,将它的 2-3 脚直接连接。实现 自发自收。 2、进入 DEBUG 3、用 O 3F8, 41 命令从 8251 的发送器发送一个“A”字符。 4、用 I 3F8 命令从 8251 的接收器输入一个字符,看是不是 A. (七) 微机内存空间区域展示实验(10 分钟) 实验目的是观看微机的内存空间使用情况。 1、进入 DEBUG 2、用 D 命令查看内存空间各区域: D 0:0 3FF ;向量表 D 0:400 480 ;DOS 数据 D 40:0 900 ; DOS 程序 D 40:900 1200 ;DEBUG 程序 D ;当前程序区
20 D9000:FF00 ;基本内存最后 DA000:0 ;扩展内存,磁盘用 DB000:0 ;显示缓存 DC000:0 ;扩展内存,显示用 DD000:0 扩展内存,用户用 DE000:0 ;扩展内存,用户用 DF000:0 ;扩展内存,BIOS用 UF00O:FFFO ;扩展内存,启动第一条指令 (八)键盘缓冲区展示实验 实验目的是观看微机的键盘缓冲区使用情况。 1、井入DEBUG 2、RDS命令将DS改成0040 3、用D001C命令查看内存键盘缓冲区 其中:001A-001B 键盘缓冲区首指针 001C-001D键盘缓冲区尾指针 001E0-003C键盘缓冲区,共可以缓冲15个键 注意每2个字节为一个键码,即键扫描码+键ASICIⅡ码。 (九)显示缓冲区与显示属性字节演示实验 实验目的是演示显示缓冲区的位置,显示字符的ASCI码与显示属性字 节的意义。 1、进入DEBUG 2、用RDS命令将DS改成AO0OH显示缓冲区段(部分微机是B80OH) 3、用D0000命令查看显示缓冲区。介绍每2个字节对应一个字符。 第1字节是字符ASCII码,第2字节是属性字节。 4、介绍显示缓冲区单元与屏幕位置的对应关系。 5、在屏幕第1行第1个字符位写一个红色的“A” EB8004104 6、修改属性字节改变字符的颜色。 7、用FA0F04104命令将第2行全部填红色的“A” 8、工作在320X200彩色图形方式时,在屏幕上画一条线。 (十)端口实验,清楚CMOS口令 实验目的是学习EEPROM存储器的读写。 向70,71口写入地址和内容,破坏CMOS存储器的内容,使微机开机后 CMOS口令失效
20 D 9000:FF00 ;基本内存最后 D A000:0 ;扩展内存,磁盘用 D B000:0 ; 显示缓存 D C000:0 ;扩展内存,显示用 D D000:0 ;扩展内存,用户用 D E000:0 ;扩展内存,用户用 D F000:0 ;扩展内存,BIOS 用 U F000:FFF0 ;扩展内存,启动第一条指令 (八) 键盘缓冲区展示实验 实验目的是观看微机的键盘缓冲区使用情况。 1、进入 DEBUG 2、R DS 命令将 DS 改成 0040 3、用 D 001C 命令查看内存键盘缓冲区 其中:001A-001B 键盘缓冲区首指针 001C-001D 键盘缓冲区尾指针 001E0-003C 键盘缓冲区,共可以缓冲 15 个键。 注意每 2 个字节为一个键码,即键扫描码+键 ASICII 码。 (九)显示缓冲区与显示属性字节演示实验 实验目的是演示显示缓冲区的位置,显示字符的 ASCII 码与显示属性字 节的意义。 1、进入 DEBUG 2、用R DS命令将DS改成A000H显示缓冲区段(部分微机是B800H)。 3、用 D 0000 命令查看显示缓冲区。介绍每 2 个字节对应一个字符。 第 1 字节是字符 ASCII 码,第 2 字节是属性字节。 4、介绍显示缓冲区单元与屏幕位置的对应关系。 5、在屏幕第 1 行第 1 个字符位写一个红色的“A” E B800 41 04 6、修改属性字节改变字符的颜色。 7、用 F A0 FO 41 04 命令将第 2 行全部填红色的“A” 8、工作在 320X200 彩色图形方式时, 在屏幕上画一条线。 (十)端口实验,清楚 CMOS 口令 实验目的是学习 EEPROM 存储器的读写。 向 70,71 口写入地址和内容,破坏 CMOS 存储器的内容,使微机开机后 CMOS 口令失效