ATMEGA128定时器1的使用
来源:互联网 发布:thinkphp会员系统源码 编辑:程序博客网 时间:2024/05/12 00:56
好久没弄AVR了,这次准备改进学校的机器人低层驱动,先做几个必要的小实验先。
AVR和ucosii都是个好东西~~,小巧运行速度快,又让人联想到以前那个外国人用AVR做为CPU自制的双轮车,真让人兴奋。。
//环境:winavr+avr studio
char temp=0;
ISR(TIMER1_COMPA_vect )//中断函数
{
// user code here
temp++;
if (temp==10)
temp=0;
PORTA=temp;
DDRA=0xff;
}
void mytimer_init(void)
{
//关总中断
cli();
//TCCR1A为配置引脚输出模式,这里取默认为0,未连接即可,因此不需要为其赋值
//T/C1时钟源选择为clk/64,CLK现为内部晶振4MHZ,因此时钟为4,000,000/64 HZ = 62500 HZ
TCCR1B &= ~0x07;
TCCR1B |= 0x03;
//选择模式 WGM10~WGM13
TCCR1A &= ~0x03;
TCCR1B &= ~(0x03<<3);//模式4 CTC
TCCR1B |= 0x01<<3;
//赋值定时初值 16位
TCNT1=0;
//赋值比较寄存器TOP初值 16位 ,在以上工作模式下,当TCNT1=OCR1A时,TCNT1自动清0
OCR1A = 62500;//一秒中断一次
//使能定时器T/C1溢出中断,T/C1的其它中断屏蔽掉
TIMSK &= ~(0xf0<<2);
TIMSK |= (0x01<<4);
ETIMSK &= ~0x01;
//清中断溢出标志位,进入中断后也会自动清除,以后不用再清了
TIFR |= 1<<2;
//启动定时器
SFIOR &= 0x7e;
//开总中断
sei();
}
- ATMEGA128定时器1的使用
- ATMEGA128定时器1的使用
- ATMEGA128 UART的使用
- ATMEGA128 UART的使用
- ICCAVR编程Atmega128规则之计数/定时器T1的使用 溢出中断 定时
- ATmega128 串口使用注意事项
- ATMEGA128上跑的ucosII
- 使用高级定时器,定时器1遇到的问题
- ATMEGA128单片机的软件远程升级
- ATmega128的SRAM结构和编程注意事项
- ATMEGA128单片机的软件远程升级(转)
- 一个基于ATMEGA128的直流电机抱死程序
- JAVA 定时器的使用 ~ 转载1
- vc中定时器的使用(1)
- 关于STM32定时器1的使用
- 定时器的使用
- C#定时器的使用
- C#定时器的使用
- 复杂背景验证码识别的破解思路
- Qurey rewrite is rewrite query.
- SVN完整安装及使用
- java.mail使用例子
- 后台注入JS脚本
- ATMEGA128定时器1的使用
- qt如何导出pdf格式的文件
- Terrific Alternative to Acquire Handbags
- CMSHFlexGrid类用法_百度文库
- 有关全局变量和局部变量的一个code
- android ----学习小结
- Interop.SQLDMO.dll 使用注意事项!!【半转载】
- svn解除控制
- onCreate中的savedInstanceState的作用