51单片机自动控制升旗系统.doc_第1页
51单片机自动控制升旗系统.doc_第2页
51单片机自动控制升旗系统.doc_第3页
51单片机自动控制升旗系统.doc_第4页
51单片机自动控制升旗系统.doc_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

/*51单片机升旗系统*/*步进电机升旗和降旗,蜂鸣器奏国歌,*/*数码管显示系统时间和高度*/#include #define uint unsigned int#define uchar unsigned charuchar code FFW=0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09; /正转的步码uchar code REV=0x09,0x08,0x0c,0x04,0x06,0x02,0x03,0x01; /反转的步码uchar th=0x0f,0x5d,0xab;/3个定时器值,高8位uchar tl=0xa0,0xc0,0xe0;/3个定时器值,低8位code uchar SZ = 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f; /数码管unsigned int code FreqTab1=64216,64360,64489,64547,64654,64752,64837,64876,64948,65012,65042,65095,65144,65186,65206,65242,65274,65289,65135,65340,65361,;unsigned int code FreqTab= /简谱对应的简谱码、T值 65535,64260,64400,64524,64579,64685,64778,64860,64898,64968,65030,65057,65110,65157,65198,65217,65252,65283,65297,65323,65346,65367, ;unsigned char code yyjjxq= 8,0x08,0,0x04,5,0x04,8,0x0c,8,0x04,8,0x06,8,0x02,5,0x04,6,0x02,7,0x02,8,0x08,8,0x08,0,0x04,10,0x04,8,0x04,9,0x02,10,0x02,/10,0x04,10,0x04,8,0x04,9,0x02,10,0x02,12,0x08,12,0x08,10,0x06,10,0x02,8,0x06,10,0x02,12,0x06,10,0x02,9,0x08,/12,0x10,9,0x10,13,0x08,12,0x08,9,0x08,10,0x08,12,0x04,10,0x04,0,0x04,12,0x04,/12,0x04,10,0x04,10,0x04,12,0x04,10,0x04,9,0x02,10,0x02,8,0x08,10,0x08,0,0x08,/10,0x08,10,0x08,5,0x06,6,0x04,8,0x04,8,0x04,10,0x06,10,0x02,12,0x04,12,0x04,9,0x04,9,0x02,9,0x02,6,0x08,9,0x0c,5,0x04,8,0x0c,8,0x04,10,0x0c,10,0x04,12,0x10,8,0x06,10,0x02,12,0x04,12,0x04,13,0x08,12,0x08,10,0x06,8,0x02,12,0x08,10,0x04,0,0x04,8,0x04,0,0x04,/10,0x04,10,0x04,8,0x04,8,0x04,5,0x08,8,0x08,10,0x06,8,0x02,12,0x08,10,0x04,0,0x04,8,0x04,0,0x04,/10,0x04,10,0x04,8,0x04,8,0x04,5,0x08,8,0x08,5,0x08,8,0x08,5,0x08,8,0x08,8,0x08,0,0x08,/8,0x08,0xff,0xff,;uchar speed_count=2;uchar flag=0;bit timer_flag=0;bit MOTOR_FFW_FLAG=0;bit MOTOR_REV_FLAG=0;sbit K1 = P30; /正转sbit K2 = P31; /反转sbit K5 = P34; /停止sbit led1=P20;sbit led2=P21;sbit led3=P22;sbit led4=P23;sbit led5=P24;sbit led6=P25;sbit beep=P37;void smg_display();void K1_stop_state();void K2_stop_state();void K5_stop_state();void music();uchar num1=0,num2=0,num3=0;uint cnt=0,Time=0,Length=0;uchar a=0;uchar tl0,th0;void delay(unsigned char t) /-延时函数-/ unsigned char t1; unsigned long t2; for(t1=0;t1t;t1+) for(t2=0;t20;a-)for(b=124;b0;b-);void DTIME(int n)/延时程序uchar i;for(i=0;i2) speed_count=2; void down(void) interrupt 2/减速 speed_count-;if(speed_count500)cnt=0;if(flag!=1&flag!=2)Time=0;if(flag=1)if(K5=0) K5_stop_state(); ET1=1; TR1=1;if(num3=5)num3=0;SETP_MOTOR_FFW();if(num1=100)num1=0;Time+;if(Time=43)a=Length;MOTOR_FFW_FLAG=1;MOTOR_REV_FLAG=0;K1_stop_state();if(num2=24)num2=0;Length+;if(flag=2)if(num3=5)num3=0;SETP_MOTOR_REV();if(num1=100)num1=0;Time-;if(Time=0)a=Length;a+;MOTOR_FFW_FLAG=0;MOTOR_REV_FLAG=1;K2_stop_state();if(num2=24)num2=0;Length-; void K1_stop_state() while(1) P2|=0xff;led1=0;P0=SZTime/10;DTIME(2); P2|=0xff;led2=0;P0=SZTime%10;DTIME(2); /*case 2:P2|=0xff;led3=0;P0=SZTime%100%10;break; */P2|=0xff;led4=0;P0=SZa/100; DTIME(2); P2|=0xff;led5=0;P0=SZa/10%10;DTIME(2);P2|=0xff;led6=0;P0=SZa%100%10;DTIME(2); if(K2=0) flag=2;break; void K2_stop_state() while(1) P2|=0xff;led1=0;P0=SZTime/10;DTIME(2); P2|=0xff;led2=0;P0=SZTime%10;DTIME(2); /*case 2:P2|=0xff;led3=0;P0=SZTime%100%10;break; */P2|=0xff;led4=0;P0=SZa/100; DTIME(2); P2|=0xff;led5=0;P0=SZa/10%10;DTIME(2);P2|=0xff;led6=0;P0=SZa%100%10;DTIME(2); if(K1=0) flag=1;break; void K5_stop_state()P2|=0xff;led1=0;P0=SZ0;while(1);void music() unsigned char k; ET0=1; while(1) if( yyjjxqk=0xf

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论