单片机课件-第9章.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《单片机课件-第9章.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 课件
- 资源描述:
-
1、http:/ 6学时)学时)http:/ n了解Microware、1-wire、USB和CAN总线。n掌握I2C总线的原理。n掌握SPI总线的原理。nI2C总线的软件模拟。nSPI总线的软件模拟。 http:/ 9.1 串行扩展概述串行扩展概述 n9.2 UART9.2 UART串行扩展接口串行扩展接口 n9.3 I9.3 I2 2C C串行扩展总线串行扩展总线 n9.4 SPI9.4 SPI串行扩展接口串行扩展接口 n本章小结本章小结n习题习题 http:/ 9.1.1 串行扩展的种类串行扩展的种类 n9.1.2 9.1.2 串行扩展的特点串行扩展的特点http:/ 新一代单片机技术的显著
2、特点之一就是串行扩展总线和接口的推出。常用的串行扩展总线和接口有I2C总线、SPI总线、Microware总线、1-wire总线和CAN总线等。 (1)UART串行扩展接口 (Universal Asynchronous Receiver/Transmitter) UART通用异步收发器,既能同步又能异步通信的硬件电路称为UART。UART是用于控制计算机与串行设备的芯片,它提供了RS232C数据终端设备接口,这样计算机就可以和调制解调器或其它使用RS232C接口的串行设备通信了。 http:/ Integrated Circuit)串行扩展总线 I2C总线是Philip公司推出的芯片间串行传
3、输总线。它用两根线实现了完善的全双工同步数据传送,可以极为方便地构成多机系统和外围器件扩展系统。(3)SPI(Serial Peripheral Interface) 串行扩展接口 SPI总线是Motorola公司提出的一种同步串行外设接口。允许MCU与各种外围设备以同步串行方式进行通信。其外围设备种类繁多,从最简单的TTL移位寄存器到复杂的LCD显示驱动器、网络控制器等,可谓应有尽有。 http:/ Microware总线是NS公司提出的串行同步双工通信接口,用于8位COP800系列单片机和16位HPC系列单片机。(5)单总线(1-wire)串行扩展总线 1-wire总线是Dallas公司研
4、制开发的一种协议,用于便携式仪表和现场监控系统。(6)USB(Universal Serial BUS)串行扩展总线 USB总线是Compaq、Intel、Microsoft、NEC等公司联合制定的一种计算机串行通信协议。 http:/ Area Network)串行扩展总线 CAN总线是德国Bosch公司最先提出的多主机局域网,是国际上应用最广泛的现场总线之一。最初,CAN被设计作为汽车环境中的微控制器通信,在车载各电子控制装置ECU之间交换信息,形成汽车电子控制网络。比如:发动机管理系统、变速箱控制器、仪表装备。 http:/ 串行扩展总线技术是新一代单片机技术发展的一个显著特点。与并行扩
5、展总线相比,串行扩展总线有电路结构简单,程序编写方便,易于实现用户系统软硬件的模块化、标准化等优点。 常用串行扩展总线和接口的特点简要说明如下: (1)UART串行扩展接口 UART接口是二线制,8051单片机的UART既能作通用异步接收和发送器,又能作同步移位寄存器。它可以实现8051单片机系统之间点对点的单机通信或多机通信,也可以实现扩展I/O口。 http:/ I2C总线是二线制,采用器件地址的硬件设置方法,通过软件寻址完全避免了器件的片选线寻址方法,从而使硬件系统具有简单灵活的扩展方法。I2C总线简单,结构紧凑,易于实现模块化和标准化。(3)SPI串行扩展接口 SPI总线是三线制,可直
6、接与多种标准外围器件直接接口,在SPI从设备较少而没有总线扩展能力的单片机系统中使用特别方便。即使在有总线扩展能力的系统中采用SPI设备也可以简化电路设计,省掉很多常规电路中的接口器件,从而提高了设计的可靠性。 http:/ Microware总线是三线制,由一根数据输出(SO)线、一根数据输入(SI)线和一根时钟(SK)线组成。所有从器件的时钟线连接到同一根SK线上,主器件向SK线发送时钟脉冲信号,从器件在时钟信号的同步沿输出/输入数据。主器件的数据输出线SO和所有从器件的数据输入线相接,从器件的数据输出线都接到主器件的数据输入线SI上。(5)1-wire总线 1-wire总线是利用一根线实
7、现双向通信,由一个总线主节点、一个或多个从节点组成系统,通过一根信号线对从芯片进行数据的读取。每一个符合1-wire协议的从芯片都有一个唯一的地址,包括8位分类码、48位的序列号和8位CRC代码。主芯片对各个从芯片的寻找依据这64位的不同来进行。单总线节省I/O引脚资源、结构简单、成本低廉、便于总线扩展和维护。 http:/ USB比较于其他传统接口的一个优势是即插即用的实现,即插即用(Plug-and-Play)也称为热插拔(Hot Plugging)。数据传输速度快,USB1.1接口的最高传输率可达12 Mb/s;USB2.0接口的最高传输率可达480 Mb/s。扩展方便,使用USB Hu
8、b扩展,可以连接127个USB设备,连接的方式十分灵活。(7)CAN总线 在由CAN 总线构成的单一网络中,理论上可以挂接无数个节点。实际应用中,节点数目受网络硬件的电气特性所限制。CAN 可提供高达1Mbit/s的数据传输速率,这使实时控制变得非常容易。另外,硬件的错误检定特性也增强了CAN的抗电磁干扰能力。当信号传输距离达到10km时,CAN 仍可提供高达50Kbit/s的数据传输速率。 http:/ 9.2.1 串行口工作方式串行口工作方式 n9.2.2 UART9.2.2 UART串行扩展应用实例串行扩展应用实例 http:/ 是一个双列直插式8位串入/并出移位寄存器,其引脚如下图所示
9、。其引脚定义如下:lA:同步串行数据输入端lB:同步串行数据输入端lQ0Q7:8位并行数据输出端lCK:时钟脉冲输入端lCLR:数据清除端(清除输出数据,通常用在移位完成时)lGND:接地端lVCC:电源端http:/ 是一个双列直插式8位并入/串出移位寄存器,其引脚如下图所示。其引脚定义如下:lLD:重新装载数据端(通常用在数据完全移出后)lCK:内部数据移位时钟脉冲输入端lD0D7:并行数据输入端lQ11:取反串行输出端lGND:接地端lQ11:串行输出端lSE:用于填充数据移出后的空位的逻辑电平信号lCOK:和CK联合控制数据移动lVCC:电源端http:/ 1 2 3 4 5 6 7
10、10 9 8 11 12 13 14 A B Q7 GND CK CLR VCC Q6 Q5 Q4 Q3 Q2 Q1 Q0 12 13 14 15 16 SE D7 VCC D6 D5 D4 COK Q11 1 2 3 4 5 6 7 LD CK D3 Q11 D2 D1 D0 GND 9 11 10 8 74LS164引脚图 74LS165引脚图 http:/ 利用74LS164串行输入并行输出芯片作一个简单的电子钟,要求四个数码管显示时钟;其中LED1显示小时的十位,LED2显示小时的个位,LED3显示分钟的十位,LED4显示分钟的个位。解:解:原理图如下图,采用单片机的串行口输出字形码,
11、用74LS164和74LS138作为扩展芯片。 74LS164的功能是将AT89C2051串行通信口输出的串行数据译码并在其并口线上输出,从而驱动LED数码管。 74LS138是一个3线-8线译码器,它将单片机输出的地址信号译码后动态驱动相应的LED。因74LS138电流驱动能力较小,故用末级驱动三极管9013作为地址驱动。将4只LED的字段位都连在一起,它们的公共端则由74LS138分时选通,这样任何一个时刻,都只有一位LED在点亮,也即动态扫描显示方式,其优点使用串行口进行LED通信程序编写相当简单,用户只需将需显示的数据直接送串口发送缓冲器,等待串行中断即可。 http:/ P3.2P3
12、.3TXRXhttp:/ 0000HLJMP MAINORG 0040HMAIN:MOV SCON,#00H;初始化串口为方式0MOV R3,#00HLOOP:MOV R4,#0E8HDELAY:LCALL DISPLAY;动态扫描显示DJNZ R4,DELAYINC R3;显示数字增1CJNE R3,#0AH,LOOP;不等于10转移LJMP MAIN 下面是一个简单的动态扫描程序,如果再利用上第六章的定时器就可做成一个完整的电子钟,四个数码管显示为00:00这种形式。在本例中冒号就不显示出来了,分别用20H、21H、22H、23H地址存放时间的时钟的十位、时钟的个位、分钟的十位、分钟的个位
13、。用中断方式做一个不带时钟芯片的电子钟,请读者自己完成。 http:/ P3.2;显示LED1CLR P3.3LCALL DISPLCALL DELAY1SETB P3.3;显示LED2LCALL DISPLCALL DELAY1SETB P3.3;显示LED3CLR P3.2LCALL DISPLCALL DELAY1SETB P3.2;显示LED4SETB P3.3LCALL DISPLCALL DELAY1RET参考程序:http:/ A,R3;将字形码送串口MOV DPTR,#TABLEMOVC A,A+DPTRMOV SBUF,AWAIT:JNB TI,WAIT;等待串口传送CLR
14、TIRETDELAY1:MOV R6,#10H;动态扫描的时间LOOP1:MOV R7,#38H;间隔DJNZ R7,$DJNZ R6,LOOP1RETTABLE:DB 3FH, 06H,,5BH;09的字形码DB 4FH, 66H, 6DHDB 7DH, 07H,,7FH,,6FH参考程序:http:/ I9.3.1 I2 2C C总线的结构原理总线的结构原理 n9.3.2 I9.3.2 I2 2C C总线的软件模拟总线的软件模拟 n9.3.3 I9.3.3 I2 2C C串行扩展应用实例串行扩展应用实例 http:/ http:/ #1 #2 #3 #4 VDD SDA SCL RP RP
15、 SDA SDA SDA SDA SCL SCL SCL SCL I2C总线接口电路结构 http:/ http:/ 和SCL 都是双向线路,都通过一个电流源或上拉电阻连接到正的电源电压;当总线空闲时,这两条线路都是高电平;连接到总线的器件输出级必须是漏极开路或集电极开路才能执行线与的功能。nI2C 总线上数据的传输速率l在标准模式下可达100kbit/s。l在快速模式下可达400kbit/s。 l在高速模式下可达3.4Mbit/s 。n连接到总线的接口数量只由总线电容是400pF 的限制决定关于高速模式主机器件的信息。 http:/ 这些基本时序包括:启动、写字节、读字节、应答位、停止信号,
16、并可以组合成两个子程序:读N字节子程序、写N字节子程序。 http:/ lI2C总线有严格的规范,如接口的电气特性、信号时序、信号传输的定义、总线状态设置、总线管理规则及总线状态处理等。l在I2C总线规范中,总线上的器件节点的电气特性及地址给定都具有较强的独立性,而且各节点上的器件、模块都有相对独立的地址编号。l严格、完善的规范,并将这些规范的应用尽可能“傻瓜”化,除了有充分的硬件支持外,在软件方面,Philips公司为用户提供了一套完善的总线状态处理软件包,以致于用户可以不去熟悉I2C总线的规范,不去理睬总线的管理方法,只要掌握I2C总线的应用程序设计方法就可方便地使用I2C总线,并且能很快
17、地掌握I2C总线系统的软、硬件设计方法。 http:/ I2C总线的起始和停止条件如下图所示。 分别用P1.0和P1.1模拟I2C总线的时钟线和数据线,则可给时钟线SCL和数据线SDA赋值。程序如下: SDA SCL 起始条件 停止条件 SDL EQU P1.0SCA EQU P1.1http:/ 当时钟SCL为高电平时,数据线SDA从高电平向低电平切换表示起始条件,即启动I2C总线数据传送。模拟时序产生时钟SCL和SDA发送的起始条件子程序如下: 使用不同频率的晶体振荡器,则要相应增删程序段中NOP指令的条数,以满足时序的要求。 START:SETB SDASETB SCLNOP;NOP的数
18、目根据时钟频率确定NOP;此处用NOP来延时CLR SDANOPNOPCLR SCLREThttp:/ 当时钟SCL为高电平时,数据线SDA由低电平向高电平切换表示停止条件,即停止I2C总线数据传送。模拟时序产生时钟SCL和SDA发送的停止条件子程序如下: 使用不同频率的晶体振荡器,则要相应增删程序段中NOP指令的条数,以满足时序的要求。 STOP:CLR SDASETB SCLNOP;NOP的数目根据时钟频率确定NOP;此处用NOP来延时SETB SDANOPNOPCLR SDACLR SCLREThttp:/ I2C总线的应答位和非应答位如下图所示。发送ACK和ACK子程序如下。 发送 A
展开阅读全文