51单片机串口工作方式0和1ppt课件

上传人:资****亨 文档编号:132553188 上传时间:2020-05-17 格式:PPT 页数:35 大小:488KB
返回 下载 相关 举报
51单片机串口工作方式0和1ppt课件_第1页
第1页 / 共35页
51单片机串口工作方式0和1ppt课件_第2页
第2页 / 共35页
51单片机串口工作方式0和1ppt课件_第3页
第3页 / 共35页
51单片机串口工作方式0和1ppt课件_第4页
第4页 / 共35页
51单片机串口工作方式0和1ppt课件_第5页
第5页 / 共35页
点击查看更多>>
资源描述

《51单片机串口工作方式0和1ppt课件》由会员分享,可在线阅读,更多相关《51单片机串口工作方式0和1ppt课件(35页珍藏版)》请在金锄头文库上搜索。

1、 串口工作方式5 1方式0同步移位寄存器方式 比特率固定为fosc 12 常用于外接移位寄存器 以扩展并行I O口 SM2位必须为0 1 方式0发送 当CPU执行写入发送缓冲器SBUF的指令时 串行口即把SBUF中的8位数据以fosc 12的固定比特率从RXD引脚串行输出 低位在先 TXD引脚输出同步移位脉冲 发送完8位数据置 1 中断标志位TI 图5 1 CPU响应中断后 CLRTI 请求中断 写入SBUF后自动开始发送 5 2 2用74LS164扩展并行输出口74LS164 8位串入并出移位寄存器 图是利用74LS164扩展二个8位并行输出口的接口电路 图5 2 1 5 2用AT89C51

2、的串行口扩展并行口 RXD TXD 74HC595 8位串入并出移位寄存器 带锁存及三态输出功能 相当于74LS164 273 244 清0 串行口工作于方式0 同步移位寄存器方式发送 fosc 12 每当新数据写入SBUF 即把SBUF中的8位数据以串行移出 2 方式0接收向串口的SCON写入控制字 置为方式0 并置 1 REN位 同时RI 0 时 串行口即开始接收数据 RXD为数据输入端 TXD为移位脉冲信号输出端 也以fosc 12的固定比特率 当收到8位数据时置 1 RI 表示一帧数据接收完 时序如下 图5 2 CPU响应中断后 CLRRI RI 0 时 其中REN 1 请求中断 写入

3、SBUF后自动开始发送 5 2 1用74LS165扩展并行输入口 图9 21 P 159 160 74LS165 8位并入串出移位寄存器 图9 22是利用74LS164扩展二个8位并行输入口的接口电路 并行锁存 串行口工作于方式0 同步移位寄存器方式接收 fosc 12 每当向SCON写入控制字为方式0且REN 1 即串行移入8位数据到SBUF 5 2 2方式1 8位异步收发 比特率可变 由定时器控制 SM0 SM1 01方式1一帧数据为10位 1个起始位 0 8个数据位 1个停止位 1 先发送或接收最低位 帧格式如图7 7 方式1比特率 2SMOD 32 定时器T1的溢出率SMOD为PCON

4、寄存器的最高位的值 0或1 图7 7 1 方式1发送2 方式1接收 图7 8 图7 9 P 105 请求中断 请求中断 可写下一个要发送的数据 可从SBUF读取新接收的数据 写入SBUF后自动开始发送 5 3 1比特率的制定方法方式0 方式2的比特率是固定的 方式1 方式3比特率由定时器T1的溢出率来确定 5 3 2定时器T1产生比特率的计算 1 方式0波特率 时钟频率fosc 1 12 不受SMOD位的值的影响 若fosc 12MHz 比特率为fosc 12即1Mb s 2 方式2波特率 2SMOD 64 fosc若fosc 12MHz SMOD 0比特率 187 5kb s SMOD 1比

5、特率 375kb s 3 方式1或方式3时 比特率为 比特率 2SMOD 32 T1的溢出率 fosc 12 T1计数次数 2SMOD 32 实际设定比特率时 T1常设置为方式2定时 自动装初值 这种方式不仅操作方便 也可避免因软件重装初值而带来的定时误差 P 109 P 110 时钟振荡频率为6MHz或12MHz时 产生的比特率偏差较大 故用到串口通信时通常选用11 0592MHZ晶体振荡器 12 32 12 计次 16 9 6kbit s实际10 4166MHz102FDH1 2kbit s实际1 3026MHz002F4H 12 计次 16 12 计次 32 1200bps 9600bp

