stc智能车控制程序.docVIP

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
stc智能车控制程序 #include stc15.h #include intrins.h sfr P_SW1 =0xA2; #define FOSC 110592000L #define BAUD 9600 #define CCP_S0 0X10 //pwm #define CCP_S1 0X20 typedef unsigned char uchar; typedef unsigned int uint; #define URMD 0 //0锛氫娇鐢ㄥ畾鏃跺櫒2浣滀负娉㈢壒鐜囧彂鐢熷櫒 #define ADC_POWER 0x80 #define ADC_FLAG 0x10 #define ADC_START 0x08 #define ADC_SPEEDLL 0X00 #define ADC_SPEEDL 0X20 #define ADC_SPEEDH 0X40 #define ADC_SPEEDHH 0X60 unsigned char speed=100; //缁欏畾閫熷害 瀹為檯涓洪┍鍔ㄧ數鏈簆wm鐨勫崰绌烘瘮 unsigned int duty=27,i; //椹卞姩鑸垫満PWM鍗犵┖姣? //signed int delta_duty; //PD鎺у埗閲?鑸垫満杞悜鎺у埗鐨勫閲? sbit steerPWM=P0^0; //鑸垫満椹卞姩鐨凱WM杈撳嚭 char a,b,c,d; uchar ch=0; int del; sfr ADC_CONT=0XBC; void InitUart(); void SendData(uchar dat); void Delay(uint n); void InitADC(); void delay1ms(unsigned int s) { unsigned int q; while(s--) for(q=117;q0;q--); } void TIMER_init(void) //瀹氭椂鍣ㄥ垵濮嬪寲 { AUXR |= 0x80; TMOD=0x22; TL0=0xfc; TH0=0xfc; TR0=1; ET0=1; } void PWM_port_init() { ACC=P_SW1; //xuan zhong mou 3 lu ACC=~(CCP_S0|CCP_S1); ACC|=CCP_S1;//p25 P_SW1=ACC; CCON=0; CL=0; CH=0; CMOD=0X02; PCA_PWM0=0X00; CCAP0L=speed; CCAP0H=speed; CCAPM0=0X42; } uchar getadcres(uchar ch) { ADC_CONTR=ADC_POWER|ADC_SPEEDLL|ADC_START|ch; _nop_(); _nop_(); _nop_(); _nop_(); while(!(ADC_CONTRADC_FLAG)); ADC_CONTR=~ADC_FLAG; return ADC_RES; } void showres(uchar ch) { SendData(ch);//鏄剧ず閫氶亾鍙? SendData(getadcres(ch)); } void main() { InitUart(); InitADC(); TIMER_init(); PWM_port_init(); CR=1; //鍏佽pca璁℃暟 EA = 1; while(1) { showres(0); showres(1); showres(2); showres(3); a=getadcres(0); b=getadcres(1); c=getadcres(2); d=getadcres(3); if((b40)(c40)) duty=260;//涓洿璧? if(((a5)(c10))) duty=240; //left if((d5)(b10)) duty=270; //right } } //瀹氭椂鍣?涓柇 //鍦↖O涓婁骇鐢熷懆鏈熶负20ms鐨刾wm娉㈠舰椹卞姩鑸垫満 void T0_ISR(void) interrupt 1 { static unsigned in

文档评论(0)

f8r9t5c + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8000054077000003

1亿VIP精品文档

相关文档