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

📄 tc0_1.c

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

/*功能简单说明:脉冲信号从PB0(T0)引脚输入,T/C0作为计数器,计数结果由PC
口以二进制从发光二极管显示输出。由于受到mega16实验板的限制,可用proteus
进行仿真。注意:输入的脉冲信号频率不宜太高,太高就看不出二极管的变化。
可以不断提高脉冲信号的频率来观察结果。从几赫兹调起。此时的OC0可以设置
没有被连接,PB3作为普通的端口使用.*/

//说明:用Proteus仿真时,PC6(TOSC1)、PC7(TOSC2)脚无法作为一般的I/O使用,
//       该为D口就一切正常,原因不清,估计和Proteus的设置有关?


#include <avr/io.h>
#include <avr/interrupt.h>
#include <avr/signal.h>
#include <stdio.h>
 
void init_timer0(void)
{TCCR0|=(1<<CS02)|(1<<CS01)|(1<<CS00);  //引脚T0上升沿计数
 TCNT0=0X00;                  //T/C0置初值
 }

int main(void)
{DDRC=0XFF;     //设置C口为输出
 PORTC=0X00;
 ASSR=0X00;
 init_timer0();
 while(1)
 {PORTC=TCNT0;}    //注意频率问题,益出后从零开始重新计数
 }

⌨️ 快捷键说明

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