预览加载中,请您耐心等待几秒...
1/9
2/9
3/9
4/9
5/9
6/9
7/9
8/9
9/9

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

实验三:中断实验与编程 一、实验目的 1.掌握PC机中断系统的基本原理 2.学会编写中断服务程序 3.掌握定时/计数器芯片8253的基本工作原理和使用方法 二、实验任务及内容 编一程序,在显示器上显示时、分、秒。借用计数器8253的Timer0作为中断源,通过8259A向CPU发中断,每10ms产生一次中断。在中断服务程序中管理刷新时、分、秒。 输入文件名(如CLK)后清屏后显示:Currenttimeis:xx:xx:xx(时分秒键盘输入) 打回车,时、分、秒开始计时。时钟不停的刷新。 当键入CTRL+C时,停止计时,返回系统,且系统正常运行不死机。 8253的初始化程序段可借用口地址为40H、41H、42H、43H 控制字为36H=00110110B 时间常数TC=11932:1.1932MHz/11932=100Hz 输出方波频率为100Hz,其周期为1000/100=10ms 三、程序源代码 DATASEGMENTPARAPUBLIC'DATA' COUNT100DB100 MESG1DB'Currenttimeis:$' MESG2DB'Thetimeiswrong,pleaseinputagian...',10,13,'$' GETTIMEDB9,'?' TENHOURDB0 HOURDB0,':' TENMINDB0 MINUTEDB0,':' TENSECDB0 SECONDDB0 OLD_OFFDW0 OLD_SEGDW0 DATAENDS STACKSEGMENTPARASTACK'STACK' DB256DUP(0) STACKENDS CODESEGMENTPARAPUBLIC'CODE' ASSUMECS:CODE ASSUMEDS:DATA START:MOVAX,DATA MOVDS,AX MOVDX,OFFSETMESG1;显示'Currenttimeis:' MOVAL,09H INT21H MOVDX,OFFSETGETTIME;接受屏幕输入时间 MOVAH,0AH INT21H MOVHOUR+1,':';时分秒之间的分隔符为':' MOVMINUTE+1,':' ;检测时间输入是否符合要求 CMPSECOND,'0' JCERRO CMPSECOND,'9' JNCERRO CMPTENSEC,'0' JCERRO CMPTENSEC,'6' JNCERRO CMPMINUTE,'0' JCERRO CMPMINUTE,'9' JNCERRO CMPTENMIN,'0' JCERRO CMPTENMIN,'6' JNCERRO CMPHOUR,'0' JCERRO CMPHOUR,'9' JNCERRO CMPTENHOUR,'0' JCERRO CMPTENHOUR,'2' JNCERRO JMPNEXT1 ERRO:MOVDX,OFFSETMESG2;输入有错,显示'Thetimeiswrong,pleaseinputagian...' MOVAH,09H INT21H JMPSTART ;设置中断向量表 NEXT1:CLI MOVAL,08H;取08号中断向量的服务程序地址 MOVAH,35H INT21H ;ES:BX=入口地址 MOVOLD_OFF,BX;保存原来的终端服务程序地址 MOVBX,ES MOVOLD_SEG,BX MOVAL,08H ;设置08号中断向量的服务程序地址 MOVAH,25H MOVDX,SEGTIMER PUSHDS MOVDS,DX MOVDX,OFFSETTIMER INT21H POPDS ;设置8253 MOVAL,36H OUT43H,AL MOVBX,11932 MOVAL,bl OUT40H,AL MOVAL,bH OUT40H,AL ;设置8259A MOVDX,20H;ICW1地址 MOVAL,11H;写ICW1,沿触发方式、级联,要ICW4 OUTDX,ALADDDX,1;指向ICW2、ICW3、ICW4地址 MOVAL,8;ICW2,中断向量号为08H OUTDX,AL MOVAL,4;ICW3,IR2接有从片PIC OUTDX,AL MOVAL,1;ICW4,正常屏蔽方式、全嵌套、正常EOI OUTDX,AL MOVDX,0A0H;从片ICW1地址 MOVAL,11H;写ICW1,沿触发方式、级联,要ICW4 OUTDX,AL ADDDX,1;指向ICW2、ICW3、ICW4地址 MOVAL,70H;ICW2,中断向量号为70H OUTDX,AL MOVAL,2;ICW3,从片PIC识别号=2 OUTDX,AL MOVAL,1;ICW4,正常屏蔽方式、正常EOI OUTDX,AL STI