AVR的使用.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
AVR的使用

引脚及功能 最小系统 IO、寄存器与变量 IO口与IO寄存器的映射(x代表A~D) 方向寄存器:DDRx 数据寄存器:PORTx 输入寄存器:PINx C语言变量与寄存器的映射 io.h这个文件中将所有寄存器映射为同名的变量,对这些变量的读写相当于对寄存器的读写 输出状态IO寄存器设置 DDRx某一位置1,相应位的IO口被设置为输出 PORTx某一位置1或0,对应IO口相应位的电平高低 循环语句 while语句 for语句 各种运算符 赋值 加+ 减– 乘* 除/ 括号 求余% 与 或| 取反~ 异或^ 左移 逻辑与 逻辑或||逻辑非! 位运算 将某一位置1、置0、取反 置1: 相应位与1进行按位或|运算 置0: 相应位与0进行按位与运算 取反: 相应位与1进行按位异或^ 运算 移位运算符:左边为最高位,右边为最低位 左移 : 左移n位相当于乘2n运算,左侧n位丢弃,右侧补n个0 右移 右移n位相当于乘2-n运算,右侧n位丢弃,左侧补n个0 M16的外部中断 M16具有3个外部中断 INT0、INT1: 支持4种触发模式,同步触发 INT2 支持2种触发模式,异步触发 中断相关库函数的头文件 avr/interrupt.h 中断有关的寄存器 MCUCR MCUCSR GICR 中断服务程序 SIGNAL SIG_INTERRUPT0 //此处添加中断服务代码 外部中断使用步骤 第1步:包含头文件 #include 第2步:设置中断触发方式 任意逻辑电平变化: MCUCR | 1 ISC10 ; 下降沿触发:MCUCR | 1 ISC10 | 1 ISC11 ; 上升沿触发:MCUCR | 1 ISC11 ; 第3步:使能响应相应外部中断 GICR | 1 INT0 ; 第4步:使能全局中断 sei ; 第5步:编写中断服务程序 SIGNAL SIG_INTERRUPT0 定时器的概念 8位定时/计数器的模型 1个8位长度计数寄存器,可以对其进行读写 1个时钟输入端口,计数寄存器对时钟输入端口的时钟脉冲个数进行加1计数,即每来一个时钟脉冲,寄存器的数值自加1 如何实现精确定时? 给计数寄存器设定初值n0 给时钟输入端口输入一个频率精确的方波方波周期为t0 计数器计数到256时定时器溢出,时间间隔为: △T 256 – n0 ×t0 定时器溢出时可以产生中断 定时器溢出方式的应用 M16的定时器0 8位定时器 具有PWM功能 定时器0相关寄存器 T/C 控制寄存器- TCCR0 设置时钟源频率 T/C 寄存器- TCNT0 计数寄存器 T/C 中断屏蔽寄存器- TIMSK 需要使用溢出中断时 T/C 中断标志寄存器- TIFR 查询是否溢出 定时器0溢出方式 查询模式使用步骤 第1步:设置TC寄存器初值 TCNT0 55; 第2步:开启时钟,同时TC0启动 TCCR0 | 1 CS01 ; 第3步:查询TIFR寄存器的TOV0位 while ! TIFR TOV0 ; 定时器0溢出方式 中断模式使用步骤 第1步:包含中断函数头文件 #include 第2步:设置TC寄存器初值 TCNT0 55; 第3步:使能TC0溢出中断 TIMSK | 1 TOIE0 ; 第4步:编写TC0溢出中断服务程序 SIGNAL SIG_SIG_OVERFLOW0 //此处添加中断服务程序代码 第5步:开启时钟,同时TC0启动 TCCR0 | 1 CS01 ; 第6步:使能全局中断 sei ;

文档评论(0)

wuyuetian + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档