导航:首页 > 电器电路 > 八向键盘电路

八向键盘电路

发布时间:2021-02-25 15:03:12

Ⅰ 键盘在启动过程中没电

微机主机除尘及板卡维护

微机是高精密的设备,除了要正确地使用之外,日常的维护保养也是十分重要的。笔者在长期的维修工作中发现,大量的故障都是由于缺乏日常维护或者维护方法不当造成的。我们推出这一组文章全面地介绍了微机系统各个部分的拆卸和常规维护方法,旨在帮助微机用户自己动手维护自己的电脑,作到防患于未然。本文是这组文章的第一篇,主要介绍常用的维护工具、维护注意事项、主机箱内各部分连线的拆除、机箱内部除尘及板卡的常规维护方法。

一、维护工具:

电脑维护不需要很复杂的工具,一般的除尘维护只需要准备十字螺丝刀、平口螺丝刀、油漆刷(或者油画笔,普通毛笔容易脱毛不宜使用)就可以了。如果要清洗软驱、光驱内部,还需要准备镜头拭纸、电吹风、无水乙醇(分析纯)、脱脂棉球、钟表起子(一套)、镊子、吹气球(皮老虎)、回形针、钟表油(或缝纫机油)、黄油就可以了。如还需要进一步维修,再准备一只尖嘴钳、一只试电笔和一只万用表。

二、维护注意事项

有些原装和品牌电脑不允许用户自己打开机箱,如擅自打开机箱可能会失去一些当由厂商提供的保修权利,请用户特别注意;

各部件要轻拿轻放,尤其是硬盘,摔一下就会要了它的命;

拆卸时注意各插接线的方位,如硬盘线、软驱线、电源线等,以便正确还原;

还原用螺丝固定各部件时,应首先对准部件的位置,然后再上紧螺丝。尤其是主板,略有位置偏差就可能导致插卡接触不良;主板安装不平将可能会导致内存条、适配卡接触不良甚至造成短路,天长日久甚至可能会发生形变导致故障发生;

由于计算机板卡上的集成电路器件多采用MOS技术制造,这种半导体器件对静电高压相当敏感。当带静电的人或物触及这些器件后,就会产生静电释放,而释放的静电高压将损坏这些器件。日常生活中静电是无处不在的,例如当你在脱一些化纤衣服时有可能听到声响或看到闪光,此时的静电至少在5kV以上,足以损坏微机的元器件,因此维护电脑时要特别注意静电防护。故在拆卸维护电脑之前必须作到以下各点:
(1)断开所有电源;

(2)在打开机箱之前,双手应该触摸一下地面或者墙壁,释放身上的静电。拿主板和插卡时,应尽量拿卡的边缘,不要用手接触板卡的集成电路。如果一定要接触内部线路,最好戴上接地指环;

(3)请不要穿容易与地板、地毯摩擦产生静电的胶鞋在各类地毯上行走。脚穿金属鞋能良好地释放人身上的静电,有条件的工作场所应采用防静电地板;

(4)保持一定的湿度,空气干燥也容易产生静电,理想湿度应为40%-60%;
(5)使用电烙铁、电风扇一类电器时应接好接地线。

三、微机主机的拆卸

拔下外设连线

关闭电源开关,拔下电源线以后,就可以开始拆卸主机了,拆卸主机的第一步是拔下机箱后侧的所有外设连线。

拔除外设与电脑的连线主要两种形式,一种将插头直接向外平拉就可以了,如键盘线、PS/2鼠标线、电源线、USB电缆等等;另一种插头需先拧松插头两边的螺丝固定把手,再向外平拉,如显示器信号电缆插头、打印机信号电缆插头,早期的有些信号电缆没有螺丝固定把手,需用螺丝刀拧下插头两边的螺丝。

打开机箱盖

拔下所有外设连线后就可以打开机箱了,无论是卧式还是立式机箱,机箱盖的固定螺丝大多在机箱后侧边缘上,用十字螺丝刀拧下几颗螺丝就可以取下机箱盖。

拆下适配卡

显示卡、声卡插在主板的扩展插槽中,并用螺丝固定在机箱后侧的条形窗口上,拆卸接口卡时,先用螺丝刀拧下条形窗口上沿固定插卡的螺丝,然后用双手捏紧接口卡的上边缘,平直的向上拔下接口卡。

拔下驱动器数据线

硬盘、软驱、光驱数据线一头插在驱动器上,另一头插在主板的接口插座上,捏紧数据线插头的两端,平稳的沿水平方向拔出即可。

拔下驱动器数据线要注意两点,一是不要拉着数据线向下拔,以免损坏数据线;二是注意拔下的方向以便还原,驱动器数据线的边缘有一条红线(线1),此线与驱动器、主板驱动器接口上的脚1相对应,在驱动器和主板驱动器接口插座旁大多有1的标识。

拔下驱动器电源插头

硬盘、光驱电源插头为大四针插头,软驱电源插头为小四针插头,沿水平方向向外拔出即可,安装还原时请注意方向,反向一般无法插入,强行反向插入接通电源后会损坏驱动器。

拆下驱动器

硬盘、软驱、光驱都固定在机箱面板内的驱动器支架上,拆卸驱动器时请先拧下驱动器支架两侧固定驱动器的螺丝(有些固定螺丝在面板上),即可向前抽出驱动器。拧下硬盘最后一颗螺丝时请用手握往硬盘,小心硬盘落下,硬盘轻轻摔一下就会损坏。有些机箱中的驱动器不用螺丝固定而采用弹簧片卡紧,这种情况只要松开弹簧片,即可从滑轨中抽出驱动器。

拔下主板电源插头

电源插头插在主板电源插座上,ATX电源插头是双排20针插头,插头上有一个小塑料卡,捏住它就可以拔下ATX电源插头。AT电源插头为两只六针插头P8、P9,平稳向上拔出即可。最后还原AT电源插头时请注意方向,六针插头P8、P9中间的黑线应靠在一起向下插入,方向错误将导致电源短路。

其它插头

需要拔下的插头可能还有CPU风扇电源插头、光驱与声卡之间的音频线插头、主板与机箱面板插头、声卡与主板间的SB-LINK插头等,拔下这些插头时应作好纪录,如插接线的颜色、插座的位置、插座插针的排列等以方便还原。
四、清洁机箱内表面的积尘

对于机箱内表面上的大面积积尘,可用拧干的湿布擦拭。湿布应尽量干,擦拭完毕应该用电吹风吹干水渍。各种插头插座、扩充插槽、内存插槽及板卡一般不要用水擦拭。

五、清洁插槽、插头、插座

需要清洁的插槽包括各种总线(ISA、PCI、AGP)扩展插槽、内存条插槽、各种驱动器接口插头插座等。各种插槽内的灰尘一般先用油画笔清扫,然后再用吹气球或者电吹风吹尽灰尘。

插槽内金属接脚如有油污可用脱脂棉球沾电脑专用清洁剂或无水乙醇去除,电脑专用清洁剂多为四氯化碳加活性剂构成,涂抹去污后清洁剂能自动挥发。购买清洁剂时一是检查其挥发性能,当然是挥发越快越好;二是用PH试纸检查其酸碱性,要求呈中性,如呈酸性则对板卡有腐蚀作用。

六、清洁CPU风扇

PII和赛扬类CPU目前还较新,风扇一般不必取下,用油漆刷或者油画笔扫除就可以了。较旧的CPU风扇上积尘较多,一般须取下清扫。下面以Socket 7的CPU为例,介绍CPU风扇的除尘。

散装CPU风扇是卡在CPU插座两侧的卡扣上,将风扇卡扣略略下压即可取下CPU风扇。取下CPU风扇后,即可为风扇除尘,注意散热片的缝中有很多灰尘。

原装CPU风扇与CPU连为一体,需将Socket 7插座旁的把手轻轻向外侧拨出一点,使把手与把手定位卡脱离,再向上推到垂直90度位置,然后向上取下CPU。清洁CPU风扇时注意不要弄脏了CPU和散热片的结合面间的导热硅胶。

七、清洁内存条和适配卡

内存条和各种适配卡的清洁包括除尘和清洁电路板上的金手指。除尘用油画笔即可。金手指是电路板和插槽之间的连接点,如果有灰尘、油污或者被氧化均会造成接触不良。陈旧的微机中大量故障由此而来。高级电路板的金手指是镀金的,不容易氧化。为了降低成本,一般适配卡和内存条的金手指没有镀金,只是一层铜箔,时间长了将发生氧化。可用橡皮擦来擦除金手指表面的灰尘、油污或氧化层,切不可用砂纸类东西来擦拭金手指,否则会损伤极薄的镀层。

