MC9S08QD4 遥控调速.doc_第1页
MC9S08QD4 遥控调速.doc_第2页
MC9S08QD4 遥控调速.doc_第3页
MC9S08QD4 遥控调速.doc_第4页
MC9S08QD4 遥控调速.doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

#include /* for EnableInterrupts macro */#include derivative.h /* include peripheral declarations */#define LED_VALUE TPMC1V /15p#define POWER_ON 0#define POWER_OFF 1#define USERCODE 0xFF00 #define sub10 0x6F90#define sub50 0xEF10#define sub70 0xAF50#define sub100 0x4FB0#define sub15 0x2FD0#define PWMUP 0x7788#define PWMDOWN 0xF708 #define FLAG_UP 1#define FLAG_DOWN 2 #define IRREC_STATUS_IDLE 0#define IRREC_STATUS_RECEIVING 1#define IRREC_STATUS_COMPLETE 2#define IRREC_STATUS_TIMEOUT 3 #define IRREC_STATUS_ERROR 4#define IR_CAPTURE_ENABLE TPMC0SC=0x48;#define IR_CAPTURE_DISABLE TPMC0SC=0x00;#define IR_TIMER_ENABLE TPM2MOD=6400;TPM2SC=0x48;#define IR_LEAD_TIMER_ENABLE TPM2MOD=6300;TPM2SC=0x48;#define IR_DATA_TIMER_ENABLE TPM2MOD=6400;TPM2SC=0x48;#define IR_TIMER_DISABLE TPM2SC=0x00;TPM2CNT=0x00;#define IFRED_PIN PTAD_PTAD0#define IFRED_PIN_DIR PTADD_PTADD0 const volatile char NOPT0x0000FFBF=0x00;unsigned char flag=FLAG_UP;unsigned int pwmtemp=0;unsigned char IrRecStatus=0; unsigned int IrLeadData=0;unsigned int IrData_1=0x00;unsigned int IrData_2=0x00;unsigned char IrBitIndex=0;unsigned char IrTimeoutCounter=0;unsigned int IrPreData_2=0x00;unsigned int IrPreData_1=0x00;unsigned char IrContinuousButtonFlag=0;unsigned char IrContinuousButtonCounter=0;unsigned char A=0;unsigned int count=0;void SysInit(void);void IrPrepareReceive(void);void tiaosu() if(A=1) A=0; if(flag=FLAG_DOWN ) TPMC1V-=10; if(TPMC1V=pwmtemp) TPMC1V=pwmtemp; flag=FLAG_DOWN; void main(void) SysInit(); EnableInterrupts; /* enable interrupts */ /* include your code here */ for(;) _RESET_WATCHDOG(); /* feeds the dog */ tiaosu(); if(IrRecStatus=IRREC_STATUS_ERROR) / DATAOUT_PIN=1; IrPrepareReceive(); if(IrRecStatus=IRREC_STATUS_COMPLETE) / DATAOUT_PIN=1; IrPreData_1=IrData_1; IrPreData_2=IrData_2; switch(IrData_2) case sub10 : TPMC1V=50; pwmtemp= TPMC1V; SRTISC=0x00; break; case sub50 : TPMC1V=100; pwmtemp= TPMC1V; SRTISC=0x00; break; case sub70 : TPMC1V=200; pwmtemp= TPMC1V; SRTISC=0x00; break; case sub100 : TPMC1V=320; pwmtemp= TPMC1V; SRTISC=0x00; break; case sub15: SRTISC=0x16; break; case PWMUP : TPMC1V+=10; pwmtemp= TPMC1V; SRTISC=0x00; break; case PWMDOWN : TPMC1V-=10; pwmtemp= TPMC1V; if(TPMC1V=10) TPMC1V=10; pwmtemp= TPMC1V; SRTISC=0x00; break; IrPrepareReceive(); /* loop forever */ /* please make sure that you never leave main */void SysInit(void) unsigned int tmp=0; unsigned char count=0; SOPT1=0b00000010; /COP 256ms, BKGD,RESET enable SOPT2=0x00; ICSC2=0x00; / bus frequency 8MHz /ICSTRM=0xa4; ICSTRM=*(unsigned char*)0xFFAF); PTADD_PTADD1=1; for(count=0;count3;count+) for(tmp=0;tmp=3) if(IrTimeoutCounter=0) IrRecStatus=IRREC_STATUS_ERROR; else if(IrBitIndex=18) IrData_1=1; if(IrTimeoutCounter=1) IrData_1|=1; else if(IrBitIndex=34) IrData_2=34) IrRecStatus=IRREC_STATUS_COMPLETE; IrTimeoutCounter=0; if(IrRecStatus=IRREC_STATUS_ERROR)|(IrRecStatus=IRREC_STATUS_COMPLETE) IR_CAPTURE_DISABLE; else IR_TIMER_ENABLE; if(TPMC0SC_CH0F=1) TPMC0SC_CH0F=0; return;interrupt 10 void TPM2SC_TOF_INTERRUPT(void) PTAD_PTAD2=PTAD_PTAD2; #ifdef _DEBUG / DATAOUT_PIN=DATAOUT_PIN;#endif if(IrBitIndex=1) IrTimeoutCounter+; if(IrTimeoutCounter=11) if(IFRED_PIN=1) IrRecStatus=IRREC_STATUS_ERROR; else if(IrTimeoutCounter=18) IrRecStatus=IRREC_STATUS_ERROR; else if(IrBitIndex1) if(IFRED_PIN=0) IrRecStatus=IRREC_STATUS_ERROR; else IrTimeoutCounter+; if(IrTimeoutCounter2) IrRecStatus=IRREC_STATUS_ERROR; if(IrRecStatus=IRREC_STATUS_ERROR) IR_TIMER_DISABLE; IR_CAPTURE_

温馨提示

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

评论

0/150

提交评论