计算机接口信息获取实验,現代计算机接口技术实验.doc

現代计算机接口技术实验

现代计算机接口技术

及MFC程序实现

武汉工业学院计算机与信息工程系

目 录

实验1 定时与中断接口程序设计………………………………………………………………………1

实验2 操作PC机上的8250实现串行通信………………………………………………………5

实验3 基于DLL与HOOK技术的键盘消息拦截与读音……………………………………10

实验4 MFC串行通信程序设计…………………………………………………………………………16

实验5 DirectShow接口实现视频显示与帧捕获………………………………………………20

实验6 基于Socket接口的网络通信MFC程序设计…………………………………………27

实验1 定时与中断接口程序设计

一 实验目的

1.了解定时器/计数器8253、并行I/O接口8255A在PC机中的电路连接方法;

2.学习使用TURBO C++对8253、8255进行编程操作;

3.熟悉拦截PC机中断向量的TC++ 编程方法。

二 实验内容

1.8253、8255在PC/XT机中的电路连接介绍

PC机启动后,系统设置的初始状态为:

芯片有关工作方式初值运行情况8253通道0#:方式3(方波发生器)计数初值:0000HOUT输出55ms方波至8259的IRQ0通道2#:?(1KHz)计数初值:?(1190)?(1KHz方波)8255PB0、PB1:方式0(简单输出)控制蜂鸣器发声。0:不发声,1:发声8259IRQ0:允许中断中断类型号:8CPU响应8号中断表中,8253的通道2#的工作方式和计数初值未知,要求自己设置。

2.程序要求

利用TURBO C++开发环境设计程序,实现如下功能:

(1)程序启动时,要求输入定时时间,以秒为单位。

(2)按秒计时,每秒到达时,在屏幕上显示当前为第几秒,同时蜂鸣器发出短促叫声;

(3)当定时时间到,则显示“Time Up!”,结束程序。

三 实验环境

硬件环境:PC机一台;

软件环境:操作系统不限,TURBO C++3.0。

四 实验步骤

1.建立源文件

启动TURBO C++3.0,建立Timer.CPP。保存到D:\ ×××(学号)\Timer.CPP;

2.设置TC工作目录

选菜单Options/Directories,第1、2栏保持不变,第3、4栏填写您的文件存放目录,OK。如此,TC生成的可执行文件等将会存放到此工作目录下。

样例如下:

3.输入源程序

以下源程序仅供参考。

#include //支持标准输入输出,如printf()。

#include //支持接口访问、中断向量操作函数

#include //支持exit()函数

#ifdef __cplusplus //定义C++使用的中断函数标识符。若是×××.C程序,则不需要

#define __CPPARGS ...

#else

#define __CPPARGS

#endif

int nTick=0,sec=0,flag=0;

unsigned char sys_PB,my_PB;

void interrupt far (*sys_int_08)(__CPPARGS); //若是×××.C,则函数参数不写

void interrupt far my_int_08(__CPPARGS) //若是×××.C,则函数参数不写

{//8号中断,每55ms中断一次,由8253的0号定时器定时,并向8259 IRQ0申请中断

++nTick;

if(tinck==1) outportb(0x61,my_PB); //开始鸣叫

else if(tinck==3) outportb(0x61,sys_PB); //停止鸣叫

else if(nTick>18)

{ // 1second/55ms 近似等于18

flag=1;

nTick=0;

sec++;

}

sys_int_08(); //调用系统的中断向量

}

//==========================================

void main()

{ unsigned int Time_up;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值