光驱的拆卸和维护 --清洁聚焦透镜、激光头和激光功率调整

光驱是多媒体电脑必不可少的基本配置,在实际使用中,光驱出故障时候较多,光驱在最初出现故障时,一般是挑盘,以后越来越严重,直至不能读盘。这种故障通常是聚焦透镜、激光头积尘较多或激光管老化等原因引起。因此在出现不能读盘的故障后,首先可对光学头作清洁处理,包括一般除尘和清洗聚焦透镜、激光头。如果故障仍然不能排除,可能是激光电流调节电位器接触不良或者激光二极管老化所致,可尝试通过调节电位器解决。笔者处理的故障光驱中,大部分通过上述办法得以修复。本文主要以SONY CDU311八速光驱为例,介绍拆卸光驱,清洁聚焦透镜、激光头以及调整激光功率的方法。

光驱是集光、电、机械于一体的高精度设备,拆卸及清洗应该按照一定的步骤进行,否则很容易损坏。光驱的拆卸通常可按照下述步骤进行。

1、拆卸底板

将光驱底部向上平放,用十字螺丝刀拆下固定底板的螺钉,向上取下金属底板,此时能看到光驱底部的电路板。有些光驱底板上有卡销,卡销卡在外壳(凹形金属上盖)的相应卡扣上,卸这类光驱底板须将底板略向光驱后侧推,使之脱离卡销,然后向上取下底板。

2、拉出光盘托

在光驱进出盘按钮左侧,有一直径为1.0~1.5mm的强行退盘孔,将一根回形针扳直,插入应急退盘孔中并用力推入2.5cm左右,光盘托会向前弹出,再用手拉出光盘托。有些光驱没有强行退盘孔,可接通电源,按进出盘按钮使光盘托滑出,然后关闭电源。如光盘进入时有卡盘现象,取出机芯后应检查光盘托架滑道上的润滑油,如果太脏或有凝固现象,可将其擦掉后滴少许钟表油或者高级黄油。当然卡盘也有可能是机械故障造成的,此时应该检查机械部分。

3、拆卸光驱前面板

在前部面板的两侧和顶部,各有一只卡扣卡在金属外壳(凹形金属上盖)的卡孔中,向内轻推卡扣使之与脱离,向前拉出前部面板。

4、取出机芯

SONY CDU311光驱的机芯(包括电路板)在拉出前部面板后,即可从外壳中取出。

5、 清洗聚焦透镜

将机芯正面向上,抽出光盘托,已能看见光学头组件,顶部黄豆大小的玻璃球状透明体是聚焦透镜,现在你已经可以用棉签沾少许无水乙醇清洗聚焦透镜了。清洗聚焦透镜之前可用放大镜仔细观察一下聚焦透镜表面,可能会看到灰尘或雾蒙蒙的一片,用脱脂棉或镜头纸轻轻擦拭去透镜表面的灰尘,稍稍多擦几下,就会还你一只清明透亮的镜。聚焦透镜安装在弹性体上,擦拭时可稍稍加力,但用力过大使透镜发生位移或偏转会影响读盘。不要使用镊子,以避免划伤透镜表面。也不要碰伤聚焦透镜侧部的聚焦线圈。

清洗光学头是否须要清洗液,用什么清洗液业界曾有争论。笔者认为一般情况下不必使用清洗液。如果干檫不能去除污物,再考虑使用清洗液。用水清洗是绝对不行的。能否用酒精清洗激光头的问题也有争论,笔者认为用高纯度的无水乙醇是完全可以的。所谓酒精通常是指含有水分和杂质的乙醇溶液。因此,酒精的确不适合用来清洗激光头。而无水乙醇则是一种近于中性的弱有机溶剂,其纯度从低到高可分为:工业纯、化学纯、分析纯、光谱纯几种。纯度越高,所含水分和杂质越少。光驱的光学头由激光发生器、光电检测器、聚焦透镜、激光束分离器、伺服电机几部分组成。最容易沾上灰尘的是位于光盘片下面的聚焦透镜,一般情况下的清洗是指清洗这个透镜的表面。透镜的表面镀有一层薄膜,称为增透膜,其材料为氟化镁。增透膜的主要作用是减少折射,增加透明度。氟化镁并不溶于乙醇,但是氟化镁容易吸潮而变形。

由于分析纯以上档次的无水乙醇,含水分和杂质已经很低,挥发性很强,能够溶解有机杂质,而对于增透膜不会造成损坏。因此笔者认为用高纯度的无水乙醇来清洗光学头透镜是可以的。在实际的检修工作中,这样作也没有造成对透镜表面薄膜的损坏。而用清水来清洗是不可取的,因为氟化镁容易吸潮后变形,而且水中杂质多这些都可能造成对增透膜的损坏,使得光驱不能正常工作。同样,含水分和杂质较多的酒精也是不适合用来清洗激光头的。

6、 拆卸激光头组件

如果清洗聚焦透镜不能排除故障,可进一步拆卸激光头组件作进一步的处理。激光头组件一侧套在一根园柱形金属滑动杆上,另一侧与步进电机传动机构相衔接。

SONY CDU311光驱激光头组件固定点在光驱上部,只需拧下一颗镙丝,拔下软排线即可向上取下激光头组件。拔下软排线前建议先用钢笔在排线与插座接口处画一条直线,做好记号,以方便在还原时判断是否正确回位。拔、插软排线请勿拆叠,轻拔轻插,损坏后极难维修。

7、清洗激光头

激光头(激光发射管和光电接收管)安装在一小块电路板上,一般有八根引出线,由软排线引出。激光头电路板大多安装在激光头组件侧部。激光发射管发射出的激光通过由棱镜形成的直角拆射光路,经聚焦透镜和光盘反射后,从原路返回,再由光电接收管接收。激光头电路板固定在光头组件上,即可取下电路板即可清洗激光发射管和光电接收管,还可从电路板对应的孔中伸入棉花擦拭孔中的棱镜。

SONY CDU311光驱的光学头取消了反光棱镜,直接经聚焦透镜发射和接收激光束。可采用不卸下电路板的方法清洗。

清洗SONY CDU311光驱的激光头须先取下盖在聚焦透镜上的黑色塑料防尘罩。塑料防尘罩两侧有两只上的卡扣,通过金属铸件上的两只卡孔卡在光头组件底部并用粘胶粘着,将激光头底部朝上,用镊子尖部将防尘罩两端卡扣上的胶去除,松开卡扣,向上抽出防尘罩。

抽出防尘罩后可看到聚焦透镜正下方有一园孔,园孔下部正对激光头,用一段细铜丝做成L形,缠上棉花,将棉花小心的伸入小孔底部擦拭激光头光电器件。擦拭时注意不要激光擦伤光电器件表面,也不得碰伤弄断悬挂聚焦透镜的弹性金属丝,它其不仅起悬挂作用而且是聚焦线圈的引出线,否则会聚焦线圈回路损坏。应该说明的是大多数光驱的激光头密封的腔体内,不易进入灰尘,拆卸清洗也不方便,操作不慎极有可能导致光驱报废,强烈建议一般用户不实施此顶操作。

8、调节激光管的工作电流

经过清洁处理的光驱如果仍然不能工作,说明激光管有一定程度的老化。可试调整激光管的工作电流以增大输出功率。

SONY CDU311光驱激光工作电流微调电位器在激光头组件侧部,只有绿豆大小。很多早期激光功率微调电位器在激光头组件侧部,需要取下激光头组件才能较为方便的调节。

调节前先用色笔在电位器上作一记号,记下初始位置;用钟表起子将电位器向某一方向旋转一个小角度。 根据笔者的经验,微调电位器本身接触不良也是造成故障的原因之一,有时只要稍微动一下电位器即可解决问题。因此强烈建议每次调节不要超过10度,有条件的用户可用万用表测量一下,向电阻减少的方向调整。每调整一次装机试一次,到能够正确读盘为止。总调整范围不可太大,以防止电流过大烧毁激光管。

读了本文后,你可能想清洗一下自己的光驱。但是稍微的不慎即可造成光驱报废。由于目前光驱的价格并不便宜,因此笔者认为还应该说明下述注意事项。

