版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、单片机及接口技术串行扩展第1页,共26页,2022年,5月20日,2点41分,星期二本章主要内容第一节 移位寄存器的串行扩展技术 (80C51串行口扩展) 1)串行口于工作方式0 2)虚拟串行扩展2)串行接口总线:I2C总线 第2页,共26页,2022年,5月20日,2点41分,星期二单片机串行扩展1. 串行口工作于方式0 串行口的四种工作方式 方式0,同步传输,8位数据传输,传输速率固定fOSC/12方式1,10位数据传输,传输速率由T1产生,可变方式2,11位数据传输,可多机通信,传输速率固定两种方式3,11位数据传输,可多机通信,传输速率同方式1 1)串行口扩展的工作原理 一个引脚用作数
2、据输入/输出另一个引脚用作时钟输出(同步)串行口工作于方式0时,RXD用作数据输入/输出;TXD用作时钟输出虚拟串行口采用1个I/O端口引脚作数据输入/输出;采用另一个I/O端口引脚作时钟输出。 第3页,共26页,2022年,5月20日,2点41分,星期二 2)80C51串行扩展的时序 单片机串行扩展RXDTXDTI发送RENRITXDRXD接收第4页,共26页,2022年,5月20日,2点41分,星期二3)串行口方式0的归一化子程序(归一化子程序即通用子程序)(1)归一化输出子程序 设工作方式0清TI取数据到寄存器A设指向数据块的指针输出数据数据块输出完毕?YES返回主程序数据块指针加1数据
3、输出完毕?YESNONOa. 流程图 单片机串行扩展第5页,共26页,2022年,5月20日,2点41分,星期二b. 归一化子程序 设用R0作数据块指针,用R2记录数据块的数据个数 设置工作方式字SCON:00H SM0SM1SM2RENTB8RB8TIRI0 000UARTNO:MOV R0,#MTD ;R0指向第一个数据 MOV SCON,#00H ;设串行口工作于方式0SOUT :MOV A,R0 ;取一个数据到A寄存器 MOV SBUF,A ;输出数据 JNB TI,$ ;等待数据输出完毕 CLR TI ;关串行口输出中断标志 INC R0 ;数据块指针加1 DJNZ R2,SOUT
4、;判断数据块是否输出完毕,若没 ;有输出完,继续下一个数据的输出 RET ;若数据块输出完毕,返回主程序程序:注意:在主程序中需设置#MTD和R2 单片机串行扩展第6页,共26页,2022年,5月20日,2点41分,星期二(2)归一化输入子程序UARTNI 思考:流程图 SM0SM1SM2RENTB8RB8TIRI0 0010方式字SCON:10H子程序UARTNI :MOV R0,#MTD MOV SCON,#10HSIN :CLR RI JNB RI,$ MOV A,SBUF MOV R0,A INC R0 DJNZ R2,SIN RET(3)应用界面(主程序) a. 串行发送:MTD E
5、QU 数据块首地址 ;如MTD EQU 60HMOV R2,#N ;发送字节数送R2LCALL UARTNO ;调用归一化 ;串行口发送子程序b.串行接受:与串行发送相同 单片机串行扩展第7页,共26页,2022年,5月20日,2点41分,星期二2. 用I/O口虚拟的串行输入/输出归一化子程序流程图 取数据到A寄存器A右移一位将ACC.0从VRXD引脚输出设指向数据块的指针从VTXD引脚输出一个0,再输出一个1数据块输出完毕?YES返回主程序数据块指针加18位数据输出完毕?YESNONO(1) 归一化输出子程序单片机串行扩展第8页,共26页,2022年,5月20日,2点41分,星期二程序VUA
6、RTNO:MOV R0,#MTD ;设指向数据块的指针VSOUT :MOV R3,#8 ;设置位数为8 MOV A,R0 ;取一个数到ABITOUT :MOV C,ACC.0 MOV VRXD,C ;将数据的最低位送到输出I/O引脚 CLR VTXD SETB VTXD ;产生时钟 RR A ;A右移一位,下一位送入ACC.0 DJNZ R3,BITOUT;若没有送够8位,继续输送下一位 INC R0 ;指针指向下一个数据 DJNZ R2,SOUT ;若数据块没输出完,继续输出 RET主程序需要设置:MTD、VRXD、VTXD、R2 第9页,共26页,2022年,5月20日,2点41分,星期二
7、应用界面 MTD EQU 数据块首地址 ;如MTD EQU 60HVRXD EQU 数据引脚 ;如VRXD EQU P1.0VTXD EQU 时钟引脚 ;如VTXD EQU P1.1MOV R2,#数据字节数 ;如MOV R2,#10LCALL VUARTNO ;调用虚拟串行口归一化子程序(2)归一化输入子程序VUARTNI:MOV R0,#MTDVSIN :MOV R3,#8BITIN :CLR VTXD SETB VTXD MOV C,VRXD RRC A DJNZ R3,BITIN MOV R0,A INC R0 DJNZ R2,VSIN RET a.子程序b. 应用界面:与虚拟串行输出
8、归一化子程序类似 单片机串行扩展第10页,共26页,2022年,5月20日,2点41分,星期二5)串行口扩展应用 (1)输出移位寄存器74HC164 74HC164QA QB QC QD QE QF QG QHD7 D6 D5 D4 D3 D2 D1 D0ABGNDCLRCLR(平)VCC串行输入,并行输出。按D0D7的次序逐个输入位。A、B:串行数据输入端(2)多个74HC164输出扩展 74HC164(1)QA QB QC QD QE QF QG QHD7 D6 D5 D4 D3 D2 D1 D0ABGNDCLKCLR(平)VCC 74HC164(2)QA QB QC QD QE QF Q
9、G QHD7 D6 D5 D4 D3 D2 D1 D0ABGNDCLKCLR(平)VCC80C51RXD/VRXDTXD/VTXDVCC单片机串行扩展第11页,共26页,2022年,5月20日,2点41分,星期二由于数据位按照QHQA的次序输入74HC164,所以数据(8位)按照74HC164(n)74HC164(1)的次序输入,即第一个数据输入到最后一个74HC164,第二个数据输入到倒数第二个74HC164,最后一个数据输入到第一个74HC164。 假如用4个74HC164,数据块首地址为片内RAM 60H串行口方式0(移位寄存器方式)扩展: MTD EQU 60HMOV R2, #4LC
10、ALL UARTNO虚拟串行口扩展:设用P1.0输出数据;P1.1输出时钟 MTD EQU 60HVRXD EQU P1.0VTXD EQU P1.1MOV R2, #4LCALL VUARTNO 单片机串行扩展第12页,共26页,2022年,5月20日,2点41分,星期二(3)移位输入寄存器74HC165及多个74HC165输入扩展 74HC165(1)H G F E D C B AD0 D1 D2 D3 D4 D5 D6 D7QHGNDCLRSH/LD(平) 74HC165(2)H G F E D C B AD0 D1 D2 D3 D4 D5 D6 D7QHGNDCLRSH/LD(平)VC
11、C80C51RXD/VRXDTXD/VTXDVCCSERVCCQHSLQH是串行数据输出端,SER是级联时的串行数据输入端,AH为并行数据输入端,SH/LD(平)为预置控制端,低电平时,并行数据端D0D7置入74HC165内部寄存器,高电平时,可进行串行移位操作 单片机串行扩展第13页,共26页,2022年,5月20日,2点41分,星期二a. 用串行口工作方式0扩展 MRD EQU 40H SL EQU P1.0 UARN:CLR SL ;74HC165外部数据并行输入内部寄存器 SETB SL ;74HC164移位操作,74HC165(n)的数据串行 ;输入到74HC165(n-1) MOV
12、 R2,#N ;设置接收的字节数 LCALL UARTNI ;调归一化子程序 b. 虚拟方式(与串行口方式0类似,但要设VRXD和VTXD): MRD EQU 40H VRXD EQU P1.5 VTXD EQU P1.4 SL EQU P1.1WARN:CLR SL SETB SL MOV R2,#N LCALL VUARTNI 单片机串行扩展第14页,共26页,2022年,5月20日,2点41分,星期二(4)通过并行输出口扩展LED显示器 74HC164(1)QA QB QC QD QE QF QG QHABGNDCLRCLR(平)VCC 74HC164(2)QA QB QC QD QE
13、QF QG QHABGNDCLRCLR(平)VCC80C51RXD/VRXDTXD/VTXDVCCdp g f e d c b aCOML8dp g f e d c b aCOML7+5V假设要显示bUAA 首先,求段码:共阳极 b的段码:cdefg有效 ab dp无效 1000 0011B=83H U的段码:bcdef有效,a g dp无效 1100 0001B=C1H A的段码:abcefg有效,d dp无效 1000 1000=88H 的段码:abcdef有效,g dp无效 1100 0000=C0H单片机串行扩展第15页,共26页,2022年,5月20日,2点41分,星期二其次,编写指
14、令 MTD EQU 30H ;定义MTD=30HBUAA: MOV R1,#MTD MOV R1,#C0H INC R1 MOV R1,#C0H INC R1 MOV R1,#C0H INC R1 MOV R1,#C0H;将4个段码送入数据块 INC R1 MOV R1,#88H INC R1 MOV R1,#88H ;将2个A段码送入数据块 INC R1 MOV R1,#C1H ;将U段码送入数据块 INC R1 MOV R1,#83H ;将b段码送入数据块 MOV R2,#8 ;设置输出数据字节数 LCALL UARTNO ;调归一化子程序单片机串行扩展第16页,共26页,2022年,5月
15、20日,2点41分,星期二第二节 I2C总线的串行扩展技术 1. I2C总线(Inter Integrated Circuit BUS)概述 80C51VSDAVSCLE2PROMSDASCLADC/DACSDASCLVDD其它I2C外围接口SDASCLSDASCLI2C总线外围扩展示意图1) 二总线:数据线SDA,时钟线SCL 总线上挂接单片机、外围器件(如I/O口,日历时钟,ADC,DAC,存储器等)和外设接口(如键盘、显示器、打印机等)。I2C总线接口电路均为漏极开路,所以总线上必须有上拉电阻 单片机串行扩展第17页,共26页,2022年,5月20日,2点41分,星期二2. 典型I2C总
16、线时序 起始传送7个外围器件或接口的地址位,以及1个读写控制位对方应答传送数据和应答终止 4.7us4.0usSDA/VSDASCL/VSCL1) 起始 数据线SDA和SCL低电平,SDA转高电平数据线SDA保持高电平至少4.7us当数据线SDA变低电平之后,时钟SCL继续保持高电平4.0us2) 终止 4.7us4.0usSDA/VSDASCL/VSCL时钟线SCL和数据线SDA低电平,SCL转高电平SCL保持高电平至少4.0us之后,数据线SDA由低电平变为高电平 SDA保持高电平至少4.7us之后,转低电平。 单片机串行扩展第18页,共26页,2022年,5月20日,2点41分,星期二3
17、) 应答单片机每发送完一个字节数据(8位),对方会从SDA/VSDA发送一个应答位,低电平为有效应答信号。 4) 数据传输按照从高位到低位的传输次序(与80C51串行口扩展方式相反) 4.0us输出0SDA/VSDASCL/VSCLa. 输出0 SDA/VSDA变低电平SCL/VSCL变高电平,并保持4.0us以上时间,SCL/VSCL变低电平SDA/VSDA变高电平 b. 输出1:与输出0同理可得 4.0us输出1SDA/VSDASCL/VSCL单片机串行扩展第19页,共26页,2022年,5月20日,2点41分,星期二5) I2C总线上一次完整的数据传送过程 3. I2C总线模拟子程序 设
18、单片机时钟频率为6MHz,则一个机器周期的时间为12/6*106=2(us) 1) 启动子程序 VSDA变高电平VSCL变高电平延时(使VSDA保持高电平4.7us)VSDA变低电平延时(使VSCL继续保持高电平4us)VSCL变低电平返回主程序4.7us4.0usSDA/VSDASCL/VSCL流程图 单片机串行扩展第20页,共26页,2022年,5月20日,2点41分,星期二子程序STA: SETB VSDA ;VSDA高电平 SETB VSCL ;VSCL高电平 NOP NOP ;延时,查教材得,NOP的执行需要1个机器周期, ;因此两条NOP指令共需2个机器周期,耗时2*2us=4us
19、 CLR VSDA ;VSDA变低电平 NOP NOP ;延时4us CLR VSCL ;VSCL变低电平 RET单片机串行扩展第21页,共26页,2022年,5月20日,2点41分,星期二2) 终止子程序 4.7us4.0usSDA/VSDASCL/VSCL流程图 (与启动类似,略) 子程序:STOP: CLR VSDA SETB VSCL NOP NOP SETB VSDA NOP NOP CLR VSDA CLR VSCL RET 单片机串行扩展第22页,共26页,2022年,5月20日,2点41分,星期二3) 应答位检查子程序CACK 有效的应答标志:0 SDA/VSDASCL/VSC
20、L应答查询VSDAVSDA为0?YES设置标志位F0NO标志位F0清零VSDA置1VSCL变高电平VSCL变低电平返回主程序流程图 子程序CACK: SETB VSDA SETB VSCL CLR F0 MOV C,VSDA JNC CEND ;查询数据信号是否 ;为0,若为0,说明 ;有;正常应答信号 ;,标志位F0=0 SETB F0 ;若无正常应答信号 ;,标志位F0=1CEND: CLR VSCL RET 单片机串行扩展第23页,共26页,2022年,5月20日,2点41分,星期二4) 发送一个字节数据子程序WRBYT 一个字节8位,从高位到低位依次发送设数据已存放于A中 VSDA清零C为1?YESVSCL清零NOVSDA置1位数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年江苏财会职业学院高职单招职业适应性测试备考试题及答案详细解析
- 2026广西贵港市电子商务促进中心招募就业见习人员2人参考考试试题及答案解析
- 2026年贵州电子信息职业技术学院单招综合素质考试参考题库含详细答案解析
- 2026年广州番禺职业技术学院单招综合素质笔试模拟试题含详细答案解析
- 2026年无锡职业技术学院高职单招职业适应性测试模拟试题及答案详细解析
- 2026年福建莆田市特殊教育学校春季编外合同教师公开招聘2人参考考试题库及答案解析
- 2026年青岛黄海学院单招综合素质笔试模拟试题含详细答案解析
- 2026年内蒙古机电职业技术学院单招综合素质考试参考题库含详细答案解析
- 2026年青海建筑职业技术学院单招综合素质考试备考题库含详细答案解析
- 2026年齐鲁医药学院单招综合素质考试参考题库含详细答案解析
- 2025山西云时代技术有限公司校园招聘160人笔试参考题库附带答案详解
- 拼多多公司绩效管理制度
- 贸易公司货权管理制度
- 生鲜采购年度工作总结
- 造价咨询项目经理责任制度
- 离婚协议书正规打印电子版(2025年版)
- FZ∕T 81008-2021 茄克衫行业标准
- 地学歌诀集成
- 幼儿园大班社会课件:《我是中国娃》
- 村庄搬迁可行性报告
- 储物间管理制度
评论
0/150
提交评论