编码器对应代码Word文档下载推荐.docx
- 文档编号:15017445
- 上传时间:2022-10-26
- 格式:DOCX
- 页数:13
- 大小:16.20KB
编码器对应代码Word文档下载推荐.docx
《编码器对应代码Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《编码器对应代码Word文档下载推荐.docx(13页珍藏版)》请在冰豆网上搜索。
//a,b显示8位数码管,f脉冲个数
uinte;
//e标定数值
ulongj;
//j标定后的参数
ucharc,g,d;
//c功能键对应数值,g确认按键第几次按下,d发出脉冲宽度调节
ucharbcd[8];
ucharcodewxian[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
ucharcodedxian[]={
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
};
voidbin_bcd(ulongf);
//脉冲分离函数
voidbinjl(ulonga);
//距离数分离函数
voidgnsd(void);
//功能键
voidpjiajian(void);
//加减
voidxset(void);
//显示set
voidreset(void);
//显示reset
voidxbd(void);
//显示bd
voidbdjiajian(void);
//标定按键设置
voidqrhs(void);
//确认按键
voidsmxs();
voiddelay(uintt);
bitbz,bz1,bz2,bz3,bz4,bz5,qrbz,qrsd;
bitbz6;
//确认跑完
bitqr2,qr3;
//按下确认键标志
bitqrpw1;
ucharmcs;
voidmain()
{
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=e*10000000/f;
a=j*b/100000;
binjl(a);
}
}
voidto(void)interrupt0
{
if(pb==0)
{
if(bz6==0)
f++;
b++;
mcbz=~mcbz;
if(mcbz==0)
amc=~amc;
if(mcbz==1)
bmc=~bmc;
}
if(pb==1)
f--;
b--;
mcbz1=~mcbz1;
if(mcbz1==0)
if(mcbz1==1)
if(b==0xffffffff)
b=0;
if(f==0xffffffff)
f=0;
voidsmxs()
uchari;
for(i=0;
i<
8;
i++)
{
led_port=0;
dm=0;
dm=1;
led_port=wxian[i];
wm=0;
wm=1;
led_port=dxian[bcd[i]];
if(i==2&
&
bz6==1)
led_port=led_port|0x80;
delay(100);
voiddelay(uintt)
while(--t);
voidbin_bcd(ulongf)
bcd[7]=f/10000000;
bcd[6]=f/1000000;
bcd[5]=f/100000;
bcd[4]=(f%100000)/10000;
bcd[3]=(f%10000)/1000;
bcd[2]=(f%1000)/100;
bcd[1]=(f%100)/10;
bcd[0]=(f%100)%10;
voidbinjl(ulonga)
bcd[7]=a/10000000;
bcd[6]=a/1000000;
bcd[5]=a/100000;
bcd[4]=(a%100000)/10000;
bcd[3]=(a%10000)/1000;
bcd[2]=(a%1000)/100;
bcd[1]=(a%100)/10;
bcd[0]=(a%100)%10;
voidgnsd(void)
{
gn=1;
//置1
bz1=gn;
//读状态
if(bz1!
=1)
if(bz!
bz=1;
c++;
if(bz1==1)
bz=0;
if(c==1)
bz2=1;
bz5=0;
if(bz2==1)
if(qr2==0)
xset();
pjiajian();
if(qr2==1)
bz5=1;
if(c==2)
bz2=0;
bz3=1;
if(bz3==1)
reset();
b=0;
a=0;
if(c==3)
bz3=0;
bz4=1;
if(bz4==1)
xbd();
bdjiajian();
if(c==4)
bz4=0;
bz5=1;
c=0;
voidpjiajian(void)
bitbzjia,bzjian,djia,djian;
jia=1;
jian=1;
//置1
djia=jia;
djian=jian;
if(djia!
if(bzjia!
bzjia=1;
d=d+5;
if(djia==1)
bzjia=0;
if(djian!
if(bzjian!
bzjian=1;
d=d-5;
if(djian==1)
bzjian=0;
if(d==0xfffb)
d=0;
voidbdjiajian(void)
e=e+10;
e=e-10;
voidxset(void)
bcd[7]=5;
//s
bcd[6]=10;
//e
bcd[5]=11;
//t
bcd[4]=13;
bcd[3]=(d%10000)/1000;
bcd[2]=(d%1000)/100;
bcd[1]=(d%100)/10;
bcd[0]=(d%100)%10;
voidxbd(void)
bcd[7]=15;
//b
bcd[6]=16;
//d
bcd[5]=13;
bcd[3]=(e%10000)/1000;
bcd[2]=(e%1000)/100;
bcd[1]=(e%100)/10;
bcd[0]=(e%100)%10;
voidreset(void)
bcd[7]=12;
//r
bcd[6]=5;
bcd[5]=10;
bcd[4]=11;
bcd[3]=13;
bcd[2]=13;
bcd[1]=13;
bcd[0]=13;
voidqrhs(void)
qr=1;
qr3=qr;
if(qr3!
if(qrbz!
qrbz=1;
g++;
if(qr3==1)
qrbz=0;
if(g==1)
qr2=1;
if(g==2)
g=0;
bz
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 编码器 对应 代码