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

📄 qy4.txt

📁 基于mc68hc908qy4芯片实现超声波排障,当检测到障碍物时点亮发光二极管.
💻 TXT
字号:

#include <hidef.h> 
#include <MC68HC908QY4.h> 
//中断函数和子函数声明部分
void _ADC_Interrupt(void); //ADC中断子程序
void _KBD_Interrupt(void); //键盘中断子程序
void _TOF_Interrupt(void); //定时器溢出中断子程序
void _TCH1_Interrupt(void);//定时器通道1中断子程序
void _TCH0_Interrupt(void);//定时器通道0中断子程序
void _IRQ_Interrupt(void); //外部中断中断子程序
void _Startup(void);       //复位中断子程序
//用户子程序定义
void SYS_Init(void);       //系统初始化子程序
//宏定义
#define CONFIG1_VAL  0x3D     //用户配置config1寄存器的值
#define CONFIG1_ADR  0xFDEA   //CONFIG1_VAL存放的地址
#define JMP_TAB_ADR  0xFDEB   //用户中断向量起始地址
#define JMP_Code     0xCC     //跳转指令直接寻址方式的指令码

typedef void (*tIntFunc)(void); //声明一个指向函数的数据类型
typedef struct jumpEntry {      //声明一个结构体jumpEntry类型
   unsigned char jmpIstr;
   tIntFunc      intFunc;       //定义一个tIntFunc类型的变量
} JumpEntry;
//CONFIG1_VAL存放到CONFIG1_ADR定义的地址中
const unsigned char CONFIGX @CONFIG1_ADR = CONFIG1_VAL;
const JumpEntry IntJmpTable[] @JMP_TAB_ADR = {   //定义数组IntJmpTable,元素为JumpEntry类型
           JMP_Code, _ADC_Interrupt,						 //AD转换中断矢量地址:$FDEB
           JMP_Code, _KBD_Interrupt,						 //键盘唤醒中断矢量地址:$FDEE
           JMP_Code, _TOF_Interrupt,						 //定时计数器溢出中断矢量地址:$FDF1								  
           JMP_Code, _TCH1_Interrupt,						 //定时器通道1溢出中断矢量地址:$FDF4
           JMP_Code, _TCH0_Interrupt,						 //定时器通道0溢出中断矢量地址: $FDF7
           JMP_Code, _IRQ_Interrupt,						 //IRQ矢量地址: $FDFA
           JMP_Code, _Startup										 //复位矢量地址:$FDFD
};


//主程序开始
void main(void) 
{
  
  SYS_Init();
  for(;;){
  if(PTA_PTA2=1)
  { PTA_PTA1=0;
  }
  else PTA_PTA1=1;
    
 
   
  }
}
/***********************************************************************/
/* 文件名:  系统初始化子程序                                          */
/* 程序描述:包括config寄存器的设置、端口寄存器的设置                  */
/* 输入参数:无											                              		 */
/* 返回:    无										 		                                 */
/***********************************************************************/
void SYS_Init(void) 
{ 
  CONFIG2=0;          
  CONFIG1=0x3d;        
  DDRA=0x03;
  PTA_PTA1=1;		       
  PTAPUE_PTAPUE2=1;
  EnableInterrupts;  
  TSC=0x20;
  TMOD=80;
  TCH0=40;
  TSC0=0x1a;
  TSC_TSTOP=0;
 }



interrupt void _ADC_Interrupt(void) {
}
interrupt void _KBD_Interrupt(void){
}
interrupt void _TOF_Interrupt(void){
}
interrupt void _TCH1_Interrupt(void){
}
interrupt void _TCH0_Interrupt(void){
}
interrupt void _IRQ_Interrupt(void){
}								

⌨️ 快捷键说明

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