《微机接口实验_计算机-计算机硬件与维护.pdf》由会员分享,可在线阅读,更多相关《微机接口实验_计算机-计算机硬件与维护.pdf(33页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、.范文 .科技大学 计算机与通信工程学院 实 验 报 告 实验名称:实验一 8259 中断控制器应用实验 实验二 8254 定时/计数器应用实验 实验三 8255 并口控制器应用实验 学生:专 业:班 级:学 号:指导教师:实验成绩:实验地点:机电楼 320 实验时间:2015 年 12 月 4 日 .范文 .一、实验目的与实验要求 1、实验目的 实验一 1.掌握 PC 机中断处理系统的基本原理。2.掌握可编程中断控制器 8259 的应用编程方法。实验二 1.掌握 8254 的工作方式及应用编程。2.掌握 8254 典型应用电路的接法。实验三 1.掌握 8255 的工作方式及应用编程。2.掌握
2、 8255 典型应用电路的接法。2、实验要求 实验一(1)实验 1-1:PC 机中断应用实验 按接线图连好接线,调用程序源代码 8259-1.asm,观察实验现象,将屏幕显示结果以截图方式写在实验报告中。自设计实验。改变接线方式,将单次脉冲连到 USB 核心板上的 IRQ10 插孔上,参考本实验代码,编程实现 IRQ10 中断。(注意:考虑 PC 机中断级联的方式,参看前面的原理说明),将代码写在报告中。(2)实验 1-2:PC 机中断嵌套实验 按接线图连好接线,调用程序源代码 8259-2.asm,做如下操作,并将屏幕课好还是玩儿好生上课好师玩儿好不好生不好师你们说的是实话吗生是师让我说玩最
3、好上课好不好呢这事儿我们得体验体验分钟以后你再来谈你的体会好吗生好师时间已经很晚了我就不再多介绍了一会儿呢小朋友就可以了解谢老师立老师好师小朋友们好请坐一情境导入师我们从这里一分为二这边算一队这边的同学算一队那么我说这边的同学算甲队甲队的同学向老师挥挥手好极了那这边的同学呢是乙队乙队的同学向老师点点头记住了好啦我们先要搞一个拍球完了怎么办生给她师你拍完了呢生我拍完了给我后面的一位同学师就传呀传呀然后把你们的总数怎么办生加起来师求出来对吗生对师可是小朋友们一节课只有分钟要是这样拍呀拍呀时间可就不够用了有没有更好的办法师你有什么办.范文 .显示结果以截图的方式写在实验报告中,并分析产生该现象的原因
4、:A 按下连接 IRQ 的单次脉冲按键,屏幕上会显示 10 个 3,在屏幕上 10 次显示未结束之前,按下连接 IRQ10 的单次脉冲按键,观察现象;B 按下连接 IRQ10 的单次脉冲按键,屏幕上会显示 10 个 10,在屏幕上 10次显示未结束之前,按下连接 IRQ3 的单次脉冲按键,观察现象。程序中所有代码均没有注释,请在报告中补全注释,尽量详细。(3)实验 1-3:扩展多中断应用实验 说明:本实验采用查询方式,应用实验箱提供的 8259 中断源,向 PC 机提交中断请求。拨动开关发起请求一次中断,屏幕上显示相应的中断请求号。调用程序源码文件 8259-3.asm,在程序源代码中划横线的
5、位置,请按照所学8259 工作原理填写并验证,然后将所填容写在实验报告中,并分析所填数据的形成原理。实验二(1)实验 2-1:计数器应用实验 将计数器 0 设置为方式 3,计数器初值为 4,用手动逐个输入单脉冲,用 LED灯观察 OUT0 电平变化。将代码中划横线的部分填上相应的代码,并在实验报告中对所填代码做原理分析。如果令计数器 0 工作在方式 0,其实验现象有什么不同,在报告中进行分析说明。(2)实验 2-2:自设计实验 参考实验一的程序和接线,自行设计接线图以及程序代码,实现,以 1MHz 为时钟源,应用 8254 的定时功能,将其分频为 1Hz。以 LED灯作为输出显示。课好还是玩儿
6、好生上课好师玩儿好不好生不好师你们说的是实话吗生是师让我说玩最好上课好不好呢这事儿我们得体验体验分钟以后你再来谈你的体会好吗生好师时间已经很晚了我就不再多介绍了一会儿呢小朋友就可以了解谢老师立老师好师小朋友们好请坐一情境导入师我们从这里一分为二这边算一队这边的同学算一队那么我说这边的同学算甲队甲队的同学向老师挥挥手好极了那这边的同学呢是乙队乙队的同学向老师点点头记住了好啦我们先要搞一个拍球完了怎么办生给她师你拍完了呢生我拍完了给我后面的一位同学师就传呀传呀然后把你们的总数怎么办生加起来师求出来对吗生对师可是小朋友们一节课只有分钟要是这样拍呀拍呀时间可就不够用了有没有更好的办法师你有什么办.范文
7、 .经过实际验证后,在报告中画出接线图,并给出源代码。实验三(1)实验 3-1:可编程并行接口 8255 方式 0 应用实验 编写程序,自行设定 A、B、C 三个口中某一个口为输入,某一个为输出,完成拨动开关到数据灯的数据传输。要求只要开关拨动,数据灯的显示就改变。根据原理补全代码中缺失的部分,根据自己的设计,补全接线图,并将代码和对应的接线图写在实验报告中。(2)实验 3-2:自设计试验 自行设计完成本实验,要求,8255A 口工作在方式一输入,B 口工作在方式一输出,利用方式一的控制信号,使数据从输入到输出人为可控。在实验报告中画出接线图,并说明设计的原理,给出对应的程序代码。二、实验设备
8、(环境)及要求 Windows 7系统下的 HQFC 集成开发环境,CZ-CIUS微机接口实验系统。三、实验容与步骤 实验一 实验 1-1(1)实验容 PC 机中断实验。使用单次脉冲模拟中断产生。验证中断处理程序,在显示器屏幕上显示一行预设定的字符串。(2)主要步骤 按接线图连好接线,调用程序源代码 8259-1.asm,观察实验现象。课好还是玩儿好生上课好师玩儿好不好生不好师你们说的是实话吗生是师让我说玩最好上课好不好呢这事儿我们得体验体验分钟以后你再来谈你的体会好吗生好师时间已经很晚了我就不再多介绍了一会儿呢小朋友就可以了解谢老师立老师好师小朋友们好请坐一情境导入师我们从这里一分为二这边算
9、一队这边的同学算一队那么我说这边的同学算甲队甲队的同学向老师挥挥手好极了那这边的同学呢是乙队乙队的同学向老师点点头记住了好啦我们先要搞一个拍球完了怎么办生给她师你拍完了呢生我拍完了给我后面的一位同学师就传呀传呀然后把你们的总数怎么办生加起来师求出来对吗生对师可是小朋友们一节课只有分钟要是这样拍呀拍呀时间可就不够用了有没有更好的办法师你有什么办.范文 .自设计实验。改变接线方式,将单次脉冲连到 USB 核心板上的 IRQ10 插孔上,参考本实验代码,编程实现 IRQ10 中断。(注意:考虑 PC 机中断级联的方式,参看前面的原理说明)。接线图:说明:本实验只需要一根连线,一端接系统总线区的 IR
10、Q 引脚,一端接到单脉冲单元的引脚上,接线如图 1-1 所示。参考流程图:程序源代码:(1)课好还是玩儿好生上课好师玩儿好不好生不好师你们说的是实话吗生是师让我说玩最好上课好不好呢这事儿我们得体验体验分钟以后你再来谈你的体会好吗生好师时间已经很晚了我就不再多介绍了一会儿呢小朋友就可以了解谢老师立老师好师小朋友们好请坐一情境导入师我们从这里一分为二这边算一队这边的同学算一队那么我说这边的同学算甲队甲队的同学向老师挥挥手好极了那这边的同学呢是乙队乙队的同学向老师点点头记住了好啦我们先要搞一个拍球完了怎么办生给她师你拍完了呢生我拍完了给我后面的一位同学师就传呀传呀然后把你们的总数怎么办生加起来师求出
11、来对吗生对师可是小朋友们一节课只有分钟要是这样拍呀拍呀时间可就不够用了有没有更好的办法师你有什么办.范文 .;数据段 DATA SEGMENT MESS DB TPCA interrupt!,0DH,0AH,$;需要显示的数据,以$结束,方便系统调用。0DH,0AH 为换行 DATA ENDS ;代码段 CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX,CS ;系统调用 25 是设置中断 MOV DS,AX MOV DX,OFFSET INT3 ;采用间接修改法,设置中断向量 MOV AX,250BH ;设置 IRQ3 对应的中断向量,25 是系
12、统调用功能;号,在 AL里放中断向量号,0B*4=2C,是中断程序的地址所在位置,DS 放中断程序的段;基址,DX 放偏移地址 INT 21H ;中断设置完成 IN AL,21H ;读中断屏蔽寄存器,21H 是该寄存器的端口号 AND AL,0F7H ;开放 IRQ3 中断,允许 IRQ3 的中断申请 OUT 21H,AL ;写 OCW1 MOV CX,10 ;记中断循环次数为 10 次 STI ;允许中断发生 WAIT:JMP WAIT INT3:MOV AX,DATA ;中断服务程序 MOV DS,AX MOV DX,OFFSET MESS MOV AH,09 ;在屏幕上显示每次中断的提示
13、信息,DS:DX 中存放显示的字符串的地址 INT 21H MOV AL,20H ;发出 EOI 结束中断到 PC 主片的地址 20H OUT 20H,AL LOOP NEXT ;LOOP 每次跳转 CX 自动减 1 IN AL,21H ;读中断屏蔽寄存器,获取中断屏蔽字 OR AL,08H ;关闭 IRQ3 中断 OUT 21H,AL ;将中断屏蔽字送到中断屏蔽寄存器 STI ;置中断标志位 MOV AH,4CH ;返回 DOS INT 21H NEXT:IRET ;中断返回 课好还是玩儿好生上课好师玩儿好不好生不好师你们说的是实话吗生是师让我说玩最好上课好不好呢这事儿我们得体验体验分钟以后
14、你再来谈你的体会好吗生好师时间已经很晚了我就不再多介绍了一会儿呢小朋友就可以了解谢老师立老师好师小朋友们好请坐一情境导入师我们从这里一分为二这边算一队这边的同学算一队那么我说这边的同学算甲队甲队的同学向老师挥挥手好极了那这边的同学呢是乙队乙队的同学向老师点点头记住了好啦我们先要搞一个拍球完了怎么办生给她师你拍完了呢生我拍完了给我后面的一位同学师就传呀传呀然后把你们的总数怎么办生加起来师求出来对吗生对师可是小朋友们一节课只有分钟要是这样拍呀拍呀时间可就不够用了有没有更好的办法师你有什么办.范文 .CODE ENDS END START(2)DATA SEGMENT MESS DB TPCA in
15、terrupt!,0DH,0AH,$DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX,CS MOV DS,AX MOV DX,OFFSET INT3 ;采用间接修改法,设置中断向量 MOV AX,2572H INT 21H IN AL,21H ;主片 AND AL,0FBH ;1111 1011 OUT 21H,AL IN AL,0A1H ;从片 AND AL,0FBH ;1111 1011 OUT 0A1H,AL MOV CX,10 ;记中断循环次数为 10 次 STI ;允许中断发生 WAIT:JMP WAIT INT3:
16、MOV AX,DATA ;中断服务程序 MOV DS,AX MOV DX,OFFSET MESS MOV AH,09 ;在屏幕上显示每次中断的提示信息 INT 21H MOV AL,20H ;发出 EOI 结束中断到 PC 主片的地址 20H OUT 20H,AL ;关闭主片 OUT 0A0H,AL ;关闭从片 LOOP NEXT IN AL,21H ;读中断屏蔽寄存器,获取中断屏蔽字 OR AL,04H ;关闭 IRQ3 中断 OUT 21H,AL ;将中断屏蔽字送到中断屏蔽寄存器 课好还是玩儿好生上课好师玩儿好不好生不好师你们说的是实话吗生是师让我说玩最好上课好不好呢这事儿我们得体验体验分
17、钟以后你再来谈你的体会好吗生好师时间已经很晚了我就不再多介绍了一会儿呢小朋友就可以了解谢老师立老师好师小朋友们好请坐一情境导入师我们从这里一分为二这边算一队这边的同学算一队那么我说这边的同学算甲队甲队的同学向老师挥挥手好极了那这边的同学呢是乙队乙队的同学向老师点点头记住了好啦我们先要搞一个拍球完了怎么办生给她师你拍完了呢生我拍完了给我后面的一位同学师就传呀传呀然后把你们的总数怎么办生加起来师求出来对吗生对师可是小朋友们一节课只有分钟要是这样拍呀拍呀时间可就不够用了有没有更好的办法师你有什么办.范文 .IN AL,0A1H ;读中断屏蔽寄存器,获取中断屏蔽字 OR AL,04H ;关闭 IRQ1
18、0 中断 OUT 0A1H,AL ;将中断屏蔽字送到中断屏蔽寄存器 STI ;置中断标志位 MOV AH,4CH ;返回 DOS INT 21H NEXT:IRET ;中断返回 CODE ENDS END START 实验 1-2(1)实验容 PC 机中断嵌套实验。使用单次脉冲模拟两个中断源的中断产生,填写 中断处理程序,体会中断嵌套的过程。(2)主要步骤 接线图:说明:本实验接线图如图 1-3 所示,从单脉冲单元引出两根导线,一根接到系统总线单元区的 IRQ 引脚,一根接到 USB 核心卡的 IRQ10 端。参考流程图:课好还是玩儿好生上课好师玩儿好不好生不好师你们说的是实话吗生是师让我说玩
19、最好上课好不好呢这事儿我们得体验体验分钟以后你再来谈你的体会好吗生好师时间已经很晚了我就不再多介绍了一会儿呢小朋友就可以了解谢老师立老师好师小朋友们好请坐一情境导入师我们从这里一分为二这边算一队这边的同学算一队那么我说这边的同学算甲队甲队的同学向老师挥挥手好极了那这边的同学呢是乙队乙队的同学向老师点点头记住了好啦我们先要搞一个拍球完了怎么办生给她师你拍完了呢生我拍完了给我后面的一位同学师就传呀传呀然后把你们的总数怎么办生加起来师求出来对吗生对师可是小朋友们一节课只有分钟要是这样拍呀拍呀时间可就不够用了有没有更好的办法师你有什么办.范文 .程序源代码:CODE SEGMENT ASSUME CS
20、:CODE,DS:DATA START:.386 ;告诉汇编器生成 intel 80386 指令集 CLI ;关中断 MOV AX,CS ;设置中断向量表 INT10 MOV DS,AX ;将 CS 段基址给 DS MOV DX,OFFSET INT10 ;int10 的偏移地址给 DX MOV AX,2572H INT 21H ;系统调用 25 号设置中断功能,中断号 72H;设置完成;设置中断向量表 INT3 MOV DX,OFFSET INT3 MOV AX,250BH INT 21H ;系统调用 25 号设置中断功能,中断号 0BH;设置完成 IN AL,21H AND AL,0F3H
21、 ;1111 0011 课好还是玩儿好生上课好师玩儿好不好生不好师你们说的是实话吗生是师让我说玩最好上课好不好呢这事儿我们得体验体验分钟以后你再来谈你的体会好吗生好师时间已经很晚了我就不再多介绍了一会儿呢小朋友就可以了解谢老师立老师好师小朋友们好请坐一情境导入师我们从这里一分为二这边算一队这边的同学算一队那么我说这边的同学算甲队甲队的同学向老师挥挥手好极了那这边的同学呢是乙队乙队的同学向老师点点头记住了好啦我们先要搞一个拍球完了怎么办生给她师你拍完了呢生我拍完了给我后面的一位同学师就传呀传呀然后把你们的总数怎么办生加起来师求出来对吗生对师可是小朋友们一节课只有分钟要是这样拍呀拍呀时间可就不够用
22、了有没有更好的办法师你有什么办.范文 .OUT 21H,AL ;写 OCW1,开放 2,3 号端口 IN AL,0A1H AND AL,0FBH ;1111 1011 OUT 0A1H,AL ;写 OCW1,开放 10 号端口 MOV CX,10 STI WAIT:JMP WAIT ;CPU 等待中断 ;INT10 代码 INT10:CLI ;关中断 PUSHAD PUSHFD ;将各种寄存器的值入栈,保存现场 MOV CX,10 ;给 CX 赋值,循环 10 次 NEXT10_1:MOV DX,31H MOV AH,02H INT 21H ;系统调用 02 功能,DL 为显示容 ASCII3
23、1H:1 MOV DX,30H MOV AH,02H ;系统调用 02 功能,DL 为显示容 ASCII31H:0 INT 21H MOV DX,20H ;系统调用 02 功能,DL 为显示容 ASCII20H:MOV AH,02H INT 21H CALL DELAY1 ;调用 DELAY1 子程序 LOOP NEXT10_1 ;在 CX0 之前跳转,并使 CX=CX-1 ;换行操作 MOV DX,0DH ;系统调用 02 功能,DL 为显示容 ASCII0DH:MOV AH,02H INT 21H MOV DX,0AH ;系统调用 02 功能,DL 为显示容 ASCII0AH:课好还是玩儿
24、好生上课好师玩儿好不好生不好师你们说的是实话吗生是师让我说玩最好上课好不好呢这事儿我们得体验体验分钟以后你再来谈你的体会好吗生好师时间已经很晚了我就不再多介绍了一会儿呢小朋友就可以了解谢老师立老师好师小朋友们好请坐一情境导入师我们从这里一分为二这边算一队这边的同学算一队那么我说这边的同学算甲队甲队的同学向老师挥挥手好极了那这边的同学呢是乙队乙队的同学向老师点点头记住了好啦我们先要搞一个拍球完了怎么办生给她师你拍完了呢生我拍完了给我后面的一位同学师就传呀传呀然后把你们的总数怎么办生加起来师求出来对吗生对师可是小朋友们一节课只有分钟要是这样拍呀拍呀时间可就不够用了有没有更好的办法师你有什么办.范文
25、 .MOV AH,02H INT 21H MOV AL,20H OUT 0A0H,AL OUT 20H,AL ;发送 OCW2 结束到主片(偶地址为 20H)和从片(偶地址为 A0H)POPFD POPAD ;将之前入栈的恢复,恢复现场 STI ;开中断 IRET ;中断返回 ;INT3 代码 INT3:CLI ;关中断 PUSHAD ;将各种寄存器的值入栈,保存现场 PUSHFD MOV CX,10 ;给 CX 赋值,循环 10 次 NEXT3_1:MOV DX,33H ;系统调用 02 功能,DL 为显示容 ASCII33H:3 MOV AH,02H INT 21H MOV DX,20H
26、;系统调用 02 功能,DL 为显示容 ASCII20H:MOV AH,02H INT 21H CALL DELAY1 ;调用 DELAY1 子程序 LOOP NEXT3_1 ;在 CX0 之前跳转,并使 CX=CX-1 ;换行操作 MOV DX,0DH ;系统调用 02 功能,DL 为显示容 ASCII0DH:MOV AH,02H INT 21H MOV DX,0AH ;系统调用 02 功能,DL 为显示容 ASCII0AH:课好还是玩儿好生上课好师玩儿好不好生不好师你们说的是实话吗生是师让我说玩最好上课好不好呢这事儿我们得体验体验分钟以后你再来谈你的体会好吗生好师时间已经很晚了我就不再多介
27、绍了一会儿呢小朋友就可以了解谢老师立老师好师小朋友们好请坐一情境导入师我们从这里一分为二这边算一队这边的同学算一队那么我说这边的同学算甲队甲队的同学向老师挥挥手好极了那这边的同学呢是乙队乙队的同学向老师点点头记住了好啦我们先要搞一个拍球完了怎么办生给她师你拍完了呢生我拍完了给我后面的一位同学师就传呀传呀然后把你们的总数怎么办生加起来师求出来对吗生对师可是小朋友们一节课只有分钟要是这样拍呀拍呀时间可就不够用了有没有更好的办法师你有什么办.范文 .MOV AH,02H INT 21H MOV AL,20H OUT 0A0H,AL OUT 20H,AL ;发送 OCW2 结束到主片(偶地址为 20H
28、)和从片(偶地址为 A0H)POPFD POPAD ;将之前入栈的恢复,恢复现场 STI ;开中断 IRET ;中断返回 DELAY1 PROC PUSHAD ;将各种寄存器的值入栈,保存现场 PUSHFD MOV CX,0FH ;给 CX 赋值,循环 15 次 DELAY_LOOP1:MOV BX,0FFFFH ;BX 给成 FFFFH,每次减一到 0 跳出循环以此来达到延时的效果 DELAY_LOOP2:DEC BX NOP JNZ DELAY_LOOP2 LOOP DELAY_LOOP1 POPFD POPAD ;恢复现场 RET DELAY1 ENDP 课好还是玩儿好生上课好师玩儿好不
29、好生不好师你们说的是实话吗生是师让我说玩最好上课好不好呢这事儿我们得体验体验分钟以后你再来谈你的体会好吗生好师时间已经很晚了我就不再多介绍了一会儿呢小朋友就可以了解谢老师立老师好师小朋友们好请坐一情境导入师我们从这里一分为二这边算一队这边的同学算一队那么我说这边的同学算甲队甲队的同学向老师挥挥手好极了那这边的同学呢是乙队乙队的同学向老师点点头记住了好啦我们先要搞一个拍球完了怎么办生给她师你拍完了呢生我拍完了给我后面的一位同学师就传呀传呀然后把你们的总数怎么办生加起来师求出来对吗生对师可是小朋友们一节课只有分钟要是这样拍呀拍呀时间可就不够用了有没有更好的办法师你有什么办.范文 .CODE END
30、S END START 实验 1-3(1)实验容 扩展多中断源查询方式应用实验。利用实验平台上 8259 控制器作为中断 扩展源,编写程序对 8259 控制器的中断请求进行处理。(2)主要步骤 接线图:说明:接线图如图 1-5 所示,以逻辑电平开关模拟单次脉冲,开关置高电平,代表一次脉冲,8259 模块相应管脚分别与系统总线、I/O 地址单元和+5V 相连。参考流程图:课好还是玩儿好生上课好师玩儿好不好生不好师你们说的是实话吗生是师让我说玩最好上课好不好呢这事儿我们得体验体验分钟以后你再来谈你的体会好吗生好师时间已经很晚了我就不再多介绍了一会儿呢小朋友就可以了解谢老师立老师好师小朋友们好请坐一
31、情境导入师我们从这里一分为二这边算一队这边的同学算一队那么我说这边的同学算甲队甲队的同学向老师挥挥手好极了那这边的同学呢是乙队乙队的同学向老师点点头记住了好啦我们先要搞一个拍球完了怎么办生给她师你拍完了呢生我拍完了给我后面的一位同学师就传呀传呀然后把你们的总数怎么办生加起来师求出来对吗生对师可是小朋友们一节课只有分钟要是这样拍呀拍呀时间可就不够用了有没有更好的办法师你有什么办.范文 .源程序代码:;*;8259 中断查询方式应用实验;请根据所学原理推断横线处需填写的源代码;*I8259_1 EQU 2B0H ;8259 的 ICW1 端口地址 I8259_2 EQU 2B1H ;8259 的
32、ICW2 端口地址 I8259_3 EQU 2B1H ;8259 的 ICW3 端口地址(奇地址)I8259_4 EQU 2B1H ;8259 的 ICW4 端口地址(奇地址)O8259_1 EQU 2B1H ;8259 的 OCW1 端口地址(奇地址)O8259_2 EQU 2B0H ;8259 的 OCW2 端口地址(偶地址)O8259_3 EQU 2B0H ;8259 的 OCW3 端口地址(偶地址)DATA SEGMENT MES1 DB YOU CAN PLAY A KEY ON THE KEYBOARD!,0DH,0AH,24H ;24H=$MES2 DD MES1 MESS1 D
33、B HELLO!THIS IS INTERRUPT *0 *!,0DH,0AH,$MESS2 DB HELLO!THIS IS INTERRUPT *1 *!,0DH,0AH,$MESS3 DB HELLO!THIS IS INTERRUPT *2 *!,0DH,0AH,$MESS4 DB HELLO!THIS IS INTERRUPT *3 *!,0DH,0AH,$MESS5 DB HELLO!THIS IS INTERRUPT *4 *!,0DH,0AH,$MESS6 DB HELLO!THIS IS INTERRUPT *5 *!,0DH,0AH,$MESS7 DB HELLO!THIS
34、 IS INTERRUPT *6 *!,0DH,0AH,$MESS8 DB HELLO!THIS IS INTERRUPT *7 *!,0DH,0AH,$DATA ENDS STACKS SEGMENT 课好还是玩儿好生上课好师玩儿好不好生不好师你们说的是实话吗生是师让我说玩最好上课好不好呢这事儿我们得体验体验分钟以后你再来谈你的体会好吗生好师时间已经很晚了我就不再多介绍了一会儿呢小朋友就可以了解谢老师立老师好师小朋友们好请坐一情境导入师我们从这里一分为二这边算一队这边的同学算一队那么我说这边的同学算甲队甲队的同学向老师挥挥手好极了那这边的同学呢是乙队乙队的同学向老师点点头记住了好啦我们先要搞
35、一个拍球完了怎么办生给她师你拍完了呢生我拍完了给我后面的一位同学师就传呀传呀然后把你们的总数怎么办生加起来师求出来对吗生对师可是小朋友们一节课只有分钟要是这样拍呀拍呀时间可就不够用了有没有更好的办法师你有什么办.范文 .DB 100 DUP(?)STACKS ENDS STACK1 SEGMENT STACK DW 256 DUP(?)STACK1 ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACKS,ES:DATA.386 START:MOV AX,DATA MOV DS,AX MOV ES,AX ;DS,ES段基址都设为 DATA MOV A
36、X,STACKS MOV SS,AX ;SS段基址都设为 STACKS MOV DX,I8259_1 ;初始化 8259 的 ICW1 MOV AL,13H ;0001:ICW1 0011:边沿触发、单片 8259、需要ICW4;0001 0011(IR7-3=000:无意义;IR4=1:ICW1标识位;IR3=0:边沿;IR2=0:无意义;IR1=1:单片 8259;IR0=1:需要 ICW4)OUT DX,AL MOV DX,I8259_2 ;初始化 8259 的 ICW2 MOV AL,0B0H ;1011 0000 OUT DX,AL MOV AL,03H ;ICW4 0000 001
37、1 OUT DX,AL MOV DX,O8259_1;初始化 8259 的中断屏蔽操作命令字 MOV AL,00H ;打开屏蔽位 OUT DX,AL;写 OCW1,打开屏蔽位 QUERY:MOV AH,1 ;判断是否有按键按下 INT 16H JNZ QUIT ;有按键则退出 MOV DX,O8259_3 ;向 8259 发送查询命令 MOV AL,0CH ;0000 1100 OUT DX,AL;先向 8259 发送一个 OCW3,其中查询位 P 为 1,则下一条指令中可以从同样的地址中取得一个查询字,得到的查询字中最高位(D7)为 1 代课好还是玩儿好生上课好师玩儿好不好生不好师你们说的是
38、实话吗生是师让我说玩最好上课好不好呢这事儿我们得体验体验分钟以后你再来谈你的体会好吗生好师时间已经很晚了我就不再多介绍了一会儿呢小朋友就可以了解谢老师立老师好师小朋友们好请坐一情境导入师我们从这里一分为二这边算一队这边的同学算一队那么我说这边的同学算甲队甲队的同学向老师挥挥手好极了那这边的同学呢是乙队乙队的同学向老师点点头记住了好啦我们先要搞一个拍球完了怎么办生给她师你拍完了呢生我拍完了给我后面的一位同学师就传呀传呀然后把你们的总数怎么办生加起来师求出来对吗生对师可是小朋友们一节课只有分钟要是这样拍呀拍呀时间可就不够用了有没有更好的办法师你有什么办.范文 .表有中断请求,第三位为请求的来源。I
39、N AL,DX ;读出查询字 TEST AL,80H ;判断中断是否已响应;若最高位为 1,则有中断请求 JZ QUERY ;没有响应则继续查询 AND AL,07H CMP AL,00H JE IR0ISR ;若为 IR0 请求,跳到 IR0 处理程序 CMP AL,01H JE IR1ISR ;若为 IR1请求,跳到 IR1处理程序 CMP AL,02H JE IR2ISR ;若为 IR2 请求,跳到 IR2 处理程序 CMP AL,03H JE IR3ISR ;若为 IR3 请求,跳到 IR3 处理程序 CMP AL,04H JE IR4ISR ;若为 IR4 请求,跳到 IR4 处理程
40、序 CMP AL,05H JE IR5ISR ;若为 IR5 请求,跳到 IR5 处理程序 CMP AL,06H JE IR6ISR ;若为 IR6 请求,跳到 IR6 处理程序 CMP AL,07H JE IR7ISR ;若为 IR7 请求,跳到 IR7 处理程序 JMP QUERY IR0ISR:MOV AX,DATA MOV DS,AX MOV DX,OFFSET MESS1 ;显示提示信息 MOV AH,09 INT 21H JMP EOI IR1ISR:MOV AX,DATA MOV DS,AX MOV DX,OFFSET MESS2 ;显示提示信息 MOV AH,09 INT 21
41、H JMP EOI IR2ISR:MOV AX,DATA MOV DS,AX MOV DX,OFFSET MESS3 ;显示提示信息 MOV AH,09 INT 21H JMP EOI 课好还是玩儿好生上课好师玩儿好不好生不好师你们说的是实话吗生是师让我说玩最好上课好不好呢这事儿我们得体验体验分钟以后你再来谈你的体会好吗生好师时间已经很晚了我就不再多介绍了一会儿呢小朋友就可以了解谢老师立老师好师小朋友们好请坐一情境导入师我们从这里一分为二这边算一队这边的同学算一队那么我说这边的同学算甲队甲队的同学向老师挥挥手好极了那这边的同学呢是乙队乙队的同学向老师点点头记住了好啦我们先要搞一个拍球完了怎么办
42、生给她师你拍完了呢生我拍完了给我后面的一位同学师就传呀传呀然后把你们的总数怎么办生加起来师求出来对吗生对师可是小朋友们一节课只有分钟要是这样拍呀拍呀时间可就不够用了有没有更好的办法师你有什么办.范文 .IR3ISR:MOV AX,DATA MOV DS,AX MOV DX,OFFSET MESS4 ;显示提示信息 MOV AH,09 INT 21H JMP EOI IR4ISR:MOV AX,DATA MOV DS,AX MOV DX,OFFSET MESS5 ;显示提示信息 MOV AH,09 INT 21H JMP EOI IR5ISR:MOV AX,DATA MOV DS,AX MOV
43、DX,OFFSET MESS6 ;显示提示信息 MOV AH,09 INT 21H JMP EOI IR6ISR:MOV AX,DATA MOV DS,AX MOV DX,OFFSET MESS7 ;显示提示信息 MOV AH,09 INT 21H JMP EOI IR7ISR:MOV AX,DATA MOV DS,AX MOV DX,OFFSET MESS8 ;显示提示信息 MOV AH,09 INT 21H EOI:MOV DX,O8259_2 ;向 8259 发送中断结束命令;向 8259 发 OCW2,D5 位为 EOI 中断结束命令位,20H 表示清除当前中断服务寄存器的 ISn 位
44、,在非自动结束中断方式中使用。MOV AL,20H OUT DX,AL JMP QUERY QUIT:MOV AX,4C00H ;结束程序退出 INT 21H CODE ENDS END START 课好还是玩儿好生上课好师玩儿好不好生不好师你们说的是实话吗生是师让我说玩最好上课好不好呢这事儿我们得体验体验分钟以后你再来谈你的体会好吗生好师时间已经很晚了我就不再多介绍了一会儿呢小朋友就可以了解谢老师立老师好师小朋友们好请坐一情境导入师我们从这里一分为二这边算一队这边的同学算一队那么我说这边的同学算甲队甲队的同学向老师挥挥手好极了那这边的同学呢是乙队乙队的同学向老师点点头记住了好啦我们先要搞一个
45、拍球完了怎么办生给她师你拍完了呢生我拍完了给我后面的一位同学师就传呀传呀然后把你们的总数怎么办生加起来师求出来对吗生对师可是小朋友们一节课只有分钟要是这样拍呀拍呀时间可就不够用了有没有更好的办法师你有什么办.范文 .实验二 实验 2-1(1)实验容 计数应用实验。应用 8254 的计数功能,用开关模拟计数,使每当按照计数初值的次数按动单次脉冲后,观察 LED 的变化。(2)主要步骤 说明:运行源程序 8254.asm,按接线图接线,实现计数器功能。接线图:程序源代码:IO8254_MODE EQU 283H ;8254 控制寄存器端口地址 IO8254_COUNT0 EQU 280H ;825
46、4 计数器0端口地址 STACK1 SEGMENT STACK 课好还是玩儿好生上课好师玩儿好不好生不好师你们说的是实话吗生是师让我说玩最好上课好不好呢这事儿我们得体验体验分钟以后你再来谈你的体会好吗生好师时间已经很晚了我就不再多介绍了一会儿呢小朋友就可以了解谢老师立老师好师小朋友们好请坐一情境导入师我们从这里一分为二这边算一队这边的同学算一队那么我说这边的同学算甲队甲队的同学向老师挥挥手好极了那这边的同学呢是乙队乙队的同学向老师点点头记住了好啦我们先要搞一个拍球完了怎么办生给她师你拍完了呢生我拍完了给我后面的一位同学师就传呀传呀然后把你们的总数怎么办生加起来师求出来对吗生对师可是小朋友们一节
47、课只有分钟要是这样拍呀拍呀时间可就不够用了有没有更好的办法师你有什么办.范文 .DW 256 DUP(?)STACK1 ENDS CODE SEGMENT ASSUME CS:CODE START:MOV DX,IO8254_MODE ;初始化8254 工作方式 MOV AL,17H ;计数器0,方式3 0001 0111;方式0 0001 0001:11H OUT DX,AL ;01只写低8位 MOV DX,IO8254_COUNT0 ;装入计数初值 MOV AL,04H OUT DX,AL MOV AX,4C00H ;返回到DOS INT 21H CODE ENDS END START 实
48、验 2-2(1)实验容 自设计实验。参考实验一的程序,编写程序,以 1MHz 为时钟源,应用 8254 的定时功能,将其分频为 1Hz。以 LED 灯作为输出显示。课好还是玩儿好生上课好师玩儿好不好生不好师你们说的是实话吗生是师让我说玩最好上课好不好呢这事儿我们得体验体验分钟以后你再来谈你的体会好吗生好师时间已经很晚了我就不再多介绍了一会儿呢小朋友就可以了解谢老师立老师好师小朋友们好请坐一情境导入师我们从这里一分为二这边算一队这边的同学算一队那么我说这边的同学算甲队甲队的同学向老师挥挥手好极了那这边的同学呢是乙队乙队的同学向老师点点头记住了好啦我们先要搞一个拍球完了怎么办生给她师你拍完了呢生我
49、拍完了给我后面的一位同学师就传呀传呀然后把你们的总数怎么办生加起来师求出来对吗生对师可是小朋友们一节课只有分钟要是这样拍呀拍呀时间可就不够用了有没有更好的办法师你有什么办.范文 .(2)主要步骤 在实验 2-1的基础上改写代码,重新设计电路,运行并观察验证结果正确性。接线图:程序源代码:IO8254_MODE EQU 283H ;8254 控制寄存器端口地址 IO8254_COUNT0 EQU 280H ;8254 计数器0端口地址 IO8254_COUNT1 EQU 281H ;8254 计数器0端口地址 STACK1 SEGMENT STACK DW 256 DUP(?)STACK1 EN
50、DS CODE SEGMENT ASSUME CS:CODE START:MOV DX,IO8254_MODE ;初始化8254 工作方式 课好还是玩儿好生上课好师玩儿好不好生不好师你们说的是实话吗生是师让我说玩最好上课好不好呢这事儿我们得体验体验分钟以后你再来谈你的体会好吗生好师时间已经很晚了我就不再多介绍了一会儿呢小朋友就可以了解谢老师立老师好师小朋友们好请坐一情境导入师我们从这里一分为二这边算一队这边的同学算一队那么我说这边的同学算甲队甲队的同学向老师挥挥手好极了那这边的同学呢是乙队乙队的同学向老师点点头记住了好啦我们先要搞一个拍球完了怎么办生给她师你拍完了呢生我拍完了给我后面的一位同学