42AVR单片机的主要内部资源与应用_第1页
42AVR单片机的主要内部资源与应用_第2页
42AVR单片机的主要内部资源与应用_第3页
42AVR单片机的主要内部资源与应用_第4页
42AVR单片机的主要内部资源与应用_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、4.2 AVR单片机的SPI接口一、SPI接口:串行外设接口SPI 允许ATmega16 和外设或其他AVR 器件进行高速的同步数据传输。1、ATmega16 SPI 的特点如下:全双工,3 线同步数据传输,SS#,SCK,MISO,MOSI;主机或从机操作 LSB 首先发送或MSB 首先发送7 种可编程的比特率传输结束中断标志写碰撞标志检测可以从闲置模式唤醒2、SPI工作作过程主机和从从机之间间的SPI连连接如下下图所所示。系系统包包括两个个移位寄寄存器和和一个主主机时钟钟发生器器。通过过将需要要的从机机的SS#引引脚拉拉低,主主机启动动一次通通讯过程程。主机机和从机机将需要要发送的的数据放

2、放入相应应的移位位寄存器器。主机机在SCK引引脚上产产生时钟钟脉冲以以交换数数据。主主机的数数据从主主机的MOSI 移出出,从从从机的MOSI 移入入;从机机的数据据从从机机的MISO移移出,从主机机的MISO移移入。主机通通过将从从机的SS#拉拉高实实现与从从机的同同步。配置为SPI主主机时时,SPI接接口不不自动控控制SS#引引脚,必须由由用户软软件来处处理。对对SPI数数据寄寄存器写写入数据据即启动动SPI 时钟钟,将8 比特特的数据据移入从从机。传传输结束束后SPI时时钟停止止,传输输结束标标志SPIF置置位。如果此此时SPCR寄寄存器器的SPI中中断使能能位SPIE置置位,中断就就会

3、发生生。主机机可以继继续往SPDR 写入入数据以以移位到到从机中中去,或或者是将将从机的的SS# 拉高高以说明明数据包包发送完完成。最最后进来来的数据据将一直直保存于于缓冲寄寄存器里里。配置为从从机时,只要SS#为为高,SPI接接口将将一直保保持睡眠眠状态,并保持持MISO为为三态。在这个个状态下下软件可可以更新新SPI 数据据寄存器器SPDR的的内容。即使此此时SCK引引脚有输输入时钟钟,SPDR的的数据据也不会会移出,直至SS被被拉低。一个字字节完全全移出之之后,传传输结束束标志SPIF置位。如果此此时SPCR寄寄存器的的SPI中断使使能位SPIE置位,就会产产生中断断请求。在读取取移入的

4、的数据之之前从机机可以继继续往SPDR 写入入数据。最后进进来的数数据将一一直保存存于缓冲冲寄存器器里。SPI系系统的的发送方方向只有有一个缓缓冲器,而在接接收方向向有两个个缓冲器器。也就就是说,在发送送时一定定要等到到移位过过程全部部结束后后才能对对SPI 数据据寄存器器执行写写操作。而在接接收数据据时,需需要在下下一个字字符移位位过程结结束之前前通过访访问SPI数数据寄存存器读取取当前接接收到的的字符。否则第第一个字字节将丢丢失。工作于SPI从从机模模式时,控制逻逻辑对SCK引引脚的的输入信信号进行行采样。为了保保证对时时钟信号号的正确确采样, SPI时时钟不能能超过fosc/4。SPI使

5、使能后后,MOSI、MISO、SCK和和SS#引脚脚的数据据方向将将按照下下表所所示自动动进行配配置。3、SPI控控制寄存存器SPCR(1)SPIE:使能SPI中断。置置位后,只要SPI状状态寄寄存器SPSR 的SPIF位和状状态寄存存器SREG的的全局局中断使使能位I置位,就会引引发SPI中中断。(2)SPE:使使能SPI。SPE置置位将使使能SPI。进进行任何何SPI 操作作之前必必须置位位SPE。(3)DORD:数数据次次序。DORD 置位位时数据据的LSB首首先发送送;否则则数据的的MSB 首先先发送。(4)MSTR:主主/从从选择择。MSTR置置位时选选择主机机模式,否则为为从机。如

