高级编程技术的实现

高级编程技术的实现

ID:27567163

大小:1.28 MB

页数:150页

时间:2018-12-04

高级编程技术的实现_第1页
高级编程技术的实现_第2页
高级编程技术的实现_第3页
高级编程技术的实现_第4页
高级编程技术的实现_第5页
资源描述:

《高级编程技术的实现》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第3章高级编程技术的实现主要内容操作手段显示方式图形绘制技术图像技术动画技术发声技术汉字显示技术精确的时间控制技术1第3章高级编程技术的实现操作手段:键盘在键盘内有一个微处理器,用来扫描和检测每个键的按下和抬起状态,然后以程序中断(INT9H)的方式与主机通信,向主机传送一个字节的按键扫描码。接着ROM中BIOS内的键盘中断处理程序,将按键扫描码翻译成对应的ASCII码或扩充的ASCII码,存放在AX寄存器中。它不是ASCII码;其0~6位标识了每个键在键盘上的位置,最高位为0对应该键是被按下;1对应松开;它并不能区别大小写字母,而且一些特殊

2、键不产生扫描码直接引起中断调用键名AHAL字符键ASCII码ASCII码功能键/组合键扩充码的ASCII码0——原理2第3章高级编程技术的实现操作手段:键盘——方法方法一:直接使用声明在bios.h中的库函数bioskey();方法二:通过库函数int86(),调用BIOS的INT16H、功能号为0的中断。它将按键的扫描码存放在AH寄存器中;方法三:简单地利用声明在conio.h中的库函数kbhit()。3第3章高级编程技术的实现操作手段:键盘——方法一intbioskey(intcmd);/*参数cmd用来确定函数如何操作*/cmd=0bi

3、oskey()返回按健的键值,该值是2个字节的整型数。若没有键按下,则该函数一直等待,直到有键按下。当按下时,若返回值的低8位为非零,则表示为普通键,其值代表该键的ASCII码。若返回值的低8位为0,则高8位表示为扩展的ASCII码,表示按下的是特殊功能键4第3章高级编程技术的实现操作手段:键盘——方法一intbioskey(intcmd);/*参数cmd用来确定函数如何操作*/cmd=1bioskey()查询是否有键按下。若返回非0值,则表示有键按下,若为0表示没键按下。5第3章高级编程技术的实现操作手段:键盘——方法一intbioskey

4、(intcmd);/*参数cmd用来确定函数如何操作*/cmd=2bioskey()将返回一些控制键是否被按过,按过的状态由该函数返回的低8位的各位值来表示:字节位对应的16进制数含义00x01右边的shift键被按下10x02左边的shift键被按下20x04Ctrl键被按下30x08Alt键被按下40x10ScrollLock已打开50x20NumLock已打开60x40CapsLock已打开70x80Insert已打开6第3章高级编程技术的实现操作手段:键盘——方法二/*读键函数,返回扫描码*/intgetKeySCode(){unio

5、nREGSrg;rg.h.ah=0;int86(0x16,&rg,&rg);returnrg.h.ah;}7键盘扫描码表见课程主页第3章高级编程技术的实现操作手段:键盘——方法三intkbhit(void);若按了键盘,该函数返回值1,否则返回值0。8第3章高级编程技术的实现操作手段:鼠标DOS操作系统和TurboC2.0并不支持鼠标器的操作。要操纵鼠标器,首先必须安装相应的鼠标驱动程序。鼠标驱动程序由生产鼠标的厂家提供,它提供了许多鼠标操作的功能。这些功能可以通过INT33H鼠标中断调用来使用。——原理9第3章高级编程技术的实现操作手段:鼠

6、标——常用功能/*显示鼠标器光标*/voidcursorOn(){unionREGSr;structSREGSs;r.x.ax=1;/*1号鼠标器功能:显示鼠标光标*/msvisible=TRUE;int86x(0x33,&r,&r,&s);}10第3章高级编程技术的实现/*关闭鼠标器光标*/voidcursorOff(){unionREGSr;structSREGSs;r.x.ax=2;/*2号鼠标器功能:不显示鼠标光标*/msvisible=FALSE;int86x(0x33,&r,&r,&s);}操作手段:鼠标——常用功能11第3章高级

7、编程技术的实现/*设定鼠标光标的初始位置*/voidcursorXY(unsignedintx,unsignedinty){unionREGSr;structSREGs;r.x.ax=4;/*4号鼠标器功能:设置鼠标光标位置*/r.x.cx=x;/*设定光标x坐标*/r.x.dx=y;/*设定光标y坐标*/int86x(0x33,&r,&r,&s);mousex=x;mousey=y;}操作手段:鼠标——常用功能12第3章高级编程技术的实现/*报告鼠标器当前光标位置和当前按键状态*/voidmouseRead(){unionREGSrl,r2

8、;structSREGSs;r1.x.ax=3;/*3号鼠标器功能:取按钮状态和鼠标位置*/int86x(0x33,&r1,&r2,&s);mousex=r2.x.

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。