1、不要打开没有故障的光驱,光驱是精密设备,随意拆卸反而会对光驱造成伤害。很多光驱不可修复故障是拆御和维护不当造成的,言下之意是:只要你的光驱能够正常工作就不要去折腾它了。

2、有些光驱不能正常读盘可能是光盘片质量不好、电路故障、机械故障甚至软件因素引起的,建议首先排除其它因素。

3、拆卸光驱时注意保存好拆卸下的所有零件,任一个小零件遗失均可能会造成光驱无法还原。

4、由于光驱部件很多是由塑料制成的,操作时用力应适中,否则会损坏塑料部件。此外,也不要使用电吹风,热风不仅可能导致塑料件变形,还可能影响其它部件的正常性能。

5、不同型号的光驱结构略有不同,本文主要针对SONY系列光驱作了介绍。你的光驱如何拆卸、清洗主要还须靠你自己去摸索。

软驱的清洁维护与维修

软驱是微机系统中需要重点维护的外部设备之一。积尘过多是导致软驱故障的最常见原因,而软驱清洗除尘的重点有磁头、光电检测器、步进电机传动丝杆。清洗除尘时注意不要损伤磁头或使磁头移位,否则人为导致的磁头损伤和磁头移位故障都是极难处理的。磁头如不是太脏,可用清洗盘清洗,不必拆卸软驱就可以进行。假如用清洗盘清洗效果不好,就必须拆开软驱手工清洗了。下面按顺序介绍其处理过程。

八、用清洗盘清洗磁头

由于磁头与软盘片经常接触,盘片上的各种污物将污染磁头,积尘过多导致软驱
磁头不能正常读写是最常见的软驱故障。用软驱清洗盘清洗软驱磁头十分简单,将清洁剂或无水乙醇(要求分析纯级别)均匀喷洒在清洗盘面上,微机上电,系统启动成功之后,将清洗盘插入软驱中,软驱将自行转动,清洗盘会吸附磁头上污垢及周围的灰尘。

十、折卸清洗软驱

1、取下上盖

软驱的凹形薄铁皮上盖是用螺丝固定在铸铝底座上的,手工清洗时先用十字螺丝刀拧下固定上盖的一或两颗螺丝(有的软驱没有螺丝,可省去此步),将上盖略向两侧外扳,使上盖脱离铸铝底座上的凸出卡扣,即可取下软驱上盖板。

2、清洗磁头

软驱0、1号磁头分别固定在寻道小车上、下方,下方磁头贴在塑料磁头小车的下固定臂上,不能移动,较容易清洗。上方磁头通过一弹性片贴在塑料磁头小车的活动臂上,上活动臂另一端是螺丝固定的弹簧片。清洗上磁头时可以略略用力,但应注意用力过大会造成磁头偏移,而人为导致磁头偏移故障极难调校,清洗时切切注意。

清洗磁头时用医用脱脂棉签沾无水乙醇或专用的磁头清洁剂,轻轻地擦洗磁头,多擦几次,则可把较顽固的附着物擦去。清洗上磁头时可用手将磁头略略向下压,以免磁头移位,待酒精溶解上磁头污物后,轻轻擦除污物。

3、清洗步进电机转轴丝杆

软驱读盘过程中如果系统常给出读取文件错误或扇区找不到的提示,多半是步进电机转轴与磁头小车有衔接不好的现象,请检查步进电机转轴丝杆上的润滑油,如果太脏或有凝固现象,可将其用酒精擦洗干净后补充少许钟表油或者高级黄油。还可用手转动丝杆来移动磁头小车,以便清洗整个丝杆。

4、清洗光电检测器

老式的软驱其写保护检测、盘密度检测、换盘检测、0道检测是由光电检测器完成的,可用棉签沾少许无水乙醇擦拭光电发射管和光电接收管表面。新型软驱其检测器均为微动开关则无须处理。

鼠标的清洁维护与维修

鼠标是当今电脑必不可少的输入设备。当你在屏幕上发现鼠标指针移动不灵时就应当为鼠标除尘了。鼠标的清洁及维护可按照以下步骤进行。

1、基本除尘

鼠标的底部长期和桌子接触,最容易被污染。尤其是机械式和光学机械式鼠标的滚动球极易将灰尘、毛发、细维纤带入鼠标中。下面以光机式鼠标为例说明拆卸和除尘方法。

在鼠标底部滚动球外圈有一圆形塑料盖,轻压塑料盖逆时针方向旋转到位,即可取下塑料盖,取出滚动球。用手指清除鼠标内部的两根转轴和一只转轮上的污物,清除时应避免污物落入鼠标内部,滚动球可用中性洗涤剂清洗。

2、开盖除尘

如果经上述处理指针移动还是不灵,特别是某一方向鼠标指针移动不灵时,大多是光电检测器被污物档光导致,此时请用十字螺丝刀卸下鼠标底盖上的螺丝,取下鼠标上盖,用棉签清理光电检测器中间的污物。

3、按键失灵排障

鼠标的按键磨损是的导致按键失灵的常见故障,磨损部位通常是按键机械开关上的小按钮或与小按钮接触部位处的塑料上盖,应急处理可贴一张不干胶纸或刷一层快干胶解决。较好的解决方法是换一只按键,鼠标按键一般电气零件商行有售,将不常使用的中键与左键交换也是常见处理方法。

杂牌劣质鼠标的按键失灵多为簧片断裂,可用废弃的电子打火机微动开关内的小铜片替代。鼠标电路板上元件焊接不良也可能出现故障,最常见故障是机械开关底部的焊点断裂或脱焊。

键盘的清洁维护

键盘是最常用的输入设备之一,即使一个键失灵,用起来也很不方便。由于键盘是一种机电设备,使用频繁,加之键盘底座和各按键之间有较大的间隙,灰尘容易侵入。因此定期对键盘作清洁维护也是十分必要的。

最简单的维护一是将键盘反过来轻轻拍打,让其内的灰尘落出;二用湿布清洗键盘表面,但注意湿布一定要拧干,以防水进入键盘内部。

使用时间较长的键盘需要拆开进行维护。拆卸键盘比较简单,拔下键盘与主机连接的电缆插头,然后将键盘正面向下放到工作台上,拧下底板上的螺钉,即可取下键盘后盖板。以下分别介绍机械式按键键盘和电触点按键键盘的拆卸和维护方法。

一、机械式按键键盘

取下机械式按键键盘底板后你将看到一块电路板,电路板被几颗镙丝固定在键盘前面板上,拧下螺钉即可取下电路板。

拔下电缆线与电路板连接的插头,就可以用油漆刷或者油画笔扫除电路板和键盘按键上的灰尘。一般不必用湿布清洗。按键开关焊接在电路板上,键帽卡在按键开关上。如果想将键帽从按键开关上取下,可用平口螺丝刀轻轻将键帽往上撬松后拔下。一般情况没有必要取下键帽,且有些键盘的键帽取下后很难还原。

如有某个按键失灵,可以焊下按键开关进行维修,但由于组成按键开关的零件极小,拆卸、维修很不方便,由于是机械方面的故障,大多数情况下维修后的按键寿命极短,最好的办法是用同型号键盘按键或非常用键(如F12)焊下与失灵按键交换位置。

二、电触点按键键盘

打开电触点键盘的底板和盖板以后,就能看到嵌在底板上的三层薄膜,三层薄膜分别是下触点层、中间隔离层和上触点层,上、下触点层压制有金属电路连线和与按键相对应的圆形金属触点,中间隔离层上有与上、下触点层对应的圆孔。电触点键盘的所有按键嵌在前面板上,在底板上三层薄膜和前面板按键之间有一层橡胶垫,橡胶垫上凸出部位与嵌在前面板上的按键相对应,按下按键后胶垫上相应凸出部位向下凹,使薄膜上、下触点层的圆形金属触点通过中间隔离层的圆孔相接触,送出按键信号。在底板的上角还有一小块电路板,其上主要部件有键盘插座、键盘CPU和指示灯。

由于电触点键盘是通过上、下触点层的圆形金属触点接触送出按键信号,因而薄膜上圆形金属触点有氧化现象需用橡皮擦拭干净;另别输出接口插座处如有氧化现象,须用橡皮擦干净接口部位的氧化层。

嵌在底板上的三层薄膜之间一般无灰尘,只需用油漆刷清扫薄膜表面即可。