6、果MSTR为为“1”,SS#配置置为输入入,但被被拉低,则MSTR被被清零零,SPSR的的SPIF置置位。用户必必须重新新设置MSTR 进入入主机模模式。所所以,主主机模式式下,常常用主机机的SS#控制制从机的的SS#.CPOL:时钟极性性。CPOL=0,起始沿:上升沿沿,结束束沿:下下降沿;CPOL=1,起始沿:下升沿沿,结束束沿:上上降沿;CPHA:时钟相位位。SPR1,SPR0:SPI时钟速率率选择。确定主机机的SCK速速率,对对从机机没有影影响。4、SPI状状态寄存存器SPSRSPIF:SPI中断标志志。串行行发送结结束后,SPIF置置位。进入中中断服务务程序后后SPIF自动动清零。或

7、者可可以通过过先读SPSR,紧接接着访问问SPDR来对对SPIF清零零。WCOL:写写碰撞标标志。在在发送当当中对SPI数数据寄寄存器SPDR写数据据将置位位WCOL。WCOL可以通通过先读读SPSR,紧紧接着访访问SPDR来来清零零。SPI2X:SPI 倍速速。置位位后SPI的的速度加加倍。若若为主机机则SCK频频率可达达CPU 频率率的一半半。若为为从机,最高只只能保证证fosc/4。数据寄存存器SPDR(八八位):读/写写寄存器器,用来来在寄存存器文件件和SPI移位位寄存器器之间传传输数据据。写寄寄存器将将启动数数据传输输,读寄寄存器将将读取寄寄存器的的接收缓缓冲器。数据模式式:相对对于

8、串行行数据, SCK的的相位CPHA和极性性CPOL有4 种组组合。每每一位数数据的移移出和移移入发生生于SCK不同同的信号号跳变沿沿,以保保证有足足够的时时间使数数据稳定定。设置设置设置SPI主主机模式式下的写写、读数数据程序序:.$00$20main:ldir16,high(ramend)outsph,r16ldir16,low(ramend)outspl,r16clisbiddrb,4;ss#_pb4sbiddrb,5;mosi_pb5sbiddrb,7;sck_pb7cbiddrb,6;miso_pb6cbiportb,

9、4sbiportb,6ldir16,0outspsr,r16;SPI速速度不倍倍增ldir16,0b01010001;0 x51,or$51outspcr,r16ldir16,0b10101010;0 x55or$55,SPI要发送送的数据据outspdr,r16loop:inr16,spsr;读取发发送状态态sbrsr16,7;判断发发送是否否完成rjmploopinr16,spdrloop1:sbrsr16,7;判判断接收收是否完完成rjmploop1inr16,spdr;读取数数据wait:rjmpwait二、16位定时时/计数器1(定时时(事事件管理理)、波波形产生生和信号号测量)1特

10、点:真正的16位设计(即允许16位的PWM)2 个独独立的输输出比较较单元双缓冲的的输出比比较寄存存器一个输入入捕捉单单元输入捕捉捉噪声抑抑制器比较匹配配发生时时清除寄寄存器(自动重载载)无干扰脉脉冲,相相位正确确的PWM可变的PWM周期频率发生生器外部事件件计数器器4个独立的的中断源源(TOV1、OCF1A、OCF1B与ICF1)2、C/T主要要功能介介绍(1)T/C时时钟源源:可以来自自内部,也可来来自外部部,由位位于T/C控制制寄存器器B(TCCR1B) 的时时钟选择择位(CS12:0) 决定定。(2)计计数器单单元:16位位T/C 的主主要部分分是可编编程的16位位双向计计数器单单元。

