《实验四接口实验计算机计算机硬件与维护_计算机-计算机硬件与维护.pdf》由会员分享,可在线阅读,更多相关《实验四接口实验计算机计算机硬件与维护_计算机-计算机硬件与维护.pdf(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 实验四 接口实验 一、实验目的 1熟悉 8253、8259、8250 的使用方法 2掌握中断管理程序、中断服务程序的编程方法 3了解串行通信的原理与方法 二、实验内容 1读懂并调通下面的硬件时钟程序 硬件时钟程序 利用微机现有资源,不外接任何电路进行硬件实验的例子。本程序通过修改实时时钟 (中断类型号 08H)的中断向量使之指向用户的中断服务程序,程序中重新设置 8253 的计 数器 0,使它每 1/100 秒产生一次中断,100 次中断后秒量加 1,然后调整时、分、秒并显示 之。程序从按下非空格键开始显示数据区中存放的时间值,然后每秒更新一次显示。运行中 若按下空格键即退出程序返回 DOS
2、。STACK SEGMENT PARASTACK STACK DB 256 DUP(0)STACK ENDS DA TA SEGMENT SEG8 DW?OFF8 DW?IMR DB?COUNT DB 100 TENH DB 2 HOUR DB 3:TENM DB 5 MINUTE DB 9:TENS DB 5 SECOND DB 0,0DH,$DA TA ENDS CODE SEGMENT START PROC FAR ASSUME CS:CODE,DS:DA TA MOV AX,DA TA MOV DS,AX MOV AH,0;等待键按下,并读出到 AX 中 INT 16H MOV AL,
3、08H;取 8H 中断的中断向量并保存 MOV AH,35H INT 21H MOV SEG8,ES MOV OFF8,BX CLI ;用户中断服务程序装载 PUSH DS MOV AX,SEG TIMER MOV DS,AX MOV DX,OFFSET TIMER MOV AH,25H INT 21H POP DS MOV AL,00110110B;8253 初始化,10MS 中断一次 OUT 43H,AL MOV AX,11932 OUT 40H,AL MOV AL,AH OUT 40H,AL IN AL,21H ;读 8259 的 IMR MOV IMR,AL ;保存 IMR MOV A
4、L,0FCH ;重写 IMR,开放时钟和键盘中断,;不改变其他位 OUT 21H,AL STI FOREVER:MOV AH,1 ;检测键盘而不等待 INT 16H CMP AL,20H ;有空格按下吗?JZ EXIT ;有空格按下退出 MOV DX,OFFSET TENH;无空格按下,显示时间 MOV AH,09H INT 21H MOV AL,SECOND ;取秒值 WAITCHA:CMP AL,SECOND ;秒值变否 JZ WAITCHA ;秒值不变等待 JMP FOREVER EXIT:CLI MOV AL,IMR ;恢复保存的 IMR 法二实验内容读懂并调通下面的硬件时钟程序硬件时
5、钟程序利用微机现有资源不外接任何电路进行硬件实验的例子本程序通过修改实时时钟中断类型号的中断向量使之指向用户的中断服务程序程序中重新设置的计数器使它每秒产生更新一次显示运行中若按下空格键即退出程序返回等待键按下并读出到中取中断的中断向量并保存用户中断服务程序装载初始化中断一次读的保存重写开放时钟和键盘中断不改变其他位检测键盘而不等待有空格按下吗有空格按下退序编写完整的通信口自测程序程序运行过程中按下退出程序返回三实验报告要求调试通过的程序清单和程序说明 OUT 21H,AL MOV AL,36H;重新设置 8253,55MS 中断一次 OUT 43H,AL MOV AL,0 OUT 40H,A
6、L OUT 40H,AL CLI ;恢复原中断向量 PUSH DS MOV AX,SEG8 MOV DS,AX MOV DX,OFF8 MOV AH,25H MOV AL,08H INT 21H STI MOV AH,43H INT 21H TIMER PROC FAR PUSH AX DEC COUNT JNZ L2 MOV COUNT,100 INC SECOND CMP SECOND,9 JLE TIMEXT MOV SECOND,0 INC TENS CMP TENS,6 JL TIMEXT MOV TENS,0 INC MINUTE CMP MINUTE,9 JLE TIMEXT M
7、OV MINUTE,0 INC TENM CMP TENM,6 JL TIMEXT MOV TENM,0 JMP L3 L2:JMP TIMEXT L3:MOV AL,HOUR AND AL,0FH MOV AH,TENH 法二实验内容读懂并调通下面的硬件时钟程序硬件时钟程序利用微机现有资源不外接任何电路进行硬件实验的例子本程序通过修改实时时钟中断类型号的中断向量使之指向用户的中断服务程序程序中重新设置的计数器使它每秒产生更新一次显示运行中若按下空格键即退出程序返回等待键按下并读出到中取中断的中断向量并保存用户中断服务程序装载初始化中断一次读的保存重写开放时钟和键盘中断不改变其他位检测键盘而不
8、等待有空格按下吗有空格按下退序编写完整的通信口自测程序程序运行过程中按下退出程序返回三实验报告要求调试通过的程序清单和程序说明 AND AH,0DH MOV CL,4 ROL AH,CL OR AL,AH ADD AL,1 DAA CMP AL,24 JL L1 MOV TENH,0 MOV HOUR,0 JMP TIMEXT L1:MOV AH,AL AND AL,0FH OR AL,30H MOV HOUR,AL MOV CL,4 ROR AH,CL AND AH,0FH OR AH,30H MOV TENH,AH TIMEXT:MOV AL,20H OUT 20H,AL POP AX I
9、RET TIMER ENDP START ENDP CODE ENDS END START 2参考教材 P.260 的程序,编写完整的 8250 通信口自测程序。程序运行过程中,按下 Ctrl_c 退出程序返回 DOS 三、实验报告要求 调试通过的程序清单和程序说明 法二实验内容读懂并调通下面的硬件时钟程序硬件时钟程序利用微机现有资源不外接任何电路进行硬件实验的例子本程序通过修改实时时钟中断类型号的中断向量使之指向用户的中断服务程序程序中重新设置的计数器使它每秒产生更新一次显示运行中若按下空格键即退出程序返回等待键按下并读出到中取中断的中断向量并保存用户中断服务程序装载初始化中断一次读的保存重
10、写开放时钟和键盘中断不改变其他位检测键盘而不等待有空格按下吗有空格按下退序编写完整的通信口自测程序程序运行过程中按下退出程序返回三实验报告要求调试通过的程序清单和程序说明 法二实验内容读懂并调通下面的硬件时钟程序硬件时钟程序利用微机现有资源不外接任何电路进行硬件实验的例子本程序通过修改实时时钟中断类型号的中断向量使之指向用户的中断服务程序程序中重新设置的计数器使它每秒产生更新一次显示运行中若按下空格键即退出程序返回等待键按下并读出到中取中断的中断向量并保存用户中断服务程序装载初始化中断一次读的保存重写开放时钟和键盘中断不改变其他位检测键盘而不等待有空格按下吗有空格按下退序编写完整的通信口自测程序程序运行过程中按下退出程序返回三实验报告要求调试通过的程序清单和程序说明