控制程序.docx

上传人:b****1 文档编号:2838604 上传时间:2023-05-04 格式:DOCX 页数:13 大小:15.67KB
下载 相关 举报
控制程序.docx_第1页
第1页 / 共13页
控制程序.docx_第2页
第2页 / 共13页
控制程序.docx_第3页
第3页 / 共13页
控制程序.docx_第4页
第4页 / 共13页
控制程序.docx_第5页
第5页 / 共13页
控制程序.docx_第6页
第6页 / 共13页
控制程序.docx_第7页
第7页 / 共13页
控制程序.docx_第8页
第8页 / 共13页
控制程序.docx_第9页
第9页 / 共13页
控制程序.docx_第10页
第10页 / 共13页
控制程序.docx_第11页
第11页 / 共13页
控制程序.docx_第12页
第12页 / 共13页
控制程序.docx_第13页
第13页 / 共13页
亲,该文档总共13页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

控制程序.docx

《控制程序.docx》由会员分享,可在线阅读,更多相关《控制程序.docx(13页珍藏版)》请在冰点文库上搜索。

控制程序.docx

控制程序

#include

#include

#defineucharunsignedchar

#defineuintunsignedint

sbitjc=P2^0;

sbitled1=P2^1;

sbitled2=P2^2;

sbitled3=P2^3;

sbitled4=P2^4;

sbitstar=P2^5;

sbitstop=P2^6;

ucharcodetable[]={

0xc0,0xf9,0xa4,0xb0,

0x99,0x92,0x82,0xf8,

0x80,0x90,0xff,0xbf,

0x39,0x5e,0x79,0x71,

0x76,0x79,0x38,0x3f,0};

uchara,b,c,d,flag,num,wei,key;

uintm,n;

voiddelay(uintz);

voiddisplay(uchara,ucharb,ucharc,uchard);

voidkeyscan()

{

uchartemp;

P1=0xfe;

temp=P1;

temp=temp&0xf0;

if(temp!

=0xf0)

{

delay(10);

temp=P1;

temp=temp&0xf0;

if(temp!

=0xf0)

temp=P1;

switch(temp)

{

case0xee:

key=1;

break;

case0xde:

key=2;

break;

case0xbe:

key=3;

break;

case0x7e:

key=10;

break;

}

while(temp!

=0xf0)

{

temp=P1;

temp=temp&0xf0;

}

}

P1=0xfd;

temp=P1;

temp=temp&0xf0;

if(temp!

=0xf0)

{

delay(10);

temp=P1;

temp=temp&0xf0;

if(temp!

=0xf0)

temp=P1;

switch(temp)

{

case0xed:

key=4;

break;

case0xdd:

key=5;

break;

//矩阵键盘扫描

case0xbd:

key=6;

break;

case0x7d:

key=10;

break;

}

while(temp!

=0xf0)

{

temp=P1;

temp=temp&0xf0;

}

}

P1=0xfb;

temp=P1;

temp=temp&0xf0;

if(temp!

=0xf0)

{

delay(10);

temp=P1;

temp=temp&0xf0;

if(temp!

=0xf0)

temp=P1;

switch(temp)

{

case0xeb:

key=7;

break;

case0xdb:

key=8;

break;

case0xbb:

key=9;

break;

case0x7b:

key=10;

break;

}

while(temp!

=0xf0)

{

temp=P1;

temp=temp&0xf0;

}

}

P1=0xf7;

temp=P1;

temp=temp&0xf0;

if(temp!

=0xf0)

{

delay(10);

temp=P1;

temp=temp&0xf0;

if(temp!

=0xf0)

temp=P1;

switch(temp)

{

case0xe7:

key=11;

break;

case0xd7:

key=0;

break;

case0xb7:

key=12;

break;

case0x77:

key=10;

break;

}

while(temp!

=0xf0)

{

temp=P1;

temp=temp&0xf0;

}

}

}

main()

{

TMOD=0x01;

TH0=(65536-45872)/256;

TL0=(65536-45872)%256;

EA=1;

ET0=1;

TR0=1;

flag=0;

wei=1;

led1=1;

led2=1;

led3=1;

led4=1;

key=10;

a=0;

b=0;

n=0;

m=0;

while

(1)

{

keyscan();

if(key<=9&wei==1)

{

a=key;

wei=2;

key=10;

}//输入两位数

if(key<=9&wei==2)

{

b=key;

wei=1;

key=10;

}

m=a*10+b;

//**********************************************************

if(num==15)

{

num=0;

flag=~flag;//让光标一秒闪烁

}

//***************************************************************//

if(m==n)

{

star=1;

stop=0;

if(flag==0)

{

a=11;

b=11;

c=n/10;//1,2位数码管显示——

d=n%10;

display(a,b,c,d);

a=m/10;

b=m%10;

}

else

{

a=10;

b=10;

c=n/10;//1,2位数码管不显示

d=n%10;

display(a,b,c,d);

a=m/10;

b=m%10;

}

}

else

{

a=m/10;

b=m%10;

c=n/10;//不相等就不闪烁,等待传感器检测累加

d=n%10;

display(a,b,c,d);

}

//*********************************************************************

if(m!

=n)

{

keyscan();

if(key==11)

{

delay

(1);

if(key==11)

{

stop=1;

star=0;

}

}

if(star==0)

{

keyscan();

if(key==12)

{

delay

(1);

if(key==12)

{

star=1;

stop=0;

}

}

if(jc==0)

{

delay(3);

if(jc==0)

{

n++;

while(!

jc)

display(a,b,c,d);

}

}

}//m!

=n时,传感器被遮挡一次累加一下上升高度

}

}

}

//+++++++++++++++++++++++++++++++++++++++++++++++++//main函数结束

voiddelay(uintz)

{

uintt1,y;

for(t1=z;t1>0;t1--)//延时子程序

for(y=110;y>0;y--);

}

voiddisplay(uchara,ucharb,ucharc,uchard)

{

led1=0;

led2=1;

led3=1;

led4=1;

P0=table[a];

delay(3);

P0=table[10];

delay

(1);

led1=1;

led2=0;

led3=1;

led4=1;//显示子程序

P0=table[b];

delay(3);

P0=table[10];

delay

(1);

led1=1;

led2=1;

led3=0;

led4=1;

P0=table[c];

delay(3);

P0=table[10];

delay

(1);

led1=1;

led2=1;

led3=1;

led4=0;

P0=table[d];

delay(3);

P0=table[10];

delay

(1);

}

voidT0_time()interrupt1

{

TH0=(65536-45872)/256;//中断程序

TL0=(65536-45872)%256;

num++;

}

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > PPT模板 > 商务科技

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2