单片机定制控制C程序.docx
- 文档编号:24014238
- 上传时间:2023-05-23
- 格式:DOCX
- 页数:14
- 大小:113.84KB
单片机定制控制C程序.docx
《单片机定制控制C程序.docx》由会员分享,可在线阅读,更多相关《单片机定制控制C程序.docx(14页珍藏版)》请在冰豆网上搜索。
单片机定制控制C程序
#include
#defineuncharunsignedchar
#defineduanP2
uncharcodedatedu[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f};
uncharcoded[]={
0xbf,0x86,0xdb,0xcf,
0xe6,0xed,0xfd,0x87,
0xff,0xef};//这是秒的可以闪的编码
chardate[4],set=1,sock_min,sock_s,reversion_min,reversion_s,a,
num_1,num_2,s,km1,km2,flog,temp;
intss,min,xx,yy;
sbitwei_one=P1^0;
sbitwei_two=P1^1;
sbitwei_three=P1^2;
sbitwei_four=P1^3;
sbitset_key=P1^4;
sbitadd_key=P1^5;
sbitdel_key=P1^6;
sbitmove_key=P1^7;
sbitkm_sock=P3^0;
sbitkm_reversion=P3^1;
voiddelay(intz) //delay延时函数
{
inti,j;
for(i=0;i for(j=110;j>0;j--); } //初始化函数 voidinit() { TMOD=0x11; TH0=(65536-50000)/256; TL0=(65536-50000)%256; EA=1; ET0=1; TR0=1; km_sock=0; km_reversion=0; } //显示函数 voiddisplay() { if(set==2){if(min==0)num_1=min;elsenum_1=min-1;if(min! =0)num_2=60-s;elsenum_2=ss;} if(set==0){num_1=sock_min;num_2=sock_s;} if(set==1){num_1=reversion_min;num_2=reversion_s;} date[0]=num_1/10; date[1]=num_1%10; date[2]=num_2/10; date[3]=num_2%10; duan=0xff; wei_one=0; duan=datedu[date[0]]; delay(5); wei_one=1; duan=0xff; wei_two=0; if(s%2>0) duan=datedu[date[1]]; else duan=d[date[1]]; delay(5); wei_two=1; duan=0xff; duan=0xff; wei_three=0; duan=datedu[date[2]]; delay(5); wei_three=1; duan=0xff; duan=0xff; wei_four=0; duan=datedu[date[3]]; delay(5); wei_four=1; } voidscanf() { if(set_key==0) { delay(10); if(set_key==0) { while(! set_key)display(); delay(10); while(! set_key)display(); set++; if(set==3)set=0; } } ////////////////////////////////////////////set if(add_key==0&&set==0&&flog==0) { delay(10); if(add_key==0&&set==0) { while(add_key==0&&set==0)display(); delay(10); while(add_key==0&&set==0)display(); sock_min++; if(sock_min>=60) sock_min=0; ss=sock_s; min=sock_min; } } ////////////////////////////////////////////addsockmin if(add_key==0&&set==0&&flog! =0) { delay(10); if(add_key==0&&set==0) { while(add_key==0&&set==0)display(); delay(10); while(add_key==0&&set==0)display(); sock_s++; if(sock_s>=60) sock_s=0; ss=sock_s; min=sock_min; } } /////////////////////////////////////////////// addsocks if(add_key==0&&set==1&&flog==0) { delay(10); if(add_key==0&&set==1) { while(add_key==0&&set==1)display(); delay(10); while(add_key==0&&set==1)display(); reversion_min++; if(reversion_min>=60) reversion_min=0; ss=reversion_s; min=reversion_min; } } ////////////////////////////////////////////////addreversionmin if(add_key==0&&set==1&&flog! =0) { delay(10); if(add_key==0&&set==1) { while(add_key==0&&set==1)display(); delay(10); while(add_key==0&&set==1)display(); reversion_s++; if(reversion_s>=60) reversion_s=0; ss=reversion_s; min=reversion_min; } } ////////////////////////////////////////////////addreversions if(del_key==0&&set==0&&flog==0) { delay(10); if(del_key==0&&set==0) { while(del_key==0&&set==0)display(); delay(10); while(del_key==0&&set==0)display(); sock_min--; if(sock_min<0) sock_min=59; ss=sock_s; min=sock_min; } } ///////////////////////////////////////////////delsockmin if(del_key==0&&set==0&&flog! =0) { delay(10); if(del_key==0&&set==0) { while(del_key==0&&set==0)display(); delay(10); while(del_key==0&&set==0)display(); sock_s--; if(sock_s<0) sock_s=59; ss=sock_s; min=sock_min; } } ///////////////////////////////////////////////delsocks if(del_key==0&&set==1&&flog==0) { delay(10); if(del_key==0&&set==1) { while(del_key==0&&set==1)display(); delay(10); while(del_key==0&&set==1)display(); reversion_min--; if(reversion_min<0) reversion_min=59; ss=reversion_s; min=reversion_min; } } ////////////////////////////////////////////////delreversionmin if(del_key==0&&set==1&&flog! =0) { delay(10); if(del_key==0&&set==1) { while(del_key==0&&set==1)display(); delay(10); while(del_key==0&&set==1)display(); reversion_s--; if(reversion_s<0) reversion_s=59; ss=reversion_s; min=reversion_min; } } //////////////////////////////////////////////////delreversions if(move_key==0) { delay(10); if(move_key==0) { while(move_key==0)display(); delay(10); while(move_key==0)display(); flog=~flog; } } } voiddisposal() { if(km1==1&&temp==0&&km2==0) { TR0=0; km_reversion=0; /*for(xx=110;xx>0;xx--) for(yy=3000;yy>0;yy--) display();*/ km_sock=1; temp=1; TR0=1; } if(km2==1&&temp==1&&km1==0) { TR0=0;km_sock=0; /*for(xx=110;xx>0;xx--) { for(yy=3000;yy>0;yy--)display(); }*/ km_reversion=1; temp=0; TR0=1; } } voidmain() { init(); while (1) { scanf(); display(); disposal(); } } //中断函数 voidtime0()interrupt1 { TH0=(65536-50000)/256; TL0=(65536-50000)%256; a++; if(a==20) { if(km1==0&&km2==0) { if(sock_min! =0||sock_s! =0||reversion_min! =0||reversion_s! =0) {km1=1;ss=sock_s;min=sock_min;} } if(min==0&&ss==0&&km1==1&&km2==0) { km1=0; km2=1; ss=reversion_s; min=reversion_min; } if(min==0&&ss==0&&km1==0&&km2==1) { km2=0; km1=1; ss=sock_s; min=sock_min; } if(min==0) {ss--; if(ss<0) ss=0;} else s++;//秒 a=0; } if(s==60) { s=0; /*if(km1==1&&km2==0&&min==sock_min) { min=sock_min; } if(km1==0&&km2==1&&min==reversion_min) { min=reversion_min; }*/ min--; if(min<0) min=0; } }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 定制 控制 程序