




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第 章章串串行行接接口口及及应应用用 本章内容本章内容1. 1. 同步串行接口同步串行接口SPISPI2.2. SPI SPI 应应 用用3.3. 异步串行接口异步串行接口USARTUSART4.4. USARTUSART的异步串行通行应用的异步串行通行应用5.5. 两线串行两线串行TWITWI总线接口及应用总线接口及应用5.1串行外设接口串行外设接口SPI 串行外设接口串行外设接口SPI(同步同步)允许允许ATmega16和外设或其他和外设或其他AVR器件进行高速的同步数据传输。器件进行高速的同步数据传输。ATmega16 SPI 的特点的特点1、全双工,、全双工,3线同步数据传输线同步数
2、据传输2、主机或从机操作、主机或从机操作3、LSB 首先发送或首先发送或MSB 首先发送首先发送4、7 种可编程的比特率种可编程的比特率5、传输结束中断标志、传输结束中断标志6、写碰撞标志检测、写碰撞标志检测7、可以从闲置模式唤醒、可以从闲置模式唤醒8、作为主机时具有倍速模式、作为主机时具有倍速模式(CK/2)SPI结构框图结构框图如下图所示:图如下图所示:图5.1 SPI结构框图结构框图SPI原理 同步串行通信以字节为单位,即每次传送一个字节的数据。工作于同步串行通信方式的串行口实际上相当于一个同步移位寄存器,这时串行口的一个端口作为数据移位的入口或出口,而另一个端口则提供移位所需要的时钟脉
3、冲。同步串行通信的数据传送格式如下图所示: D0D1D2D3D4D5D6D7同步串行接口同步串行接口SPISPI原理原理: :110 00 1 1 0SPISPI时钟发生器时钟发生器MSBMSBLSBLSB8 8位移位寄存器位移位寄存器MISOMISOMOSIMOSI主主 机机011 00 1 0 1MSBMSBLSBLSB8 8位移位寄存器位移位寄存器MISOMISOMOSIMOSI从从 机机SCKSCKSSSSSCKSCKSSSSV VCCCCPB6PB6PB5PB5PB7PB7PB4PB4例:从机中数据为例:从机中数据为055x,055x,当主机执行程序:当主机执行程序: i=0 x96
4、; SPDR=i; i=0 x96; SPDR=i; 系统包括主、从机的两个移位寄存器和一个主机系统包括主、从机的两个移位寄存器和一个主机SPI时钟时钟发生器。主机为发生器。主机为SPI数据传送的控制方。数据传送的控制方。 通过将需要的从机的通过将需要的从机的 SS 引脚拉低,主机启动一次通讯过引脚拉低,主机启动一次通讯过程主机通过将从机的程主机通过将从机的SS 拉高实现与从机的同步。拉高实现与从机的同步。 主机和从机将需要发送的数据放入相应的移位寄存器。主主机和从机将需要发送的数据放入相应的移位寄存器。主机在机在SCK(PB7)引脚上产生时钟脉冲以交换数据。主机)引脚上产生时钟脉冲以交换数据
5、。主机的数据从主机的的数据从主机的MOSI(PB5)移出,从从机的)移出,从从机的MOSI(PB5)移入;从机的数据从从机的)移入;从机的数据从从机的MISO(PB6)移出,)移出,从主机的从主机的MISO(PB6)移入。)移入。 SCK(PB7)引脚是主机的时钟输出端和从机的时钟输入)引脚是主机的时钟输出端和从机的时钟输入端。端。 配置为配置为SPI 主机时,主机时, SPI 接口不自动控制接口不自动控制 SS 引引脚,必须由用户软件来处理。脚,必须由用户软件来处理。 对对 SPI 数据寄存器写入数据即启动数据寄存器写入数据即启动SPI 时钟,将时钟,将8 比特的数据移入从机。比特的数据移入
6、从机。 传输结束后传输结束后SPI 时钟停止,传输结束标志时钟停止,传输结束标志SPIF 置置位。如果此时位。如果此时SPCR 寄存器的寄存器的SPI 中断使能位中断使能位SPIE 置位,中断就会发生。主机可以继续往置位,中断就会发生。主机可以继续往SPDR 写入数据以移位到从机中去,或者是将从写入数据以移位到从机中去,或者是将从机的机的SS 拉高以说明数据包发送完成。最后进来拉高以说明数据包发送完成。最后进来的数据将一直保存于缓冲寄存器里。的数据将一直保存于缓冲寄存器里。 配置为从机时,只要配置为从机时,只要SS 为高,为高,SPI 接口将一直保接口将一直保持睡眠状态,并保持持睡眠状态,并保
7、持MISO 为三态。在这个状态下,为三态。在这个状态下,用软件可以更新用软件可以更新SPI 数据寄存器数据寄存器SPDR 的内容。即的内容。即使此时使此时SCK 引脚有输入时钟,引脚有输入时钟,SPDR 的数据也不会的数据也不会移出,直至移出,直至SS 被拉低。被拉低。一个字节完全移出之后,传输结束标志一个字节完全移出之后,传输结束标志SPIF置位。置位。如果此时如果此时SPCR寄存器的寄存器的SPI中断使能位中断使能位SPIE置位,置位,就会产生中断请求。就会产生中断请求。在读取移入的数据之前从机可以继续往在读取移入的数据之前从机可以继续往SPDR 写入写入数据,最后进来的数据将一直保存于缓
8、冲寄存器里。数据,最后进来的数据将一直保存于缓冲寄存器里。SPI 系统的发送方向只有一个缓冲器,而在接收方向有两个系统的发送方向只有一个缓冲器,而在接收方向有两个缓冲器。缓冲器。在发送时一定要等到移位过程全部结束后才能对在发送时一定要等到移位过程全部结束后才能对SPI 数据寄数据寄存器执行写操作。而在接收数据时,需要在下一个字符移位存器执行写操作。而在接收数据时,需要在下一个字符移位过程结束之前通过访问过程结束之前通过访问SPI 数据寄存器读取当前接收到的字符。数据寄存器读取当前接收到的字符。否则第一个字节将丢失。否则第一个字节将丢失。工作于工作于SPI 从机模式时,控制逻辑对从机模式时,控制
9、逻辑对SCK 引脚的输入信号进引脚的输入信号进行采样。为了保证对时钟信号的正确采样,行采样。为了保证对时钟信号的正确采样,SPI 时钟不能超过时钟不能超过fosc/4。注意:主从机是互相交换数据的,并不是单纯由主机向从机注意:主从机是互相交换数据的,并不是单纯由主机向从机发送数据。发送数据。SPI 使能后,使能后,MOSI、MISO、SCK 和和SS 引脚的数据方向将引脚的数据方向将按下表所示自动进行配置。按下表所示自动进行配置。SPI引脚配置 当SPI被设置成允许时,MOSI(PB5)、MISO(PB6)、SCK(PB7)和/SS(PB4)引脚的数据方向引脚方向(主SPI)方向(从SPI)M
10、OSI(PB5)用户定义输入MISO(PB6)输入用户定义SCK(PB7)用户定义输入/SS(PB4)用户定义输入5.2 全双工的串行设备接口全双工的串行设备接口SPI的功能及使用方法的功能及使用方法1 从机模式从机模式 当当SPI 配置为从机时,从机选择引脚配置为从机时,从机选择引脚SS 总是为输总是为输入。入。SS 为低将激活为低将激活SPI 接口,接口, MISO成为输出成为输出( 用户用户配置配置) 引脚,其他引脚成为输入引脚。当引脚,其他引脚成为输入引脚。当SS 为高时,为高时,所有的引脚成为输入,所有的引脚成为输入,SPI 逻辑复位,不再接收数据。逻辑复位,不再接收数据。 SS引脚
11、对于数据包引脚对于数据包/字节的同步非常有用,可以字节的同步非常有用,可以使从机的位计数器与主机的时钟发生器同步。当使从机的位计数器与主机的时钟发生器同步。当SS 拉高时拉高时SPI从机立即复位接收和发送逻辑,并丢弃移从机立即复位接收和发送逻辑,并丢弃移位寄存器里不完整的数据。位寄存器里不完整的数据。 2 主机模式主机模式 当当SPI 配置为主机时配置为主机时(SPCR中的中的MSTR置位置位),用,用户可以决定户可以决定SS 引脚的方向。引脚的方向。 若若SS 配置为输出,则此引脚可以用作普通的配置为输出,则此引脚可以用作普通的I/O 口而不影响口而不影响SPI 系统。典型应用是用来驱动从机
12、系统。典型应用是用来驱动从机的的SS 引脚。引脚。 如果如果SS 配置为输入,必须保持为高电平,以保配置为输入,必须保持为高电平,以保证证SPI 的正常工作。的正常工作。若系统配置为主机,若系统配置为主机, SS 为输入高电平;但被外设为输入高电平;但被外设拉低,则拉低,则SPI 系统会将此低电平当做有一个外部主机系统会将此低电平当做有一个外部主机将自己选择为从机的选通信号。为了防止总线冲突,将自己选择为从机的选通信号。为了防止总线冲突, SPI 系统将实现如下动作:系统将实现如下动作:(1)清零)清零SPCR 的的MSTR 位,使位,使SPI 成为从机,成为从机,从而从而MOSI 和和SCK
13、 变为输入。变为输入。(2)SPSR 的的SPIF 置位。若置位。若SPI 中断和全局中中断和全局中断开放,则中断服务程序将得到执行。断开放,则中断服务程序将得到执行。因此,使用中断方式处理因此,使用中断方式处理SPI 主机的数据传输,并主机的数据传输,并且存在且存在SS 被拉低的可能性时,中断服务程序应该检被拉低的可能性时,中断服务程序应该检查查MSTR 是否为是否为“1”。若被清零,用户必须将其置。若被清零,用户必须将其置位,以重新使能位,以重新使能SPI 主机模式。主机模式。5.2.3 数据模式数据模式对于串行数据,对于串行数据, SCK 的相位和极性有的相位和极性有4 种组合。种组合。
14、CPHA 和和CPOL 。每一位数据的移出和移入发生于每一位数据的移出和移入发生于SCK不同的信号跳不同的信号跳变沿,以保证有足够的时间使数据稳定。变沿,以保证有足够的时间使数据稳定。 表表5.2 SCK和振荡器频率的关系及和振荡器频率的关系及CPOL与与CPHA功能(功能(SPI寄存器描述)寄存器描述)图图5.3 当当CPHA=0时时SPI的传输格式的传输格式图图5.4 当当CPHA=1时时SPI的传送格式的传送格式5.4与与SPI接口相关的寄存器接口相关的寄存器 SPI控制寄存器SPCRSPIE SPE DORD MSTR CPOL CPHA SPR1 SPR0位7(SPIE):SPI中断
15、使能位6(SPE):SPI使能 当该位置1时,SPI功能被激活。要使能SPI的任何操作,必须设置该位。位5(DORD):数据移出顺序 当DORD=1时,数据传送的顺序为LSB(低位)被首先传送;当DORD=0时,数据的MSB(高位)被首先传送。位4(MSTR):主/从机选择 当MSTR=1时,选择主机SPI模式;MSTR=0时,选择从机SPI模式。位3(CPOL):时钟(SCK)极性选择 当该位被设置为“1”时,SCK在闲置时是高电平;当CPOL为“0”时,SCK在闲置时是低电平。位2(CPHA):时钟(SCK)相位选择 CPHA位的设置决定了串行数据的锁存采样是在SCK时钟的前沿还是在SCK
16、时钟的后沿。位1、0(SPR1、SPR0):时钟速率选择位SPI状态寄存器SPSR SPIF WCOL SPI2X 位7(SPIF):SPI中断标志位 当串行传送完成时SPIF位被置“1”,且若SPCR中的SPIE=1、全局中断使能位=1,则产生中断。如果/SS被设置为输入且在SPI是主机模式时被外部拉低,此时将设置SPIF标志。SPIF标志位的属性为只读,清零SPIF有两种方式:硬件方式。MCU响应SPI中断,转入相应中断程序的同时,SPIF位由硬件自动清“0”。软件方式。先读取SPI状态寄存器SPSR(读SPSR的操作将会自动清除SPIF位),紧接着对SPI数据寄存器SPDR的操作处理。位
17、6(WCOL):写冲突标志位 如果在SPI接口的数据传送过程中,对SPI的数据存储器SPDR写入数据,将会置位WCOL。清零WCOL标志只能通过软件方式:先读取SPI状态寄存器SPSR(读SPSR的操作将会自动清除SPIF位和WCOL位),然后再进行对SPI数据寄存器SPDR的操作处理。位5、4、3、2、1:保留 在ATmage16中,这几位保留,读出为“0”。位0(SPI2X):倍速SPISPI数据寄存器SPDRMSB LSB 7 6 5 4 3 2 1 0 SPI数据寄存器可以读/写的寄存器,其内容是移位寄存器之间传送的数据。写数据到SPDR是初始化数据传送,而读SPDR寄存器时,读到的是
18、移位寄存器接收缓冲区中的值。 例5.1 将SPI 初始化为主机,以及进行简单的数据发送。void SPI_MasterInit(void)/* 设置MOSI 和SCK 为输出,其他为输入 */DDRB= (1 5)|(1 7);/* 使能SPI 主机模式,设置时钟速率为fck/16 */SPCR = (1SPE)|(1MSTR)|(1SPR0);void SPI_MasterTransmit(char cData)/* 启动数据传输 */SPDR = cData;/* 等待传输结束 */while(!(SPSR & (1SPIF);例例5.2 将将SPI 初始化为从机,以及进行简单的数
19、据接收。初始化为从机,以及进行简单的数据接收。void spi_slaveinit(void)DDRB=(1);/设置设置MISO为输出,其他为输入为输出,其他为输入SPCR=(1SPE);/使能使能SPIchar SPI_SLavereceive(void)While(!(SPSR&(1SPIF);/等待接收结束等待接收结束Return SPDR;项目一:如图为两个单片机的同步串行通信电路:单片机1为主方式,单片机2为从方式。实现通过SPI口相互传递100个字节。 思路: 由单片机1启动SPI传送功能(发数据至寄存器SPDR);在中断子程序里,读取单片机2传来的数据,并把下一个数据发
20、至SPDR,再一次启动SPI通信,直到所有数据传送完毕。 单片机2发一个数据送至SPDR,并等待单片机1启动SPI传送;在单片机2的中断子程序里,读取单片机1传来的数据,并把下一个数据发至SPDR,再等待单片机1启动SPI传送。主单片机源程序:#include #include #include unsigned char a100;unsigned char b100;Volatile unsigned char i=0;/ SPI interrupt service routineISR(SPI_STC_vect)bi=SPDR;if (i=100)SPCR=0X00;elsedelay_
21、us(3);SPDR=ai+1;i+; void main(void) PORTB=0 x00; DDRB=0 xA0; SPCR=0 xF0; SPSR=0 x00; Sei(); _delay_us(3); SPDR=a0; while (1) ; 从单片机源程序:#include #include unsigned char a100;unsigned char b100;unsigned char i=0;/ SPI interrupt service routineISR(SPI_STC_vect)bi=SPDR;if (i=100)SPCR=0X00;elseSPDR=ai+1;i
22、+; void main(void) PORTB=0 x00; DDRB=0 x40; SPCR=0 xE0; SPSR=0 x00; Sei(); SPDR=a0; while (1); 5.5 SPI应用-MAX72197219显示控制芯片MAX7219引脚及基本参数MAX7219控制的8位8段数码显示MAX7219控制的8*8点阵MAX7219 MAX7219 显示控制芯片显示控制芯片 MAX7219MAX7219是一个专用是一个专用LEDLED显示驱动芯片。显示驱动芯片。MAX7219MAX7219的引脚及功能的引脚及功能 123456789101112 13 14 15 16 17
23、18 19 20 21 22 23 24CLKSEGASEGFSEGBSEGGISETV+SEGCSEGESEGDPSEGDDOUT DIN DIG0 DIG4 GND DIG6 DIG2 DIG3 DIG7 GND DIG5 DIG1 LOADMAX7219引脚图MAX7219引脚及功能 引 脚名 称功 能1DIN串行数据输入,在CLK的上升沿,移入内部移位寄存器4,9GND地线,两个地引脚必须连在一起13CLK时钟输入,最高频率10MHz,在CLK的上升沿,移入内部16位移位寄存器中;在CLK的下降沿,数据从OUT输出12LOAD数据装载,输入,在LOAD上升沿,移位寄存器接收的数据被锁存
24、2,3,58,10,11DIG0DIG78位数字驱动线,输出,它从显示器共阴极吸入电流1417,2023SEGASEGG,SEGDPLED七段码和小数点驱动器,供给LED电流18ISET在ISET与V+之间接RSET电阻,建立LED峰值段电流19V+电源输入端24DOUT串行数据输出,DIN数据16,5个CLK周期后出现在DOUT端MAX7219 MAX7219 显示控制芯片显示控制芯片 MAX7219MAX7219显示控制芯片的特性显示控制芯片的特性 可最多驱动八个可最多驱动八个LEDLED数码管。数码管。 内部有内部有8 8字节显示静态字节显示静态RAMRAM(放置(放置8 8个个LEDL
25、ED显示内容)和显示内容)和6 6个个特殊功能寄存器(设定显示方式、亮度等)特殊功能寄存器(设定显示方式、亮度等) 各各LEDLED显示可有不译码和显示可有不译码和BCDBCD译码两种显示模式。译码两种显示模式。 采用硬件动态扫描显示控制采用硬件动态扫描显示控制 。 可通过硬件(一个外接电阻)和软件调节可通过硬件(一个外接电阻)和软件调节LEDLED显示亮度。显示亮度。 采用采用3 3线串行接口传送数据。(仅使用单片机线串行接口传送数据。(仅使用单片机3 3个个I/OI/O口)口) MAX7219 MAX7219 显示控制芯片显示控制芯片 3 MAX72193 MAX7219的工作原理的工作原
26、理 数据通信数据通信: :采用串行通信接收数据。采用串行通信接收数据。 数据格式:数据格式: 内部为内部为1616位移位寄存器。数据分两次移入。最先移入的数据位移位寄存器。数据分两次移入。最先移入的数据是是D15D15,最后移入的数据是,最后移入的数据是D0D0。 D D DDDD D D DD D DDD DD012 3 4 5678 91011 12 1314 15 显示数据或控制字地址或SFRRAMMAX7219内部显示RAM及SFR 显示RAM(地址:*1*8) 接到DIG0引脚的显示器显示地址为*1H的RAM中的数据,接到DIG1引脚的显示器显示地址为*2H的RAM中的数据,如此类推
27、。 译码方式寄存器(地址:*9H) 该寄存器的8位二进制数的各位值分别控制着8个LED显示的译码方式。当该位为1时选择相应的显示位位BCD码模式,为0时选择不译码。小数点不译码,它由显示数据的D7位控制,D7=1时小数点亮,D7=0时小数点不亮。MAX7219内部显示RAM及SFR 扫描界限寄存器(地址:*BH) 该寄存器的D0D3位数据设定值为07H。设定值表示显示器动态扫描个数为18。 停机寄存器(地址:*CH) 该寄存器的D0=0时,MAX7219处于停机状态;当D0=1时,处于正常工作状态。 显示测试寄存器(地址:*FH) 当该寄存器的D0=0时,MAX7219按设定模式正常工作;当D
28、0=1时,处于测试状态,在测试状态下,不管MAX7219处于什么模式,全部LED将按最大亮度接通显示。MAX7219内部显示RAM及SFR亮度寄存器(地址:*AH)及亮度的调节与控制LED的亮度可通过硬件和软件两种方式调节或控制。硬件调节:在V+和ISET之间外接电阻RSET,可控制LED段电流,达到硬件调节LED亮度的目的。LED亮度的程控亮度寄存器中的D0D3位可以控制LED显示器的亮度。该寄存器可按其地址方便地写入,从而实现亮度的程控。方法是:D0D3控制内部的脉宽调制器(DAC)的占空比来控制LED段电流的平均值,以达到控制亮度的目的。当亮度寄存器D0D3位从0变化到0FH时,DAC的
29、占空比从1/32变化到31/32,共16个控制等级,每级变化2/32。MAX7219级联在实际应用中MAX7219可以级联,即前一片的DOUT可接到后一片的DIN上,各片的CLK、LOAD分别并接。与单片机接口时,只需3根控制线即可进行多片MAX7219的控制。数据传送与装载方法同单片MAX7219时相似,所不同的是当N片级联时,各片MAX7219共接收到N16位数据后再将LOAD由低变高,从而实现N片MAX7219同时装载数据。MAX7219 MAX7219 显示控制芯片显示控制芯片 MAX7219MAX7219的引脚及功能的引脚及功能 。 SEGDPSEGDPDIG0DIG0DIG7DIG
30、7DIG2DIG2 DIG1DIG1SEGASEGASEGBSEGBSEGGSEGGMAX7219MAX7219DINDINCLKCLKLOADLOADAtmega16Atmega16MOSIMOSISCKSCKSSSS15K15KV V+ +ISETISETGNDGNDMAX7219 MAX7219 显示控制芯片显示控制芯片 MAX7219MAX7219的引脚及功能。的引脚及功能。 SEGDPSEGDPDIG0DIG0DIG7DIG7DIG2DIG2 DIG1DIG1SEGASEGASEGBSEGBSEGGSEGGMAX7219MAX7219DINDINCLKCLKLOADLOADAtmeg
31、a16Atmega16MOSIMOSISCKSCKSSSS 内部内部 寄存器寄存器MAX7219 MAX7219 显示控制芯片显示控制芯片SEGDPSEGDPDIG0DIG0DIG7DIG7DIG2DIG2 DIG1DIG1SEGASEGASEGBSEGBSEGGSEGGMAX7219MAX7219DINDINCLKCLKLOADLOADAtmega16Atmega16MOSIMOSISCKSCKSSSS 内部内部 寄存器寄存器 MAX7219MAX7219控制芯片的特性控制芯片的特性 MAX7219 MAX7219 显示控制芯片显示控制芯片SEGDPSEGDPDIG0DIG0DIG7DIG7
32、DIG2DIG2 DIG1DIG1SEGASEGASEGBSEGBSEGGSEGGMAX7219MAX7219DINDINCLKCLKLOADLOADAtmega16Atmega16MOSIMOSISCKSCKSSSS 内部内部 寄存器寄存器 MAX7219MAX7219控制芯片的特性控制芯片的特性 MAX7219 MAX7219 显示控制芯片显示控制芯片SEGDPSEGDPDIG0DIG0DIG7DIG7DIG2DIG2 DIG1DIG1SEGASEGASEGBSEGBSEGGSEGGMAX7219MAX7219DINDINCLKCLKLOADLOADAtmega16Atmega16MOSI
33、MOSISCKSCKSSSS 内部内部 寄存器寄存器 MAX7219MAX7219控制芯片的特性控制芯片的特性 MAX7219 MAX7219 显示控制芯片显示控制芯片 MAX7219MAX7219控制芯片的特性控制芯片的特性 SEGDPSEGDPDIG0DIG0DIG7DIG7DIG2DIG2 DIG1DIG1SEGASEGASEGBSEGBSEGGSEGGMAX7219MAX7219DINDINCLKCLKLOADLOADAtmega16Atmega16MOSIMOSISCKSCKSSSS 内部内部 寄存器寄存器SPISPI时钟发生器时钟发生器MSBMSBLSBLSB8 8位移位寄存器位移
34、位寄存器MISOMISOMOSIMOSIATmega16ATmega16MSBMSBLSBLSB1616位移位寄存器位移位寄存器MISOMISODINDINMAX7219MAX7219SCKSCKSSSSCLKCLKLOADLOADPB6PB6PB5PB5PB7PB7PB4PB4例:主机执行程序:例:主机执行程序: i=0 x01; SPDR=i;i=0 x01; SPDR=i; 然后执行:然后执行:j=0 x05; SPDR=j; j=0 x05; SPDR=j; 内部为内部为1616位移位寄存器。数据分两次移入。最先移入的数据位移位寄存器。数据分两次移入。最先移入的数据是是D15D15,最
35、后移入的数据是,最后移入的数据是D0D0。 SPISPI时钟发生器时钟发生器MSBMSBLSBLSB8 8位移位寄存器位移位寄存器MISOMISOMOSIMOSIATmega16ATmega16MSBMSBLSBLSB1616位移位寄存器位移位寄存器MISOMISODINDINMAX7219MAX7219SCKSCKSSSSCLKCLKLOADLOADPB6PB6PB5PB5PB7PB7PB4PB4例:主机执行程序:例:主机执行程序: i=0 x01; SPDR=i; i=0 x01; SPDR=i; 0 0 0 0 0 0 0 1 数据分两次移入。最先移入的数据是数据分两次移入。最先移入的数
36、据是D15D15,最后移入的数据,最后移入的数据是是D0D0。 SPISPI时钟发生器时钟发生器MSBMSBLSBLSB8 8位移位寄存器位移位寄存器MISOMISOMOSIMOSIATmega16ATmega16MSBMSBLSBLSB1616位移位寄存器位移位寄存器MISOMISODINDINMAX7219MAX7219SCKSCKSSSSCLKCLKLOADLOADPB6PB6PB5PB5PB7PB7PB4PB4例:主机执行程序:例:主机执行程序: i=0 x01; SPDR=i; i=0 x01; SPDR=i; 0 0 0 0 0 0 0 1 数据分两次移入。最先移入的数据是数据分两
37、次移入。最先移入的数据是D15D15,最后移入的数据,最后移入的数据是是D0D0。 SPISPI时钟发生器时钟发生器MSBMSBLSBLSB8 8位移位寄存器位移位寄存器MISOMISOMOSIMOSIATmega16ATmega16MSBMSBLSBLSB1616位移位寄存器位移位寄存器MISOMISODINDINMAX7219MAX7219SCKSCKSSSSCLKCLKLOADLOADPB6PB6PB5PB5PB7PB7PB4PB40 0 0 0 0 1 0 10 0 0 0 0 0 0 1 数据分两次移入。最先移入的数据是数据分两次移入。最先移入的数据是D15D15,最后移入的数据,最
38、后移入的数据是是D0D0。 例:主机执行程序:例:主机执行程序: i=0 x01; SPDR=i;i=0 x01; SPDR=i; 然后执行:然后执行:j=0 x05; SPDR=j; j=0 x05; SPDR=j; SPISPI时钟发生器时钟发生器MSBMSBLSBLSB8 8位移位寄存器位移位寄存器MISOMISOMOSIMOSIATmega16ATmega16MSBMSBLSBLSB1616位移位寄存器位移位寄存器MISOMISODINDINMAX7219MAX7219SCKSCKSSSSCLKCLKLOADLOADPB6PB6PB5PB5PB7PB7PB4PB40 0 0 0 0 0
39、 0 1 0 0 0 0 0 1 0 1 数据分两次移入。最先移入的数据是数据分两次移入。最先移入的数据是D15D15,最后移入的数据,最后移入的数据是是D0D0。 例:主机执行程序:例:主机执行程序: i=0 x01; SPDR=i;i=0 x01; SPDR=i; 然后执行:然后执行:j=0 x05; SPDR=j; j=0 x05; SPDR=j; SPISPI时钟发生器时钟发生器MSBMSBLSBLSB8 8位移位寄存器位移位寄存器MISOMISOMOSIMOSIATmega16ATmega16MSBMSBLSBLSB1616位移位寄存器位移位寄存器MISOMISODINDINMAX7
40、219MAX7219SCKSCKSSSSCLKCLKLOADLOADPB6PB6PB5PB5PB7PB7PB4PB40 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 内部内部RAM RAM 寄存器寄存器SFRSFR1H1H2H2H3H3H4H4H5H5H6H6H7H7H8H8H9H9HAHAHBHBHCHCHDHDHEHEHFHFH地址地址数据数据8.2 MAX7219 8.2 MAX7219 显示控制芯片显示控制芯片SEGDPSEGDPDIG0DIG0DIG7DIG7DIG2DIG2 DIG1DIG1SEGASEGASEGBSEGBSEGGSEGGMAX7219MAX7219DINDINCLKCLKLOADLOADAtmega16Atmega16MOSIMOSISCKSCKSSSS 内部内部 寄存器寄存器1H1H2H2H3H3H4H4H5H5H6H6H7H7H8H8H9H9HAHAHBHBHCHCHDHDHEHEHFHFH应用课题应用课题MAX7219的控制显示的控制显示 1. 接口原理
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 情景模拟金融理财师考试试题及答案
- 2024项目管理考试综合分析试题及答案
- 2024年项目管理考试应对策略试题及答案
- 2025年国际金融理财师考试知识架构与内容广度试题及答案
- 明确路径2024年福建事业单位考试试题及答案
- 项目管理需求变更控制技巧试题及答案
- 铁路防护棚搭设施工方案
- 2024年微生物检验学前沿试题及答案
- 2025注册会计师考试技巧与方法论试题及答案
- 2024年农艺师考试的科目覆盖概要 知识面试题及答案
- 2025年济南政金投资限公司招聘工作人员高频重点提升(共500题)附带答案详解
- 《氢燃料电池重卡动力电池温度控制策略研究》
- 探槽工程施工方案
- 电厂环境卫生治理方案
- 小红书搜索推广营销师认证考试题库(附答案)
- 政府采购公平性保障方案
- 智慧社区数字化教育方案
- 风力发电劳务施工合同
- 部编版历史八年级下册第四单元 第14课《海峡两岸的交往》说课稿
- 石家庄市既有建筑改造利用消防设计审查指南(2024年版)
- GB/T 30595-2024建筑保温用挤塑聚苯板(XPS)系统材料
评论
0/150
提交评论