拨盘开关输入方法

拨盘开关,简称为拨盘,也有人称为拨码开关、编码开关、指轮开关等等,这是一种数字输入设备。

一个拨盘,它和计算机的接口是并行的四条线,可输入四位的 8421码。

它的表面,通常印的符号是十进制数字 0~9,也有印着十六进制数字的,更有特制的,印着年月日。

这种小东西,简单可靠,也没有一般的按键所具有的抖动现象。

拼接成多位的也十分方便,数字看着也直观,完全可以省下对应的显示器。


外形图如下:


拨盘开关输入方法 - 非著名博主 - 电子信息角落


它正面显示数字和背后引脚所给出信号的关系,可见下面的真值表:


拨盘开关输入方法 - 非著名博主 - 电子信息角落


做而论道已经在产品中使用它很多次了,近来才发现,在 PROTEUS 软件中,也能仿真这种器件。

看看下图,这个器件,在 PROTEUS 中是什么名称?


拨盘开关输入方法 - 非著名博主 - 电子信息角落


图片链接:http://xiangce.baidu.com/picture/detail/597059c821198c30d39d6e03bf78fa259d63b44a


在电路图中,共使用了四个拨盘开关,采用了“数据线并联”的方式,节省了不少 IO 口线。

在软件上,使用了扫描的方法,所以就可以在一个八位的接口,稳定接收它们送来的四位十进制数字。


下面的程序,即不断的扫描拨盘的输入,同时还不断的动态显示输出,能够做到输入什么,马上就显示什么。


;这个程序和电路,经过仿真试验后,证明可以正常工作。

;能够实现拨盘拨几在四位共阳数码管上显示几。


THUMB  EQU  30H    ;30H~33H BCD 拨盘输入数据

D_BUF  EQU  34H    ;34H~37H 显示缓冲区


    ORG  0000H

    LJMP START


    ORG  0030H

START:

;-----------------------------

M_LOOP:

    CALL  THUMB_SW

    CALL  DATA_PROC

    CALL  DISP

    JMP   M_LOOP

;-----------------------------

THUMB_SW:

    MOV   R2, #127  ;位选, 低电平有效

    MOV   R0, #THUMB

    MOV   P1, R2

    MOV   A, P1

    CPL   A

    ANL   A, #15

    MOV   @R0, A

    MOV   A, R2

    RR    A

    MOV   R2, A

    INC   R0

    CJNE  R0, #THUMB + 4, $ - 12 ;4位

RET

;-----------------------------

DATA_PROC:

    MOV   D_BUF, THUMB

    MOV   D_BUF + 1, THUMB + 1

    MOV   D_BUF + 2, THUMB + 2

    MOV   D_BUF + 3, THUMB + 3

RET

;-----------------------------

DISP:        ;共阳数码管, P0:段, P2:位

    MOV   R2, #1  ;位选, 高电平有效

    MOV   R0, #D_BUF

    MOV   A, @R0

    ADD   A, #(TAB - $ - 3)

    MOVC  A, @A + PC

    MOV   P2, #0

    MOV   P0, A

    MOV   P2, R2

    DJNZ  R7, $     ;显示1ms

    DJNZ  R7, $

    MOV   A, R2

    RL    A

    MOV   R2, A

    INC   R0

    CJNE  R0, #D_BUF + 4, $ - 19 ;显示4位

    MOV   P2, #0

RET                 ;占用时间约为4.1ms

;-----------------------

TAB: ;共阳段码

    DB  0C0H, 0F9H, 0A4H, 0B0H, 099H, 092H, 082H, 0F8H;0~7

    DB  080H, 090H, 088H, 083H, 0C6H, 0A1H, 086H, 08EH;8~F

;-----------------------------

END


在电路中,每个拨盘,都使用了四个二极管,使用一般的 1N4148 即可。

在拨盘的背面接线处,有 8 个小孔,就是用于安装二极管的。

但是,如果不是多组拨盘“并联”,也可以不用安装二极管,把安装孔空着就行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值