ATmega128几个常用程序例子

ATmega128几个常用程序例子

ID:45341080

大小:307.41 KB

页数:38页

时间:2019-11-12

ATmega128几个常用程序例子_第1页
ATmega128几个常用程序例子_第2页
ATmega128几个常用程序例子_第3页
ATmega128几个常用程序例子_第4页
ATmega128几个常用程序例子_第5页
资源描述:

《ATmega128几个常用程序例子》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、ATMEGA128相关例程自己学avr单片机已经有相当一段时间了,一开始用的是atmega128,觉得不是很好用。于是自己去买了一块16L的芯片,觉得还行。一开始用的是ICCAVR,应为它用起来比较简单,不像winavr那样,要写个Makefie,比较的麻烦,但iccavr的缺点是太过于简陋,调试程序时,感觉不是很好。后来经同学介绍,用起了winavr,其实也是比较的简单,只不过要加一个makefile而已,其实makefile可以用软件自带的组建自动生成,只需修改几个参数就可以用。后来又用起了codevisionavr,虽然不太习惯,也谈不上不好用.需要注意的是,三

2、个不同的软件所带的同文件不一样。iccavr是iom128v.h(姑且以128为例),winavr是avr/io.h,不过makefile中要设置芯片为atmega128.而cvavr则是mega128.h。记得一开始的时候,我对这些不同的同文件不是很理解,是从一个学长那里了解到,才弄明白的。其实前两个软件只需把头文件稍微改一下基本上可以通用。而最后一个软件的中断的写法似乎不太一样,因而和钱两个软件的兼容性是最差的。总体说winavr给人的感觉是比较专业自己学习时多总结吧!1、流水灯/硬件环境:atmega128开发板软件环境:CodeVisionAVR-C/#inc

3、lude#define ucharunsignedchar#define uint unsignedintucharcnt;voidtimer1_init(){   TCCR1B=0X00;  //先停止定时器1   TCNT1H=0XF0;  //设定定时器初值   TCNT1L=0XBE;     TCCR1A=0X00;  //启动定时器1   TCCR1B=0X05;  //使用1024分频}interrupt[TIM1_OVF]voidtimer1_ovf_isr(void){     TCNT1H=0XF0;     //重载定时器初

4、值     TCNT1L=0XBE;          DDRE=1<<2;     PORTE=1<<2;     DDRA=0xff;     PORTA=cnt;       //输出led的值到端口B     cnt++;     if(cnt==255)     cnt=0;}voidmain(){   //DDRB=0XFF;   SREG=0X80;   TIMSK=0X04;   timer1_init();   while(1)   {;   }}2、AD转换+数码管显示///ADC测试程序                              

5、           //目标器件:ATmega128                                 //晶振:RC8MHZ                                      //编译环境:ICCAVR7.13A                                //E-Mail:number007cool@163.com                                            //时间:2010年11月13日                                      

6、              ///Aref接AVCC(+5V),采用Aref作参考电压/用数码管显示AD转换的结果////包含头文件/#include#include/数码管段码表/externconstunsignedchartab[]={0x3f,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,                                 0x7F,0x6F};/全局变量/unsignedintadc_rel=0;/函数功能:ADC初始化函数入口参数:出口参数:/voidadc_i

7、nit(void){DDRF&=0XFE;     //PORTF0设置为输入,即作为ADC0口输入模拟电压PORTF&=0XFE; //PORTF0设置为输入低电平ADCSRA=0x00; //关ADCADMUX=0X00;      //采用Aref作为参考电压,ADC0单端输入,右对齐ACSR=(1<

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。