北理工计算机原理与应用实验报告,北理工计算机原理与应用实验二.docx

《北理工计算机原理与应用实验二.docx》由会员分享,提供在线免费全文阅读可下载,此文档格式为docx,更多相关《北理工计算机原理与应用实验二.docx》文档请在天天文库搜索。

1、北京理工大季本科实验报告实验名称: 计算机原理与应用实验二课程名称:计算机原理与应用实验时间:任课教师:实验地点:实验教师:实验类型:□ 原理验证□ 综合设计□ 自主创新学生姓名:学^/班级:组 号:学 院:同组搭档:专 业:成 绩:信息与电子学院实验二 利用中断方式设计数字时钟实验目的1. 掌握PCM中断处理系统的基本原理。2. 熟悉定时 / 计数器 8254工作原理及其编程方法。3. 利用实验板上的8254定时器为中断源发中断申请, 中断请求用IRQ3(系统总线区的IRQ)。4. 熟悉数码管显示原理,掌握数码管显示接口技术。5. 学习数字时钟原理,实现数字时钟。6. 掌握中断控制器 8259管理实验内容与步骤1) 接线(参考):PB7~PB0/8255CS /8254PC3~PC0 /8255CS/8255IRQ / 总线 GATE0 /8254CLK0 /8254OUT0 /825。

2、4GATE1 /8254接接接接接接接接接dp~a /LED 数码管Y0 /IO 地址S3~S0/LED 数码管Y1 /IO 地址 OUT1/8254 +5V 1M寸钟CLK1 /8254 +5V三、实验原理1、PC 机用户可使用的硬件中断只有可屏蔽中断,由 8259 中断控制器管理。中断控制器用于接收外部的中断请求信号,经过优先级判别等处理后向 CPU发出可屏蔽中断请求。IBMPC、PC/XT 机内有一片 8259 中断控制器对外可以提供 8个中断源:中断源 中断类型号 中断功能IRQ0 08H 时钟IRQ1 09H 键盘IRQ2 0AH 保留IRQ3 OBH 串行口 2IRQ4 0CH 串行口 1IRQ5 0DH 硬盘IRQ6 0EH 软盘IRQ7 0FH 并行打印机中断源中断类型号中断功能8个中断源的中断请求信号线 IRQ0〜IRQ7在主机的62线ISA总线插座中可以引出,系“边沿触。

3、发”,普通结束方式。对于 PC/AT 及286 以上微机内又扩8259 中断控制, IRQ2 用于两片 8259 之间级连,对外可以提供 16 个中断源:IRQ8070H实时时钟IRQ9071H用户中断IRQ10072H保留IRQ11O73H保留IRQ12074H保留IRQ13075H协处理器IRQ14076H硬盘IRQ15077H保留实验系统总线区的IRQ接到了 3号中断IRQ3上,即进行中断实验时,所用中断类型号为 0BH=2、中断控制器8259可利用系统初始化设定如不进行新的初始化,只需对 8259中断控 制器的屏蔽寄存器设定IRQ3为中断允许,其他原有中断允许保持不变。3、将实验板上的8253的通道,设定为10ms周期信号发生器该芯片的通道 1设定为计 数器,其输入来自定时器通道 0的输出,利用通道1的计数器输出作为IRQ3中断请求信号。4、8254定时器的CLK0由实验板上的1M。

4、HZ振荡器来提供。US OUT 16253GRTL 1CLkl

5、11111117FH911011116FH7、程序流程图科芹开始中断力寿程序流程图1「片宛程序3 程序时程四、 实验代码:p8259 equ 20h ;端口首地址低八位p8255 equ 288h ;端口首地址out dx,al ;设置中断向量表p8253 equ 280h ;IO Y1PUSH ESdata segmentPUSH BXled db 3fh,06h,5bh,4fh,MOV Al,0BH ; 保护原中断向量 ,0B 中66h,6dh,7dh,07h,7fh,6fh ; 数断类型号码管mov ah,35hsec1 db 0INT 21H ;读中断向量表sec2 db 0MOV Old_0A+2,ES;ES为段地址,BX为段min1 db 0偏移地址min2 db 0MOV Old_0A,BXmes db 42hPOP BXOld_0A DW 0,0 ;原中断向量POP ESO。

