编码器对应代码.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
#include reg52.h #include intrins.h typedef unsigned char uchar; typedef unsigned int uint; typedef unsigned long ulong; //数码管显示定义 #define led_port P1 sbit dm=P2^0; //断码 sbit wm=P2^1; //位码 sbit pb=P3^3; //b相脉冲 sbit gn=P2^2; //功能 sbit qr=P2^3; //确认 sbit jia=P2^4; //加 sbit jian=P2^5; //减 sbit bdqr=P2^6; //标定确认 sbit amc=P3^7; //b相 sbit bmc=P3^6; //a相 bit mcbz,mcbz1; ulong a,b,f; //a,b显示8位数码管,f脉冲个数 uint e; //e标定数值 ulong j; //j标定后的参数 uchar c,g,d; //c功能键对应数值,g确认按键第几次按下,d发出脉冲宽度调节 uchar bcd[8]; uchar code wxian[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80}; uchar code dxian[]={ 0x3f,//0 0x06,//1 0x5b,//2 0x4f,//3 0x66,//4 0x6d,//5 显示s 0x7d,//6 0x07,//7 0x7f,//8 0x6f,//9 0x79,//E10 0x31,//T11 0x77,//R12 0x00,//不显示13 0x37,//n14 0x7c,//b15 0x5e//d16 }; void bin_bcd(ulong f); //脉冲分离函数 void binjl(ulong a); //距离数分离函数 void gnsd(void); //功能键 void pjiajian(void); //加减 void xset(void); //显示set void reset(void); //显示reset void xbd(void); //显示bd void bdjiajian(void); //标定按键设置 void qrhs(void); //确认按键 void smxs(); void delay(uint t); bit bz,bz1,bz2,bz3,bz4,bz5,qrbz,qrsd; bit bz6; //确认跑完 bit qr2,qr3; //按下确认键标志 bit qrpw1; uchar mcs; void main() { a=0; //显示的路程 c=g=0; //设定标志位为1,2,3 d=0; //设定多少输出一个方波 bz=0; //功能键设定加1标志位 bz1=0; //功能键读出的状态 bz2=0; //功能1标志位 bz3=0; //设定2标志位 bz4=0; //标志3标志位 qrbz=0; //确认清零标志位 qrsd=0; //确认设定标志位 qr2=0; qr3=0; amc=bmc=0; TMOD=0x09; EA=1; TH0=0; TL0=0; EX0=1; TR0=1; IT0=1; while(1) { gnsd(); qrhs(); smxs(); if(bz5==1) { bin_bcd(f); bz2=0; bz3=0; bz4=0; qr2=0; } if(bz6==1) { g=0; bz5=0; j=ef; a=j*b/100000; binjl(a); } } } void to(void)interrupt 0 { if(pb==0) { if(bz6==0) f++; if(bz6==1) b++; mcbz=~mcbz; if(mcbz==0) amc=~amc; if(mcbz==1) bmc=~bmc; } if(pb==1) { if(bz6==0) f--; if(bz6==1) b--; mc

文档评论(0)

wyjy + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档