橡胶垫、前面板、嵌在前面板上的按键可以用水清洗,如键盘较脏,可使用清洁剂。有些键盘嵌在前面板上的按键可以全部取下,但由于取下后还原一百多只按键很麻烦,建议不要取下。

将所有的按键、前面板、橡胶垫清洗干净,就可以进行安装还原了。安装还原时注意一是注意要等按键、前面板、橡胶垫全部晾干以后,方能还原键盘,否则会导致键盘内触点生锈,二是注意三层薄膜准确对位,否则会导致按键无法接通。

电源的除尘和维护

开关电源是整个主机的动力。虽然电源的功率只有200-350W,但是由于输出电压低,输出电流很大,因此其中的功率开关晶体管发热量十分大。除了功率晶体管加装散热片外,还需要用风扇把电源盒内的热量抽出。在风扇向外抽风时,电源盒内形成负压,使得电源盒内的各个部分吸附了大量的灰尘,特别是风扇的叶片上更是容易堆积灰尘。功率晶体管和散热片上堆积灰尘将影响散热,风扇叶片上的积尘将增加风扇的负载,降低风扇转速,也将影响散热效果。在室温较高时,如果电源不能及时散热,将烧毁功率晶体管。因此电源的除尘维护是十分必要的。

电源的维护除了除尘之外,还应该为风扇加润滑油。具体操作方法如下。

一、拆卸电源盒

电源盒一般是用螺丝固定在机箱后侧的金属板上,拆卸电源时从机箱后侧拧下固定螺丝,即可取下电源。有些机箱内部还有电源固定螺丝,也应当取下。电源向主机各个部分供电的电源线也应该取下,在《机箱除尘及板卡维护》中已经作过介绍。

二、打开电源盒

电源盒由薄铁皮构成,其凹形上盖扣在凹形底盖上用螺丝固定,取下固定螺丝,将上盖略从两侧向内推,即可向上即可取出上盖。

三、电路板及散热片除尘

取下电源上盖后即可用油漆刷(或油画笔)为电源除尘,固定在电源凹形底盖上的电路板下常有不少灰尘,可拧下电路板四角的固定螺丝取下电路板为其除尘。

四、风扇除尘

电源风扇的四角是用螺丝固定在电源的金属外壳上,为风扇除尘时先卸下这四颗螺丝,取下风扇后即可用油漆刷为风扇除尘,风扇也可以用较干的湿布擦拭,但注意不要使水进入风扇转轴或线圈中。

五、风扇加油

风扇使用一两年后,转动的声音明显增大,大多是由于轴承润滑不良所造成。为风扇加油时先用小刀揭开风扇正面的不干胶商标,可看到风扇前轴承(国产的还有一橡胶盖,需橇下才能看到);在轴的顶端有一卡环,用一镊子将卡环口分开,然后将其取下,再分别取下金属垫圈、塑料垫圈;用手指捏住风叶往外拉,拉出电机风叶连同转子,此时前后轴承都一目了然。将钟表油分别在前后轴承的内外圈之间滴上二到三滴(油要浸入轴承内),重新将轴插入轴承内,装上塑料垫圈、金属垫圈、卡环,贴上不干胶商标,再把风扇装回机器。长期未润滑的轴承加油后转动声音明显减小。

稳压电源、CPU、打印机?/div>

Ⅱ 键盘内部的4根线是什么顺序连接到电路板上的

键盘内部的4根线从左到右,那些触片连接的线对应的功能分别是:地线回(G)、读数据线(D)、写数答据线(C)、+5V线(V);如果出错,把DC线互换。最好有个万用表一测电压和正负极就非常清楚了。
一般的排列方式是:红白绿黑从左到右定义:
红色-USB电源 标有-VCC、Power、5V、5VSB字样
绿色-USB数据线(正)-DATA 、USBD 、PD 、USBDT
白色-USB数据线(负)-DATA-、USBD-、PD-、USBDT
黑色-地线 -GND、Ground

Ⅲ 八路抢答器的设计。设计8个独立按键,通过8输入与非门74LS30输出经过74LS04反相后向单片机

都是独立按键,分别接入io口。中断后扫描io,哪个低电平就显示其编码号。

Ⅳ 八方向键怎么用键盘打出来

进入WORD,选择菜单的插入,符号,用滑块往下,找到方向键,点击鼠标,插入所需要的方向键,然后用WORD的选择,复制,粘贴功能,粘贴到你需要的文字处就可以了。→←↑↓↖↗↘↙

Ⅳ 通过键盘的能够使飞机上下左右八个方向移动,现在实现键盘监听时没有反应是怎么回事,哪里出错了

没反应这种问题一般就是焦点问题了,你点击一下游戏窗体,看看有没有反应,如果没有就requestFocus看看。

Ⅵ 怎么在键盘上打出八个方向的箭头

我所知最简单的方法 先右击搜狗输入法的皮肤→选择软键盘→选择特殊符号→这里可专以打出上属下左右的箭头 (以后同时按Ctrl+Alt+K就会出现特殊符号的软键盘了)。。。或者 。。。 中文输入“箭头”→但是不要按下空格或数字键或回车等待下你会发现 它会提示你同时按下分号和F 可以输入更多的符号 选择特殊符号就好 → 选择特殊符号→特殊符号就可以了

Ⅶ 简易8按键电子琴设计实验

简易电子琴的设计

摘 要 随着基于CPLD的EDA技术的发展和应用领域的扩大与深入,EDA技术在电子信息、通信、自动控制用计算机等领域的重要性日益突出。作为一个学电子信息专业的学生,我们必须不断地了解更多的新产品信息,这就更加要求我们对EDA有个全面的认识。本程序设计的是简易电子琴的设计。采用EDA作为开发工具,VHDL语言为硬件描述语言,MAX + PLUS II作为程序运行平台,所开发的程序通过调试运行、波形仿真验证,初步实现了设计目标。本程序使用的硬件描述语言VHDL,可以大大降低了硬件数字系统设计的入门级别,让人感觉就是C语言的近亲。通过老师的指导和自己的学习完成了预想的功能。

关键词 电子琴;课程设计;EDA;VHDL

1 引言

1.1 课程设计的目的
巩固和运用所学课程,理论联系实际,提高分析、解决计算机技术实际问题的独立工作能力,通过对一个简易的八音符电子琴的设计,进一步加深对计算机原理以及数字电路应用技术方面的了解与认识,进一步熟悉数字电路系统设计、制作与调试的方法和步骤。巩固所学课堂知识,理论联系实际,提高分析、解决计算机技术实际问题的独立工作能力。为了进一步了解计算机组成原理与系统结构,深入学习EDA技术,用VHDL语言去控制将会使我们对本专业知识可以更好地掌握。
1.2 课程设计的内容
(1)设计一个简易的八音符电子琴,它可通过按键输入来控制音响。
(2)演奏时可以选择是手动演奏(由键盘输入)还是自动演奏已存入的乐曲。
(3)能够自动演奏多首乐曲,且每首乐曲可重复演奏。

2 开发工具简介