6、ld_8259 DB 0push dsdata endsmov al,0bh ;写新中断向量stacks segmentmov ah,25hdb 64 dup (0)mov dx,seg INT_0Astacks endsmov ds,dxcode segmentmov dx,offset INT_0Aassume cs:code,ds:data,es:dataint 21hstart:pop dsmov ax,datamov al,10000000b ;对 8255进行设mov ds,ax置,PB/PC输出cli; 关闭中断mov dx,p8255+3mov al,00110110bout dx,almov dx,p8253+3 ;计数器 0, 工作在模in al,p8259+1 ;8259奇地址中断式3向量屏蔽out dx,almov old_8259,al ;字设置 保护mov ax。

7、,10000原屏蔽字mov dx,p8253and al,11110111b ;开 IRQ3out dx,alout p8259,almov al,ah ;先赋高八位 再赋低sti ;开中断八位play:out dx,allea bx,led ;led段码mov al,01110110bmov dl,sec1 ;秒个位mov dx,p8253+3 ;计数器 1, 工作在模mov dh,0式3mov si,dxout dx,almov al,[bx][si]mov ax,100mov dx,p8255+1 ;点亮 ledmov dx,p8253+1out dx,alout dx,almov ah,00001110bmov al,ah ; 先赋高八位 再赋 mov al,ahmov dx,p8255+2 ;pc 输出选通信号out dx,alPUSH CXMOV CX,00f00h ; 延时d。

8、elay1:LOOP delay1POP CXmov ah,00001111bmov al,ahmov dx,p8255+2 ;pc 输出选通信号out dx,almov dl,sec2 ; 秒十位mov dh,0mov si,dxmov al,[bx][si]mov dx,p8255+1 ; 点亮 ledout dx,almov ah,00001101bmov al,ahmov dx,p8255+2 ;pc 输出选通信号out dx,alPUSH CXMOV CX,00f00h ; 延时delay2:LOOP delay2POP CXmov ah,00001111bmov al,ahmov dx,p8255+2 ;pc 输出选通信号out dx,almov dl,min1 ; 分个位mov dh,0mov si,dxmov al,[bx][si]mov dx,p8255+1 ; 点亮 l。

9、edout dx,almov ah,00001011bmov al,ahmov dx,p8255+2 ;pc 输出选通信号out dx,alPUSH CXMOV CX,00f00h ; 延时delay3:LOOP delay3POP CXmov ah,00001111bmov al,ahmov dx,p8255+2 ;pc 输出选通信号out dx,almov dl,min2 ; 分十位mov dh,0mov si,dxmov al,[bx][si]mov dx,p8255+1 ; 点亮 ledout dx,almov ah,00000111bmov al,ahmov dx,p8255+2 ;pc 输出选通信号out dx,alPUSH CXMOV CX,00f00h ; 延时delay4:LOOP delay4POP CXmov ah,00001111bmov al,ahmov dx,p。

10、8255+2 ;pc 输出选通信号out dx,aljmp playmov ah,4chint 21hINT_0A proc near ; 中断服务子程序cmp sec1,9jz int1inc sec1jmp exitint1:mov sec1,0inc sec2cmp sec2,6jnz exitmov sec2,0inc min1cmp min1,10jnz exitmov min1,0inc min2cmp min2,6iretjnz exitmov min2,0 INT_0A endpexit: code endsmov al,20h end startout 20h,al五、 实验结果:编译运行后, 可以看到实验板上 7段数码管从 0开始计数。 一直记到 9999然后清零, 实现一个 9999 以内的十进制计数器。六、 实验心得:经过这次实验,我明白了实验代码的重要性,开始的时候显示的数都是 8 ,但是也有计数,就像是初始电平设的比较高,电平直接加在原来的电平上,只能看见有一点变化, 后来改了一下 play 中的赋值之后, 计数就对了。 写代码的时候可以用标号来分段, 使得长代码比较容易看懂,代码块之间的功能更加清楚明白。。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值