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

📄 ect1.txt

📁 这个程序主要是用来通过中断计数.它的功能是通过捕捉边沿来计数.
💻 TXT
字号:
#include <hidef.h>      /* common defines and macros */
#include <mc9s12dg128.h>     /* derivative information */
#pragma LINK_INFO DERIVATIVE "mc9s12dg128b"

unsigned char PulseCnt;
void initportb() 
{
  DDRB=0xff;//初始化portb为输出
  PORTB=0Xff;//初始化PORTB为全灭
}

 /************本程序捕捉************/
void main(void) {
  /* put your own code here */
  //EnableInterrupts;
  initportb();
  asm sei;       //关闭所有中断
  TIOS=0x00;     //设置ECT通道0作为IC工作方式,也就是捕捉0通道的信号
  TSCR1=0x80;    //定时器使能,正常工作
                 //
  TSCR2=0x01;    //进制定时器使能,预分频为2
  
  TCTL4=0x02;    //仅捕捉下降沿
  TIE=0x01;      //允许通道0中断
  TFLG1=0x01;
  DLYCT=0x01;    //延时捕捉,00禁止延时,01-256周期,10-512周期,11-1024周期
  PulseCnt=0x00;
  
  
  asm cli;        //开启中断
  
  for(;;) {} /* wait forever */
  
  /* please make sure that you never leave this function */
}


#pragma CODE_SEG NON_BANKED   //定义这段程序在不分页区
void interrupt IC0_ISR(void) {
  PulseCnt++;
  TFLG1=0x01;
  PORTB=~PulseCnt;  
}
#pragma CODE_SEG DEFAULT

⌨️ 快捷键说明

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