2.1 EDA技术
EDA是电子设计自动化(Electronic Design Automation)缩写,是90年代初从CAD(计算机辅助设计)、CAM(计算机辅助制造)、CAT(计算机辅助测试)和CAE(计算机辅助工程)的概念发展而来的。EDA技术是以计算机为工具,根据硬件描述语言HDL( Hardware Description language)完成的设计文件,自动地完成逻辑编译、化简、分割、综合及优化、布局布线、仿真以及对于特定目标芯片的适配编译和编程下载等工作。典型的EDA工具中必须包含两个特殊的软件包,即综合器和适配器。综合器的功能就是将设计者在EDA平台上完成的针对某个系统项目的HDL、原理图或状态图形描述,针对给定的硬件系统组件,进行编译、优化、转换和综合,最终获得我们欲实现功能的描述文件。综合器在工作前,必须给定所要实现的硬件结构参数,它的功能就是将软件描述与给定的硬件结构用一定的方式联系起来。也就是说,综合器是软件描述与硬件实现的一座桥梁。综合过程就是将电路的高级语言描述转换低级的、可与目标器件FPGA/CPLD相映射的网表文件。
适配器的功能是将由综合器产生的王表文件配置与指定的目标器件中,产生最终的下载文件,如JED文件。适配所选定的目标器件(FPGA/CPLD芯片)必须属于在综合器中已指定的目标器件系列。
硬件描述语言HDL是相对于一般的计算机软件语言,如:C、PASCAL而言的。HDL语言使用与设计硬件电子系统的计算机语言,它能描述电子系统的逻辑功能、电路结构和连接方式。设计者可利用HDL程序来描述所希望的电路系统,规定器件结构特征和电路的行为方式;然后利用综合器和适配器将此程序编程能控制FPGA和CPLD内部结构,并实现相应逻辑功能的的门级或更底层的结构网表文件或下载文件。目前,就FPGA/CPLD开发来说,比较常用和流行的HDL主要有ABEL-HDL、AHDL和VHDL。
2.2硬件描述语言—VHDL
VHDL的英文全名是Very-High-Speed Integrated Circuit Hardware Description Language,诞生于1982年。1987年底,VHDL被IEEE和美国国防部确认为标准硬件描述语言 。自IEEE公布了VHDL的标准版本,IEEE-1076(简称87版)之后,各EDA公司相继推出了自己的VHDL设计环境,或宣布自己的设计工具可以和VHDL接口。此后VHDL在电子设计领域得到了广泛的接受,并逐步取代了原有的非标准的硬件描述语言。1993年,IEEE对VHDL进行了修订,从更高的抽象层次和系统描述能力上扩展VHDL的内容,公布了新版本的VHDL,即IEEE标准的1076-1993版本,(简称93版)。现在,VHDL和Verilog作为IEEE的工业标准硬件描述语言,又得到众多EDA公司的支持,在电子工程领域,已成为事实上的通用硬件描述语言。有专家认为,在新的世纪中,VHDL于Verilog语言将承担起大部分的数字系统设计任务。
VHDL主要用于描述数字系统的结构,行为,功能和接口。除了含有许多具有硬件特征的语句外,VHDL的语言形式和描述风格与句法是十分类似于一般的计算机高级语言。VHDL的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可是部分,及端口)和内部(或称不可视部分),既涉及实体的内部功能和算法完成部分。在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。这种将设计实体分成内外部分的概念是VHDL系统设计的基本点。应用VHDL进行工程设计的优点是多方面的。
(1) 与其他的硬件描述语言相比,VHDL具有更强的行为描述能力,从而决定了他成为系统设计领域最佳的硬件描述语言。强大的行为描述能力是避开具体的器件结构,从逻辑行为上描述和设计大规模电子系统的重要保证。
(2) VHDL丰富的仿真语句和库函数,使得在任何大系统的设计早期就能查验设计系统的功能可行性,随时可对设计进行仿真模拟。
(3) VHDL语句的行为描述能力和程序结构决定了他具有支持大规模设计的分解和已有设计的再利用功能。符合市场需求的大规模系统高效,高速的完成必须有多人甚至多个代发组共同并行工作才能实现。(4)对于用VHDL完成的一个确定的设计,可以利用EDA工具进行逻辑综合和优化,并自动的把VHDL描述设计转变成门级网表。
(4) VHDL对设计的描述具有相对独立性,设计者可以不懂硬件的结构,也不必管理最终设计实现的目标器件是什么,而进行独立的设计。
2.3 VHDL的设计流程:
(1) 设计输入根据电路设计所提出的要求,将程序输入到VHDL编辑器中去编辑。
(2) 功能级模拟用VHDL,模拟器对编辑后的程序进行模拟,如果达不到设计要求,则可以重新修改程序,直到通过功能模拟。
(3) 逻辑综合与优化 将通过功能模拟的程序放到VHDL编译器中,进行逻辑综合与优化。
(4) 门级模拟对电路用VHDL。仿真器仿真。可对门级电路的延时、定时状态、驱动能力等进行仿真。如不符合要求,可重复步骤(3),再门级模拟,直到符合要求止。
(5) 版图生成 用相应的软件处理后,就可以拿去制版。

设计过程
3.1设计规划
根据系统设计要求,系统设计采用自顶向下的设计方法,系统的整体组装设计原理图如图3-1所示,它由乐曲自动演奏模块、音调发生模块和数控分频模块三部分组成。