11、(3)输输入捕捉捉单元:可用来捕捕获外部部事件,并为其其赋予时时间标记记以说明明此时间间的发生生时刻。外部事事件发生生的触发发信号由由引脚ICP1 输入入,也可可通过模模拟比较较器单元元来实现现。时间间标记可可用来计计算频率率、占空空比及信信号的其其它特征征,以及及为事件件创建日日志。(4)输入入捕捉触触发源:输入捕捉捉单元的的主要触触发源是是ICP1。T/C1 还可可用模拟拟比较输输出作为为输入捕捕捉单元元的触发发源。用用户必须须通过设设置模拟拟比较控控制与状状态寄存存器ACSR的的模拟拟比较输输入捕捉捉位ACIC来来做到到这一点点。要注注意的是是,改变变触发源源有可能能造成一一次输入入捕捉

12、。因此在在改变触触发源后后必须对对输入捕捕捉标志志执行一一次清零零操作以以避免出出现错误误的结果果。(5)噪噪声抑制制器:通过一个个简单的的数字滤滤波方案案提高系系统抗噪噪性。它它对输入入触发信信号进行行4次次采样。只有当当4次次采样值值相等时时其输出出才会送送入边沿沿检测器器。(6)输输出比较较单元:16位比比较器持持续比较较TCNT1与与OCR1x的的内容,一旦发发现它们们相等,比较器器立即产产生一个个匹配信信号。然然后OCF1x 在下下一个定定时器时时钟置位位。如果果此时OCIE1x=1,OCF1x置置位将引引发输出出比较中中断。中中断执行行时OCF1x 标志志自动清清零,或或者通过过软

13、件在在其相应应的I/O位置置写入逻逻辑1”也也可以清清零。根根据WGM13:0与与COM1x1:0 的不不同设置置,波形形发生器器用匹配配信号生生成不同同的波形形。波形形发生器器利用TOP和和BOTTOM信信号处理理在某些些模式下下对极值值的操作作。输出比较较单元A 的一一个特质质是定义义T/C 的TOP值值(即即计数数器的分分辨率)。此外外,TOP值值还用用来定义义通过波波形发生生器产生生的波形形的周期期。(7)强强制输出出比较:工作于非非PWM 模式式时,可可以通过过对强制制输出比比较位FOC1x写写”1” 的方方式来产产生比较较匹配。强制比比较匹配配不会置置位OCF1x标标志,也也不会重

14、重载/清清零定定时器,但是OC1x 引脚脚将被更更新,好好象真的的发生了了比较匹匹配一样样(COMx1:0决决定OC1x 是置置位、清清零,还还是交替替变化)。(8)写写TCNT1操操作阻阻止比较较匹配:CPU对对TCNT1寄寄存器的的写操作作会阻止止比较匹匹配的发发生。这这个特性性可以用用来将OCR1x初始始化为与与TCNT1相相同的的数值而而不触发发中断。(9)比比较匹配配输出单单元:比较匹配配模式控控制位COM1x1:0具具有双重重功能。波形发发生器利利用COM1x1:0 来确确定下一一次比较较匹配发发生时的的输出比比较OC1x状状态; COM1x1:0 还控控制OC1x引引脚输输出的来

15、来源。(10)比较输输出模式式和波形形产生:波形发生生器利用用COM1x1:0的的方法法在普通通模式、CTC 模式式和PWM模模式下有有所区别别。对于于所有的的模式,设置COM1x1:0= 0表表明比比较匹配配发生时时波形发发生器不不会操作作OC1x寄寄存器。(11)工作模模式工作作模式:- T/C和和输出比比较引脚脚的行为为-由由波形发发生模式式(WGM13:0) 及比比较输出出模式(COM1x1:0) 的控控制位决决定。比比较输出出模式对对计数序序列没有有影响,而波形形产生模模式对计计数序列列则有影影响。COM1x1:0控控制PWM输输出是否否为反极极性。非非PWM 模式式时COM1x1:

