㈠ 按键的设计电路
按键的设计电路。
按键设计,可以单独占用io口,使用方便,但是占用资源。
也可以做成矩阵键盘,分行分列去扫描io口,检测按键。
还可以直接ad变换,通过电阻分压,检测电压值,只需要占用一个io口,实际应用中这种方式比较多。但是会存在一个问题,如果按键氧化,会导致接触电阻变大,ad转换时会误判为别的按键。
㈡ 不用单片机设计一个小键盘电路 求指教用数电谢谢了
数字电路中有优先编码器74LS147,要接键盘应该用输入芯片,而那个CD4017是十进制的计数/译码器,是输出的,不能用。
74LS147的用法如下图:可以接9个键盘,分别是数字1~9,不用0键,9个键都不按时输出就是0,这种芯片输出的是BCD码的反码,输出端DCBA需要加4个非门反相才行。图中的1~9的输入端接9个按键,按键另一端接地。
附件是74LS147的技术资料,详细说明可阅读资料。
㈢ 用单片机设计一个矩阵键盘电路
^尼玛,刚做好。
sbit scan_H0=P0^0;
sbit scan_H1=P0^2;
sbit scan_H2=P0^1;
sbit scan_L0=P0^3;
sbit scan_L1=P5^4;
sbit scan_L2=P5^5;
uchar Keycan() //按键扫描程序
{
unsigned char rcode, ccode ;
unsigned char which_key = 0;
write_scan_define(0x70); // 发全0行扫描码,列线输入
if((read_scan_define()&0x70) != 0x70) // 若有键按下
{
delay(10);// 延时去抖动
if((read_scan_define()&0x70) != 0x70)
{
rcode = 0xfe; // 逐行扫描初值
while((rcode&0x08) != 0)
{
write_scan_define(rcode); // 输出行扫描码
if((read_scan_define()&0x70) != 0x70) // 本行有键按下
{
ccode = (read_scan_define()&0x70)|0x07;
// GUI_sprintf_chartohex(0,0,rcode,0x07e0,0xf800);
// GUI_sprintf_chartohex(0,16,ccode,0x07e0,0xf800);
delay(1000);// 延时去抖动
while((read_scan_define()&0x70) != 0x70); //等待键释放
which_key = (~(rcode|0x88) + ~(ccode|0x88));
// GUI_sprintf_chartohex(0,32,which_key,0x07e0,0xf800);
}
else
rcode = (rcode<<1)|0x01;
}
switch(which_key)
{
case 0x11: which_key=1; break;
case 0x21: which_key=2; break;
case 0x41: which_key=3; break;
case 0x12: which_key=4; break;
case 0x22: which_key=5; break;
case 0x42: which_key=6; break;
case 0x14: which_key=7; break;
case 0x24: which_key=8; break;
case 0x44: which_key=9; break;
default: break;
}
}
}
//GUI_sprintf_chartohex(0,48,which_key,0x07e0,0xf800);
return which_key; // 无键按下,返回值为0
}
有注释的地方,可以加显示,方便调试,这是3*3的,4*4的更简单
㈣ 单片机键盘显示电路设计的程序要求输入64个按键,8个LED显示
用8*8的矩阵键盘组成64个按键,只需要16个IO口,8个LED需要8个IO口,所以选用STC89C51的单片机就够用了。
㈤ 如何设计一个LED显示/键盘电路
一是确定要LED显示什么,用意何在,如何去显示,二是要构成什么样的键盘,要实现什么样的功能。
这些你得先有个定数,必须设定一个目标,要求,才能有下一步,去找实现的方法和手段,否则就无从下手。
㈥ 设计图还是很好看 机械键盘的电路板设计图
对的,机械键盘的设计图确实是蛮好看的,像我现在用的这个是雷柏的v500合金版,用起来还是蛮不错的
㈦ 自制无线的计算机键盘,包括电路设计、模块组合等,应如何开始研究
无线的没做过,做过有线的,有段日子了。我记得多少就说多少吧。
要有传感器,我真的忘了那个是什么型号了。电路很好设计。编码忘了是什么的了,8位的,好像。
组成原理要看。
无线看你选哪种,蓝牙的挺简单,弄几个传感器,,接收发送的。
我那时遇到最大的困难是编码,编码对应计算机相应的指令,用的汇编。后来只是实现了键位输入。推荐你用C,能省事不少。
上上论坛吧。
㈧ 按键显示电路设计
你确来定只用与非门实现这个源功能吗?一般是编码-译码-显示。如果用芯片接就比较容易,光用与非门的话。编码译码是没问题,显示也可以用二极管将就。按键松开后数码管显示保持不变就需要锁存电路。理论上也可以,如果要做出实物,估计很容易出状况。我个人觉得比较繁琐的。
㈨ 如何进行单片机键盘电路的设计
其实比较好写的..
行是,P3.0-P3.3,例是,P3.4-P3.7,最后得到的键值存在,KEYS中数为,0-15,
有什么问题可以再问...
START:
MOV P1,#00H
MOV P2,#0FH
CLR KEYCARD
LOOP:
ACALL KEY_CHECK
JNB KEYCARD,LOOP ;为0从重新扫描
ACALL KEY_MARK ;为1有按键,调用KEY_MARK
AJMP LOOP
KEY_CHECK: ;键盘扫描
MOV P3,#0FH
MOV A,P3
ANL A,#0FH
CJNE A,#0FH,KEY_C1
CLR KEYCARD
RET
KEY_C1:
ACALL DELAY ;有键接下,消抖
SETB KEYCARD
RET
KEY_MARK:
MOV A,#0EFH ;第一例,行扫描,
KEY_M1: ;键值扫描
MOV P3,A
MOV KEYS,A
MOV A,P3
ANL A,#0FH ;取与
CJNE A,#0FH,KEY_M2 ;在第一例则跳,KEY_M2
MOV A,KEYS ;并非在第一例刚移位
SETB C
RLC A
JC KEY_M1 ;C=1,重新扫描..
CLR KEYCARD ;扫完一圈后,完成..
RET
KEY_M2: ;键值计算
MOV R0,#KEYS ;将KEYS的地址装入R0
XCH A,@R0 ;交换KEYS,A
XCHD A,@R0 ;交换低4位..
MOV KEYS,A
MOV R0,#0
LCALL KEY_ZHI
KEY_MX: ;等待按键释放
MOV A,P3
ANL A,#0FH
CJNE A,#0FH,KEY_MX
CLR KEYCARD
RET
KEY_ZHI:
MOV A,R0
INC R0
MOV DPTR,#KEY_VALUE
MOVC A,@A+DPTR
CJNE A,KEYS,KEY_ZHI ;查找键值.
DEC R0
MOV KEYS,R0
MOV P1,KEYS ;KEYS中的数为:0-15
RET
DELAY:
MOV R7,#20 ;延时大约2ms
D1: MOV R6,#50
DJNZ R6,$
DJNZ R7,D1
RET
KEY_VALUE: DB 0EEH,0DEH,0BEH,07EH,0EDH,0DDH,0BDH,07DH,0EBH,0DBH,0BBH,07BH,07EH,07DH,077H
END
㈩ 按键电路分析
你这应该是视听家电上的电路,上面是红外遥控信号接收部分;左侧是遥控接收部分的电回源电路,它答取自待机电源,经过电阻分压滤波后给遥控接收模块用;右侧是键盘。
左侧对右侧没有直接的影响,因为他们在电路结构上是分离的,只不过电路图画着方便就画在了一起。
遥控探头输入信号REMOCON送给遥控解码电路,解码后送给机器控制IC;键盘输入的KEY1和KEY2也送给控制IC。
如果遥控电源部分(左面)出问题,一般不是短路就是断路,断路不会有大影响,就是遥控不好用了(如果遥控电源不向其他部分电路供电的话);如果短路,47欧电阻没有烧掉,就会拉低整机的待机电源,这样机器就无法工作了,遥控和按键都会不起作用。
选什么书看,如果你基本零基础就多找找此类家电维修之类的书看,选里面有一些电路基本分析和实例分析的,从事这类工作基本够用。如果想补全基础,那就要看很多基础书了,不做设计也没什么必要。