当前位置:首页 > 循迹避障小车毕业设计
辽宁工程技术大学毕业设计(论文)
PWM 9位快速PWM 10位快速PWM 相位与频率修正PWM 相位与频率修正PWM 相位修正PWM 相位修正PWM CTC 保留 快速PWM 快速PWM
6 7 8 9 10 11 12 13 14 15
0 0 1 1 1 1 1 1 1 1
1 1 0 0 0 0 1 1 1 1
1 1 0 0 1 1 0 0 1 1
0 1 0 1 0 1 0 1 0 1
0X01FF 0X03FF ICR3A
TOP TOP BOTTOM
TOP TOP BOTTOM BOTTOM BOTTOM BOTTOM MAX - TOP TOP
OCR3A BOTTOM ICR3 OCR3A ICR3 - ICR3 OCR3A
TOP TOP 立即更新
- TOP TOP
表2-12 定时器/计数器3控制寄存器TCCR3B Tab.2-12 timer/counter 3 control register TCCR3B
ICNC3
ICES3
-
WGM33
WGM32
CS32
CS31
CS30
Bit7-ICNC3:输入捕捉噪声抑制器
置位ICNC3将使能输入捕捉噪声抑制功能。此时外部引脚ICP3的输入被滤波。其作用是从ICP3引脚连续进行4次采样。如果4个采样值都相等,那么信号送入边沿检测器。因此使能该功能使得输入捕捉被延迟了4个时钟周期。 Bit 6-ICES3:输入捕捉触发沿选择
该位选择使用ICP3上的哪个边沿触发捕获事件。ICES3为“0”选择的是下降沿触发输入捕捉;ICES3为“1”选择的是逻辑电平的上升沿触发输入捕捉。按照ICES3的设置捕获到一个事件后,计数器的数值被复制到ICR3寄存器。捕获事件还会置为ICF3。如果此时中断使能,输入捕捉事件即被触发。当ICR3用作TOP值时,ICP3与输入捕捉功能脱开,从而输入捕捉功能被禁用。 Bit 5:保留位
Bit 4:3-WGM33:2:波形发生模式 Bit 2:0-CS32:0:时钟选择
17
基于ATMega128的循迹避障小车的设计与实现
表2-13 时钟选择位描述 Tab.2-13 clock select bit description
CS32 0 0 0 0 1 1 1 1
CS31 0 0 1 1 0 0 1 1
CS30 0 1 0 1 0 1 0 1
说明
无时钟源(T/C停止) clk/1(无预分频) clk/8(来自预分频器) clk/64(来自预分频器) clk/256(来自预分频器) clk/1024(来自预分频器) 外部T3引脚,下降沿驱动 外部T3引脚,上升沿驱动
表2-14定时器/计数器3数据寄存器TC3T3H和TC3T3L
Tab.2-14 timer/counter 3 TC3T3H and TC3T3L
TCNT3[15:8] TCNT3[7:0]
TCNT3H与TCNT3L组成了T/C3的数据寄存器TCNT3,通过它们可以直接对定时器/计数器单元的16位计数器进行读写访问。
表2-15 扩展的定时器/计数器中断屏蔽寄存器ETIMSK Tab.2-15 extended timer/counter interrupt mask register ETIMSK
-
-
TICIE3
OCIEA
OCIE3B
TOIE3
OCIE3C
OCIE1C
Bit 5-TICIE3:T/C3输入捕捉中断使能
当该位被设为“1”,且状态寄存器中的I位被设为“1”时,T/C3的输入捕捉中断使能。一旦ETIFR的ICF3置位,CPU即开始执行T/C3输入捕捉中断服务程序。 Bit 4-OCIE3A:T/C3输出比较A匹配中断使能
当该位被设为“1”,且状态寄存器中的I位被设为“1”时,T/C3的输出比较A匹配中断使能。一旦ETIFR上的OCF3A置位,CPU即开始执行T/C3输出比较A匹配中断服务程序。
Bit 3-OCIE3B:T/C3输出比较B匹配中断使能
当该位被设为“1”,且状态寄存器中的I位被设为“1”时,T/C3的输出比较B匹配中断使能。一旦ETIFR上的OCF3B置位,CPU即开始执行T/C3输出比较B匹配中断服务程序。
Bit 2-TOIE3:T/C3溢出中断使能
18
辽宁工程技术大学毕业设计(论文)
当该位被设为“1”,且状态寄存器中的I 位被设为“1” 时,T/C3的溢出中断使能。一旦ETIFR上的TOV3置位,CPU即开始执行T/C3溢出中断服务程序。 Bit 1-OCIE3C:T/C3输出比较C匹配中断使能
当该位被设为“1”,且状态寄存器中的I位被设为“1”时,T/C3的输出比较C匹配中断使能。一旦ETIFR上的OCF3C置位,CPU即开始执行T/C3输出比较C匹配中断服务程序。
Bit 0-OCIE1C:T/C1输出比较C匹配中断使能
当该位被设为“1”,且状态寄存器中的I位被设为“1”时,T/C1的输出比较C匹配中断使能。一旦ETIFR上的OCF1C置位,CPU即开始执行T/C1输出比较C匹配中断服务程序。
表2-16 扩展的定时器/计数器中断标志寄存器ETIFR Tab.2-16 extended timer/counter interrupt flag register ETIFR
- - ICF3 OCF3A OCF3B TOV3 OCF3C OCF1C Bit 7:6:保留位
Bit 5-ICF3:T/C3输入捕捉标志位
外部引脚ICP3出现捕捉事件时ICF3置位。此外,当ICR3作为计数器的TOP值时,一旦计数器值达到TOP,ICF3也置位。执行输入捕捉中断服务程序时ICF3自动清零。也可以对其写入逻辑“1”来清除该标志位。 Bit 4-OCF3A:T/C3输出比较A匹配标志位
当TCNT3与OCR3A匹配成功时,该位被设为“1”。强制输出比较(FOC3A)不会置位OCF3A。
Bit 3-OCF3B:T/C3输出比较B匹配标志位
当TCNT3与OCR3B匹配成功时,该位被设为“1”。强制输出比较(FOC3B)不会置位OCF3B。
Bit 2-TOV3:T/C3溢出标志
该位的设置与T/C3的工作方式有关。工作于普通模式和CTC模式时,T/C3溢出时TOV3置位。对工作在其它模式下的TOV3标志位置位。执行溢出中断服务程序时OCF3B自动清零。也可以对其写入逻辑“1”来清除该标志位。 Bit 1-OCF3C:T/C3输出比较C匹配标志位
当TCNT3与OCR3C匹配成功时,该位被设为“1”。强制输出比较(FOC3C)不会置
19
基于ATMega128的循迹避障小车的设计与实现
位OCF3C。
Bit 0-OCF1C:T/C1输出比较C匹配标志位
当TCNT1与OCR1C匹配成功时,该位被设为“1”。强制输出比较(FOC1C)不会置位OCF1C。
2.4 超声波避障模块
超声波避障模块采用超声波测距模块(HC-SR04),利用单片机PC6控制HC-SR04的Trig引脚产生一个10us以上的高电平,用单片机外部中断6(INT6)检测接收口Echo高电平输出。一有输出则引起外部中断,在外部中断内开定时器0计时,当Echo端口变为低电平时再次触发外部中断6,在中断内停止定时器0计数。最后读出定时器的值,该时间值÷2×超声波传播速度=障碍物和小车的距离。当障碍物与小车的距离小于规定值时,小车在行进中会绕开障碍物,沿着另一条跑道前进[7]。
2.4.1 HC-SR04模块工作原理
1)采用IO触发测距,给至少10us的高电平信号;
2)模块自动发送8个40KHz的方波,自动检测是否有信号返回;
3)有信号返回,通过IO输出一高电平,高电平持续的时间就是超声波从发射到返回的时间。测试距离=(高电平时间声速(340m/s))/2;
图2-10 超声波时序图
Fig.2-10 the timing concepts for ultrasonic
2.4.2 定时器/计数器0
1)T/C0是一个通用单通道8位定时/计数器,其主要特点如下:单通道计数器;比较匹配时清零定时器(自动重载);无毛刺的相位修正PWM;频率发生器;10位时钟预分频器;溢出与比较匹配中断源(TOV0与OCF0)。
20
共分享92篇相关文档