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