资源描述:
《电子设计大赛跷跷板程序》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、sfr16DP=0x82;//datapointersfr16TMR3RL=0x92;//Timer3reloadvaluesfr16TMR3=0x94;//Timer3countersfr16ADC0=0xbe;//ADC0datasfr16ADC0GT=0xc4;//ADC0greaterthanwindowsfr16ADC0LT=0xc6;//ADC0lessthanwindowsfr16RCAP2=0xca;//Timer2capture/reloadsfr16T2=0xcc;//Timer2s
2、fr16RCAP4=0xe4;//Timer4capture/reloadsfr16T4=0xf4;//Timer4sfr16DAC0=0xd2;//DAC0datasfr16DAC1=0xd5;//DAC1data//sbitsensor1=P2^0;//从左往右数,寻迹用sbitsensor2=P2^1;sbitsensor3=P2^2;//LCD初始化置位sbitled=P2^4;sbitLCD_E=P2^7;sbitLCD_RW=P2^6;sbitLCD_RS=P2^5;//测试的sbitpin
3、gheng=P2^1;//函数定义//-----------------------------------------------------------------------------voidTimer3_Init(intcounts);//计100ms//voidLCD_Display(void);voidSYSCLK_Init(void);voidPORT_Init(void);voidTimer3_ISR(void);//时间voiddelay(void);voidTimer(void);
4、voidTimer_5S(void);//显示voidLCD_Init(void);voidLCD_Display(void);voidtrans(unsignedintdat);//unsignedlongx;unsignedcharxdataFirst_data[16]={0x41,0x43,0x3a};unsignedcharascii[10]={'0','1','2','3','4','5','6','7','8','9'};unsignedcharascii_p[4]={0,0,0,0};un
5、signedintk,m,chushi,bac;//时间,平衡,初始计时信号unsignedchar*lcdpoint;//指向lcddata数组的指针unsignedcharlcd_data_count;longintdelay1;//动作函数//voidPORT_Init(void);voidPCA0_Init(void);voidPCA1_Init(void);voidxunji(void);//寻迹voidleft(void);voidright(void);voidstop(void);voi
6、dmove(void);voidback(void);voidleft_back(void);voidright_back(void);//voidmain(void){WDTCN=0xde;//disablewatchdogtimerWDTCN=0xad;SYSCLK_Init();bac=0;chushi=1;PORT_Init();LCD_Init();PCA0_Init();PCA1_Init();Timer3_Init(65535);//P0=0x00;//P3=0x00;PCA0CPH0=0
7、x00;PCA0CPH1=0x00;//闪电速度EA=1;TMR3CN
8、=0x04;//stop();//xunji();//初始计时label:P2=0x0f;if(sensor2==0&&chushi==1){delay();//while(1)P2=0x0f;if(sensor2==0&&chushi==1){chushi=2;Timer();}//elsebreak;//chushi=1;//xunji();}P2=0x0f;if(sensor2==0&&chushi==2){delay();/
9、/while(1)P2=0x0f;if(sensor2==0&&chushi==2){chushi=3;PCA0CPL0=0x00;PCA0CPH0=0x00;PCA0CPL1=0x00;PCA0CPH1=0x00;Timer();}//elsebreak;//chushi=2;}//xunji();gotolabel;}//计时voidTimer(void){//{switch(chushi){case2:{stop();for(dela