微机实验键盘程序设计实验

  • 格式:doc
  • 大小:26.00 KB
  • 文档页数:2

实验 四 题目 键盘程序设计实验 第 周 星期 第 节
一、 实验目的
1、学习键盘I/O程序设计方法
2、了解系统功能中断的设计方法

二、 实验内容和要求
1、在PC机中,对键盘的管理是通过中断机构和8255可编程外围借口芯片来实
现的。
2、8255芯片有两个端口PA(60H)、PB(61H),在这个硬件借口的基础上,系统
BIOS中已配备了键盘的服务功能,因此用户可调用键盘的DOS、BIOS功能
编程。
3、完成对键盘的中断检测,把键盘的83个键的扫描码转换成相应的ASII字符
码。

三、 实验主要仪器和材料
计算机一台
四、 程序结构分析
1、分析程序结构

答:该程序由三个子程序和一个主程序构成。子程序KBGET用来检测并等
待键盘中断,如有键盘输入,则从缓冲区取出字符并进行队列管理。子程序
KBINT为键盘中断处理程序,主要从输入口PA(60H)读入按键的扫描码并返
回应答信号,同时把通码转换为ASCII码存入队列尾。子程序DISPCHAR为显
示程序,用来显示输入的字符。主程序START通过调用子程序,实现健入字符
的读取与显示。
CLI 关中断,把09号中断矢量指向Kbint,同时把原来指针备份,打开键
盘中断的屏前6位?1->0;
显示字符串 prompt;
STI 关中断;
Forever 输入一个字符的kbget,软系啊esc,结束,显示这个字符,如按回
车键,显示换行,无限循环forever;
中断服务于kbint,按下进入,读60H得到键盘扫描符号,置61H为已读,
确认,再复位,如读入ESC,返回,查表把扫描码编程ASCII码。
2、09号中断的任务是什么?
答:09号中断是键盘中断处理程序。

3、键盘队列有几种工作状态?
答:2种。

五、 思考题
1该程序键盘属于什么编码方式?
答:二进制编码
2键盘缓冲区占用多少单元?
答:16个单元