下载此文档

微机接口综合实验.doc


文档分类:IT计算机 | 页数:约16页 举报非法文档有奖
1/16
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/16 下载此文档
文档列表 文档介绍
一、实验目的(1) 了解可编程定时/ 计数器芯片 8253 在 PC 机里的工作情况。(2) 掌握 PC 机定时操作的工作原理。二、实验内容及要求 1.【实验内容】: 对 PC 机中的 8253 进行编程,使得 PC 机成为一个精确的时钟; 2.【实验要求】: (1 )程序截获系统原有的时钟中断向量,置入用户自己的时钟中断向量。(2)将 8253 的通道 0 设置为工作方式 3, 二进制数, 装入计数初值 11932 , 使其没 10ms 产生一次定时中断, 即每秒钟中断 100 次, 在程序中设置每一个中断次数计数器 count100 ,初值为 100 ,每次中断减一,到 0 后又重新置为 100 ,并对时间显示串进行处理。(3 )程序运行时,在命令行输入用户指定的当前时间“ nn:mm:ss ”,即以两位数给出的“时:分”秒”,按任意键后开始计时,并以 12 小时的格式显示当前时间。(4) 在程序运行过程中, 即时间显示过程中, 用户按住任意键, 恢复系统原中断向量,退出时钟程序的运行。 3. 【实验流程图】: NY NY 【计时操作判断流程图】保护首地址数据段置寄存器时钟循环显示置“ nn:mm:ss ”8 个字节 ASCII 码入段读 8259A 的中断屏蔽寄存器,开中断 8253 命令字设计:通道 0 ,方式 3 ,二进制送往 8253 编程端口关中断,保护中断向量设置用户中断向量开始是否有按键输入检查用户是否按键结束退出时钟循环显 NYNYN YN YN YN YY NN Y 开始中断次数计数器减一秒加 1 秒个位置 0 ,十位加 1 秒的十位置 0 ,分个位加 1退出中断次数计数器是否为 0 秒的十位到是否到6 秒是否到 9 分的个位到是否到9 分的个位置 0 ,分十位加 1 分的十位到是否到 6 分的十位置 0 ,小时十位加 1 时的个位到是否到 3 时的个位置 0 ,小时十位加 1 时的十位到是否到 2 时的十位到是否到 9【用户定时中断程序流程图】 4.【实验代码】: .model small .model small .stack 256 .data count100 db 100 ;中断次数计数器 tenhour db0 ;一小时的十位数 hour db0 ;一小时的个位数 db ':' tenmin db0 ;分钟的十位数 minute db0 ;分钟的个位数 db ':' tensec db0 ;秒钟的十位数 second db0 ;秒钟的个位数 oldtime dw 0; 保存原时钟中断向量 dw 0 .code start proc far push ds ;进行程序的首地址保护 xor ax, ax push ax mov ax, ***@data mov es, ax ;指向数据段 mov si, 82h ;指向 PSP 内命令行参数 mov di, offset tenhour mov cx, 8 ;放入“ nn:mm:ss ”的8个 ASCII 码的值 cld rep movsb ;命令行的参数移入显示串中 mov ds, ax ;将数据段的段地址 ax 存入 ds中 mov ah, 0 ;等待按键程序启动 int 16h cli ;关中断 mov ax, 0 mov es, ax ;将段地址 ax 存入 es 段中 mov di, 20h ;产生类型号为 20H 的中断放入 di中 mov bx, es:[di] ;将中断向量保存在 bx中 mov oldtime, bx mov bx, es:[di+2] mov [oldtime+2], bx mov ax, offset timer ;设置用户的中断向量 stosw mov ax, seg timer stosw mov al, 36h ; 8253 中的命令字:通道 0 ,方式 3 ,二进制数 out 43h, al ;将设置好的命令字送到 8253 控制端口 mov bx, 11932 ;每秒钟中断 100 次计数值 mov al, bl out 40h, al ;置入通道 0 的寄存器 mov al, bh out 40h, al in al, 21h ;读取 8259A 的中断屏蔽寄存器 and al,0fch ;开放键盘和时钟中断 out 21h, al ;写入 8259A 的新的屏蔽字 sti ;开中断 forever: mov ah, 0bh ;循环检查用户书否键入内容 int 21h cmp al,0ffh ;如果按键,则退出循环 jz exit mov bx, offset tenhour ;时间显示串首地址放入

微机接口综合实验 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数16
  • 收藏数0 收藏
  • 顶次数0
  • 上传人63229029
  • 文件大小349 KB
  • 时间2017-01-16