| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1270 人关注过本帖
标题:键盘数字输入训练器程序设计
只看楼主 加入收藏
DK320
Rank: 1
等 级:新手上路
帖 子:14
专家分:3
注 册:2009-11-2
结帖率:66.67%
收藏
 问题点数:0 回复次数:2 
键盘数字输入训练器程序设计
基本要求:
1、在缓冲区中预放了一些字符,当有键盘输入,则从缓冲区中取出字符并进行显示。
2、对取出的字符进行队列管理。
3、增加left_shift和right_shift键的功能,即在按下left_shift或right_shift键的同时,又按下0~9或a~z等键,则CPU取得并显示键的上档符号或大写字母。


第一个要求的意思是预先存了些字符在缓冲区,当输入的字符缓冲区中有时,则输出,否则不输出。
第二个要求的意思是对输出的字符按照从小到大或从大到小的顺序重新排列并输出。
第三个要求的意思是按下“shift+数字键”时,显示上档符号(如!,@,#,$,*,&等),按下“shift+字母键”时输出大写字母。
我想出一些,要用到DOS功能中的输入字符,输出字符,输出字符串,还有对数据区的查找并显示,将小写转换成大写,谁能再给些提示或是设计步骤、主要代码?



[ 本帖最后由 DK320 于 2009-11-30 16:18 编辑 ]
搜索更多相关主题的帖子: 输入 键盘 数字 训练器 程序设计 
2009-11-29 19:10
DK320
Rank: 1
等 级:新手上路
帖 子:14
专家分:3
注 册:2009-11-2
收藏
得分:0 
没人会吗?
2009-11-30 21:54
小洋
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2010-12-11
收藏
得分:0 
要求用汇编语言进行编程,下面是编写过程中主要涉及的知识点(其中举例只是实现方法之一,可根据自己对知识的掌握情况进行设计并调试):
1、在PC机中,对键盘的管理是通过中断机构和8255芯片来实现的,在8255中有两个端口PA和PB,在这个硬件接口的基础上,系统在BIOS中配备了键盘服务功能,可以调用键盘的DOS和BIOS功能编程,也可以直接在硬件接口的基础上编程。在硬件接口得基础上编写键盘输入程序,有关端口的信息:
7    6   5    4   3    2    1    0      
PA(60H)                                        若PB位7=0

                          键盘扫描码
7    6   5    4   3    2    1    0
                                                  若PB位7=1




7    6   5    4   3    2    1    0
PB(61H)                                

                                                      定时器2与门
                                           扬声器脉冲门
                                        PC位0~3选源
                                    0=启开盒式带马达
                              0=允许RAM
                           0=允许由扩充槽的错误信号
                      0=禁止键盘时钟
                   PA选源,即1=键盘应答
2、视频显示程序设计:一般由DOS 或BIOS调用来完成。有关显示输出的DOS功能调用不多,而BIOS调用的功能很强,主要包括设置显示方式、光标大小和位置、设置调色板号、显示字符、显示图形等。用INT 10H即可建立某种显示方式。
用DOS功能调用显示技术,把系统功能调用号送至AH,把程序段规定的入口参数,送至指定的寄存器,然后由中断指令 INT 21H来实现调用,例:要输出多于一个字符时,利用DOS功能调用9。
3、键盘扫描程序设计:检测键盘状态,有无输入,并检测输入各值。例:利用DOS系统功能调用的01号功能,接受从键盘输入的字符到AL寄存器。
参考资料:
1.《微型计算机接口技术及应用》
2.《汇编语言程序设计》
3.《微型计算机汇编语言程序设计》
四、    教科书中关于IBM-PC/XT机系统硬件的内容,包括8250(串行口控制器),8253,8255,8259等。
五、    DOS系统功能调用。INT    21H
10、    显示
显示单个字符
入参:    AH=02H
DL=字符ASCII值
出参:   
显示字符串
入参:    AH=09H
DS:DX 此寄存器对指向内存中字符串的首地址,字符串以$结束
出参:   
11、    键盘
检查键盘状态
入参:    AH=0BH
出参:    AL=00H无输入   0FFH有一字符
读键盘字符
入参:    AH=08H
出参:    AL=字符ASCII值
12、    其它
退出程序,返回系统
入参:    AH=4CH
出参:   
取中断矢量
入参:    AH=35H
            AL=中断类型号
    出参:    ES:BX 中断矢量,ES为段地址,BX为偏移地址
置中断矢量
入参:    AH=25H
            AL=中断类型号
            DS:DX 中断矢量,DS为段地址,DX为偏移地址
出参:    AL=字符ASCII值
六、    BIOS屏幕功能调用。INT    10H
1、清屏操作
MOV     AX,0600H
MOV     CX,0000H
MOV     DX,184FH
MOV     BH,07H
INT     10H
2、移动光标
MOV     AH,02H
MOV     DH,**           ;**为目的地行数(0-24)
MOV     DL,**           ;**为目的地列数(0-79)
MOV     BH,00H
INT     10H
3、禁止光标显示
MOV     AH,01H
MOV     CX,2000H
INT     10H
4、恢复光标显示
MOV     AH,01H
MOV     CX,0C0DH
INT     10H

2010-12-11 21:27
快速回复:键盘数字输入训练器程序设计
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.023803 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved