ImageVerifierCode 换一换
格式:PDF , 页数:21 ,大小:1.90MB ,
资源ID:5631891      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-5631891.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(AVR自学笔记.pdf)为本站会员(weiwoduzun)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

AVR自学笔记.pdf

1、一、基础知识1.开发工具:编辑与编译软件:WinAVR仿真软件:AVRStudio下载软件:AVR_fighter、MuCodeISP等在需要在中断函数中被修改的全局变量需要用volatile关键字声明2.第一个简单的AVR程序AVR引脚排列:ATMega8引脚排列ATMega16引脚排列AVR的C语言编程是基于GCC的,所以main函数为int型的#includeint main(void) /main方法必须wieint 返回类型DDRD=0xff; /先设置IO口的方向寄存器/(IO口为输入或输出,“1”为输出,“0”为输入)while(1)PORTD=0b00110011;/数据寄存器

2、,从IO口输出的数据二、基本外设的操作1.AVR的IO的使用(#include)*注意:熔丝位JTAGEN标志着JTAG接口是否可用当为“1”时(未使能):与JTAG接口公用的IO口可以作为通用IO口使用当为“0”时(已使能):与JTAG接口公用的IO口不能作为通用IO口使用,对他的IO操作无效*相关寄存器(x:A、B、C、D)DDRx:IO口方向寄存器;“1”输出,“0”输入PORTx:IO口的数据寄存器;存储IO输出数据(或输入时上拉电阻的设置,写“1”设置)注意:当设为输入时,无上拉电阻,则该口为高阻态PINx:输入数据寄存器,只读(不能按位读)*操作方法输出:先设置DDRx相应位为“1

3、”,即输出;再设置PORTx想要输出的数据DDRA|=(1)_delay_ms(double); /毫秒级延时_delay_us(double); /微妙级延时2.AVR的复位:持续50ns(?)的低电平就可复位*注意:#pragmadata:codeconstTable.此句是将Table数组存放在程序存储器中(ICCAVR中使用)*TWI即IIC 总线3.中断与定时器(#include;sei()函数使能全局中断)(1)AVR共有21个中断源AVR中断向量表AVR(ATMega8)中断服务程序名称定义*中断:M16有三个外部中断INT0、INT1(4种触发方式、同步触发)、INT2(2种触

4、发方式、异步触发)相关寄存器:MCUCR(MCU 控制寄存器)、MCUCSR(MCU 控制与状态寄存器)、GICR(通用中断控制寄存器)、GIFR(通用中断标志寄存器)(不常用)MCUCR:ISC11、ISC10 为中断1触发方式控制位ISC01、ISC00为中断0触发方式控制位MCUCSR:位ISC2: 写“0”:下降沿激活中断 写“1”:上升沿激活中断GICR:相应位写“1”,且状态寄存器SREG的I标志位置位,使能相应中断GIFR:相应中断发生时,相应标志位置位。进入中断服务程序后相应标志位自动清零(常用);也可以通过对相应标志位写“1”来清零。*使用步骤示例:首先,设置MCUCR的IS

5、C11ISC00 位,设置相应中断的触发方式然后,设置GICR使能相应的中断最后,使能全局中断,sei()(2)定时器:AVR共有3个定时/计数器0(8位)、1(16位)、2(8位)定时/计数器0,相关寄存器:TCCR0(T/C控制寄存器)、TCNT0(T/C寄存器(装初值)、TIMSK(T/C中断屏蔽寄存器)、TIFR(T/C中断标志寄存器),具有PWM功能,其他功能如下:注意OCR0(输出比较寄存器)用于输出比较,产生事件匹配中断,这里没有列出*TCCR0:FOC0(bit7):强制输出比较,仅在WGM00指明非PWM模式时才有效WGM00、WGM01(bit6、3):波形产生模式COM0

6、1、COM00(bit5、4):比较匹配输出模式、依赖于WGM01与WGM00的设置CS02、CS01、CS00(bit2、1、0):时钟选择*TCNT0计数范围:0255,计数时长:T = (256 - n0)* t(n0为初值,t 为一个时钟的时间长度)*TIMSKOCIE0(bit1):T/C0输出比较匹配中断使能TOIE0(bit0):T/C0溢出中断使能*TIFROCF0(bit1):输出比较标志0TOV0(bit0):T/C0溢出标志(用于查询模式,中断模式不用),中断模式才自动请0,查询模式要手动清零定时器0查询模式使用步骤示例:(不能自动重装初值)*第一步:首先设置TCNT0的

7、初值:TCNT0=55;*第二步:然后开启时钟(选择时钟),同时启动TC0:TCCR0|= (1*第二步:计时器装初值:TCNT0装初值*第三步:使能TC0溢出中断:TIMSK|= (1*第二步:使能TWI接口,中断等*第三步:发送START信号,发送数据等ATMega16TWI总线操作步骤图:7.ADC的使用相关寄存器:ADMUX(ADC多工选择寄存器)、ADCSRA(ADC控制和状态寄存器A)、ADCL、ADCH(ADC数据寄存器)、SFIOR(特殊功能IO寄存器),最高速度:15kSPS(15k次每秒)寄存器介绍:*ADMUX:REFS10(bit76):参考电压选择ADLAR(bit5

8、):ADC转换结果 左对齐,该位置位则ADC转换结果左对齐,否则为右对齐MUX40(bit40):模拟通道与增益选择位,如下表:*ADCSRAADEN(bit7):ADC使能ADSC(bit6):ADC开始转换ADATE(bit5);ADC自动触发使能ADIF(bit4):ADC中断标志ADIE(bit3):ADC中断使能ADPS20(bit20):ADC预分频器选择位*ADCL、ADCHADLAR=1时:左对齐ADLAR=0时:右对齐*SFIORADTS20(bit75):ADC自动触发源一般使用步骤:(ADC时钟频率为50kHz200kHz)*第一步:ADCMUX、ADCSRA,使能ADC

9、,开始转换,连续转换,中断使能,时钟分频数*第二步:*第三步:8. 模拟比较器的使用功能介绍:对模拟输入端AIN1(正)与AIN0(负)的输入电压进行比较,并从ACO位给出比较结果(当AIN1AIN0时,ACO输出高电平)相关寄存器:SFIOR(特殊功能IO寄存器)、ACSR(模拟比较器控制和状态寄存器)寄存器介绍:*SFIOR:ACME(bit3):模拟比较器多路复用器使能模拟比较器多路复用:AIN0输入可以由ADC07的任一路输入来替代,但是ADC必须关闭(ADEN为0),选择关系如下表所示:*ACSR:ACD(bit7):模拟比较器禁用ACBG(bit6):选择模拟比较器能隙基准源ACO(bit5):模拟比较器输出ACI(bit4):模拟比较器中断标志位ACIE(bit3):模拟比较器中断使能ACIC(bit2):模拟比较器输入捕捉使能ACIS10(bit10):模拟比较器中断模式选择注意:改变此两位时,需要先禁止ACSR中的中断使能位,否侧可能在改变这两位时产生中断。一般使用步骤:*第一步:*第二步:*第三步:9. 看门狗定时器(WDT)WDTOE(bit4):看门狗修改使能WDE(bit3):使能看门狗WDP20(bit20):看门狗定时器预分频器2、1、0

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报