📄 tc0_1.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 + -