16、0控制输输出是否否应该在在比较匹匹配发生生时置位位、清零零,或是是电平取取反。(12)普通模模式:为最简单单的工作作模式。在此模模式下计计数器不不停地累累加。计计到最大大值后(TOP =0 xFFFF)由由于数值值溢出计计数器简简单地返返回到最最小值0 x0000重重新开开始。在在TCNT1为为零的同同一个定定时器时时钟里T/C溢溢出标志志TOV1置位位。此时时TOV1有点点象第17位,只是只只能置位位,不会会清零。但由于于定时器器中断服服务程序序能够自自动清零零TOV1,因因此可以以通过软软件提高高定时器器的分辨辨率。在在普通模模式下没没有什么么需要特特殊考虑虑的,用用户可以以随时写写入新的

17、的计数器器数值。(13)CTC(比比较匹配配时清零零定时器器)模式式:在CTC 模式式里OCR1A 或ICR1 寄存存器用于于调节计计数器的的分辨率率。当计计数器的的数值TCNT1等等于OCR1A(WGM13:0=4)或或等于ICR1 (WGM13:0 =12) 时计计数器清清零。OCR1A或或ICR1定定义了计计数器的的TOP 值,亦即计计数器的的分辨率率。这个个模式使使得用户户可以很很容易地地控制比比较匹配配输出的的频率,也简化化了外部部事件计计数的操操作。(14)快快速PWM模模式:可用来产产生高频频的PWM波波形。快快速PWM模式式与其他他PWM模式的的不同之之处是其其单边斜斜坡工作作

18、方式。计数器器从BOTTOM计到到TOP,然后后立即回回到BOTTOM重重新开始始。对于于普通的的比较输输出模式式,输出出比较引引脚OC1x在在TCNT1与与OCR1x 匹配配时置位位,在TOP时时清零零;对于于反向比比较输出出模式,OCR1x的的动作作正好相相反。由由于使用用了单边边斜坡模模式,快快速PWM模模式的工工作频率率比使用用双斜坡坡的相位位修正PWM模模式高高一倍。此高频频操作特特性使得得快速PWM模模式十十分适合合于功率率调节,整流和和DAC应用。高频可可以减小小外部元元器件( 电感感,电容容)的的物理尺尺寸,从从而降低低系统成成本。(15)输出的的PWM 频率率可以通通过如下下

19、公式计计算得到到:变量N代代表分分频因子子 (1、8、64、256或或1024)。3.定时时器/计计数器器1寄存存器的说说明(1)控控制寄存存器ATCCR1ABit7:6 COM1A1:0:通道A的比较输输出模式式Bit5:4 COM1B1:0:通道B的比较输输出模式式COM1A1:0与COM1B1:0分别别控制OC1A 与OC1B状态。如果COM1A1:0(COM1B1:0)的的一位或或两位被被写入1”,OC1A(OC1B)输输出功能能将取代代I/O 端口口功能。此时OC1A(OC1B)相应的的输出引引脚数据据方向控控制必须须置位以以使能输输出驱动动器。OC1A(OC1B) 与物物理引脚脚相

20、连时时,COM1x1:0 的功功能由WGM13:0 的设设置决定定。Bit3 FOC1A:通道A强制输出出比较Bit2 FOC1B:通道B强制输出出比较FOC1A/FOC1B只有有当WGM13:0指指定为非非PWM模式时时被激活活。为与与未来器器件兼容容,工作作在PWM模模式下对对TCCR1A 写入入时,这这两位必必须清零零。当FOC1A/FOC1B位位置1,立即即强制波波形产生生单元进进行比较较匹配。COM1x1:0的的设置置改变OC1A/OC1B 的输输出。注注意FOC1A/FOC1B位位作为选选通信号号。COM1x1:0 位的的值决定定强制比比较的效效果。在在CTC 模式式下使用用OCR

21、1A作作为TOP值值,FOC1A/FOC1B选选通即即不会产产生中断断也不好好清除定定时器。FOC1A/FOC1B位位总是是读为0。Bit1:0 WGM11:0:波形发生生模式这两位与与位于TCCR1B寄寄存器器的WGM13:2相相结合合,用于于控制计计数器的的计数序序列计数器计数数的上限限值和确确定波形形发生器器的工作作模式( 见Table47)。T/C 支持持的工作作模式有有:普通通模式( 计数数器),比较匹匹配时清清零定时时器(CTC) 模式式,及三三种脉宽宽调制(PWM)模模式。控制寄存存器TCCR1B:Bit7 ICNC1:入入捕捉噪噪声抑制制器。置位将使使能输入入捕捉噪噪声抑制制功