图3-1 系统的整体组装设计原理图
3.2 各模块的原理及其程序
(1)乐曲自动演奏模块
乐曲自动演奏模块(AUTO.VHD)的作用是产生8位发声控制输入信号/当进行自动演奏时,由存储在此模块中的8位二进制数作为发声控制输入,从而自动演奏乐曲。
VHDL源程序(AUTO.VHD)
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_ARITH.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY AUTO IS
PORT ( CLK : IN STD_LOGIC;
AUTO : IN STD_LOGIC;
CLK2 : BUFFER STD_LOGIC;
INDEX2 : IN STD_LOGIC_VECTOR(7 DOWNTO 0);
INDEX0 : OUT STD_LOGIC_VECTOR(7 DOWNTO 0));
END AUTO;
ARCHITECTURE BEHAVIORAL OF AUTO IS
SIGNAL COUNT0: INTEGER RANGE 0 TO 31;
BEGIN
PULSE0 :PROCESS(CLK,AUTO)
VARIABLE COUNT :INTEGER RANGE 0 TO 8;
BEGIN
IF AUTO ='1' THEN
COUNT := 0;CLK2<='0';
ELSIF(CLK'EVENT AND CLK ='1')THEN
COUNT :=COUNT +1;
IF COUNT =4 THEN
CLK2 <='1';
ELSIF COUNT =8 THEN
CLK2<='0'; COUNT:=0;
END IF ;
END IF ;
END PROCESS;
MUSIC:PROCESS(CLK2)
BEGIN
IF (CLK2'EVENT AND CLK2='1')THEN
IF (COUNT0=31)THEN
COUNT0<=0;
ELSE
COUNT0<=COUNT0+1;
END IF ;
END IF ;
END PROCESS;
COM1:PROCESS(COUNT0,AUTO,INDEX2)
BEGIN
IF AUTO ='0' THEN
CASE COUNT0 IS
WHEN 0=>INDEX0<="00000100"; --3
WHEN 1=>INDEX0<="00000100"; --3
WHEN 2=>INDEX0<="00000100"; --3
WHEN 3=>INDEX0<="00000100"; --3
WHEN 4=>INDEX0<="00010000"; --5
WHEN 5=>INDEX0<="00010000"; --5
WHEN 6=>INDEX0<="00010000"; --5
WHEN 7=>INDEX0<="00100000"; --6
WHEN 8=>INDEX0<="10000000"; --8
WHEN 9=>INDEX0<="10000000"; --8
WHEN 10=>INDEX0<="10000000"; --8
WHEN 11=>INDEX0<="00000100"; --3
WHEN 12=>INDEX0<="00000010"; --2
WHEN 13=>INDEX0<="00000010"; --2
WHEN 14=>INDEX0<="00000001"; --1
WHEN 15=>INDEX0<="00000001"; --1
WHEN 16=>INDEX0<="00010000"; --5
WHEN 17=>INDEX0<="00010000"; --5
WHEN 18=>INDEX0<="00001000"; --4
WHEN 19=>INDEX0<="00001000"; --4
WHEN 20=>INDEX0<="00001000"; --4
WHEN 21=>INDEX0<="00000100"; --3
WHEN 22=>INDEX0<="00000010"; --2
WHEN 23=>INDEX0<="00000010"; --2
WHEN 24=>INDEX0<="00010000"; --5
WHEN 25=>INDEX0<="00010000"; --5
WHEN 26=>INDEX0<="00001000"; --4
WHEN 27=>INDEX0<="00001000"; --4
WHEN 28=>INDEX0<="00000100"; --3
WHEN 29=>INDEX0<="00000100"; --3
WHEN 30=>INDEX0<="00000010"; --2
WHEN 31=>INDEX0<="00000010"; --2
WHEN OTHERS =>NULL;
END CASE;
ELSE INDEX0<=INDEX2;
END IF;
END PROCESS;
END BEHAVIORAL;
(2) 音调发生模块
音调发生模块的作用是产生音阶的分频预置值。当8位发声控制输入信号中的某一位为高电平时,则对应某一音节的数值将输出,该数值即为该音阶的分频预置值,分频预置值控制数控分频模块进行分频,由此可得到每个音阶对应的频率。

VHDL源程序(TONE.VHD)
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_ARITH.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY TONE IS
PORT (INDEX: IN STD_LOGIC_VECTOR(7 DOWNTO 0);
CODE: OUT STD_LOGIC_VECTOR(6 DOWNTO 0);
HIGH: OUT STD_LOGIC;
TONE0: OUT INTEGER RANGE 0 TO 2047);
END TONE;
ARCHITECTURE ART OF TONE IS
BEGIN
SEARCH : PROCESS(INDEX)
BEGIN
CASE INDEX IS
WHEN "00000001"=>TONE0 <=773;CODE<="1001111";HIGH<='1';
WHEN "00000010"=>TONE0 <=912;CODE<="0010010";HIGH<='1';
WHEN "00000100"=>TONE0 <=1036;CODE<="0000110";HIGH<='1';
WHEN "00001000"=>TONE0 <=1116;CODE<="1001100";HIGH<='1';
WHEN "00010000"=>TONE0 <=1197;CODE<="0100100";HIGH<='1';
WHEN "00100000"=>TONE0 <=1290;CODE<="0100000";HIGH<='0';
WHEN "01000000"=>TONE0 <=1372;CODE<="0001111";HIGH<='0';
WHEN "10000000"=>TONE0 <=1410;CODE<="0000000";HIGH<='0';
WHEN OTHERS =>TONE0<=2047;CODE<="0000001";HIGH<='0';
END CASE;
END PROCESS;
END ART;
(3) 数控分频模块
数控分频模块是对时基脉冲进行分频,得到与1、2、3、4、5、6、7七个音符相对应的频率。

VHDL源程序(FENPIN.VHD)
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_ARITH.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY FENPIN IS
PORT(CLK1: IN STD_LOGIC;
TONE1: IN INTEGER RANGE 0 TO 2047;
SPKS: OUT STD_LOGIC);
END ENTITY FENPIN;
ARCHITECTURE ART OF FENPIN IS
SIGNAL PRECLK:STD_LOGIC;
SIGNAL FULLSPKS:STD_LOGIC;
BEGIN
PROCESS(CLK1)
VARIABLE COUNT:INTEGER RANGE 0 TO 8;
BEGIN
IF (CLK1'EVENT AND CLK1='1')THEN
COUNT:=COUNT +1;
IF COUNT=2 THEN
PRECLK<='1';
ELSIF COUNT =4 THEN
PRECLK<='0';COUNT:=0;
END IF ;
END IF ;
END PROCESS;
PROCESS(PRECLK,TONE1)
VARIABLE COUNT11:INTEGER RANGE 0 TO 2047;
BEGIN
IF (PRECLK'EVENT AND PRECLK='1')THEN
IF COUNT11<TONE1 THEN
COUNT11:=COUNT11+1;FULLSPKS<='1';
ELSE
COUNT11:=0;FULLSPKS<='0';
END IF ;
END IF ;
END PROCESS;
PROCESS(FULLSPKS)
VARIABLE COUNT2 :STD_LOGIC:='0';
BEGIN
IF (FULLSPKS'EVENT AND FULLSPKS='1')THEN
COUNT2:=NOT COUNT2;
IF COUNT2='1'THEN
SPKS<='1';
ELSE
SPKS<='0';
END IF ;
END IF;
END PROCESS;
END ART;
(4) 顶层设计
VHDL源程序(DIANZIQIN.VHD)
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_ARITH.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY DIANZIQIN IS
PORT(CLK32MHZ: IN STD_LOGIC;
HANDTOAUTO:IN STD_LOGIC;
CODE1: OUT STD_LOGIC_VECTOR(6 DOWNTO 0);--音符显示信号
INDEX1: IN STD_LOGIC_VECTOR(7 DOWNTO 0);--键盘输入信号
HIGH1: OUT STD_LOGIC;--高低音节信号
SPKOUT: OUT STD_LOGIC);--音频信号
END;
ARCHITECTURE ART OF DIANZIQIN IS
COMPONENT AUTO
PORT(CLK: IN STD_LOGIC;
AUTO: IN STD_LOGIC;
INDEX2: IN STD_LOGIC_VECTOR(7 DOWNTO 0);
INDEX0: OUT STD_LOGIC_VECTOR(7 DOWNTO 0));
END COMPONENT;
COMPONENT TONE
PORT(INDEX: IN STD_LOGIC_VECTOR(7 DOWNTO 0);
CODE: OUT STD_LOGIC_VECTOR(6 DOWNTO 0);
HIGH: OUT STD_LOGIC;
TONE0: OUT INTEGER RANGE 0 TO 2047);
END COMPONENT;
COMPONENT FENPIN
PORT(CLK1: IN STD_LOGIC;
TONE1:IN INTEGER RANGE 0 TO 2047;
SPKS: OUT STD_LOGIC);
END COMPONENT;
SIGNAL TONE2:INTEGER RANGE 0 TO 2047;
SIGNAL INDX:STD_LOGIC_VECTOR(7 DOWNTO 0);
BEGIN
U0:AUTOPORTMAP(CLK=>CLK32MHZ,INDEX2=>INDEX1,INDEX0=>INDX,AUTO=>HANDTOAUTO);
U1:TONEPORTMAP(INDEX=>INDX,TONE0=>TONE2,CODE=>CODE1,HIGH=>HIGH1);
U2:FENPIN PORT MAP(CLK1=>CLK32MHZ,TONE1=>TONE2,SPKS=>SPKOUT);
END ART;

4 波形仿真
(1)乐曲自动演奏模块的仿真(如图4-1所示)

图4-1乐曲自动演奏模块的仿真图
(2)音调发生模块的仿真(如图4-2)

图4-2 音调发生模块的仿真图
(3)数控分频模块的仿真(如图4-3)

图4-3数控分频模块仿真图
(4)简易电子琴整个系统的仿真(如图4-4)

图4-4简易电子琴整个系统的仿真图

5 结束语
经过努力,简易电子琴的设计基本上完成了。在整个设计过程中,包括前期中期和后期,我都有着许多不同的体会:
1) 这个设计的基本是接触一门新的语言并加以应用,对于我来说,没有想到的是入手的速度比我的预料快,在以前编程的基础上,从接触到开始动手编程的时间得到了很大的缩短。知识的接收速度在很大的程度上决定了动手的时间。
2) VHDL的编程与C语言的编程有着本质的不同,然而以往形成的旧编程习惯在VHDL编程中依然起着很大的作用。一通百通,不是没有道理的。对于学习新的知识并予以应用的信心,显得更足了。
3) VHDL的设计关键是电路逻辑设计,而一个程序的关键是总体设计。对于硬件设计接触不多的我们清楚这一点也许不无好处。
4)通过这个程序设计让我学会一种新的语言,对数字系统结构也有了更进一步的了解和认识,对我以后的学习有很大的帮助。希望其他人在看再做类似设计时有所借鉴。
通过几天的课程设计,我对数据库软件EDA技术、VHDL、等系列知识都有了一定的了解。使用EDA技术开发页面的能力也有了很大提高。
在整个设计过程中,有很多人对任务的完成给予了重要的支持和帮助。感谢老师给了我本次设计的机会并提供指导;感谢许多同学在我此课程设计遇到问题时给我的帮助使我能够顺利地进行设计的工作;论坛中有很多认识不认识的朋友也都为我的设计提出了很宝贵的建议,同样在这里感谢他们。

参考文献
《VHDL与数字电路设计》.卢毅,赖杰.科学出版社
《VHDL语言100例详解——北京理工大学ASIC研究所》.北京理工大学ASIC研究所.清华大学出版社
《VHDL程序设计》(第二版). 曾繁泰等.清华大学出版社
《VHDL入门与应用》陈雪松,滕立中.人民邮电出版社
《VHDL简明教程》.王小军.清华大学出版社

Ⅷ 电脑键盘各键的名称及使用方法

电脑键盘各键的名称及使用方法如下:

1、Tab键:表格键,是Table的缩写,中文意思是表格。在电脑中的应用主要是在文字处理软件里(如Word)起到等距离移动的作用。

Ⅸ 魔兽编辑器8方向键盘操作 触发怎么整

首先来设置变量(为了支持多人要使用大量数组,不懂数组的同学请看http://tieba..com/f?kz=802393409)
布尔型:
Bleft[12]
Bright[12]
Bforward[12]
实数:Dturn[12]
点:Pmove[12]
计时器:Tmove[12]
单位:Umove[12]
整数:Nplayer
首先为了优化效率我们要先知道有多少玩家加入了游戏,并对要控制的单位设置好变量
basicvalue
┣━事件
┃ └—时间 - 当游戏逝去 0.00 秒
┣━条件
┗━动作
├—循环动作[循环整数A]从 1 到 12, 运行 (Loop - 动作)
│ Loop - 动作
│ 如果(所有的条件成立) 则运行 (Then - 动作) 否则运行 (Else - 运作)
│ If - 条件
│ ((玩家 (循环整数A)) 的控制者) 等于 用户
│ ((玩家 (循环整数A)) 的游戏状态) 等于 正在游戏
│ Then - 动作
│ Set Nplayer = (Nplayer + 1)
│ 单位 - 创建 1 个 (一个等级 -1 的随机中立单位类型) 给 (玩家 (循环整数A)) 在 ((玩家 (循环整数A)) 的游戏开始位置) ,面向角度为 默认建筑朝向 度
│ 单位 - 添加 防御 给 (最后创建的单位)
│ Set Umove[((玩家 (循环整数A)) 的玩家索引号)] = (最后创建的单位)
│ 选择 - 选择 (最后创建的单位) 对 (玩家 (循环整数A))
│ 触发器 - 为 Press Left <预设> 添加事件: (玩家 - (玩家 (循环整数A)) 按下 Left键 )
│ 触发器 - 为 Release Left <预设> 添加事件: (玩家 - (玩家 (循环整数A)) 释放 Left键 )
│ 触发器 - 为 Press Right <预设> 添加事件: (玩家 - (玩家 (循环整数A)) 按下 Right键 )
│ 触发器 - 为 Release Right <预设> 添加事件: (玩家 - (玩家 (循环整数A)) 释放 Right键 )
│ 触发器 - 为 Press Forward <预设> 添加事件: (玩家 - (玩家 (循环整数A)) 按下 Up键 )
│ 触发器 - 为 Release Forward <预设> 添加事件: (玩家 - (玩家 (循环整数A)) 释放 Up键 )
│ 触发器 - 为 Press Back <预设> 添加事件: (玩家 - (玩家 (循环整数A)) 按下 Down键 )
│ 触发器 - 为 Release Back <预设> 添加事件: (玩家 - (玩家 (循环整数A)) 释放 Down键 )
│ Else - 动作
├—计时器 - 启动 Tmove[0],应用计时方式: 循环,计时周期为 0.02 秒
├—计时器 - 启动 Tmove[1],应用计时方式: 循环,计时周期为 0.02 秒
├—计时器 - 启动 Tmove[2],应用计时方式: 循环,计时周期为 0.02 秒
├—计时器 - 启动 Tmove[3],应用计时方式: 循环,计时周期为 0.02 秒
└—计时器 - 启动 Tmove[4],应用计时方式: 循环,计时周期为 0.02 秒

可以看到变量Nplayer是用来计算玩家数量的,为后面的移动动作进行了“预约”,当然后来我发现运用玩家组就可以不用预约且不需要布尔数组了,懂我这句话的同学就自己改,不懂的忽略,以后会懂的。
还有个小窍门是为移动触发注册事件,这样就不用一个一个地手动改了,计时器是用来控制移动动作的。
=======================================================================

2010-11-02 17:45 回复
灥元素
najimo
1715位粉丝
知名人士10 5楼

=======================================================================
接下来看看向左转是怎么做的:
Press Left
┣━事件
┣━条件
┗━动作
├—Set Bleft[((触发玩家) 的玩家索引号)] = TRUE
└—如果(所有的条件成立) 则运行 (Then - 动作) 否则运行 (Else - 运作)
If - 条件
Bleft[((触发玩家) 的玩家索引号)] 等于 TRUE
Then - 动作
Set Dturn[((触发玩家) 的玩家索引号)] = 5.00
单位 - 设置 Umove[((触发玩家) 的玩家索引号)] 的面向角度为 ((Umove[((触发玩家) 的玩家索引号)] 的面向角度) + 5.00) 度,使用时间 0.00 秒
Else - 动作

事件“按下 Left键”在初始触发已经被注册了,所以不必写,可以看到Bleft判定是否转,Dturn计算转向的速度,那么如何持续向左转呢?
=======================================================================
Turn Left
┣━事件
┃ └—时间 - Tmove[1] 到期
┣━条件
┗━动作
└—循环动作[循环整数A]从 1 到 Nplayer, 运行 (Loop - 动作)
Loop - 动作
如果(所有的条件成立) 则运行 (Then - 动作) 否则运行 (Else - 运作)
If - 条件
Bleft[((玩家 (循环整数A)) 的玩家索引号)] 等于 TRUE
Then - 动作
Set Dturn[((玩家 (循环整数A)) 的玩家索引号)] = 5.00
单位 - 设置 Umove[((玩家 (循环整数A)) 的玩家索引号)] 的面向角度为 ((Umove[((玩家 (循环整数A)) 的玩家索引号)] 的面向角度) + 5.00) 度,使用时间 0.00 秒
Else - 动作

若Bleft判定为正确,则循环时间不断使角度增加,就自动转了,可以看到“循环动作从1到Nplayer”,这就是支持多人的关键,一定程度上可以增加效率。
=======================================================================
接下来就是“释放 Left键”事件
Release Left
┣━事件
┣━条件
┗━动作
├—Set Bleft[((触发玩家) 的玩家索引号)] = FALSE
└—Set Dturn[((触发玩家) 的玩家索引号)] = 0.00

这样就使想左转停止了,但是“Turn Left”触发仍然会循环这个玩家,所以用玩家组增删效率会好些,但是本教程就不说

下面来看同理的向右转

Press Right
┣━事件
┣━条件
┗━动作
├—Set Bright[((触发玩家) 的玩家索引号)] = TRUE
└—如果(所有的条件成立) 则运行 (Then - 动作) 否则运行 (Else - 运作)
If - 条件
Bright[((触发玩家) 的玩家索引号)] 等于 TRUE
Then - 动作
Set Dturn[((触发玩家) 的玩家索引号)] = -5.00
单位 - 设置 Umove[((触发玩家) 的玩家索引号)] 的面向角度为 ((Umove[((触发玩家) 的玩家索引号)] 的面向角度) - 5.00) 度,使用时间 0.00 秒
Else - 动作
=======================================================================
Turn Right
┣━事件
┃ └—时间 - Tmove[2] 到期
┣━条件
┗━动作
└—循环动作[循环整数A]从 1 到 Nplayer, 运行 (Loop - 动作)
Loop - 动作
如果(所有的条件成立) 则运行 (Then - 动作) 否则运行 (Else - 运作)
If - 条件
Bright[((玩家 (循环整数A)) 的玩家索引号)] 等于 TRUE
Then - 动作
Set Dturn[((玩家 (循环整数A)) 的玩家索引号)] = -5.00
单位 - 设置 Umove[((玩家 (循环整数A)) 的玩家索引号)] 的面向角度为 ((Umove[((玩家 (循环整数A)) 的玩家索引号)] 的面向角度) - 5.00) 度,使用时间 0.00 秒
Else - 动作
=======================================================================
Release Right
┣━事件
┣━条件
┗━动作
├—Set Bright[((触发玩家) 的玩家索引号)] = FALSE
└—Set Dturn[((触发玩家) 的玩家索引号)] = 0.00

并无多大区别,很简单,那么接下来我们看看移动部分。
=======================================================================

2010-11-02 17:46 回复
灥元素
najimo
1715位粉丝
知名人士10 7楼

=======================================================================
Press Forward
┣━事件
┣━条件
┗━动作
├—Set Bforward[((触发玩家) 的玩家索引号)] = TRUE
├—Set Pmove[((触发玩家) 的玩家索引号)] = (从 (Umove[((触发玩家) 的玩家索引号)] 的位置) 开始,距离 20.00 ,方向为 ((Umove[((触发玩家) 的玩家索引号)] 的面向角度) + Dturn[((触发玩家) 的玩家索引号)]) 度的位移处)
├—单位 - 对 Umove[((触发玩家) 的玩家索引号)] 发布 移动 命令到目标点: Pmove[((触发玩家) 的玩家索引号)]
└—点 - 清除 Pmove[((触发玩家) 的玩家索引号)]

事件“按下 Up键”在初始已经被注册了所以不必写,Bforward同理是用来判定是否持续移动的。可以看到这里出现了移动命令,向前移动20距离,由于计时器循环时间是0.03,因此换算成1秒的距离为666,显然单位速度最高的522是远不能达到的,但是要注意的是“20”这个移动距离太大则会发生诡异的粘触碰的现象,太小则不能符合522的最高速,所以按我的设置成20就够用了,触发最后记得排泄点,当然坐标系就不必了,但是这个在此教程暂时不介绍。
=======================================================================
Go Forward
┣━事件
┃ └—时间 - 每当游戏逝去 0.03 秒
┣━条件
┗━动作
└—循环动作[循环整数A]从 1 到 Nplayer, 运行 (Loop - 动作)
Loop - 动作
如果(所有的条件成立) 则运行 (Then - 动作) 否则运行 (Else - 运作)
If - 条件
Bforward[((玩家 (循环整数A)) 的玩家索引号)] 等于 TRUE
Then - 动作
Set Pmove[((玩家 (循环整数A)) 的玩家索引号)] = (从 (Umove[((玩家 (循环整数A)) 的玩家索引号)] 的位置) 开始,距离 30.00 ,方向为 ((Umove[((玩家 (循环整数A)) 的玩家索引号)] 的面向角度) + Dturn[((玩家 (循环整数A)) 的玩家索引号)]) 度的位移处)
单位 - 对 Umove[((玩家 (循环整数A)) 的玩家索引号)] 发布 移动 命令到目标点: Pmove[((玩家 (循环整数A)) 的玩家索引号)]
点 - 清除 Pmove[((玩家 (循环整数A)) 的玩家索引号)]
Else - 动作

这个是持续移动的触发,与按下UP键不同的是,“方向为 ((Umove[((玩家 (循环整数A)) 的玩家索引号)] 的面向角度) + Dturn[((玩家 (循环整数A)) 的玩家索引号)]) 度”,极坐标的角度使用了算术运算,让命令点发生偏转,这就达到了移动中转弯的功能,Dturn是随着玩家按键不同而改变数值的,看回上面的触发就可以看到他们的联系,记得排泄,注意这里是有事件的。
=======================================================================
Release Forward
┣━事件
┣━条件
┗━动作
└—Set Bforward[((触发玩家) 的玩家索引号)] = FALSE

单纯的“释放 Up键”触发,就是那么简单
=======================================================================

2010-11-02 17:46 回复
灥元素
najimo
1715位粉丝
知名人士10 8楼

=======================================================================
Press Back
┣━事件
┣━条件
┗━动作
└—单位 - 对 Umove[((触发玩家) 的玩家索引号)] 发布 人族步兵 - 激活防御 命令

“按下 Down键”事件,顶盾~当然了你可以设置顶盾期间无法移动,那么只要把Bforward设置为False就可以了。
=======================================================================
Release Back
┣━事件
┣━条件
┗━动作
└—单位 - 对 Umove[((触发玩家) 的玩家索引号)] 发布 人族步兵 - 解除防御 命令

“释放 Down键”事件,解除防御状态。
=======================================================================

2010-11-02 17:46 回复
灥元素
najimo
1715位粉丝
知名人士10 9楼

=======================================================================
键盘部分到此结束,好的键盘当然少不了好的移动镜头,现在先来看一个最基本的不随单位面向角度改变镜头方向的镜头触发:
basic camera
┣━事件
┃ └—时间 - Tmove[0] 到期
┣━条件
┗━动作
└—循环动作[循环整数A]从 1 到 Nplayer, 运行 (Loop - 动作)
Loop - 动作
如果(所有的条件成立) 则运行 (Then - 动作) 否则运行 (Else - 运作)
If - 条件
Bforward[((玩家 (循环整数A)) 的玩家索引号)] 等于 FALSE
Then - 动作
单位 - 对 Umove[((玩家 (循环整数A)) 的玩家索引号)] 发布 停止 命令
Else - 动作
Set Pmove[((玩家 (循环整数A)) 的玩家索引号)] = (从 (Umove[((玩家 (循环整数A)) 的玩家索引号)] 的位置) 开始,距离 100.00 ,方向为 (Umove[((玩家 (循环整数A)) 的玩家索引号)] 的面向角度) 度的位移处)
镜头 - 平移 (玩家 (循环整数A)) 的镜头到 Pmove[((玩家 (循环整数A)) 的玩家索引号)],持续 0.30 秒
镜头 - 设置 (玩家 (循环整数A)) 的镜头属性 X轴旋转角度(水平角度) 为 320.00,持续 0.00 秒
镜头 - 设置 (玩家 (循环整数A)) 的镜头属性 镜头距离(距离到目标) 为 800.00,持续 0.00 秒
镜头 - 设置 (玩家 (循环整数A)) 的镜头属性 远景截断距离(远景剪裁) 为 5000.00,持续 0.00 秒
镜头 - 设置 (玩家 (循环整数A)) 的镜头属性 镜头区域(观察区域) 为 100.00,持续 0.00 秒
点 - 清除 Pmove[((玩家 (循环整数A)) 的玩家索引号)]

这个镜头系统是配合命令法键盘移动的,注意触发里如果Bforward等于False则发布停止命令,这个动作是用来防止玩家鼠标控制,就是因为这个动作使得这种键盘移动单位的施法前摇必须为0,否则放不出技能,至于动画,这里有个要点就是:“动画并不受停止命令影响”,运用触发-动画里的动作依然可以正常播放单位动作,这就可以用来模拟一些东西了,比如可以用来做连续技什么的。至于众多镜头属性,请参照http://tieba..com/f?kz=772228242
防止玩家改变视角而已。注意这里的Pmove的用处是镜头锁定点,这里我设置为单位的前100距离的地方,目的就是让单位的面向方向的视野更大一些,方便玩家操作。
=======================================================================

2010-11-02 17:47 回复
灥元素
najimo
1715位粉丝
知名人士10 10楼

=======================================================================
接下来就是介绍跟随单位面向角度旋转的镜头
首先新建一个布尔变量Bcam[12],并且上面这个默认镜头触发basic camera要保留,然后找一个可开关的技能作为镜头切换按钮,比如我找的是献祭。
camera open
┣━事件
┃ └—单位 - 任意单位 发布无目标指令
┣━条件
┃ └—(发布的命令ID) 等于 (转换 immolation 为命令ID)
┗━动作
└—Set Bcam[(((触发单位) 的所有者) 的玩家索引号)] = TRUE

切换镜头的起始触发。
=======================================================================
camera run
┣━事件
┃ └—时间 - Tmove[3] 到期
┣━条件
┗━动作
└—循环动作[循环整数A]从 1 到 Nplayer, 运行 (Loop - 动作)
Loop - 动作
如果(所有的条件成立) 则运行 (Then - 动作) 否则运行 (Else - 运作)
If - 条件
Bcam[((玩家 (循环整数A)) 的玩家索引号)] 等于 TRUE
Then - 动作
镜头 - 设置 (玩家 (循环整数A)) 的镜头属性 Z轴旋转角度(旋转) 为 (Umove[((玩家 (循环整数A)) 的玩家索引号)] 的面向角度),持续 0.50 秒
Else - 动作

改变镜头面向角度的循环触发。
=======================================================================
camera false
┣━事件
┃ └—单位 - 任意单位 发布无目标指令
┣━条件
┃ └—(发布的命令ID) 等于 (转换 unimmolation 为命令ID)
┗━动作
└—Set Bcam[(((触发单位) 的所有者) 的玩家索引号)] = FALSE

回到默认的镜头。

Ⅹ 有没有8个方向键的键盘

你好楼主没有8个方向键的键盘哦,只有手柄才有。

阅读全文

与八向键盘电路相关的资料

热点内容
boost电路原理 浏览:225
飞涂外墙防水胶怎么样 浏览:8
如何查询百邦维修进度 浏览:742
广东gf防水材料多少钱一公斤 浏览:348
胶州仿古家具市场在哪里 浏览:249
汽车水泵保修期限 浏览:101
赣州市哪里回收旧家电 浏览:293
深圳市邸高家居 浏览:539
房屋漏水物业如何维修 浏览:54
前锋热水器泸州维修点 浏览:768
电动车维修技巧免费视频教程全集 浏览:449
电影里的智能家居 浏览:277
塔吊维修怎么写 浏览:373
成都家居用品公司 浏览:927
多久压电路 浏览:328
济南历城区家电维修地址 浏览:429
买华为平板如何注意买到翻新机 浏览:162
switch如何验证是不是翻新 浏览:275
济南lg空调售后维修电话 浏览:286
小米虹口维修点 浏览:199