6、s 计1次 计3次 计24次 计3次 计6次 计12次 比特率 比特率 MCS 51单片机串行接口的硬件 MCS 51单片机串行接口的控制 MCS 51单片机串行接口工作方式 P3 0位的第二功能 收端RXDP3 1位的第二功能 发端TXD 寄存器SCON PCON SBUF寄存器IE IP 方式0方式2 方式1方式3 串行口的结构 有两个数据缓冲寄存器SBUF 一个输入移位寄存器 一个串行控制寄存器SCON和一个特殊功能寄存器PCON等组成 8位SBUF是全双工串行接口寄存器 它是特殊功能寄存器 地址为99H 不可位寻址 串行输出时为发送数据缓冲器 发送寄存器只写不读 数据从发送端TXD P

7、3 1 输出 串行输入时为接收数据缓冲器 接收寄存器只读不写 数据从接收端RXD P3 0 输入 由指令确定是对发送寄存器或接收寄存器作用 SM0 SM1 串行接口工作方式定义位 SM0 SM1 00 方式0 8位同步移位寄存器SM0 SM1 01 方式1 10位异步接收发送SM0 SM1 10 方式2 11位异步接收发送SM0 SM1 11 方式3 11位异步接收发送 7 1 1串行口控制寄存器SCON 注意 方式0的特点 方式2 方式3的差异 SM2 多机通信控制位 方式2和3 SM2 0 无多机通信SM2 1 允许多机通信 串行口控制寄存器SCON REN 串行口接收数据控制位 REN

8、1 允许串行口接收数据REN 0 禁止串行口接收数据 由软件置位或清除 7 1 2特殊功能寄存器PCON 串行数据传送速率控制寄存器 PCON SMOD 0 定义波特率不变 SMOD 1 定义波特率加倍 注 PCON寄存器的地址为87H 仅b7位有用 不可位寻址 地址 87H TDL 等待方式位 PD 掉电方式 GF1 GF2通用标志位 ANLPCON 7FH 对SMOD位清零 ORLPCON 80H 对SMOD位置位 串行口的4种工作方式 SM0SM1 串行口工作方式选择位 可变 5 3 1方式0 移位寄存器输入 输出方式 非串行通信用方式 扩展并行I O RXD TXD线的作用 用并入串出

9、移位寄存器扩展并行输入口用串入并出移位寄存器扩展并行输出口 RXD 串 并 并 串数据传送线TXD 同步时钟线 同步时钟为fosc 12 固定波特率 注 为应用串行接口扩展并行接口的方式 串行口为同步移位寄存器方式 方式0用于扩展并行I O口 串 并方式 扩展并行输出口 电路图 RXDTXD DATACLK 功能线 RXD 接移位寄存器的数据输入端TXD 接移位寄存器的同步时钟端 8031 串入并出移位寄存器 注 注意信号方向 方式0用于扩展并行I O口 并 串方式 扩展输入口 电路图 功能线 RXDTXD DATACLK 8031 并入串出移位寄存器 RXD 接移位寄存器的数据输出端TXD

10、接移位寄存器的同步时钟端 注 注意信号方向 方式0用于扩展并行I O口 例1 用8031的串口外接1个串入并出移位寄存器芯片CD4094扩展为8位并行输出口 并口接8个LED 并循环轮流显示 电路图 P1 0 DATACLK TBS CD4094 8031 TXD RXD 方式0用于扩展并行I O口 编程 ORG0000HLJMPMAINORG0023HLJMPSBRMAIN MOVSCON 00H 方式0 TI 0SETBEASETBESMOVA 80H 初值 左边LED亮CLRP1 0 CD4094输出并口关闭MOVSBUF A 数据传出 产生中断LOOP SJMP 方式0用于扩展并行I

11、O口 编程 续 SBR SETBP1 0 CD4094输出并口打开 LED亮ACALLDELAYCLRTI 手动清中断标志RRA 循环位移 80H 40H 20H 10H 08H CLRP1 0 CD4094输出并口关闭MOVSBUF A 数据传出 产生中断RETIEND 注 延时子程序DELAY未给出 方式0用于扩展并行I O口 例2 用8031的串口外接1个并入串出移位寄存器芯片CD4014扩展为8位并行输入口 并口接8个开关量输入 开关K闭合时有效 电路图 P S CD4014 8031 P1 0 K RXD TXD DATA CLK P1 1 方式0用于扩展并行I O口 编程 STAR

