预览加载中,请您耐心等待几秒...
1/3
2/3
3/3

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

BCD拨码盘在某些单片机应用系统中,有时只需要进行少量的十进制数据设定,例如,设定温度恒定在30℃。这些参数具有两个特点:一是都由十进制数字(0~9)组成;二是设定值可能随时需要改变。对于符合上述特点的输入场合,使用BCD拨码盘较为合适。1.BCD拨码盘的构造BCD拨码盘的构造如图1所示。图1BCD拨码盘阵列的构造它由处于前面板的拨码盘和处于后侧板的接线端组成。拨码盘由上下两个拨盘按钮和夹在按钮中间的拨位数码指示器组成。拨位数码指示器是可随拨盘的拨动进行转动0~9十个数字,用以显示拨码盘当前数值。上面的拨码按钮为增量按钮,每按下一次,拨码盘正相旋转1/10周,拨位数码指示器显示的数值加1,连续按十次,数据将被还原;下面的拨码按钮为减量按钮,每按下一次,拨码盘反相旋转1/10周,拨位数码指示器显示的数值减1。接线端向外引出标有8、4、2、1、A的五个引脚。在实际应用中,BCD拨码盘可以直接插入BCD拨码盘插座中使用,也可以采取从5个引脚上分别焊接引线的方式使用.BCD拨码盘的接线端是当前拨码盘位置的反映,拨码盘数码显示的数值直接影响8、4、2、1四个引脚与公共引脚A的导通状态,例如,当前拨码盘拨位数码指示器的显示数据为7时,图1中的4、2、1引脚均与A导通,8引脚与A不导通;当前拨码盘拨位数码指示器的显示数据为4时,仅有4引脚与A导通,其余三个引脚与A均不导通。拨码盘从0拨到9,A引脚与8、4、2、1四个引脚的导通的状态如表1所示。此表中的0表示输入控制线A与输出线不通,表中的1表示输入控制线A与输出线相通。表1BCD拨码盘状态表位置84210000010001200103001l4010050101601107011l8100091001从表中可以看出,8、4、2、1四个端子与A是否导通所对应的数值与其BCD码完全一致。2.BCD拔码盘的接口方法实际应用BCD拨码盘时,如果A端接高电平,8、4、2、1引脚需要经下拉电阻拉低,这样,这四个引脚不与A接通时为低电平,与A接通时为高电平。从8、4、2、1引脚上读到的数值即为拨码盘输入对应的BCD码。如果A端接低电平,8、4、2、1引脚需经上拉电阻拉高,这样,这四个引脚不与A接通时为高电平,与A接通时为低电平。从8、4、2、1引脚上读取数据并取反后,才能得到与拨码盘输入对应的BCD码。(1)单个BCD拨码盘与单片机的接口[例1]假设MCS-51单片机系统可以根据外部输入0~9设定完成10项不同的操作,各操作对应的程序已经编好,对应的程序入口地址为PRG0~PRG9。设计此系统的硬件结构和程序。使用BCD拨码盘作为输入工具,BCD拨码盘与MCS-51的连接方式如图2所示。将BCD拨码盘的公共引脚A接地,8、4、2、1引脚分别经上拉电阻连到MCS-51的P1.3~P1.0引脚上。这样,当BCD拨码盘处于0~9十个位置上时,MCS-51从P1.3~P1.0上读取数据并取反,即可得到相应的BCD码数字。例如,图2中的开关4接通时,P1口低4位的输入数据为101lB,将其取反后为0100B。图2单个BCD拨码盘与MCS-51的连接此系统的程序清单如下:PBCDl:MOVA,P1;读拨码盘输入CPLA;取反ANLA,#0FH;屏蔽高4位MOVR5,A;暂存RLA;(A)×2ADDA,R5;(A)×3MOVDPTR,#TABLE;散转表首地址送DFTRJMP@A+DPTR;散转TABLE:LJMPPRG0;转功能0LJMPPRGl;转功能1LJMPPRG2;转功能2……;转其他功能(2)多个BCD拨码盘与单片机的接口在单片机应用系统中,使用多个BCD拨码盘的场合较多。这时,一般针对A端有两种方式可以选择:BCD拨码盘的公共引脚A静态接高电平或低电平;BCD拨码盘的公共引脚A动态扫描。下面通过具体例子说明静态、动态两种方式的应用。(1)A端静态连接法。此方法适用于BCD拨码盘数量不多的单片机系统中。[例2]设计MCS-51与两个BCD拨码盘接口的硬件电路。两个BCD拨码盘和MCS-51单片机的连接方式如图3所示。BCD拨码盘的公共引脚A接+5V,4位数据线和74LS244中的4位并行输入线相连,并通过电阻接地。这样,当BCD拨码盘处于某个位置时,和A端相通的数据线为1,不相通的数据线为0,数据线的状态符合拨码盘位置的BCD码编码规律。8031直接对扩展的74LS244进行读操作,就可以读取拨码盘的状态。图3两个BCD拨码盘和MCS-51单片机的连接图3所示的接口方法的硬件逻辑比较简单,但需要占用较多的I/O口线。在单片机系统中,为了节省I/O口线,可以采取将几个拨码盘的数据线经逻辑组合以后连接到并行口,通过动态扫描方式进行拨码识别的方法。(2)动态扫描法。所有BCD拨码盘的公共引脚A分别接不同的扫描线