22、能。此时外外部引脚脚ICP1的的输入被被滤波。其作用用是从ICP1 引脚脚连续进进行4次次采样样。如果果4个个采样值值都相等等,那么么信号送送入边沿沿检测器器。因此此使能该该功能使使得输入入捕捉被被延迟了了4个个时钟周周期。Bit6 ICES1:输输入捕捉捉触发沿沿选择。该位选择择使用ICP1 上的的哪个边边沿触发发捕获事事件。ICES 为0”选选择的的是下降降沿触发发输入捕捕捉;ICES1为为1”选选择的是是逻辑电电平的上上升沿触触发输入入捕捉。按照ICES1的的设置捕捕获到一一个事件件后,计计数器的的数值被被复制到到ICR1寄寄存器。捕获事事件还会会置为ICF1。如果果此时中中断使能能,输

23、入入捕捉事事件即被被触发。当ICR1用用作TOP值值(见见TCCR1A 与TCCR1B寄寄存器器中WGM13:0位位的描描述)时时,ICP1与输入入捕捉功功能脱开开,从而而输入捕捕捉功能能被禁用用。Bit5 保留留位。为保证与与将来器器件的兼兼容性,写TCCR1B时时,该位位必须写写入0”。Bit4:3 WGM13:2:波波形发发生模式式。Bit2:0 CS12:0:T/C的的时钟钟源选择择。TCNT1H与与TCNT1L:TCNT1H与与TCNT1L组成了了T/C1的数数据寄存存器TCNT1。通过过它们可可以直接接对定时时器/计计数器单单元的16位位计数器器进行读读写访问问。输出比较较寄存器器

24、1AOCR1AH与与 OCR1AL输出比较较寄存器器1BOCR1BH与与OCR1BL该寄存器器中的16位位数据与与TCNT1寄寄存器器中的计计数值进进行连续续的比较较,一旦旦数据匹匹配,将将产生一一个输出出比较中中断,或或改变OC1x 的输输出逻辑辑电平。输入捕捉捉寄存器器1 ICR1H 与ICR1L:当外部引引脚ICP1(或T/C1的的模拟比比较器)有输入入捕捉触触发信号号产生时时,计数数器TCNT1中的值值写入ICR1 中。ICR1的的设定值值可作为为计数器器的TOP值值。注意:TCNT1、OCR1A/B与ICR1是AVR CPU通通过8位位数据总总线可以以访问的的16位位寄存器器。读写写

25、16位位寄存器器需要两两次操作作。写16位位寄存存器时,应先写写入该寄寄存器的的高位字字节;而而读16 位寄寄存器时时应先读读取该寄寄存器的的低位字字节。中断屏蔽蔽寄存器器TIMSK:Bit5 TICIE1:T/C1输输入捕捉捉中断使使能。当该位被被设为1”,且状态态寄存器器中的I 位被被设为1”时时,T/C1的的输入捕捕捉中断断使能。一旦TIFR 的ICF1 置位位,CPU即即开始执执行T/C1输输入捕捕捉中断断服务程程序。Bit4 OCIE1A:输输出比比较A 匹配配中断使使能。当该位被被设为1”,且状态态寄存器器中的I 位被被设为1”时时,T/C1的的输出比比较A匹匹配中中断使能能。一旦旦TIFR上上的OCF1A 置位位,CPU即即开始执执行T/C1输输出比比较A匹匹配中中断服务务程序。Bit3 OCIE1B:T/C1输输出比较较 B匹匹配中中断使能能。当该位被被设为1”,且状态态寄存器器中的I 位被被设为1”时时,使使能T/C1的的输出出比较B 匹配配中断使使

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论