12、T JBP1 0 START 若K未合上则循环查询SETBP1 1 CD4014并行数据输入有效MOVSCON 00X1XXX0B 方式0 REN 1允许接收 RI 0CLRP1 1 CD4014串行数据输出有效LOOP JNBRI LOOP 若RI 0数据未收完 若RI 1数据已收完CLRRI 手动清RI 准备下次传送数据MOVA SBUF 方式1 10位异步接收 发送 波特率可变 方式1的数位 1位起始位 值08位数据位 为有用信息 低位在前 可含1位校验位 1位停止位 值1 异步传送时的速率设置 速率设置的方法 设置定时器T1的初值常用波特率 用T1作为波特率发生器 B 2SMOD 32

13、 T1溢出率 串行口为8位异步通信接口 方式1 续 异步发送时的工作过程 发送条件 清SCON中发送中断标志TI 0 发送指令 MOVSBUF A 注 需发送的8位字节数据送串行数据缓冲器SBUF后将启动异步发送开始 起始位0 停止位1在执行发送指令时自动加入 发送传输线 TXD GND 发送10位数据结束 发送中断标志TI 1 注 若需继续发送 置TI 0 送数据到SBUF 方式1 续 异步接收时的工作过程 接收条件 清SCON中接收中断标志RI 0置SCON中接收控制标志REN 1 接收传输线 RXD GND 接收同步位 接收传输线RXD有从1到0的信号 接收数据 9位数据送数据接收器 8

14、位字节数据送串行数据缓冲器SBUF1位停止位送入SCON中的RB8 1 接收10位数据结束 接收中断标志RI 1 注 若需继续接收 置RI 0 方式1用于串行通信 例3 8031串行口双工方式收发ASCII字符 最高1位用来作奇偶校验位 采用奇校验方式 波特率为1200 工作方式 数据区 主频选用 方式1 7位ASCII码 1位校验码 发送数据区首址20H 接收数据区首址40H T1设置 fosc 6MHz 方式2 初值为F4H 查表10 2 方式1用于串行通信 主程序 2个单片机均有 ORG0000HLJMPMAINORG0023HLJMPSBR1MOVTMOD 20H 定时器T1设置为方式

15、2MOVTL1 0F4HMOVTH1 0F4H 装定时器T1的初值SETBTR1 启动定时器T1 方式1用于串行通信 主程序 2个单片机均有 MOVSCON 50H 串口工作方式1 REN 1MOVR0 20H 发数据区首址MOVR1 40H 收数据区首址SETBET1 开T1中断SETBES 开串口中断SETBEA 开总中断ACALLSOUT 调用发送子程序SJMP 方式1用于串行通信 串行口中断服务程序 SBR1 JNBRI SENDACALLSIN 若RI 1 调用接收子程序SJMPNEXTSEND ACALLSOUT 若RI 0 调用发送子程序NEXT RETI 方式1用于串行通信 发

16、送子程序 SOUT MOVA R0MOVC PCPLCMOVACC 7 CINCR0MOVSBUF ACLR TIRET 方式1用于串行通信 接收子程序 SIN MOVA SBUFMOVC PCPLCANLA 7FHMOV R1 AINCR1CLRRIRET 7 3单片机串行口的应用 7 3 1串行口扩展显示器 例7 1 用8位串入并出移位寄存器74HC164扩展显示器 功能 把数据从显示缓冲区送到数码管 入口 将要显示的数放在以DIS0为首的8个单元中 出口 把预置的数输出以更新原有的显示 MOVR2 08H 显示8个数码管MOVR0 DIS7 显示缓冲区未地址送入R0DL0 MOVA R0 取要显示数作查表偏移量MOVDPTR TAB 指向字形表首MOVCA A DPTR 查表得字形码MOVSBUF A 发送显示DL1 JNBT1 DL1 等待发送完一帧CLRT1 清中断标志 准备继续发送DECR0 更新显示单元DJNZR2 DL0 重复显示所有数码管TAB DB0C0H 0F9H 0A4H 0B0H 99H 0 1 2 3 4 DB92H 82H 0F8H 80H 90H 5 6

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号