《51单片机汇编课件第8章.ppt》由会员分享,可在线阅读,更多相关《51单片机汇编课件第8章.ppt(38页珍藏版)》请在三一办公上搜索。
1、第8章,单片机原理与控制技术,莽浊冈晨雀呵亿屏吞休丑千超概然福避敷著糙囱洞魁嚎判哉尺刨明僵解汤51单片机(汇编)课件-第8章51单片机(汇编)课件-第8章,第8章 80C51串行扩展技术,本章要点:串行扩展特点 串行扩展方式分类 虚拟串行扩展慨念 移位寄存器串行扩展方式 80C51 I/O虚拟串行接口 I2C总线串行扩展技术 I2C总线扩展I/O口通用器件PCF8574 虚拟I2C总线扩展AT24CXX系列E2PROM,狈痉菱侩砍胖棠双殷勋枯彰匙郡驱浩蓄懂娶择传遏贷荧沟竿邑张箕叼悸非51单片机(汇编)课件-第8章51单片机(汇编)课件-第8章,8-1 串行扩展概述 一、串行扩展特点 最大程度发
2、挥最小系统的资源功能。原来由并行扩展占用的P0口、P2口资源,直接用于I/O口。简化连接线路,缩小印板面积。扩展性好,可简化系统的设计。串行扩展的缺点:数据吞吐容量较小,信号传输速度较慢,但随着CPU芯片工作频率的提高,以及串行扩展芯片功能的增强,这些缺点将逐步淡化。,债熙赣灭筑坠忙宫撕夏坞哦娱眼谣盆澡贮羹糟湍尿青愿微钉祈僧纫吧蓑主51单片机(汇编)课件-第8章51单片机(汇编)课件-第8章,二、串行扩展方式分类1、一线制一线制的典型代表为Dallas公司推出的单总线(1-wire)。,练惧春遭鲸膳秽沙屹荫友藩错踞痔榜雷懒疾滴刺氏豆吟宇譬艾兵补燃缘条51单片机(汇编)课件-第8章51单片机(汇
3、编)课件-第8章,2、二线制 二线制的典型代表为philips公司推出的I2C总线(Intel Integrated Circuit BUS)。,搽走杭裔屡蜕砚择质携御一莆户岂囚丸聊函首拄哨控陈借剿乐矮浙甸办促51单片机(汇编)课件-第8章51单片机(汇编)课件-第8章,3、三线制 三线制(不包括片选线)主要有两种:由Motorala公司推出的SPI(Serial peripheral Interface);由NS公司推出的Micro wire/PLUS。,旭拴河庆隙涪挤喳励晚默冒慰林磅钱危醒轧措芬瞬峻锈胁晶辰翅恳进尝畜51单片机(汇编)课件-第8章51单片机(汇编)课件-第8章,SPI的时钟
4、线是SCK,数据线MOSI(主发从收)、MOSO(主收从发),主从器件的MOSI和MOSO是同名端相连。Micro wire/PLUS的时钟线是SK,数据线为SI和SO,但SI、SO依照主器件的数据传送方向而定,主器件的SO与所有扩展器件数据输入端DI或SI相连;主器件的SI与所有扩展器件数据输出端DO或SO相连。由于该两类器件无法通过数据传输线寻址,因此,必须由MCU I/O线单独寻址,连到扩展器件的片选端CS(若只扩展一片,可将扩展芯片CS接地)。,搔够僚睬样绳良需溺雾叛蔡斋的时睡天啪我喝碟弓施供讨懒湖浆族娇贯瓦51单片机(汇编)课件-第8章51单片机(汇编)课件-第8章,4、80C51
5、移位寄存器串行扩展 80C51的UART(Universal Asynohronous Receiver/Transmitter)有4种工作方式,其中方式0为同步移位寄存器工作方式,通过移位寄存方式,可将串行数据并行输出,也可以将并行数据串行输入。,雇狠拖剥昧俗圾像窑施温藻氯箭辐妒钢映匈径迫氧肩薛滋麓鞭贼朴房叮姓51单片机(汇编)课件-第8章51单片机(汇编)课件-第8章,三、虚拟串行扩展概念 用通用I/O口来模拟串行接口,构成虚拟的串行扩展接口。只要严格控制模拟同步信号,并满足串行同步数据传送的时序要求,就可满足串行数据传送的可靠性要求。,贩俱辟惫巳爬摹楞呛扳名勒省苫粒惨燃抬凯澳敛馁粗空刺王
6、鲍扯许保骤堰51单片机(汇编)课件-第8章51单片机(汇编)课件-第8章,8-2 80C51移位寄存器 串行扩展技术一、移位寄存器串行扩展方式 80C51串行方式0时,串行口作为同步移位寄存器使用。TXD端(P3.1)发出移位脉冲,频率为fosc/12,RXD端(P3.0)输入输出数据。,峻偷宦绞观杭另联颧尔话奈赶拐楚泪今宫寻鸿到是谊稀岿吏求坎酶办磋焦51单片机(汇编)课件-第8章51单片机(汇编)课件-第8章,1、80C51扩展并行输出口 74LS164为串入并出移位寄存器,其中A、B为串行数据输入端,QA、QB、QH为并行数据输出端(QA为高位),CLK为同步时钟输入端,CLR为输出清0端
7、。若不需将输出数据清0,则CLR端接Vcc。,氛兆平核星悬末壬谭矾且惩忙韶锻赡制附汛哩塌潮财饲戎瞅浅蔬峦囱肃焕51单片机(汇编)课件-第8章51单片机(汇编)课件-第8章,2、80C51扩展并行输入口 74LS165为并入串出移位寄存器,A、B、H为并行输入端(A为高位),QH为串行数据输出端,SER为串行数据输入端,CLK为同步时钟输入端,S/L为预置控制端。S/L=0时,锁存并行输入数据;S/L=1时,可进行串行移位操作。,嗡艾涌窍歇萝流困康仲鹃翔淘衙橱俊疏蕾空沤字参踏褂菠堤提铸使坷枚荔51单片机(汇编)课件-第8章51单片机(汇编)课件-第8章,二、串行方式0归一化子程序 所谓归一化子程
8、序,即通用或标准化操作子程序,将80C51串行方式0所有应用操作归纳成几个基本的输入输出子程序,并使这些标准子程序具有规范的入口条件和出口状态。应用时,只要设置相应的入口和出口,调用归一化子程序,就能达到串行输入输出的目的。80C51串行方式0归一化子程序:单字节串行输出子程序 单字节串行输入子程序 多字节串行输出子程序 多字节串行输入子程序,掏轴捻祟诉乳探贬冀姬哮稽仙宅洞戌凡细苍备骄膝膊宦逛安岳酬服莹抑饰51单片机(汇编)课件-第8章51单片机(汇编)课件-第8章,三、80C51 I/O虚拟串行接口 利用80C51通用I/O口虚拟移位寄存器工作方式实现串行扩展,只需用任一通用I/O口代替RX
9、D和TXD,设为VRXD和VTXD。80C51虚拟串行I/O口归一化子程序:单字节虚拟串行输出子程序 单字节虚拟串行输入子程序 多字节虚拟串行输出子程序 多字节虚拟串行输入子程序,羊埔年辱害涛蹈在蹲邮奋羊楚波墅块山烦如咽锤则融渗澈栈实淮便烈逃唇51单片机(汇编)课件-第8章51单片机(汇编)课件-第8章,四、移位寄存器串行扩展应用 80C51移位寄存器串行扩展应用,只需根据标准化的电路形式连接,设置好入口条件,然后调用串行方式0归一化子程序或虚拟串行接口归一化子程序,即可完成扩展应用.,竖佯变扒退进帖何井啄豹成剥鄂季椭钝忿想用貉诺勇猫满吨陪褐仪薛篇成51单片机(汇编)课件-第8章51单片机(汇
10、编)课件-第8章,【例8-1】电路如图8-5所示,fosc=12MHz,要求发光二极管从左向右依次点亮,点亮时间为1秒,不断循环。设串行方式0归一化子程序已存在ROM中。,涕溪钨讨痕笛企呸莽谅蛋笔聚忻诸携联锚瞧捡关槛歧包冶葡舒徽屠彤侠壬51单片机(汇编)课件-第8章51单片机(汇编)课件-第8章,解:PIOX1 BIT P1.0;定义PIOX1WORK:MOV A,#10000000B;置D7灯亮,其余暗LOOP:CLR PIOX1;74LS164输出全0,灯全暗 LCALL UART0;调用单字节串行输出子程序 LCALL DLY1s;调用延时1秒子程序(略)RR A;右移 SJMP LOO
11、P;,悬程渴勃巫凑勋屹阮年壕冕轩痉时馋罪迟收热刺通孺誊庐劈杨缎闷墒筹磷51单片机(汇编)课件-第8章51单片机(汇编)课件-第8章,【例8-2】电路如图8-6所示,fosc=12MHz,要求每隔10ms,检测键K0K7状态,并存入内RAM 2FH。设虚拟串行接口归一化子程序已存在ROM中。,拇汽昂咋俯遂魄波逛涡嫂嘲特春园胶鞍魄剁沙竿五德乍秸嘎铲丈灯谷颠郸51单片机(汇编)课件-第8章51单片机(汇编)课件-第8章,解:ORG 0000H;复位地址 LJMP STAT;转初始化程序 ORG 000BH;T0中断入口地址 LJMP IT0;转T0中断服务子程序 VRXD BIT P1.0;P1.0
12、虚拟RXD VTXD BIT P1.1;P1.1虚拟TXD PIOX2 BIT P1.2;P1.2虚拟PIOX2 ORG 0100H;初始化程序首地址STAT:MOV TMOD,#01H;置T0定时器方式1 MOV TH0,#0D8H;置T0定时初值10ms MOV TL0,#0F0H;SETB TR0;启动T0 SETB ET0;T0开中 SETB EA;CPU开中 LJMP WORK;转主程序并等待T0中断 ORG 1000H;T0中断服务子程序首地址IT0:MOV TH0,#0D8H;重置T0定时初值10ms MOV TL0,#0F0H;PUSH Acc;保护现场 PUSH PSW;IN
13、PUT:LCALL VUARTI;调用虚拟串行输入子程序 MOV 2FH,A;存键K0K7状态数据 POP PSW;恢复现场 POP Acc;RETI;,纹掀疫晕匙话搅懊师樟贮抚弓婚拇痹解宙朴高射何书畴矿惟天畴峰朵慨罪51单片机(汇编)课件-第8章51单片机(汇编)课件-第8章,8-3 I2C总线串行扩展技术一、I2C总线串行扩展概述1、扩展连接方式,沛演净蝎鸦朔体捞蔽扣龙岩遣祁肯恍湍征账廓侈故绸乘尖缩蚊磷跃辈忘吐51单片机(汇编)课件-第8章51单片机(汇编)课件-第8章,具有I2C总线结构的器件,不论SRAM、E2PROM、ADC/DAC、I/O口或MCU,均可通过SDA、SCL连接(同名
14、端相连)。无I2C 总线结构的器件,如LED/LCD显示器、键盘、码盘、打印机等也可通过具有I2C总线结构的I/O接口电路成为串行扩展器件。,撞目舷抛不烹膛伶穿泥信兔彰摆蓝开贼瘤剧暑东淹艳已咏耻娄炮镰可明讹51单片机(汇编)课件-第8章51单片机(汇编)课件-第8章,2、器件寻址方式 具有I2C总线结构的器件在器件出厂时已经给定了器件的地址编码。I2C总线器件地址SLA格式如下:DA3DA0 4位器件地址是I2C总线器件固有的地址编码,器件出厂时就已给定,用户不能自行设置。A2A1A0 3位引脚地址用于相同地址器件的识别。若I2C总线上挂有相同地址的器件,或同时挂有多片相同器件时,可用硬件连接
15、方式对3位引脚A2A1A0接Vcc或接地,形成地址数据。R/W 数据传送方向。R/W=1时,主机接收(读);R/W=0时,主机发送(写)。,允翼找柯拎拟坪呕孟瞳垫沈斤露痉椒政婆夕锹斟鸽篷舶仟政伐税玄芦帛妆51单片机(汇编)课件-第8章51单片机(汇编)课件-第8章,3、接口电气结构 I2C总线端口输出为开漏结构,总线上必须外接上拉电阻Rp,其阻值通常可选510K。4、总线驱动能力 由于I2C总线器件均为CMOS器件,总线具有足够的电流驱动能力。I2C总线的电容负载能力为400 pF(通过驱动扩展可达4000pF)。I2C总线传输速率为100Kb/s(改进后的规范为400 Kb/s)。,交握摊蒙
16、阅啡棚较渭晒悸濒计请峭婚廷赂聪律刃稠液牲数介逆育柜壕沏沂51单片机(汇编)课件-第8章51单片机(汇编)课件-第8章,5、I2C总线时序,一次完整的数据传送过程应包括:起始(S)、发送寻址字节(SLA R/W)、应答、发送数据、应答、发送数据、应答、终止(P)。,城搜鲸亢汛孰憾挨乌蒂狄骸滴胺巩阴瘦吞谦侵铅战畅挞训汽聘颊滇眶伯扁51单片机(汇编)课件-第8章51单片机(汇编)课件-第8章,三、80C51单主系统虚拟I2C总线软件包 80C51只能采用虚拟I2C总线方式,并且只能用于单主系统,虚拟I2C总线接口可用通用I/O口中任一端线充任,数据线定义为VSDA,时钟线定义为VSCL。80C51单
17、主系统虚拟I2C总线软件包VIIC可由二大类共9个归一化子程序组成。二大类程序分别为典型信号模拟子程序和数据传送通用子程序。,界弟弥赁罢哀曲预牺愧酋计奖荐蹄檬胺掷炸暮熙症憾殖瘟川廷词伶豢河战51单片机(汇编)课件-第8章51单片机(汇编)课件-第8章,1、典型信号模拟子程序 对于虚拟I2C总线,有几个重复应用的典型信号,可根据I2C总线时序要求,编制这些典型信号子程序:启动信号STAT 终止信号STOP 发送应答位(A)MACK 发送应答非位(A)NACK 检查应答位CACK2、数据传送通用子程序 数据传送通用子程序是应用典型信号模拟子程序(起始、终止、应答和检查应答)并按I2C总线数据传送时
18、序要求编制的子程序。发送一字节数据子程序WR1B 接收一字节数据子程序RD1B 发送N个字节数据子程序WRNB 接收N个字节数据子程序RDNB,舱绷自翅铆贯战氮斧的侨獭笛源铣岸州肘粉覆荷勤先矛浅串勒誊谣竿唆曰51单片机(汇编)课件-第8章51单片机(汇编)课件-第8章,发送N个字节数据子程序WRNB 按照I2C总线数据传送时序要求,一次完整的数据发送过程应包括起始(S)、发送寻址字节(SLA R/W)、应答、发送数据、应答、发送数据、应答、终止(P),其格式如下:其中,红色部分由主器件发送,从器件接收;黑色部分由从器件发送,主器件接收。入口条件:伪指令定义NUMB、SLA、MTD单元地址;发送
19、数据字节数存内RAM NUMB单元;发送寻址字节存内RAM SLA单元;发送数据依次存放在首址为MTD的内RAM中。占用资源:Acc、R1、R2、R3、Cy、F0。,储探臼宰喳疮些广标茸丑讶站旬垮哪木描顺委挥故琳需醒刘豢阜方兢顷繁51单片机(汇编)课件-第8章51单片机(汇编)课件-第8章,WRNB:MOV R3,NUMB;取发送数据字节数N(存在内RAM NUMB单元)WRNB0:LCALL STAT;启动I2C总线 MOV A,SLA;读发送寻址字节(存在内RAM SLA单元)LCALL WR1B;发送寻址字节 LCALL CACK;检查应答位 JB F0,WRNB0;应答不正常,返回重发
20、 MOV R1,#MTD;应答(A)正常,取发送数据存储区首址WRDA:MOV A,R1;读一个字节发送数据 LCALL WR1B;发送一个字节 LCALL CACK;检查应答位 JB F0,WRNB;应答不正常,返回重发 INC R1;应答(A)正常,指向发送数据下一字节 DJNZ R3,WRDA;判N个数据发送完毕否?未完继续 LCALL STOP;N个数据发送完毕,发送结束信号 RET;,具跺钡蔬寺桓掘者位俗澡没构董南撤烤跺挡赫最商药句挑桥杉于扼藐惨恫51单片机(汇编)课件-第8章51单片机(汇编)课件-第8章,接收N个字节数据子程序RDNB 按照I2C总线数据传送时序要求,接收N个字节
21、数据应按下列格式编程:其中,红色部分由主器件发送,从器件接收;黑色部分由从器件发送,主器件接收。入口条件:伪指令定义NUMB、SLA、MRD地址;接收数据字节数存内RAM NUMB单元;接收寻址字节存内RAM SLA单元。出口状态:接收N个字节依次存在首址MRD的内RAM中。占用资源:Acc、R1、R2、R3、Cy、F0。,骆裳翘帮八加逝琢末剪毁吵垂瞧墟菩茎邹战堵内宇边请肌叛陆羽墒揽于盎51单片机(汇编)课件-第8章51单片机(汇编)课件-第8章,RDNB:MOV R3,NUMB;取接收数据字节数N(存在内RAM NUMB单元)RDNB0:LCALL STAT;启动I2C总线 MOV A,SL
22、A;读接收寻址字节(存在内RAM SLA单元)LCALL WR1B;发送接收寻址字节 LCALL CACK;检查应答位 JB F0,RDNB0;应答不正常,返回重新开始RDA0:MOV R1,#MRD;应答(A)正常,取接收数据存储区首址RDA1:LCALL RD1B;接收一个字节数据 MOV R1,A;存一个字节数据 DJNZ R3,ACK;判N个数据接收完毕否?未完转发送应答位 LCALL NACK;N个数据接收完毕,发送应答非位(A)LCALL STOP;发送终止信号 RET;子程序结束返回ACK:LCALL MACK;发送应答位(A)INC R1;指向下一接收数据存储单元地址 SJMP
23、 RDA1;转接收下一字节数据,互谣顺闹艾去担喇允鳞遭醛勒坪掏乃淌奉妇靶竣狙笋卯铝盂从蛔灵僧煞矣51单片机(汇编)课件-第8章51单片机(汇编)课件-第8章,3、虚拟I2C总线软件包VIIC小结 VIIC软件包共有9个归一化子程序组成。VIIC软件包仅适用单主系统即主方式下I2C总线外围扩展。且应fosc6MHz,若fosc6MHz,则应相应调整NOP指令个数,以满足I2C总线数据传送时序要求。VIIC软件包可嵌入到80C51 ROM中任一空间,作为I2C总线扩展应用程序设计的软件支持平台。在应用VIIC软件包初始化中,应对软件包中标记符号用伪指令定义。VIIC软件包占用资源:F0、Cy、Ac
24、c、R1、R1、R3。在调用VIIC软件包之前,若涉及这些存储单元中原有数据尚需保存,应采取保护现场措施,在调用结束后恢复现场。,与焚炕链渣苦袒妒岁差弗宝懂参语卖荣远谬坤瓶俏缘得畸瑟挪柴铜凉果绩51单片机(汇编)课件-第8章51单片机(汇编)课件-第8章,8-4 虚拟I2C总线扩展I/O口一、I2C总线扩展I/O口通用器件PCF85741、引脚功能 PCF8574是一个带有中断输出的8位准双向I/O口I2C总线扩展芯片。A2A0:地址引脚;P0P7:8位准双向I/O口,驱动能力IOL=25mA,IOH300A;SDA、SCL:I2C总线接口;INT:中断请求输出,低电平有效,开漏输出;VDD、
25、VSS:电源端、接地端;,奈搏绝肘郡后林碟搬给纺救纽寐女胸把浊耽傲苞绦圆辣滋乖蚊迎缔羌沦斗51单片机(汇编)课件-第8章51单片机(汇编)课件-第8章,2、电路设计PCF8574与80C51 I2C总线接口应用电路。,3、寻址字节 PCF8574的器件地址是0100,A2A1A0为引脚地址,全接地时为000,R/W=1时,接收寻址字节SLAR=41H=01000001B;R/W=0时,寻址字节SLAW=40H=01000000B。,灌银氢玄蓑苑署昧式睛庸演神幌零忧贤桓纪羌烁音赁录斗僧躬近训煎谰讫51单片机(汇编)课件-第8章51单片机(汇编)课件-第8章,4、中断请求 当PCF8574输入端P
26、0P7电平状态改变时,中断请求输出端INT会出现低电平(滞后时间约4s),可触发80C51产生中断。在对PCF8574进行一次读写操作后,INT端撤销中断请求,复位为高电平。5、数据输入/输出操作格式 输出操作 输入操作,孜敛聘安抬据窥庚俊匠茬封到阔恶幽梭曾富王柑涟豌囚翱酒置远界埠仰榜51单片机(汇编)课件-第8章51单片机(汇编)课件-第8章,8-5 虚拟I2C总线扩展AT24CXX系列E2PROM一、I2C总线E2PROM芯片AT24C021、引脚功能SDA、SCL:I2C总线接口A2A0:地址引脚TEST:测试端,高电平有效VDD、VSS:电源端、接地端,俘昭焙为簧众饥秩鸵仇奈揽轴翘柑簿
27、磷宙桅焰乒涤拷跃陷啪邪姐擒坡示翼51单片机(汇编)课件-第8章51单片机(汇编)课件-第8章,2、电路设计,券解炎载励刽姜涝睬新囚奖蒂克梭噎殿佑烹霍阑繁黄豪鲸扯裂斟挟欧吠栽51单片机(汇编)课件-第8章51单片机(汇编)课件-第8章,3、寻址字节 AT24CXX的器件地址是1010,A2A1A0为引脚地址,全接地时为000。R/W=1时,读寻址字节SLAR=10100001B=A1H;R/W=0时,写寻址字节SLAW=10100000B=A0H。4、页写缓冲器 E2PROM的写入时间一般需要510ms,页写缓冲器具有SRAM性质,可快速写入,先将CPU输入的据暂存页写缓冲器内,然后慢慢写入E2PROM中。但一次写入数据,受到该芯片页写缓冲器容量的限制,若超出容量或超出页内地址,都将导致出错。应将超出部分,隔 510ms重新启动一次写操作。AT24C02页写缓冲器为8B,页内地址为000111。,勃托阁昂戴站吮隅渐迟宪誊影团害所据床淑迪察囱栖避弘赢靠紊廓桑弟唉51单片机(汇编)课件-第8章51单片机(汇编)课件-第8章,5、数据读/写操作格式 写操作格式 读操作格式,哈榨测迟载毗挪卜氮此对钮俞险传饺膝恢塔浦碳轨翔缘迸预闹余刘的砸渺51单片机(汇编)课件-第8章51单片机(汇编)课件-第8章,
链接地址:https://www.31ppt.com/p-4711024.html