预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共26页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第十章单片机的串行扩展技术本章主要内容单 片 机 串 行 扩 展2)80C51串行扩展的时序3)串行口方式0的归一化子程序 (归一化子程序即广泛适用的子程序)b.归一化子程序(2)归一化输入子程序UARTNI2.用I/O口虚拟的串行输入/输出归一化子程序程序 VUARTNO:MOVR0,#MTD;设指向数据块的指针 VSOUT:MOVR3,#8;设置位数为8 MOVA,@R0;取一个数到A BITOUT:MOVC,ACC.0 MOVVRXD,C;将数据的最低位送到输出I/O引脚 CLRVTXD SETBVTXD;产生时钟 RRA;A右移一位,下一位送入ACC.0 DJNZR3,BITOUT;若没有送够8位,继续输送下一位 INCR0;指针指向下一个数据 DJNZR2,SOUT;若数据块没输出完,继续输出 RET应用界面5)串行口扩展应用由于数据位按照QH~QA的次序输入74HC164,所以数据(8位)按照74HC164(n)~74HC164(1)的次序输入,即第一个数据输入到最后一个74HC164,第二个数据输入到倒数第二个74HC164,…,最后一个数据输入到第一个74HC164。(3)移位输入寄存器74HC165及多个74HC165输入扩展a.用串行口工作方式0扩展 MRDEQU40H SLEQUP1.0 UARN:CLRSL;74HC165外部数据并行输入内部寄存器 SETBSL;74HC164移位操作,74HC165(n)的数据串行 ;输入到74HC165(n-1) MOVR2,#N;设置接收的字节数 LCALLUARTNI;调归一化子程序(4)通过并行输出口扩展LED显示器其次,编写指令第二节I2C总线的串行扩展技术2.典型I2C总线时序3)应答 单片机每发送完一个字节数据(8位),对方会从SDA/VSDA发送一个应答位,低电平为有效应答信号。5)I2C总线上一次完整的数据传送过程子程序 STA:SETBVSDA;VSDA高电平 SETBVSCL;VSCL高电平 NOP NOP;延时,查教材得,NOP的执行需要1个机器周期, ;因此两条NOP指令共需2个机器周期,耗时2*2us=4us CLRVSDA;VSDA变低电平 NOP NOP;延时>4us CLRVSCL;VSCL变低电平 RET2)终止子程序3)应答位检查子程序CACK4)发送一个字节数据子程序WRBYT5)N个字节发送子程序本章小结