17r3怎样设置左右翻滚15 r3 键盘灯怎么样开

[M17x] m17x/14x r3超频bios详解 教你如何超频新i7 附带新i7睿频解密
我的图书馆
[M17x] m17x/14x r3超频bios详解 教你如何超频新i7 附带新i7睿频解密
首先,新i7也是可以超外频的,只要bios开放。小超一下 cpu 5% gpu 780/1000 内存5%[想看极限的请看我另一个帖子在置顶],除了硬盘各项评分全部提升0.1 .i7 2720小超一下可以超越2820 赶上2920xm的默频06实话测显卡已经不行了,但测cpu绝对的极品,06和3dv对cpu的测试都是偏向fpu的也就是游戏中最重要的,06过cpu 6100我记得2820默频5800左右 ps: 左右&&左右&3dv 21000+ 也是轻松超越 2820 持平xm不拿来超频就别买了]内存性能测试 对比新i7平台[]和老i7平台[820+1333x2]的内存性能差距都是1333内存,由于拉了5%左右的外频 新i7 内存提升5%左右 但达到老平台[读 写 复制]130%-150%的性能,如果是 1600x2 + 内存时序优化超频[老平台bios无法调时序频率] 可以达多少呢--回北京去买,嘿嘿。&好了& &最重要的m17x r3超频bios详解[自解释接近真像90%]写缩写了第三行: L D P L& &长时间睿频功率限制& && &&&原始设定 45W PS:貌似被锁bios调整无用降低有用提升无用,即使拉高从aida64测试看出来的还是45w的长睿频。第四行:L D TW&&这个不能直解,实际上是指短暂睿频持续时间的。所谓短暂睿频就是 功率突破45W达到 TDP的125%--具体作用我会后续解释PS:短睿频的时间不仅和此有关还和温度台阶有关,2920XM无温度台阶[但仍然有热保温度--废话]。第六行:S D P L& &短暂睿频功率设定& && && &默认为LDPL的125%,从AIDA64可以看出短暂睿频时功耗突破TDP的45W达到56W PS:和LDPL一样被锁 bios调整无用,调整后从aida64测试看出来的还是56W的短睿频。第七行[篮字]: New Frequency in 10kHz increments 指得蜂鸣器[原理和setfb一样,应该是利用锁向环。],简单点就是cpu外频。ps:会影响内存频率---注目。第八行:& && & Aplly New Bus Clock Frequency& && &&&确认频率设置&&3个选项&&1 立即启用----绝对不能选,想选可以44哦。& && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && &&&2 重启后启用[持续一次]-----找最佳频率用的,用我血的教训换的& && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && &&&3 重启后启用[每次]---------永久超频,一开始没用2只用3差点拆机清BIOS.[不解释]第十行:& && & 内存电压调节第十一行:& & 内存频率调节-----------只能降不能升,例如1333内存你可以降到1066来用但,调到1600是无用的即使+压。第十二行:& & xmp内存调节-----------xmp的意思我不解释了自己去baidu,& &xmp 1 让你的xmp内存运行在 7-7-7-20 1333模式下& && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && &xmp 2 让你的xmp内存运行在 9-9-9-27 1600模式下& && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && & 3&&自我调节时序--注目:此也可作用于普通内存,但xmp内存时序延迟计算方式不同于普通内存,要用很多公式计算高手向不推荐非xmp内存选择。新i7睿频解密通过对新i7的研究,以及我多年对硬件信息的注目以及各种新i7睿频传说,我得出接近真像的90%评论。首先,告诉大家一个现象 i7 低压力[例如只有整数运算]下可以持续4核睿频 3.0/3.1 但一但压力增加[例如加入fpu运算]就会出现短时间达到3.0/3.1但马上会掉到2.8/2.9。1 对于楼上的现象就是所谓的受tdp限制的长睿频以及125%TPD的短睿频&&ps:短睿频一般只发生在程序运行的一开始[刚打开程序时的瞬时压力最大,短睿频突破功耗限制提高更高的频率以减少程序开启时间。]2 长睿频主要受TDP限制& &短睿频受TDP&&预设最长持续时间[秒]&&以及温度台阶[80度-85度]& &&&限制首先 功率:如果程序压力较低例如只开启整数的aida64 cputest,其功率一直低于tdp的45w所以无需产生突破TDP的短睿频 可以持续3/3.1的长睿频。而当打开FPU时,压力瞬间增4核3.0/3.1 会突破45W 这就用到了短睿频 TDP提高到 125% 来达到3.0/3.1的频率。其次 持续时间+温度台阶:如果温度没有超越温度台阶短睿频可以持续BIOS预设的最长持续时间,超过了立即停止短睿频。这也是2920XM强大的原因,2920XM可以破解功耗限制以及没有温度台阶。这个超频BIOS应该是所有的HM67 PM67主板都可开启,只看厂商愿意与否[为了安全大部分不开启],不过厂商也可以利用这个达到某些目的--后面解释。最后,关于神舟等机器睿频无法达到INTEL预设解释。如果你能看明白我前面的解释你就明白了,其实K580P A560P以及很多机器睿频无法达到预设原因并非是完全是因为 温度以及功率[其玩家利用抽风或者更换大功率电源都没用]而是厂商在未开启的BIOS里限制了 长短睿频功耗[即TDP] 比如把你的TDP限制到35W--你只能达到35W 频率的睿频。&&这是为什么呢?首先,这些机器并没有上这些硬件[90W的电源 可怜的散热]的条件而为了噱头只能强上,为了安全减少保修压力和成本--RT.这也是为什么有些机器,高达90多度[HP 水果]但依然能正常睿频的原因,因为人家还算厚道没限TDP.本帖隐藏的内容求回复。。。。我编了那么长时间的极限测试帖,回复好可怜啊。ps:我一直有个问题,我换了几个11.4都无法达到别人的性能,例如都是780/1000我的3d11只能3500出点头而别人普遍将近3600,哎找到问题所在的话我的默电极限超频成绩还能高100+接近4000,不过万事无完美阿。&(77.12 KB, 下载次数: 54)&(80.35 KB, 下载次数: 46)
TA的推荐TA的最新馆藏[转]&[转]&[转]&
喜欢该文的人也喜欢还没有帐号? 赶紧
用户版块帖子
1到第14) ? 14 :
location='read.php?tid=2111166&page='+page+'';}">页14) ? 14 :
location='read.php?tid=2111166&page='+page+'';">确认
解剖外星人(Alienware 17R3)
UID:1483085
在线时间521小时
M币902专家26
本帖被 發騷友 设置为精华,作者+3000M币+5专家()
Alienware 17系列(R3)为2015年10月上市的17.3英寸游戏影音本,搭载第六代智能英特尔酷睿处理器,采用金属复合材质外壳配合航天级别碳纤维底座,预装Win10 Home。&&&&&&
外星人17R3,用了一年多。性能不错,外观也挺个性,就是太重!3.8KG 配置:CPU:Intel酷睿6代 i7 6820HK 2.7G显卡:NVIDIA GeForce GTX 980M&&8G GDDR5 + Intel(R) HD Graphics 530内存:16GB(8GB×2)DDR4 2133MHz硬盘:1T 三星PM951 NVMe M.2 SSD&& +&& 1T HGST 7200 HDD显示屏:17.3英寸 4K
音频:CreativeSound Core3D-EX音频网卡:无线Killer 1535 + 有线1000M4.1蓝牙&& 4区多色RGB键盘
背面,面积很大的散热器进气格栅,左边是低音喇叭 全键盘,键盘左边一排跟右上角四个按键可以自定义 散热器风扇排气口,中间是外接显示器接口 一个HDMI接口,另外一个是外部图形接口 从左到右依次是耳机接口,麦克风接口,两个USB3.0,锁,电源耳机插口设计有点问题,侧边不是平的,我做了个3.5的LITON插头外接功放,时常会接触不良一个声道无声,每次必须使劲插好还得旋转一下。 读卡器,Thunderbolt3接口,USB3.0,网线端口 杰士低音喇叭 机子后盖螺丝,中间部分两个螺丝拆掉可以掀开盖板。 两根内存条,一个M.2固态盘,一个机械盘拆掉绿圈标记的八个螺丝,松开卡扣断开1、2、3、4四根排线 1T的M.2三星固态 存储颗粒 看起来是四颗存储颗粒,单颗256G? 断开机械盘排线 1T的HGST机械盘,7200转。HGST是西数旗下公司,其实就是原来的日立,。
楼下拆键盘面板。
[ 此帖被岸上散步的鱼在 12:06重新编辑 ]
本文内容包含图片或附件,获取更多资讯,请
后查看;或者
成为会员获得更多权限
謝謝分享,被这标题带进来,好奇害死猫
一看就是有钱淫
解剖外星人,名字不错。
UID:1483085
在线时间521小时
M币902专家26
Alienware 17R3 拆机
接着拆三星内存两根无线网卡,收发接插件加了防脱落保护两个M.2安装位拆掉背板的螺丝并断开四根排线后手指头通过这个孔推键盘面板很轻松的就可以取下键盘部分掀起来的样子拔开连接主板的数据线,将键盘盖板取下主板挺小,两侧是对称的两个大散热风扇下部是内置电池,一边一块绿圈位置是显示器固定螺丝电池容量挺大,采用的是4串的14.8V,一般笔记本电池都是3串左右声道喇叭,设计挺特别,动圈是方形的单只喇叭4Ω1.5W喇叭固定脚设置了橡胶减振,一头一个左侧一块接口小板,通过微带线与主板相连。下面是低音喇叭微带线两端都有防脱扣低音喇叭,4Ω2W左右声道喇叭安装位置中间两个蓝色发光管,芯数挺多,可能是激光管楼下继续。
本文内容包含图片或附件,获取更多资讯,请
后查看;或者
成为会员获得更多权限
解剖外星人,名字不错。
UID:1483085
在线时间521小时
M币902专家26
解剖外星人
取下无线网卡收发线,断开绿圈中的摄像头连接线断开液晶数据线补一张,创新CA0132声卡芯片拆掉显示器后取下绿色圈位置的螺丝,断开1、2两根线取下主板取下主板主板背面主板正面散热器通过8颗固定螺丝与主板连接取下散热器显存颗粒GPUCPUThunderbolt3接口设置了防脱落保护读卡器散热器鳍片,灰尘不多楼下继续
本文内容包含图片或附件,获取更多资讯,请
后查看;或者
成为会员获得更多权限
謝謝分享,我误以为高端机不用风扇,然而它用了两个
解剖外星人,名字不错。
UID:1483085
在线时间521小时
M币902专家26
拆下电池,只是两端是电池芯,中间的塑料片只是起到了连接作用空荡荡的底壳灯线还分了左右键盘盖板底面,好几条微带线,挺复杂生产日期装回去,开机!按下开机键后延迟了好几秒屏幕才亮起来,把我吓够呛,还以为出问题了面板指示灯颜色很丰富工作正常!折腾一下午,拆机,拍照,整理图片,编辑发帖。。。。end
本文内容包含图片或附件,获取更多资讯,请
后查看;或者
成为会员获得更多权限
tupe-c的接口加了这么厚的加固,肯定是把插特粗特硬的线给撅断了。
謝謝分享,高端机器,做工优良。
这种大固态 随机读写和大文件读写是多少啊?
UID:829911
在线时间954小时
M币2802专家2
赶上直播了,不知道是不是双显卡的
UID:1693410
在线时间6362小时
M币1065专家3
17.3的机器,感觉散热还不如我的15寸神船Z7-SL7D3。固态硬盘比神船大七倍,机械硬盘转速比神船快。神船配置:I7 6700HQ+8G DDR4 G+128G SSD+1T 5400机械盘+15.6寸1080p,电源是19.5v 9.23a的。
UID:809539
在线时间1964小时
M币211专家4
外星人不是人。
UID:1975354
在线时间1439小时
M币15932专家142
真能起奇怪的名字啊。
UID:1693410
在线时间6362小时
M币1065专家3
回 邢宝伟 的帖子
:真能起奇怪的名字啊。 ( 16:44) 外星人是DELL的一个子品牌。
UID:2275671
在线时间0小时
M币-496专家0
外星人高端笔记本啊
1到第14) ? 14 :
location='read.php?tid=2111166&page='+page+'';}">页14) ? 14 :
location='read.php?tid=2111166&page='+page+'';">确认
访问内容超出本站范围,不能确定是否安全
“新手上路”发帖需审核后才能显示(请认真发帖),达到数码9级后取消此限制
您目前还是游客,请
&回复后跳转到最后一页
Code by , Time now is:03-26 22:46, Total 0.199362(s) query 7,
Gzip enabled&新款17r3最左侧一竖条快捷键区域灯光怎么改?【alienware吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:213,384贴子:
新款17r3最左侧一竖条快捷键区域灯光怎么改?收藏
如题,我的默认蓝色,没法改,Command Center 里这个区域连数字都没,没法调,求大神帮忙解答
下面第二个还是第三个来着
在ALIENWARE Tractx里面
下面第三个
登录百度帐号键盘是由若干按钮组成的开关矩阵,它是单片机系统中最常用的输入设备,用户能通过键盘向计算机输入指令、地址和数据。一般单片机系统中采和非编码键盘,非编码键盘是由软件来识别键盘上的闭合键,它具有结构简单,使用灵活等特点,因此被广泛应用于单片机系统。\r\n按钮开关的抖动问题 \r\n组成键盘的按钮有触点式和非触点式两种,单片机中应用的一般是由机械触点组成的。在下图中,当开\r\n&键盘结构图& \r\n\r\n
\r\n\r\n关S未被按下时,P1。0输入为高电平,S闭合后,P1。0输入为低电平。由于按钮是机械触点,当机械触点断开、闭合时,会有抖动动,P1。0输入端的波形如图2所示。这种抖动对于人来说是感觉不到的,但对计算机来说,则是完全能感应到的,因为计算机处理的速度是在微秒级,而机械抖动的时间至少是毫秒级,对计算机而言,这已是一个“漫长”的时间了。前面我们讲到中断时曾有个问题,就是说按钮有时灵,有时不灵,其实就是这个原因,你只按了一次按钮,可是计算机却已执行了多次中断的过程,如果执行的次数正好是奇数次,那么结果正如你所料,如果执行的次数是偶数次,那就不对了。\r\n为使CPU能正确地读出P1口的状态,对每一次按钮只作一次响应,就必须考虑如何去除抖动,常用的去抖动的办法有两种:硬件办法和软件办法。单片机中常用软件法,因此,对于硬件办法我们不介绍。软件法其实很简单,就是在单片机获得P1。0口为低的信息后,不是立即认定S1已被按下,而是延时10毫秒或更长一些时间后再次检测P1。0口,如果仍为低,说明S1的确按下了,这实际上是避开了按钮按下时的抖动时间。而在检测到按钮释放后(P1。0为高)再延时5-10个毫秒,消除后沿的抖动,然后再对键值处理。不过一般情况下,我们常常不对按钮释放的后沿进行处理,实践证明,也能满足一定的要求。当然,实际应用中,对按钮的要求也是千差万别,要根据不一样的需要来编制处理程序,但以上是消除键抖动的原则。\r\n键盘与单片机的连接 \r\n\r\n
&键盘连接&\r\n
&单片机与键盘接口图&\r\n
\r\n\r\n1、通过1/0口连接。将每个按钮的一端接到单片机的I/O口,另一端接地,这是最简单的办法,如图3所示是实验板上按钮的接法,四个按钮分别接到P3.2 、P3.3、P3.4和P3.5。对于这种键各程序能采用持续查询的办法,功能就是:检测是否有键闭合,如有键闭合,则去除键抖动,判断键号并转入对应的键处理。下面给出一个例程。其功能很简单,四个键定义如下: \r\nP3.2:开始,按此键则灯开始流动(由上而下)\r\nP3.3:停止,按此键则停止流动,所有灯为暗\r\nP3.4:上,按此键则灯由上向下流动\r\nP3.5:下,按此键则灯由下向上流动\r\nUpDown EQU 00H ;上下行标志\r\nStartEnd EQU 01H ;起动及停止标志\r\nLAMPCODE EQU 21H ;存放流动的数据代码\r\nORG 0000H\r\nAJMP MAIN\r\nORG 30H\r\nMAIN:\r\nMOV SP,#5FH\r\nMOV P1,#0FFH\r\nCLR UpD启动时处于向上的状态\r\nCLR StartE启动时处于停止状态\r\nMOV LAMPCODE,#0FEH ;单灯流动的代码 \r\nLOOP:\r\nACALL KEY ;调用键盘程序\r\nJNB F0,LNEXT ;如果无键按下,则继续\r\nACALL KEYPROC ;不然调用键盘处理程序\r\nLNEXT:\r\nACALL LAMP ;调用灯显示程序\r\nAJMP LOOP ;反复循环,主程序到此结束\r\nDELAY:\r\nMOV R7,#100\r\nD1: MOV R6,#100\r\nDJNZ R6,$\r\nDJNZ R7,D1\r\nRET\r\n;----------------------------------------延时程序,键盘处理中调用\r\nKEYPROC:\r\nMOV A,B ;从B寄存器中获取键值\r\nJB ACC.2,KeyS分析键的代码,某位被按下,则该位为1(因为在键盘程序中已取反)\r\nJB ACC.3,KeyOver\r\nJB ACC.4,KeyUp\r\nJB ACC.5,KeyDown\r\nAJMP KEY_RET\r\nKeyStart:\r\nSETB StartE第一个键按下后的处理\r\nAJMP KEY_RET\r\nKeyOver:\r\nCLR StartE第二个键按下后的处理\r\nAJMP KEY_RET\r\nKeyUp: SETB UpD第三个键按下后的处理\r\nAJMP KEY_RET\r\nKeyDown:\r\nCLR UpD第四个键按下后的处理\r\nKEY_RET:RET\r\nKEY:\r\nCLR F0 ;清F0,表示无键按下。\r\nORL P3,#B ;将P3口的接有键的四位置1\r\nMOV A,P3 ;取P3的值\r\nORL A,#B ;将其余4位置1\r\nCPL A ;取反\r\nJZ K_RET ;如果为0则一定无键按下\r\nACALL DELAY ;不然延时去键抖\r\nORL P3,#B\r\nMOV A,P3\r\nORL A,#B\r\nCPL A\r\nJZ K_RET\r\nMOV B,A ;确实有键按下,将键值存入B中\r\nSETB F0 ;设置有键按下的标志\r\nK_RET: \r\nORL P3,#B ;此处循环等待键的释放\r\nMOV A,P3\r\nORL A,#B\r\nCPL A\r\nJZ K_RET1 ;直到读取的数据取反后为0说明键释放了,才从键盘处理程序中返回\r\nAJMP K_RET\r\nK_RET1: \r\nRET\r\nD500MS: ;流水灯的延迟时间\r\nPUSH PSW\r\nSETB RS0\r\nMOV R7,#200\r\nD51: MOV R6,#250\r\nD52: NOP\r\nNOP\r\nNOP\r\nNOP\r\nDJNZ R6,D52\r\nDJNZ R7,D51\r\nPOP PSW\r\nRET \r\nLAMP:\r\nJB StartEnd,LampS如果StartEnd=1,则启动\r\nMOV P1,#0FFH\r\nAJMP LAMPRET ;不然关闭所有显示,返回\r\nLampStart:\r\nJB UpDown,LAMPUP ;如果UpDown=1,则向上流动\r\nMOV A,LAMPCODE\r\nRL A ;实际就是左移位而已\r\nMOV LAMPCODE,A \r\nMOV P1,A\r\nLCALL D500MS\r\nAJMP LAMPRET\r\nLAMPUP:\r\nMOV A,LAMPCODE\r\nRR A ;向下流动实际就是右移\r\nMOV LAMPCODE,A\r\nMOV P1,A\r\nLCALL D500MS\r\nLAMPRET: \r\nRET\r\nEND\r\n以上程序功能很简单,但它演示了一个单片机键盘处理程序的基本思路,程序本身很简单,也不很实用,实际工作中还会有好多要考虑的因素,比如主循环每次都调用灯的循环程序,会造成按钮反应“迟钝”,而如果一直按着键不放,则灯不会再流动,一直要到松开手为止,等等,大家能仔细考虑一下这些问题,再想想有什么好的解决办法。\r\n2、采用中断方式:如图4所示。各个按钮都接到一个与非上,当有任何一个按钮按下时,都会使与门输出为低电平,从而引起单片机的中断,它的好处是不用在主程序中持续地循环查询,如果有键按下,单片机再去做对应的处理\r\n&\r\n&\r\n&\r\n&\r\n&\r\n&\r\n&\r\n距阵键盘\r\n\r\n  矩阵键盘是单片机编程中所使用的键盘.\r\n  1.矩阵式键盘的结构与工作原理\r\n  在键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式,如图1所示。在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。这样,一个端口(如P1口)就可以构成4*4=16个按键,比之直接将端口线用于键盘多出了一倍,而且线数越多,区别越明显,比如再多加一条线就可以构成20键的键盘,而直接用端口线则只能多出一键(9键)。由此可见,在需要的键数比较多时,采用矩阵法来做键盘是合理的。\r\n  矩阵式结构的键盘显然比直接法要复杂一些,识别也要复杂一些,上图中,列线通过电阻接正电源,并将行线所接的单片机的I/O口作为输出端,而列线所接的I/O口则作为输入。这样,当按键没有按下时,所有的输出端都是高电平,代表无键按下。行线输出是低电平,一旦有键按下,则输入线就会被拉低,这样,通过读入输入线的状态就可得知是否有键按下了。具体的识别及编程方法如下所述。\r\n  2、矩阵式键盘的按键识别方法\r\n\r\n  确定矩阵式键盘上何键被按下介绍一种“行扫描法”。\r\n  行扫描法\r\n行扫描法又称为逐行(或列)扫描查询法,是一种最常用的按键识别方法,如上图所示键盘,介绍过程如下。\r\n  1、判断键盘中有无键按下\r\n将全部行线Y0-Y3置低电平,然后检测列线的状态。只要有一列的电平为低,则表示键盘中有键被按下,而且闭合的键位于低电平线与4根行线相交叉的4个按键之中。若所有列线均为高电平,则键盘中无键按下。\r\n\r\n  2、判断闭合键所在的位置\r\n在确认有键按下后,即可进入确定具体闭合键的过程。其方法是:依次将行线置为低电平,即在置某根行线为低电平时,其它线为高电平。在确定某根行线位置为低电平后,再逐行检测各列线的电平状态。若某列为低,则该列线与置为低电平的行线交叉处的按键就是闭合的按键。\r\n\r\n  下面给出一个具体的例子:\r\n  图仍如上所示。8031单片机的P1口用作键盘I/O口,键盘的列线接到P1口的低4位,键盘的行线接到P1口的高4位。列线P1.0-P1.3分别接有4个上拉电阻到正电源+5V,并把列线P1.0-P1.3设置为输入线,行线P1.4-P.17设置为输出线。4根行线和4根列线形成16个相交点。\r\n  1、检测当前是否有键被按下。检测的方法是P1.4-P1.7输出全“0”,读取P1.0-P1.3的状态,若P1.0-P1.3为全“1”,则无键闭合,否则有键闭合。\r\n\r\n  2、去除键抖动。当检测到有键按下后,延时一段时间再做下一步的检测判断。\r\n\r\n  3、若有键被按下,应识别出是哪一个键闭合。方法是对键盘的行线进行扫描。P1.4-P1.7按下述4种组合依次输出:\r\n\r\n  P1.7\r\n1 1 1 0\r\n  P1.6\r\n1 1 0 1\r\n  P1.5\r\n1 0 1 1\r\n  P1.4\r\n0 1 1 1\r\n  在每组行输出时读取P1.0-P1.3,若全为“1”,则表示为“0”这一行没有键闭合,否则有键闭合。由此得到闭合键的行值和列值,然后可采用计算法或查表法将闭合键的行值和列值转换成所定义的键值\r\n  4、为了保证键每闭合一次CPU仅作一次处理,必须却除键释放时的抖动。\r\n\r\n  键盘扫描程序:\r\n  从以上分析得到键盘扫描程序的流程图如图2所示。程序如下\r\n  SCAN:\r\nMOV\r\nP1,#0FH\r\n  MOV\r\nA,P1\r\n  ANL\r\nA,#0FH\r\n  CJNE\r\nA,#0FH,NEXT1\r\n  SJMP\r\nNEXT3\r\n  NEXT1:\r\nACALL D20MS\r\n  MOV\r\nA,#0EFH\r\n  NEXT2:\r\nMOV R1,A\r\n  MOV\r\nP1,A\r\n  MOV\r\nA,P1\r\n  ANL\r\nA,#0FH\r\n  CJNE\r\nA,#0FH,KCODE;\r\n  MOV\r\nA,R1\r\n  SETB\r\nC\r\n  RLC\r\nA\r\n  JC\r\nNEXT2\r\n  NEXT3:\r\nMOV R0,#00H \r\n  RET\r\n  KCODE:\r\nMOV B,#0FBH\r\n  NEXT4:\r\nRRC\r\nA\r\n  INC\r\nB\r\n  JC\r\nNEXT4\r\n  MOV\r\nA,R1\r\n  SWAP\r\nA\r\n  NEXT5:\r\nRRC\r\nA\r\n  INC\r\nB\r\n  INC\r\nB\r\n  INC\r\nB\r\n  INC\r\nB\r\n  JC\r\nNEXT5\r\n  NEXT6:\r\nMOV A,P1\r\n  ANL\r\nA,#0FH\r\n  CJNE\r\nA,#0FH,NEXT6\r\n  MOV\r\nR0,#0FFH\r\n  RET\r\n\r\n  键盘处理程序就作这么一个简单的介绍,实际上,键盘、显示处理是很复杂的,它往往占到一个应用程序的大部份代码,可见其重要性,但说到,这种复杂并不来自于单片机的本身,而是来自于操作者的习惯等等问题,因此,在编写键盘处理程序之前,最好先把它从逻辑上理清,然后用适当的算法表示出来,最后再去写代码,这样,才能快速有效地写好代码。\r\n  键盘是由一组规则排列的按键组成,一个按键实际上是一个开关元件,也就是说键盘是一组规则排列的开关。\r\n  键盘工作原理\r\n  1.按键的分类\r\n  按键按照结构原理可分为两类,一类是触点式开关按键,如机械式开关、导电橡胶式开关等;另一类是无触点开关按键,如电气式按键,磁感应按键等。前者造价低,后者寿命长。目前,微机系统中最常见的是触点式开关按键。\r\n  按键按照接口原理可分为编码键盘与非编码键盘两类,这两类键盘的主要区别是识别键符及给出相应键码的方法。编码键盘主要是用硬件来实现对键的识别,非编码键盘主要是由软件来实现键盘的定义与识别。\r\n  全编码键盘能够由硬件逻辑自动提供与键对应的编码,此外,一般还具有去抖动和多键、窜键保护电路,这种键盘使用方便,但需要较多的硬件,价格较贵,一般的单片机应用系统较少采用。非编码键盘只简单地提供行和列的矩阵,其它工作均由软件完成。由于其经济实用,较多地应用于单片机系统中。下面将重点介绍非编码键盘接口。\r\n\r\n  2.键输入原理\r\n  在单片机应用系统中,除了复位按键有专门的复位电路及专一的复位功能外,其它按键都是以开关状态来设置控制功能或输入数据。当所设置的功能键或数字键按下时,计算机应用系统应完成该按键所设定的功能,键信息输入是与软件结构密切相关的过程。\r\n  对于一组键或一个键盘,总有一个接口电路与CPU相连。CPU可以采用查询或中断方式了解有无将键输入并检查是哪一个键按下,将该键号送入累加器ACC,然后通过跳转指令转入执行该键的功能程序,执行完后再返回主程序。\r\n  3.按键结构与特点\r\n  微机键盘通常使用机械触点式按键开关,其主要功能是把机械上的通断转换成为电气上的逻辑关系。也就是说,它能提供标准的TTL逻辑电平,以便与通用数字系统的逻辑电平相容。\r\n  机械式按键再按下或释放时,由于机械弹性作用的影响,通常伴随有一定时间的触点机械抖动,然后其触点才稳定下来。其抖动过程如图7.2所示,抖动时间的长短与开关的机械特性有关,一般为5~10ms。\r\n  左图\r\n按键触点的机械抖动\r\n  在触点抖动期间检测按键的通与断状态,可能导致判断出错。即按键一次按下或释放被错误地认为是多次操作,这种情况是不允许出现的。为了克服按键触点机械抖动所致的检测误判,必须采取去抖动措施,可从硬件、软件两方面予以考虑。在键数较少时,可采用硬件去抖,而当键数较多时,采用软件去抖。\r\n  在硬件上可采用在键输出端加R-S触发器(双稳态触发器)或单稳态触发器构成去抖动电路,图7.3是一种由R-S触发器构成的去抖动电路,当触发器一旦翻转,触点抖动不会对其产生任何影响。\r\n  电路工作过程如下:按键未按下时,a\r\n= 0,b\r\n= 1,输出Q\r\n= 1,按键按下时,因按键的机械弹性作用的影响,使按键产生抖动,当开关没有稳定到达b端时,因与非门2输出为0反馈到与非门1的输入端,封锁了与非门1,双稳态电路的状态不会改变,输出保持为1,输出Q不会产生抖动的波形。当开关稳定到达b端时,因a\r\n= 1,b\r\n= 0,使Q\r\n= 0,双稳态电路状态发生翻转。当释放按键时,在开关未稳定到达a端时,因Q\r\n= 0,封锁了与非门2,双稳态电路的状态不变,输出Q保持不变,消除了后沿的抖动波形。当开关稳定到达b端时,因a\r\n= 0,b\r\n= 0,使Q\r\n= 1,双稳态电路状态发生翻转,输出Q重新返回原状态。由此\r\n右图\r\n双稳态去抖电路\r\n  可见,键盘输出经双稳态电路之后,输出已变为规范的矩形方波。\r\n  软件上采取的措施是:在检测到有按键按下时,执行一个10ms左右(具体时间应视所使用的按键进行调整)的延时程序后,再确认该键电平是否仍保持闭合状态电平,若仍保持闭合状态电平,则确认该键处于闭合状态;同理,在检测到该键释放后,也应采用相同的步骤进行确认,从而可消除抖动的影响。\r\n  4.按键编码\r\n  一组按键或键盘都要通过I/O口线查询按键的开关状态。根据键盘结构的不同,采用不同的编码。无论有无编码,以及采用什么编码,最后都要转换成为与累加器中数值相对应的键值,以实现按键功能程序的跳转。\r\n  5.编制键盘程序\r\n  一个完善的键盘控制程序应具备以下功能:\r\n  (1)检测有无按键按下,并采取硬件或软件措施,消除键盘按键机械触点抖动的影响。\r\n  (2)有可靠的逻辑处理办法。每次只处理一个按键,其间对任何按键的操作对系统不产生影响,且无论一次按键时间有多长,系统仅执行一次按键功能程序。\r\n  (3)准确输出按键值(或键号),以满足跳转指令要求。\r\n  独立式按键\r\n  单片机控制系统中,往往只需要几个功能键,此时,可采用独立式按键结构。\r\n  1.独立式按键结构\r\n  独立式按键是直接用I/O口线构成的单个按键电路,其特点是每个按键单独占用一根I/O\r\n\r\n  左图\r\n独立式按键电路\r\n  口线,每个按键的工作不会影响其它I/O口线的状态。独立式按键的典型应用如图7.4所示。\r\n  独立式按键电路配置灵活,软件结构简单,但每个按键必须占用一根I/O口线,因此,在按键较多时,I/O口线浪费较大,不宜采用。\r\n  图7.4中按键输入均采用低电平有效,此外,上拉电阻保证了按键断开时,I/O口线有确定的高电平。当I/O口线内部有上拉电阻时,外电路可不接上拉电阻。\r\n  2.独立式按键的软件结构\r\n  独立式按键软件常采用查询式结构。先逐位查询每根I/O口线的输入状态,如某一根I/O口线输入为低电平,则可确认该I/O口线所对应的按键已按下,然后,再转向该键的功能处理程序。图7.4中的I/O口采用P1口,请读者自行编制相应的软件。\r\n  7.1.3\r\n矩阵式按键\r\n  单片机系统中,若使按键较多时,通常采用矩阵式(也称行列式)键盘。\r\n  1.矩阵式键盘的结构及原理\r\n  矩阵式键盘由行线和列线组成,按键位于行、列线的交叉点上,其结构如下图所示。\r\n\r\n  由图可知,一个4×4的行、列结构可以构成一个含有16个按键的键盘,显然,在按键数量较多时,矩阵式键盘较之独立式按键键盘要节省很多I/O口。\r\n  矩阵式键盘中,行、列线分别连接到按键开关的两端,行线通过上拉电阻接到+5V上。当无键按下时,行线处于高电平状态;当有键按下时,行、列线将导通,此时,行线电平将由与此行线相连的列线电平决定。这是识别按键是否按下的关键。然而,矩阵键盘中的行线、列线和多个键相连,各按键按下与否均影响该键所在行线和列线的电平,各按键间将相互影响,因此,必须将行线、列线信号配合起来作适当处理,才能确定闭合键的位置。\r\n  2.矩阵式键盘按键的识别\r\n  识别按键的方法很多,其中,最常见的方法是扫描法。下面以图7.5中8号键的识别为例来说明扫描法识别按键的过程。\r\n  按键按下时,与此键相连的行线与列线导通,行线在无键按下时处在高电平,显然,如果让所有的列线也处在高电平,那么,按键按下与否不会引起行线电平的变化,因此,必须使所有列线处在低电平,只有这样,当有键按下时,该键所在的行电平才会由高电平变为低电平。CPU根据行电平的变化,便能判定相应的行有键按下。8号键按下时,第2行一定为低电平,然而,第2行为低电平时,能否肯定是8号键按下呢?回答是否定的,因为9、10、11号键按下同样使第2行为低电平。为进一步确定具体键,不能使所有列线在同一时刻都处在低电平,可在某一时刻只让一条列线处于低电平,其余列线均处于高电平,另一时刻,让下一列处在低电平,依此循环,这种依次轮流每次选通一列的工作方式称为键盘扫描。采用键盘扫描后,再来观察8号键按下时的工作过程,当第0列处于低电平时,第2行处于低电平,而第1、2、3列处于低电平时,第2行却处在高电平,由此可判定按下的键应是第2行与第0列的交叉点,即8号键。\r\n  3.键盘的编码\r\n  对于独立式按键键盘,因按键数量少,可根据实际需要灵活编码。对于矩阵式键盘,按键的位置由行号和列号唯一确定,因此可分别对行号和列号进行二进制编码,然后将两值合成一个字节,高4位是行号,低4位是列号。如图7.5中的8号键,它位于第2行,第0列,因此,其键盘编码应为20H。采用上述编码对于不同行的键离散性较大,不利于散转指令对按键进行处理。因此,可采用依次排列键号的方式对安排进行编码。以图7.5中的4×4键盘为例,可将键号编码为:01H、02H、03H…0EH、0FH、10H等16个键号。编码相互转换可通过计算或查表的方法实现。\r\n  4.键盘的工作方式\r\n  在单片机应用系统中,键盘扫描只是CPU的工作内容之一。CPU对键盘的响应取决于键盘的工作方式,键盘的工作方式应根据实际应用系统中CPU的工作状况而定,其选取的原则是既要保证CPU能及时响应按键操作,又不要过多占用CPU的工作时间。通常,键盘的工作方式有三种,即编程扫描、定时扫描和中断扫描。\r\n  1)编程扫描方式\r\n  编程扫描方式是利用CPU完成其它工作的空余调用键盘扫描子程序来响应键盘输入的要求。在执行键功能程序时,CPU不再响应键输入要求,直到CPU重新扫描键盘为止。\r\n  键盘扫描程序一般应包括以下内容:\r\n  (1)判别有无键按下。\r\n  (2)键盘扫描取得闭合键的行、列值。\r\n  (3)用计算法或查表法得到键值。\r\n  (4)判断闭合键是否释放,如没释放则继续等待。\r\n  (5)将闭合键键号保存,同时转去执行该闭合键的功能。\r\n  图7.6\r\n8155扩展I/O口组成的矩阵键盘\r\n  图7.6是一个4×8矩阵键盘电路,由图可知,其与单片机的接口采用8155扩展I/O芯片,键盘采用编程扫描方式工作,8155C口的低4位输入行扫描信号,A口输出8位列扫描信号,二者均为低电平有效。8155的IO/\r\n与P2.0相连,\r\n与P2.1相连,\r\n、\r\n分别与单片机的\r\n、\r\n相连。由此可确定8155的口地址为:\r\n  命令/状态口:0100H(P2未用口线规定为0)\r\n  A口:0101H\r\n  B口:0102H\r\n  C口:0103H\r\n  图7.6中,A口为基本输出口,C口为基本输入口,因此,方式命令控制字应设置为43H。在编程扫描方式下,键盘扫描子程序应完成如下几个功能:\r\n  (1)判断有无键按下。其方法为:A口输出全为0,读C口状态,若PC0~PC3全为1,则说明无键按下;若不全为1,则说明有键按下。\r\n  (2)消除按键抖动的影响。其方法为:在判断有键按下后,用软件延时的方法延时10ms后,再判断键盘状态,如果仍为有键按下状态,则认为有一个按键按下,否则当作按键抖动来处理。\r\n  (3)求按键位置。根据前述键盘扫描法,进行逐列置0扫描。图7.6中,32个键的键值分布如下(键值由4位16进制数码组成,前两位是列的值,即A口数据,后两位是行的值,即C口数据,X为任意值):\r\n  FEXE\r\nFDXE FBXE F7XE EFXE DFXE BFXE 7FXE \r\n  FEXD\r\nFDXD FBXD F7XD EFXD DFXD BFXD 7FXD\r\n  FEXB\r\nFDXB FBXB F7XB EFXB DFXB BFXB 7FXB\r\n  FEX7\r\nFDX7 FBX7 F7X7 EFX7 DFX7 BFX7 7FX7\r\n  按键键值确定后,即可确定按键位置。相应的键号可根据下述公式进行计算:键号=行首键号+列号。图7.6中,每行的行首可给以固定的编号0(00H),8(08H),16(10H),24(18H),列号依列线顺序为0~7。\r\n  (4)判别闭合的键是否释放。按键闭合一次只能进行一次功能操作,因此,等按键释放后才能根据键号执行相应的功能键操作。\r\n  键盘扫描程序流程图请参阅实训7图7.1中的主程序流程图。\r\n  键盘扫描程序请参阅实训7源程序中的键盘查询程序、键盘扫描程序和按键查询子程序三部分。\r\n  实训7是矩阵式键盘的一种典型应用,与图7.6相比,8155入口地址不同,矩阵键盘列数不同,再就是为兼顾键盘和显示,防抖所用的延时子程序由显示子程序替代。\r\n  2)定时扫描方式:\r\n  定时扫描方式就是每隔一段时间对键盘扫描一次,它利用单片机内部的定时器产生一定时间(例如10ms)的定时,当定时时间到就产生定时器溢出中断,CPU响应中断后对键盘进行扫描,并在有键按下时识别出该键,再执行该键的功能程序。定时扫描方式的硬件电路与编程扫描方式相同,程序流程图如下图所示。\r\n  图中,标志1和标志2是在单片机内部RAM的位寻址区设置的两个标志位,标志1为去抖动标志位,标志2为识别完按键的标志位。初始化时将这两个标志位设置为0,执行中断服务程序时,首先判别有无键闭合,若无键闭合,将标志1和标志2置0后返回;若有键闭合,先检查标志1,当标志1为0时,说明还未进行去抖动处理,此时置位标志1,并中断返回。由于中断返回后要经过10ms后才会再次中断,相当于延时了10ms,因此,程序无须再延时。下次中断时,因标志1为1,CPU再检查标志2,如标志2为0说明还未进行按键的识别处理,这时,CPU先置位标志2,然后进行按键识别处理,再执行相应的按键功能子程序,最后,中断返回。如标志2已经为1,则说明此次按键已做过识别处理,只是还未释放按键,当按键释放后,在下一次中断服务程序中,标志1和标志2又重新置0,等待下一次按键。\r\n  3)中断扫描方式\r\n  采用上述两种键盘扫描方式时,无论是否按键,CPU都要定时扫描键盘,而单片机应用系统工作时,并非经常需要键盘输入,因此,CPU经常处于空扫描状态,为提高CPU工作效率,可采用中断扫描工作方式。其工作过程如下:当无键按下时,CPU处理自己的工作,当有键按下时,产生中断请求,CPU转去执行键盘扫描子程序,并识别键号。\r\n  左图是一种简易键盘接口电路,该键盘是由8051P1口的高、低字节构成的4×4键盘。键盘的列线与P1口的高4位相连,键盘的行线与P1口的低4位相连,因此,P1.4~P1.7是键输出线,P1.0~P1.3是扫描输入线。图中的4输入与门用于产生按键中断,其输入端与各列线相连,再通过上拉电阻接至+5V电源,输出端接至8051的外部中断输入端\r\n。具体工作如下:当键盘无键按下时,与门各输入端均为高电平,保持输出端为高电平;当有键按下时,端为低电平,向CPU申请中断,若CPU开放外部中断,则会响应中断请求,转去执行键盘扫描子程序。\r\n  这是初学时写的最简单、最详细、效率最高的矩阵键盘扫描程序,只用了四条常用命令(MOV/送数、JB/高电平转移、JMP/直接转移、RET/子程序返回),保证初学者一看就懂!本程序已经在本站电子实验板上验证通过,占用CPU时间少,效率高,被选作单片机的测试程序!\r\n  矩阵按键扫描程序是一种节省IO口的方法,按键数目越多节省IO口就越可观,本程序的思路跟书上一样:先判断某一列(行)是否有按键按下,再判断该行(列)是那一只键按下。但是,在程序的写法上,站长采用了最简单的方法,使得程序效率最高。\r\n  本程序中,如果检测到某键按下了,就不再检测其它的按键,这完全能满足绝大多数需要,又能节省大量的CPU时间。另外,本人认为键盘用延时程序来消除抖动,完全是浪费时间。试想,如果不用中断执行(用中断执行需要更多的硬件资源)的方法来扫描键盘,每秒钟扫描20-100次,每次都要延时10-20MS的话,我们的单片机还有多少时间做正事呢?\r\n  其实,延时的这段时间,CPU可以做其它的事呀。所以,本键盘扫描程序的前面后面都可以加入少少代码,既可以达到完美的消抖动效果,又可以扩展其它的功能(例如按键封锁、按键长按等按键功能复用!)\r\n  本键盘扫描子程序名叫key,每次要扫描时用call\r\nkey调用即可。以下子程序内容:\r\n  key:mov\r\np0,#b;上四位和下四位分别为行和列,所以送出高低电压检查有没有按键按下\r\n  jmp\r\nk10;跳到K10处开始扫描,这里可以改成其它条件转移指令来决定本次扫描是否要继续,例如减1为0转移或者位为1或0才转移,这主要用来增加功能,确认上一按键功能是否完成?是否相当于经过了延时?是否要封锁键盘?\r\n  goend:jmp\r\如果上面判断本次不执行键盘扫描程序,则立即转到程序尾部,不要浪费CPU的时间\r\n  k10:jb\r\np0.0,k20;扫描正式开始,先检查列1四个键是否有键按下,如果没有,则跳到K20检查列2\r\n  k11:mov\r\np0,#b;列1有键按下时,P0.0变低,到底是那一个键按下?现在分别输出各行低电平\r\n  jb\r\np0.0,k12;该行的键不按下时,p0.0为高电平,跳到到K12,检查其它的行\r\n  mov\r\nr1,#1;如果正好是这行的键按下,将寄存器R0写下1,表示1号键按下了\r\n  k12:mov\r\np0,#b\r\n  jb\r\np0.0,k13\r\n  mov\r\nr1,#2;如果正好是这行的键按下,将寄存器R0写下2,表示2号键按下了\r\n  k13:mov\r\np0,#b\r\n  jb\r\np0.0,k14\r\n  mov\r\nr1,#3;如果正好是这行的键按下,将寄存器R0写下3,表示3号键按下了\r\n  k14:mov\r\np0,#b\r\n  jb\r\np0.0,如果现在四个键都没有按下,可能按键松开或干扰,退出扫描(以后相同)\r\n  mov\r\nr1,#4如果正好是这行的键按下,将寄存器R0写下4,表示4号键按下了\r\n  jmp\r\已经找到按下的键,跳到结尾吧\r\n  k20:jb\r\np0.1,k30;列2检查为高电平再检查列3、4\r\n\r\n  k21:mov\r\np0,#b;列2有健按下时,P0.0会变低,到底是那一行的键按下呢?分别输出行的低电平\r\n  jb\r\np0.1,k22;该行的键不按下时p0.0为高电平,跳到到K22,检查另外三行\r\n  mov\r\nr1,#5;如果正好是这行的键按下,将寄存器R0写下5,表示5号键按下了(以后相同,不再重复了)\r\n  k22:mov\r\np0,#b\r\n  jb\r\np0.1,k23\r\n  mov\r\nr1,#6\r\n  k23:mov\r\np0,#b\r\n  jb\r\np0.1,k24\r\n  mov\r\nr1,#7\r\n  k24:mov\r\np0,#b\r\n  jb\r\np0.1,kend\r\n  mov\r\nr1,#8\r\n  jmp\r\已经找到按下的键,跳到结尾吧(以后相同,不要重复了)\r\n  k30:jb\r\np0.2,k40\r\n  k31:mov\r\np0,#b\r\n  jb\r\np0.2,k32\r\n  mov\r\nr1,#9\r\n  k32:mov\r\np0,#b\r\n  jb\r\np0.2,k33\r\n  mov\r\nr1,#10\r\n  k33:mov\r\np0,#b\r\n  jb\r\np0.2,k34\r\n  mov\r\nr1,#11\r\n  k34:mov\r\np0,#b\r\n  jb\r\np0.2,kend\r\n  mov\r\nr1,#12\r\n  jmp\r\nkend\r\n  k40:jb\r\np0.3,kend\r\n  k41:mov\r\np0,#b\r\n  jb\r\np0.3,k42\r\n  mov\r\nr1,#13\r\n  k42:mov\r\np0,#b\r\n  jb\r\np0.3,k43\r\n  mov\r\nr1,#14\r\n  k43:mov\r\np0,#b\r\n  jb\r\np0.3,k44\r\n  mov\r\nr1,#15\r\n  k44:mov\r\np0,#b\r\n  jb\r\np0.3,kend\r\n  mov\r\nr1,#16\r\n  kend:\r\nret\r\n  键盘扫描结束了,寄存器R1的值就直接表示了是那个键按下的,根据不同的键值去执行不同的程序,从而实现了十六个矩阵键盘扫描,同样原理,最多可以识别255个按键的矩阵扫描。\r\n  我们可以每次键盘扫描开始时检查R0的值是否为0,只有在为0才扫描键盘,不为0就证明刚刚扫描过键值,相应的按键工作还没有完成。但是必须记得,每个按键命令执行完成后,要给R0写上0,表示可以扫描键盘。\r\n  本键盘扫描程序的优点在于:不用专门的按键延时程序,提高了CPU效率,也不用中断来扫描键盘,节省了硬件资源。另外,本键盘扫描程序,每次扫描占用CPU时最短,不论有键按下或者无键按下都可以在很短的时间完成一次扫描。\r\n  还有,本程序只使用几条最常用的汇编命令,MOV/JB/JMP/RET,而这几条命令是最常用、最易懂、最好学的命令!有的键盘扫描程序还用与呀、或呀、移位呀、查表呀,我都还没有看懂。\r\n&\r\n&\r\n&\r\n&\r\n&\r\n&\r\n&\r\n&\r\n&\r\n&\r\n&\r\n&\r\n&\r\n&\r\n&\r\n&\r\n&\r\n&\r\n&\r\n&\r\n&\r\n&\r\n&\r\n&\r\n&\r\n&\r\n&\r\n&\r\n&\r\n&\r\n&\r\n&\r\n&\r\n&\r\n&\r\n&\r\n&\r\n单片机系统与标准PC键盘的接口模块设计\r\n本篇文章来源于\r\n诺宇科技 转载请以链接形式注明出处 网址:http://www.siaaa.com/dianlutuku/shuzidianlu/50.html\r\n&\r\n关键词:\r\n单片机系统;PC键盘;接口模块;输入;FIFO \r\n概述\r\n&&&\r\n在单片机系统中,当输入按键较多时,在硬件

我要回帖

更多关于 罗技键盘灯光设置 的文章

 

随机推荐