如何使用编码开关
- 格式:doc
- 大小:296.00 KB
- 文档页数:8
dip拨码开关使用方法
DIP拨码开关用于设置数字输入或输出的电路。
其使用步骤如下:
1.了解拨码开关的编码方式:DIP拨码开关通常有2至10个拨码位,每个拨码位可以选择ON或OFF状态。
制造商通常会
为每个拨码位提供一个编码表,以将拨码位的状态与特定的数字值或功能相对应。
2.确定所需的设置值或功能:根据拨码开关的编码表,确定所
需的设置值或功能。
例如,某个拨码位可能表示二进制的第一位,将其设置为ON表示1,OFF表示0。
3.执行设置:根据确定的设置值或功能,在拨码开关上设置相
应的状态。
通常可以使用细小的工具(例如尖锐的物体、小螺丝刀等)将拨码开关切换到所需的位置。
4.验证设置:将拨码开关连接到数字电路并验证设置的正确性。
通过观察电路正常工作或使用适当的测试设备来验证所需的设置是否已成功实现。
需要注意的是,拨码开关通常需要进行精确的操作,小心避免损坏开关或设置错误。
在进行任何设置之前,建议仔细阅读拨码开关的使用说明和编码表。
8421旋转编码开关接线方法摘要:一、8421旋转编码开关简介二、8421旋转编码开关接线方法1.电源接线2.信号输出接线3.编码器与微控制器的连接三、接线注意事项四、总结正文:一、8421旋转编码开关简介8421旋转编码开关是一种常用的电子元器件,广泛应用于各种电子设备中,如机器人、自动化设备、智能家居等。
它具有四个输出端,可以输出0-15的状态信号,用于表示旋转的角度或位置。
本文将详细介绍8421旋转编码开关的接线方法。
二、8421旋转编码开关接线方法1.电源接线首先,为8421旋转编码开关提供适当的电源。
根据开关电源电压要求,将电源线连接到开关的VCC和GND引脚。
一般情况下,VCC接电源正极,GND接电源负极。
2.信号输出接线8421旋转编码开关有四个输出信号,分别为A、B、C、D。
根据实际需求,将这四个信号输出接到相应的接收端。
例如,可以将A、B、C接到微控制器的输入端,用于检测旋转开关的状态变化。
3.编码器与微控制器的连接将旋转编码器的输出信号接到微控制器的相应输入端。
同时,根据微控制器的工作电压和电源电压,为微控制器提供适当的电源。
需要注意的是,编码器与微控制器之间的连接线应尽量缩短,以降低信号干扰。
三、接线注意事项1.接线时,请使用足够线径的导线,以保证电流畅通。
2.避免将电源线与信号线紧挨着,以降低电磁干扰。
3.接线时要确保牢固,避免松动导致接触不良。
4.接线完成后,进行实际测试,确保旋转编码开关正常工作。
四、总结掌握8421旋转编码开关的接线方法,对于使用这种开关的电子设备来说至关重要。
正确的接线不仅可以保证设备正常运行,还能提高设备的使用寿命。
开关编码器工作原理
开关编码器是一种将机械开关位置转化为数字信号输出的设备。
它通常由一个旋转开关和一个或多个继电器组成。
开关编码器的工作原理如下:
1. 旋转开关:开关编码器通常使用旋转开关作为输入设备。
这个旋转开关可以有多个固定位置,每个位置对应一个不同的选项或状态。
2. 继电器:每个旋转开关位置对应一个继电器。
继电器是一种电子开关,可以根据输入信号的状态打开或关闭电路。
在开关编码器中,每个继电器通常与一个特定位置的旋转开关相关联。
3. 数字输出:当旋转开关转到特定位置时,相应的继电器将打开或关闭。
这样,就可以通过检测继电器状态来确定旋转开关的位置,并将其转换为数字信号输出。
每个旋转开关位置对应一个唯一的数字代码,可以用于处理和控制其他设备或系统。
4. 可编程性:开关编码器通常具有可编程功能,可以根据特定需求修改继电器的功能和输出。
这意味着可以灵活地配置开关编码器以适应不同的应用场景。
开关编码器主要用于机械开关位置转化为数字信号的场合,如电子设备控制、机器人控制、工业自动化等。
它的工作原理简单明了,可靠性高,被广泛应用于各种领域。
编码器开关的原理和应用一、引言编码器开关是电子设备中常用的一种开关类型,它可以将机械运动转换为电信号,使得电子设备可以对运动进行检测和控制。
本文将介绍编码器开关的工作原理、分类以及在各个领域中的应用。
二、工作原理编码器开关的工作原理基于机械和电子的相互作用。
在编码器开关内部,通常有一个旋转轴和一系列的探测装置。
当旋转轴旋转时,探测装置会感知并转换成电信号,进而传输到设备系统中进行相应的操作。
三、分类根据编码器开关的工作原理和结构不同,可以将其分为以下几种常见类型:1.光电编码器开关:基于光电传感器的工作原理,使用光电传感器检测物体的运动,并将其转换成电信号。
广泛应用于工业自动化领域,例如机械臂控制、自动装配线等。
2.磁编码器开关:基于磁传感器的工作原理,使用磁传感器检测物体的磁场变化,并将其转换成电信号。
常见于磁性材料检测、位置测量等领域。
3.机械编码器开关:基于机械结构的工作原理,使用机械传感器检测物体的机械运动,并将其转换成电信号。
适用于机械控制、位置测量等场景。
四、应用编码器开关在各个领域中有着广泛的应用,以下列举几个常见的应用场景:1.工业自动化:在工业生产过程中,编码器开关可以用于检测和控制机械臂的运动,实现精确位置控制和运动规划。
2.机器人技术:编码器开关的高精度和快速响应特性,使其成为机器人技术中的关键组件。
通过编码器开关,机器人可以实现精确的位置感知和运动控制。
3.医疗设备:在医疗设备中,编码器开关常用于测量和控制医疗设备的各种参数,如血压计、血糖仪等,以确保精确的测量结果和可靠的控制功能。
4.交通运输:编码器开关可用于车辆的导航系统,实现位置信息的准确获取和导航指引,提高驾驶的安全性和效率。
5.智能家居:在智能家居中,编码器开关常用于控制家电设备的开关和调节,提供便捷的生活体验和舒适的居住环境。
五、总结编码器开关作为一种常见的开关类型,通过将机械运动转换为电信号,实现了对运动的检测和控制。
一、编码器(编码开关)原理及使用方法
旋转编码器、数码电位器、Rotary Encoder。
它具有左转,右转功能,有的旋转编码开关还有按下功能。
使用方法:EC11型编码开关为例:
三只脚:123脚一般是中间2脚接地,1、3脚上拉电阻后,当左转、右转旋转时,在1、3脚就有脉冲信号输出了。
两只脚:按压开关,按下时导通,回复时断开。
二、在单片机编程时,左转和右转的判别是难点,用示波器观察这种开关左转和右转时
两个输出脚的信号有个相位差.由此可见,如果输出1为高电平时,输出2出现一
个高电平,这时开关就是向顺时针旋转;当输出1为高电平,输出2出现一个低
电平,这时就一定是逆时针方向旋转。
所以,在单片机编程时只需要判断当输
出1为高电平时,输出2当时的状态就可以判断出是左旋转或是右旋转了。
沈阳宏宇光电子编码器使用说明
1.将编码器电源接好,将灯具上的黄色电线接入编码器的S+接口,绿色电线接入编码器的S-接口,红色电线接入编码器的V+接口,蓝色电线接入编码器的V-接口。
2.打开编码器的电源开关
打开编码器电源开关后,编码器的液晶屏左边三位开始从001递增读取,直到编码器读取到灯具的出厂编码号后停止递增。
假如出厂编码为18号,则液晶屏的显示如下图所示:
018 040 87 50
3.灯具重新编码:
通过编码器上的“设置”按钮使液晶屏上的光标移动到左边三位的任意一位要改动的编码号上,通过↑、↓按钮加减数字大小,如要将018号改为010号,则按“设置”按钮,将光标停留在“8”上,连续按“↓或↑”,按钮,直到将8改为0,此时按“写入”按钮,当液晶屏最右边字符显示“OK”,即编码完成,这时液晶屏的显示如下图所示:
010 040 87 DO
编写下一个灯具时,只需按上述接好连线,无需关编码器,直接将光标移动到相应位置,改写数字,按“写入”键,依次往下连续编写。
!1、编码器每次只能对一个灯进行编址,不允许在现场的总线上对灯编址。
2、编码器每次使用完,需及时断电,防止编码器损坏。
沈阳宏宇光电子科技有限公司
2013年5 月。
编码开关波形通常是指通过开关状态的变化来传递信
息或控制信号的一种波形。
这种波形可以通过电子、机械或光学的方式来实现。
以下是一个编码开关波形的示例:假设我们要控制一个设备,让它在不同的模式下运行。
我们可以使用一个编码开关来实现这个功能。
例如,我们可以使用一个4位的二进制编码开关,它可以表示0000到1111之间的16种不同的模式。
当编码开关的某一行或某一列被激活时,它就会产生一个特定的波形,这个波形可以被设备识别并执行相应的操作。
具体来说,我们可以将编码开关的每一行和每一列连接到相应的输入和输出端口上。
当某一行和某一列被激活时,它就会在相应的输入和输出端口之间形成一个闭合电路,从而产生一个特定的电压或电流波形。
这个波形可以被设备内部的电路识别并执行相应的操作。
总之,编码开关波形是一种通过开关状态的变化来传递信息或控制信号的波形。
它可以被广泛应用于各种不同的领域,如通信、控制、检测等。
介绍带开关的编码器使用的时候要注意的内容如下所述:(1)编码器使用安装带开关编码器时,其千万不可太用力的去推进,以免以免损坏轴系和码盘。
应该让编码器轻轻地推进被套轴。
(2)还有对于开关的编码器的使用,一定要注意其环境温度以及其湿度较高的地方使用,否则编码器的内部的一些元件会很容易受到超潮湿而导致失效。
(3)带开关的编码器的信号线尽量不要连接到直流的电源线上,以免损坏其编码器的输出电路。
对于这操作上需切记这点。
(4)带开关编码器的之间的接线端不要乱接错了,否者通电运行中容易导致编码器的损坏。
(5)在每次使用编码器的时候,要经常检查板弹簧相对编码器是否牢固,以及其编码器的螺钉是否牢固。
以免在操作的过程中出现一些故障等事故。
(6)编码器是一种比较精度的仪器,在使用的时候一定要注意到它的周围的环境有无振源及干扰源等类型的情况,否则在对于编码器的工作运行上会有很大的影响。
BM–Ⅱ型地址编码系统使用说明沈阳泰华电力设备制造有限公司辽宁•沈阳市沈河区天后宫路24号电话(024)88573693 传真(024)88573617特点●先进的微型计算机技术●清晰的背光液晶显示●中文操作界面●全隔离浮地技术●宽电压输入交直两用工作电源●非接触开关检测●采用德国菲尼克斯接线端子●采用德国曼耐克斯电缆联接栓●IP65高防护等级一、概述:BM―Ⅱ型地址编码器是一种内置式通用型地址编码器,它主要用于拉绳开关及跑偏开关的地址编码。
这样在控制室内可以及时地了解现场胶带机的运行情况,出现故障的原因及故障位置。
二、工作原理:地址编码系统由一个主控器及多个编码器(在拉绳开关或跑偏开关内)构成,它们之间通过RS-485端口相接,所有编码器的地址都是唯一的,工作时由主控器逐一发送编码器的地址,所有编码器收到地址后同自身所设定的地址相比较,只有地址相同的编码器才会产生应答,将被编码的开关类型及工作状态发给主控器。
主控器接收到此信息后,显示被编码开关的类型及开关状态(报警),同时可以把主控器编码,通过另一个RS-485端口同上位机相连,当上位机需要数据时,发送一帧主控器的地址编码,相应的主控器将把所有编码开关的状态告知上位机。
三、使用:1.控制器工作参数的设定控制器在使用之前必须设置相应的工作参数键功能说明:设置键设定工作参数,每按一次将显示一个工作参数,循环显示◣键光标向右循环移动▲键选择波特率、音响报警状态或循环增大数值C键清除当前操作的数值F1键清除此次音响报警(不影响下一次报警)确认键保存当前工作参数并自动转到下一个参数的设置或运行其它键未用设定参数时光标闪动的位可以修改本控制器全部采用中文操作界面,您在设定参数时,可根据中文提示设定相应的工作参数,然后按确认键即可。
由于本控制器的键盘是开放的,为避免现场无关人员的误操作,键盘可以加密码锁,密码的位数为四位任意数值,设定好后按确认键。
这样在运行确认后,键盘除设置键以外将全部封闭。
NDS数字编码开关使用说明一. 档位怎么调整:答:我们的产品在出货的时候已经在A和W的位置放了两个自攻螺丝用来限位,客户可以通过自行改变螺丝的位置来达到自己需要的挡位。
比如您使用型号为01J 的数字编码开关,01J代表2进制编码,每挡15度,这样的话:360度/15度=24档,一周360度最大可以分成24挡,如果您只要16个挡位,您只要在第17个位置把限位用的自攻螺丝拧进去就可以了,这样当旋钮转到16档时候,由于17挡被挡住了就再过不去了,从而达到自己需要的挡位。
二. 二进制编码,二进制补码,格雷码等是什么意思,请详细解释答:(1) 2进制编码的10进制数在计算机中所使用的数是2进制数,而2进制数对于我们来说不直观,所以在输入输出时通常还是用10进制数表示。
这样,就需要用2进制编码去代替10进制数。
一位10进制数用4位2进制编码表示,表示的方法很多,常用的有8421BCD码。
8421BCD码有10个不同的数字符号,但它是逢“10”进位的,所以,它是10进制数;但它的每一位是用4位2进制编码来表示的,因此,称为2进制编码的10进制数(BCD,Binary Coded Decimal)。
例如:(0100 1001 0111 1000.0001 0100 1001)BCD。
4 9 7 8. 1 4 9可以很方便地认出为:4978.149。
故只要熟悉了BCD的10位编码,立即可以很容易地实现10进制与BCD码之间的转换。
必须明确,BCD码与2进制之间的转换不是直接的,要先经过10进制。
即:BCD码先转换为10进制码然后再转换为2进制,反之亦然。
(2) 补码的定义是什么呢?简单说是正数不变,负数取反加一。
如9=00001010B的补码是00001010-9补码就是11110101+1=11110110注意补码中0只有一个+0=00000000,-0=11111111+1=000 00000(最高位不要了)有了补码,加减运算就可以统一起来了。
8位拨码开关编码原理
8位拨码开关编码原理是基于二进制编码的。
拨码开关每个键对应一个输入引脚,拨动键时,对应的输入引脚接通,输出为“1”,反之输出为“0”。
8位拨码开关共有8个键,因此可以输出2^8=256种不同的二进制编码。
例如,当所有键都拨动时,编码为1,表示十进制数255。
8位拨码开关编码的应用非常广泛,例如在计算机系统中,用于输入程序或数据,在通信设备中,用于选择通道或频率,在工业控制中,用于控制设备的状态等。
以下是8位拨码开关编码的详细说明:
●拨码开关的每个键对应一个输入引脚,拨动键时,对应的输入引脚接通,输
出为“1”,反之输出为“0”。
●8位拨码开关共有8个键,因此可以输出2^8=256种不同的二进制编码。
●例如,当所有键都拨动时,编码为1,表示十进制数255。
●8位拨码开关编码的应用非常广泛,例如在计算机系统中,用于输入程序或
数据,在通信设备中,用于选择通道或频率,在工业控制中,用于控制设备的状态等。
编码开关接法电路原理
编码开关接法电路是一种常用的数字电路,用于将物理开关的信号转换为二进制或十进制编码的电信号。
它可以被广泛应用于电子设备中,如计算机、遥控器、数据输入设备等。
编码开关接法电路的原理是利用多个开关的组合来产生不同的编码输出。
它通常由多个开关、逻辑门和编码器组成。
在一个简单的例子中,我们使用一个四位二进制编码开关接法电路来说明其原理。
这个电路由四个开关和一个编码器组成。
首先,我们需要将每个开关与一个编码器的输入引脚连接起来。
开关可以用来控制二进制编码的高低电平。
在这个例子中,我们使用的是四位二进制编码,因此有四个开关。
编码器的作用是将输入的二进制编码转换为对应的输出信号。
在这个例子中,我们使用的是二-四线编码器。
它将四个输入信号转换为四个输出信号,即将二进制编码转换为对应的十进制数。
接下来,我们将编码器的输出线连接到其他电路或设备,以传递所选择的编码值。
这可以是一个 LED 灯、数码管显示器或其他需要编码信号的设备。
最后,连接电路的电源和参考地线,以供电和确保电路工作的稳定性。
当我们改变开关的位置时,开关的状态将改变,进而改变了二进制编码输入信号。
编码器将根据输入信号的变化,产生对应的输出信号,实现了将物理开关的位置转换为电信号的功能。
总结一下,编码开关接法电路原理是借助开关和编码器,将物理开关的状态转换为二进制编码或十进制编码的数字信号。
这种电路可以在各种数字电子设备中实现,提供了方便的数据输入和控制方式。
编码开关工作原理
编码开关是一种电子开关装置,它基于编码原理来实现开关的控制。
其工作原理可以概括为以下几个步骤:
1. 输入信号转换:编码开关通常接受外部输入信号作为控制信号,可以是电压、电流或者其他类型的信号。
这些输入信号经过转换电路,被转换成特定的数字信号。
2. 编码处理:转换后的数字信号会被编码处理电路进行处理。
编码处理的方式有多种,最常见的是将数字信号转换成二进制编码。
通过编码,输入信号被分解成一系列的位,每一位表示不同的开关控制状态。
3. 逻辑控制:编码处理后的位信息会被传递给逻辑控制电路,该电路通过逻辑门等元件实现开关的控制逻辑。
不同的位组合对应着不同的开关控制状态,逻辑电路根据接收到的位信息进行判断,并控制相应的开关动作。
4. 控制输出:经过逻辑判断后,编码开关会输出控制信号,用来控制相应设备或系统的工作状态。
这个控制信号可以是电流或电压信号,也可以是数字信号或其他形式的信号,具体形式会根据被控制设备的需求而决定。
总的来说,编码开关通过输入信号转换、编码处理、逻辑控制和控制输出等步骤,实现对开关的精确控制。
这种开关在自动化控制系统、数字电路设计等领域得到广泛应用,提供了一种方便、高效的开关控制方式。
编码开关简介及脚位接法
编码开关主要由轴芯、定位片、拨盘、码片、后盖、开关弹片、支架构成。
另还设置有编码刷子本体和轴套,编码刷子本体上设置有按压功能开关结构和编码脉冲输出结构,结构紧凑,厚度薄,体积小。
广泛应用于多媒体音响、车载导航、家用电器、通讯设备、电子仪器、医疗设备、汽车蓝牙等产品上边。
编码开关引脚主要为五个引出脚,按压功能开关结构包括有功能开关导片和二个功能引出脚,编码脉冲输出结构包括二个弹性刷爪和三个编码脉冲输出引出脚。
那么如何进行这些引出脚的接线呢?首先编码开关均以5个引脚为主,属于编码器的一类,但相对其他编码器而言,编码开关比不带开关编码器会多出2个开关引脚。
引脚结构一般两个开关引脚与三个输出引脚分别位于底座两侧。
三个输出引脚里中间引脚的接法为接地使用,两侧引脚则是外接上拉电阻使用。
剩下两个开关引脚主要是下按键的开关按键使用。
以上就是编码开关脚位的接法说明。
BM–Ⅱ型地址编码系统使用说明沈阳泰华电力设备制造有限公司辽宁•沈阳市沈河区天后宫路24号电话(024)88573693 传真(024)88573617特点●先进的微型计算机技术●清晰的背光液晶显示●中文操作界面●全隔离浮地技术●宽电压输入交直两用工作电源●非接触开关检测●采用德国菲尼克斯接线端子●采用德国曼耐克斯电缆联接栓●IP65高防护等级一、概述:BM―Ⅱ型地址编码器是一种内置式通用型地址编码器,它主要用于拉绳开关及跑偏开关的地址编码。
这样在控制室内可以及时地了解现场胶带机的运行情况,出现故障的原因及故障位置。
二、工作原理:地址编码系统由一个主控器及多个编码器(在拉绳开关或跑偏开关内)构成,它们之间通过RS-485端口相接,所有编码器的地址都是唯一的,工作时由主控器逐一发送编码器的地址,所有编码器收到地址后同自身所设定的地址相比较,只有地址相同的编码器才会产生应答,将被编码的开关类型及工作状态发给主控器。
主控器接收到此信息后,显示被编码开关的类型及开关状态(报警),同时可以把主控器编码,通过另一个RS-485端口同上位机相连,当上位机需要数据时,发送一帧主控器的地址编码,相应的主控器将把所有编码开关的状态告知上位机。
三、使用:1.控制器工作参数的设定控制器在使用之前必须设置相应的工作参数键功能说明:设置键设定工作参数,每按一次将显示一个工作参数,循环显示◣键光标向右循环移动▲键选择波特率、音响报警状态或循环增大数值C键清除当前操作的数值F1键清除此次音响报警(不影响下一次报警)确认键保存当前工作参数并自动转到下一个参数的设置或运行其它键未用设定参数时光标闪动的位可以修改本控制器全部采用中文操作界面,您在设定参数时,可根据中文提示设定相应的工作参数,然后按确认键即可。
由于本控制器的键盘是开放的,为避免现场无关人员的误操作,键盘可以加密码锁,密码的位数为四位任意数值,设定好后按确认键。
这样在运行确认后,键盘除设置键以外将全部封闭。
如何使用旋转编码开关2?
作者:佚名来源:不详录入:Admin更新时间:2008-7-27 16:18:51点击数:2
【字体:】
我前面介绍的2篇文章:“自己动手做收音机(LC72131)”和“电脑USB接口LCD液晶显示板(LCD Smartie)”都使用了这种旋转编码开关(Rotary Encoder switch),一个使用3脚的,后面一个使用5脚的,大家可能对这种玩意都不是很了解,但涉及到有调整的地方,这个玩意使用真是很爽,我弄了2个,研究了一下,供大家参考~
5脚的ALPS:
具有左转,右转,按下三个功能。
4、5脚是中间按下去的开关接线 1 2 3脚一般是中间2脚接地,1、3脚上拉电阻后,当左转、右转旋纽时,在1、3脚就有脉冲信号输出了。
着这是标准资料:
在单片机编程时,左转和右转的判别是难点,用示波器观察这种开关左转和右转时两个输出脚的信号有个相位差,见下图:
由此可见,如果输出1为高电平时,输出2出现一个高电平,这时开关就是向顺时针旋转; 当输出1 为高电平,输出2出现一个低电平,这时就一定是逆时针方向旋转.
所以,在单片机编程时只需要判断当输出1为高电平时,输出2当时的状态就可以判断出是左旋转或是右旋转了。
还有另外一种3脚的,除了不带按钮开关外,和上面是一样的使用。
参考:
#include "reg51.h"
#define uint unsigned int
sbit CodingsWitch_A=P1_1;
sbit CodingsWitch_B=P1_2;
uint CodingsWitchPolling()//
{
static Uchar Aold,Bold; //定义了两个变量用来储蓄上一次调用此方法是编码开关两引脚的电平
static Uchar st; //定义了一个变量用来储蓄以前是否出现了两个引脚都为高电平的状态
uint tmp = 0;
if(CodingsWitch_A&&CodingsWitch_B)
st = 1; //
if(st) //如果st为1执行下面的步骤
{
if(CodingsWitch_A==0&&CodingsWitch_B==0) //如果当前编码开关的两个引脚都为底电平执行下面的步骤
{
if(Bold) //为高说明编码开关在向加大的方向转
{
st = 0;
tmp++; //
}
if(Aold) //为高说明编码开关在向减小的方向转
{
st = 0;
tmp--; //设返回值
}
}
}
Aold = CodingsWitch_A; // Bold = CodingsWitch_B; //储return tmp; //
}
//编码器计数程序
void encoder_cnt(void)
{
uchar temp;
temp = PIND; //取端口D管脚信号
couch_clr = (temp & 0x08); //取编码器清零信号
if(couch_clr != false) //有编码器清零信号
{
couch_num = 0; //水平床码清零
}
else
{
if(encoder_cnt_en == false) //编码器计数模块没有启动
{
pr_couch_ba = temp & 0x03; //取编码器A、B相电平信号 }
else
{
couch_ba = temp & 0x03; //取编码器A、B相电平信号
if(pr_couch_ba == 0x00)
{
if(couch_ba == 0x01)
{
couch_num++; //水平床码加1
}
else if(couch_ba == 0x10)
{
couch_num--; //水平床码减1
}
}
else if(pr_couch_ba == 0x01)
{
if(couch_ba == 0x11)
{
couch_num++; //水平床码加1
}
else if(couch_ba == 0x00)
{
couch_num--; //水平床码减1
}
}
else if(pr_couch_ba == 0x10)
{
if(couch_ba == 0x00)
{
couch_num++; //水平床码加1
}
else if(couch_ba == 0x11)
{
couch_num--; //水平床码减1
}
}
else if(pr_couch_ba == 0x11)
{
if(couch_ba == 0x10)
{
couch_num++; //水平床码加1
}
else if(couch_ba == 0x01)
{
couch_num--; //水平床码减1
}
}
}
pr_couch_ba = couch_ba;
}
}
编码器及其计数模块原理
飘扬的旋转编码器的检测程序(MCS51)
//旋转编码器检测程序,A/B信号分别接在了INT0和INT1上//程序作者:BG4UVR
//2005年1月15用KEIL编译、硬件测试通过
//注意:编码器的信号,程序未做消抖处理。
测试中,A/B信号上各//接了一只104的瓷片电容,工作很正常。
如果不接电容,请自行编//写信号消抖程序。
#include <at89x51.h>
sbit led=0xB1;//有一只LED接在了RXD引脚上,用来指示正反转;
main()
{
EA=1; //总中断允许
EX0=1; //外部中断0允许
IT0=1; //外部中断0为边沿触发方式
while(1);;
}
/*********************
编码器中断函数
入口:无
出口:无
*********************/
void encoder(void) interrupt 0 { //外部中断0
if (INT1){
led=1;
}else{
led=0;
}
}
whimsy 的AVR程序
//外部中断0,用于编码开关解码,解码图: A接中断脚(AVR的PD2),以此为基准,B用来判断方向(连到AVR的PA1), C接地
//A -|
// | -----|__________|----------|____________
//C -|
//
//B -|
// | ----------|__________|----------|____________
//C -|
// CW ===>>> ROTATION
//外部中断设置(ISC01=0,ISC00=1): INT0 引脚上任意的逻辑电平变化都将引发中断
#pragma interrupt_handler int0_isr:2
void int0_isr(void)
{
//external interupt on INT0
GICR=0; //禁止外部中断
if ((PIND & 0x04)==0) //先判断是高电平产生的中断还是低点平的中断
if ((PINA & 0x02)==0) //再判断B线上的电平
{
keycounter--;
keydirection=0;
}
else
{
keycounter++;
keydirection=1;
}
else
if ((PINA & 0x02)==0) {
keycounter++;
keydirection=1;
}
else
{
keycounter--;
keydirection=0;
}
GICR=0x40;
}。