智能车制作

标题: 流水灯都编不来。新手求教育 [打印本页]

作者: lh408817826    时间: 2013-1-21 11:15
标题: 流水灯都编不来。新手求教育
//我是想用8个通道进行8次中断,每次中断灯翻转一次。。但是灯总是全亮,注释掉ch0中断程序后单片机总是复位,关了狗也不行。
//另外后面的两句#pragma有什么用?不写的话编译错。。
//各位学长不吝赐教啊。。。。


#include <hidef.h>      /* common defines and macros */
#include "derivative.h"      /* derivative-specific definitions */



void main(void) {
TSCR1_TEN=1;
  TSCR2_TOI=1;
  DDRB=0XFF;
  PORTB=0XFF;
  
  TSCR2_PR=7;
  TIOS=0XFF;
TIE=0XFF;
  TC0=0X1F;
  TC1=0X3F;
  TC2=0X5F;
  TC3=0X7F;
  TC4=0X9F;
  TC5=0XBF;
  TC6=0XDF;
  TC7=0XFF;  
  
  


        EnableInterrupts;


  for(;;) {
    _FEED_COP(); /* feeds the dog */
  } /* loop forever */
  /* please make sure that you never leave main */
}

#pragma CODE_SEG __NEAR_SEG NON_BANKED

  void interrupt VectorNumber_Vtimch0 CH0(){
  PORTB_PB0=!PORTB_PB0 ;
  
  TFLG1_C0F=1;
  
}

void interrupt VectorNumber_Vtimch1 CH1(){
  PORTB_PB1=!PORTB_PB1 ;
  
  TFLG1_C1F=1;
  
}
void interrupt VectorNumber_Vtimch2 CH2(){
  PORTB_PB2=!PORTB_PB2 ;
  
  TFLG1_C2F=1;
  
}
void interrupt VectorNumber_Vtimch3 CH3(){
  PORTB_PB3=!PORTB_PB3 ;
  
  TFLG1_C3F=1;
  
}
void interrupt VectorNumber_Vtimch4 CH4(){
  PORTB_PB4=!PORTB_PB4 ;
  
  TFLG1_C4F=1;
  
}
void interrupt VectorNumber_Vtimch0 CH5(){
  PORTB_PB5=!PORTB_PB5 ;
  
  TFLG1_C5F=1;
  
}
void interrupt VectorNumber_Vtimch6 CH6(){
  PORTB_PB6=!PORTB_PB6 ;
  
  TFLG1_C6F=1;
  
}
void interrupt VectorNumber_Vtimch0 CH7(){
  PORTB_PB7=!PORTB_PB7 ;
  
  TFLG1_C7F=1;
  
}

#pragma CODE_SEG DEFAULT
作者: 穆旦阿斗    时间: 2013-1-21 12:27
pragma那两句好像是为了防止出现BUG的
作者: tanry53    时间: 2013-1-21 12:41

作者: hmit    时间: 2013-1-21 14:01
为什么要这么编。一个中断就好啦。再说了新手的话不要把问题集中起来。从简单的I/O开始,各各击破。
作者: 严鸿雁    时间: 2013-1-22 08:28
看来我也要认真学学软件了




欢迎光临 智能车制作 (http://111.231.132.190/) Powered by Discuz! X3.2