1、byte count,second;void Delay(int De_a) int De_b; for(De_b=0;De_bDe_a;De_b+) _asm(nop); / _asm(nop); /*/void crg_init(void) CLKSEL=0x00; / 脱离锁相环 PLLCTL_PLLON=1; / 打开锁相环 SYNR=0XC0 | 0X09; / SYNR =3,REFDV=1 REFDV=0X80 | 0X01; / pllclock=2*16*(1+SYNR)/(1+REFDV)=96MHz; POSTDIV=0X00; / 锁相环时钟为96MHz while(0
2、=CRGFLG_LOCK); / 锁相环锁定 CLKSEL_PLLSEL=1;void PWM_Init(void) PWME=0X00; /禁止通道PWMPRCLK=0X33; /A=B=80/8=10MHZPWMSCLA=5; /SA=A/2/5=1MHZPWMSCLB=5; /SB=B/2/5=1MHZ /*PWM 0,1级联初始化*/PWMCTL_CON01=1; /0,1级联,寄存器为通道1的PWMCLK_PCLK1=1; /选时钟SBPWMPOL_PPOL1=1; /初始电平为高PWMCAE_CAE1=0; /左对齐方式PWMCNT01=0; /计数器清零PWMPER01=2000
3、0; /输出周期=SB/10000=100HZPWMDTY01=1580; /舵机静止占空比为7.5%=1500/20000PWME_PWME1=1; /使能PWMCTL_CON23=1;PWMCLK_PCLK3=0;PWMPOL_PPOL3=1;PWMCAE_CAE3=0;PWMCNT23=0;PWMPER23=600;PWMDTY23=0;PWME_PWME3=1;PWMCTL_CON45=1;PWMCLK_PCLK5=0;PWMPOL_PPOL5=1;PWMCAE_CAE5=0;PWMCNT45=0;PWMPER45=0;PWMDTY45=500;PWME_PWME5=1;/*舵机控制*
4、/void PWMDuo_Dutycycle(int a) PWMDTY01=a;void PWMDian_Dutycycle(int b) PWMDTY45=b; /* - 功能描述:T0接受行中断,上升沿触发,T1接受场中断,下降沿触发,T7计数- 参数说明:- 返回说明:- 修改记录:- 注意事项:总线时钟为40M时,该程序适用。*/void ect_init()TIOS=0x00; /T0、T1设置为输入捕捉,摄像头行场中断-关输出比较通道7TCTL4=0x09; /通道0为上升沿捕捉,1为下降沿捕捉TIE=0x03; /开场中断,行中断TSCR1=0x80; /定时器正常工作TSCR
5、2=0x00; /最后三位为预分频因子选择位TFLG1=0xFF; /清除该位TFLG2=0x80; /清除 TOF /*/ IO初始化子函数/*/ void IO_init(void) / IO初始化函数 DDRA = 0X00;void photo()unsigned char i,j;for(i=0;i=29;i+) for(j=0;j=65;j+) if(shuzuj发送移位寄存器中SCI0SR1_TC); / 等待发送移位寄存器中的数值发送完成 SCI0DRL = data;SCI发送一个字符串 void SCI_Send_Uchar_String(unsigned char *pu
6、tchar, uint num) uint counter = 0; while (counter+) num) / 判断字符串是否发送完毕 SCI_Send_Byte(*(putchar+);void SCI_Send_Image_String(unsigned char *putchar, uint num) for(counter=0;counternum;counter+) if(putcharcounter=0x01) putcharcounter=0x02; SCI_Send_Byte(putcharcounter);void main(void) /* put your own
7、code here */ /* uchar x,data; */ crg_init(); ect_init(); IO_init() ; Init_SCI(); PWM_Init();EnableInterrupts; for(;) _FEED_COP(); /* feeds the dog */ /* loop forever */ /* please make sure that you never leave main */* 功能描述:行中断服务程序,接PT0参数说明:返回说明:修改记录:注意事项:*/#pragma CODE_SEG NON_BANKEDvoid interrupt
8、8 Port0_Interrupt() int i=0,j=0; unsigned char *p; TFLG1=0x01; hang+; /行计数器加 1 if (hang240) return;/判断是否从新的一场开始 if(hang=hang_tablehang_count)/行数组采样变量 Delay(1); p=&shuzuhang_count0; shuzuhang_count0=PORTA;_asm();shuzuhang_count1=PORTA;shuzuhang_count2=PORTA;shuzuhang_count3=PORTA;shuzuhang_count4=POR
9、TA; shuzuhang_count5=PORTA;shuzuhang_count6=PORTA;shuzuhang_count7=PORTA;shuzuhang_count8=PORTA;shuzuhang_count9=PORTA; shuzuhang_count10=PORTA;shuzuhang_count11=PORTA;shuzuhang_count12=PORTA;shuzuhang_count13=PORTA;shuzuhang_count14=PORTA; shuzuhang_count15=PORTA;shuzuhang_count16=PORTA;shuzuhang_c
10、ount17=PORTA;shuzuhang_count18=PORTA;shuzuhang_count19=PORTA; shuzuhang_count20=PORTA;shuzuhang_count21=PORTA;shuzuhang_count22=PORTA;shuzuhang_count23=PORTA;shuzuhang_count24=PORTA; shuzuhang_count25=PORTA;shuzuhang_count26=PORTA;shuzuhang_count27=PORTA;shuzuhang_count28=PORTA;shuzuhang_count29=POR
11、TA; shuzuhang_count30=PORTA;shuzuhang_count31=PORTA;shuzuhang_count32=PORTA;shuzuhang_count33=PORTA;shuzuhang_count34=PORTA; shuzuhang_count35=PORTA;shuzuhang_count36=PORTA;shuzuhang_count37=PORTA;shuzuhang_count38=PORTA;shuzuhang_count39=PORTA; shuzuhang_count40=PORTA;shuzuhang_count41=PORTA;shuzuh
12、ang_count42=PORTA;shuzuhang_count43=PORTA;shuzuhang_count44=PORTA; shuzuhang_count45=PORTA;shuzuhang_count46=PORTA;shuzuhang_count47=PORTA;shuzuhang_count48=PORTA;shuzuhang_count49=PORTA; shuzuhang_count50=PORTA;shuzuhang_count51=PORTA;shuzuhang_count52=PORTA;shuzuhang_count53=PORTA;shuzuhang_count5
13、4=PORTA; shuzuhang_count55=PORTA;shuzuhang_count56=PORTA;shuzuhang_count57=PORTA;shuzuhang_count58=PORTA;shuzuhang_count59=PORTA; shuzuhang_count60=PORTA;shuzuhang_count61=PORTA;shuzuhang_count62=PORTA;shuzuhang_count63=PORTA;shuzuhang_count64=PORTA; shuzuhang_count65=PORTA;shuzuhang_count66=PORTA;s
14、huzuhang_count67=PORTA;shuzuhang_count68=PORTA;shuzuhang_count69=PORTA; shuzuhang_count70=PORTA;shuzuhang_count71=PORTA;shuzuhang_count72=PORTA;shuzuhang_count73=PORTA;shuzuhang_count74=PORTA; shuzuhang_count75=PORTA;shuzuhang_count76=PORTA;shuzuhang_count77=PORTA;shuzuhang_count78=PORTA;shuzuhang_c
15、ount79=PORTA; shuzuhang_count80=PORTA;shuzuhang_count81=PORTA;shuzuhang_count82=PORTA;shuzuhang_count83=PORTA;shuzuhang_count84=PORTA; shuzuhang_count85=PORTA;shuzuhang_count86=PORTA;shuzuhang_count87=PORTA;shuzuhang_count88=PORTA;shuzuhang_count89=PORTA; shuzuhang_count90=PORTA;shuzuhang_count91=PO
16、RTA;shuzuhang_count92=PORTA;shuzuhang_count93=PORTA;shuzuhang_count94=PORTA; shuzuhang_count95=PORTA;shuzuhang_count96=PORTA;shuzuhang_count97=PORTA;shuzuhang_count98=PORTA;shuzuhang_count99=PORTA;100;j+,p+) *p=shuzuhang_countj; hang_count+; if(hang_count=hangshu) TIE=0x00; /关行中断,场中断 SCI_Send_Byte(0x01); SCI_Send_Image_String(&shuzu00,hangshu*lieshu); TIE=0x02; /开场中断场中断服务程序,接PT1#pragma CODE_SEG NON_BANKED interrupt 9 void PT1_Interrupt(void)TFLG1=0x03; /清场中断,行中断 /开场中断,关行中断hang=0;lie=0;hang_count=0;Welcome ToDownload !欢迎您的下载,资料仅供参考!
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1