at89c51检测旋转光电编码器程序

at89c51检测旋转光电编码器程序

ID:14385263

大小:51.50 KB

页数:18页

时间:2018-07-28

at89c51检测旋转光电编码器程序_第1页
at89c51检测旋转光电编码器程序_第2页
at89c51检测旋转光电编码器程序_第3页
at89c51检测旋转光电编码器程序_第4页
at89c51检测旋转光电编码器程序_第5页
资源描述:

《at89c51检测旋转光电编码器程序》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、AT89C51检测旋转光电编码器程序光电编码器输出正交信号方式如下图所示:顺时针旋转A超前B相信号90°:A:_

2、--

3、__

4、--

5、_B:__

6、--

7、__

8、--

9、逆时针旋转B相信号超前A相信号90°:A:__

10、--

11、__

12、--

13、_B:_

14、--

15、__

16、--

17、__下面是AT89C2051检测并进行二倍频程序:;采用外部中断方式ORG00HLJMPMAINORG03HLJMPINT0ORG13HLJMPINT1ORG50HMAIN:MOVSP,#40HMOVP3,#0FFHMOVIE,#10000101B;设

18、定外部中断MOVTCON,#00000101BSETBEAMA1:MOVP1,#0FFHMOVP3,#0FFHSJMPMA1;*******************INT0:PUSHPSWCLREAI0:JNBP1.0,FANCLRP3.4SJMPINT0ENDFAN:CLRP3.5INT0END:POPPSWSETBEAMOVP3,#0FFHRETIINT1:PUSHPSWCLREAJNBP1.0,ZHENGCLRP3.5SJMPINT1ENDZHENG:CLRP3.4INT1END:POPPSWSE

19、TBEAMOVP3,#0FFHRETI处理后由P3.4P3.5分别在顺时针和逆时针时输出脉冲信号,送入AT89C51的T0,T1进行计数下面是计数及处理程序AT89C51负责信号处理并在12864液晶显示模块上把实际值显示出来,分辨率0.05MM液晶模块用的金鹏的OCMJ4X8CRSEQUP0.0;选择I/O口定义,RS为指令/数据选择端RWEQUP0.1EEQUP0.2;选择I/O口定义,E为使能端PSBEQUP0.3RESETEQUP0.4FIRST_COLEQU36H;定义字符/汉字显示起始行F

20、IRST_ROWEQU37H;定义字符/汉字显示起始列WORD_WIDEQU38H;定义字符/汉字显示长度WORD_LINEQU39H;定义字符/汉字显示行数FIRST_ADDEQU3AH;定义字符/汉字显示起始位置START_ADDEQU3BH;起始位置缓存单元FIRST_LINEQU3CH;起始行位置缓存单元A0EQU30HA1EQU31H;A2EQU32HB0EQU33HB1EQU34HZ0EQU35H;Z5BIT20H.0;正反负数标志ORG00HLJMPMAINORG0BHLJMPTT0ORG

21、1BHLJMPTT1ORG50HMAIN:MOVSP,#40hSETBRESETSETBPSBCLRRWMOVA0,#00HMOVA1,#00HMOVA2,#00HMOVB0,#00HMOVB1,#00HCLRZ5MOVTMOD,#66H;定时器定时方式2,自动装载MOVTH0,#0ECH;计够20个脉冲产生次中断MOVTL0,#0ECH;设检测盘周长为250MM,1P脉冲为0.05MMMOVTH1,#0ECH;2P脉冲为0.1MM,20P为1MM,200P为10MMMOVTL1,#0ECHSETBTR

22、0SETBTR1SETBET1SETBET0SETBEAQIU1:LCALLINITIL;调用系统初始化程序MOVA,#0CH;开显示,关游标LCALLINPUTLCALLDELAY01MOVA,#01H;DDRAM清零,DDRAM地址计数器到00HLCALLINPUTLCALLDELAY01LCALLQIU2QIU3:LCALLINITIL;调用系统初始化程序MOVA,#0CH;开显示,关游标LCALLINPUTLCALLDELAY01MOVA,#01H;DDRAM清零,DDRAM地址计数器到00HL

23、CALLINPUTLCALLDELAY01MOVFIRST_ADD,#00H;设定字符/汉字显示起始位置为第一个显示单元MOVFIRST_LIN,#01H;设定字符/汉字显示起始位置为第一行MOVword_WID,#08H;每行显示汉字个数MOVword_LIN,#04H;显示行数MOVSTART_ADD,#00H;清首个显示地址缓存单元SETBTR0LJMPQIU2;-----------------**************QIU:LJMPQIU1;************************

24、*******TT0:PUSHPSW;计够20P脉冲中断发生即1MMPUSHAMOVA,A2JNZT00MOVA,A1JNZT00MOVA,A0JNZT00CLRZ5T00:JBZ5,T02MOVA,A0ADDA,#01HDAAMOVA0,ACJNEA,#00H,TT0END;够100即100mm;MOVA0,#00HMOVA,A1ADDA,#01HDAAMOVA1,ACJNEA,#00H,TT0END;够100即10000MM=10M;M

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。