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

📄 tc0_2.c

📁 arm的功能测试模块
💻 C
字号:
/*****************************************************
****       AVR T/C0 使用范例2(T/C0作为定时器)     ***
****       作者:  liugangdi                       ***
****       编译器:WINAVR20050214                  ***
****       日期:2005.12.11                        ***
******************************************************/

/*功能简单说明:T/C0作为定时器,8MHZ晶振,1024分频,128us计
1个数。T/C0初值为131,每计125个数(16ms),T/C0溢出一次。其中
中断服务子程序使PC2 (由于mega16实验板的限制,可通过PC2引脚接到
示波器来观察)改变方向,产生32ms的对称方波。 此时的OC0可以设置没
有被连接,PB3作为普通的端口使用.*/
#include <avr/io.h>
#include <avr/interrupt.h>
#include <avr/signal.h>
#include <stdio.h>
#define uchar unsigned char
#define  PC2  2
uchar data,data1;

void init_timer0(void)
{TIMSK=0x01;                //T/C0溢出中断使能
 TCCR0=0X05;                //1024分频
 TCNT0=0X83;                //T/C0置初值131
 }
 
 SIGNAL (SIG_OVERFLOW0)     //T/C0溢出中断服务程序
 {TCNT0=0X83;               //T/C0重新置初值131
  PORTC^=_BV(PC2);         //哪一位要取反就与1异或
  }
  
 int main(void)
 {DDRC=0XFF;              //定义C口方向
  init_timer0();
  sei();
  while(1){;}
  }

⌨️ 快捷键说明

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