⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.c

📁 用MC9SDG128单片机控制小车的智能寻迹程序
💻 C
字号:
#include <hidef.h>      /* common defines and macros */
#include <mc9s12dg128.h>     /* derivative information */
#pragma LINK_INFO DERIVATIVE "mc9s12dg128b"



void main(void) 
{
  // PWM使能
  PWME    = 0xff;
  // 极性:高电平
  PWMPOL  = 0xff;
  PWMPER1 = 0xff;
  PWMDTY1 = 0x80;
  PWMCNT1 = 0x00;
  
  PWMPER2 = 0xff;
  PWMDTY2 = 0x80; 
  PWMCNT2 = 0x00;
  
  PWMPER3 = 0xff;
  PWMDTY3 = 0x80;
  PWMCNT3 = 0x00;
  
  PWMPER4 = 0xff;
  PWMDTY4 = 0x80;
  PWMCNT4 = 0x00;
  
   
  // AD
  /*
   * AD关断
   * 读取时自动清除,转换完成中断使能
   *
   */
  ATD0CTL2 = 0x62;
  /*
   * FIFO
   * 每次转换8个通道    
   *
   */
  ATD0CTL3 = 0x04;
  /*
   * 10位
   * 总线时钟的12分频
   *
   */
  ATD0CTL4 = 0x05;
  /*
   * 右对齐
   * 多通道,起始通道是通道0
   * 
   */
  ATD0CTL5 = 0xb0;
  /*
   * 打开AD
   */
  ATD0CTL2_ADPU = 0x01;

  /* put your own code here */
  EnableInterrupts;
 

  for(;;) {} /* wait forever */
  /* please make sure that you never leave this function */
}


#pragma CODE_SEG __NEAR_SEG NON_BANKED
interrupt void ADT0_ISR(void) 
{
 ATD0CTL2_ASCIF = 0x01;
 DDRB=0xff;
 PORTB=0x00;
   
}  
#pragma CODE_SEG __NEAR_SEG NON_BANKED
interrupt void ADT1_ISR(void) 
{
 ATD0CTL2_ASCIF = 0x01;
 DDRB=0xff;
 PORTB=0x00;
   
}  

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -