ATMEGA128 相关例程 自己学 avr 单片机已经有相当一段时间了,一开始用的是 atmega128,觉得不是很好用
于是自己去买了一块16L 的芯片,觉得还行
一开始用的是 ICC AVR,应为它用起来比较简单,不像 winavr 那样,要写个 Makefie ,比较的麻烦,但 icc avr 的缺点是太过于简陋,调试程序时,感觉不是很好
后来经同学介绍,用起了winavr,其实也是比较的简单,只不过要加一个 makefile 而已,其实 makefile 可以用软件自带的组建自动生成,只需修改几个参数就可以用
后来又用起了 code vision avr,虽然不太习惯,也谈不上不好用
需要注意的是,三个不同的软件所带的同文件不一样
icc avr 是 iom128v
h(姑且以 128 为例),winavr 是avr/io
h,不过 makefile 中要设置芯片为 atmega128
而 cvavr 则是 mega128
记得一开始的时候,我对这些不同的同文件不是很理解,是从一个学长那里了解到,才弄明白的
其实前两个软件只需把头文件稍微改一下基本上可以通用
而最后一个软件的中断的写法似乎不太一样,因而和钱两个软件的兼容性是最差的
总体说winavr 给人的感觉是比较专业 1、流水灯 /* 硬件环境:atmega128 开发板 软件环境:CodeVisionAVR-C */ #include #define uchar unsigned char #define uint unsigned int uchar cnt; void timer1_init() { TCCR1B=0X00; //先停止定时器 1 TCNT1H=0XF0; // 设定定时器初值 TCNT1L=0XBE; TCCR1A=0X00; //启动定时器 1 TCCR1B=0X05; /