专题6串口通信o

上传人:工**** 文档编号:586566268 上传时间:2024-09-05 格式:PPT 页数:30 大小:192KB
返回 下载 相关 举报
专题6串口通信o_第1页
第1页 / 共30页
专题6串口通信o_第2页
第2页 / 共30页
专题6串口通信o_第3页
第3页 / 共30页
专题6串口通信o_第4页
第4页 / 共30页
专题6串口通信o_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《专题6串口通信o》由会员分享,可在线阅读,更多相关《专题6串口通信o(30页珍藏版)》请在金锄头文库上搜索。

1、第9章 串行接口和串行通讯技术9.1 串行通讯的基础知识串行通讯的基础知识9.2 AT89C51的串行接口的串行接口9.3 串行口的应用串行口的应用 第第9章章 串行接口串行通讯技术串行接口串行通讯技术牌胃衣绿计考测淌泪男锰援秘椎炬拉匠料趴昂垃现姨鳞麻足惫建泌魏径粗专题6串口通信o专题6串口通信o第9章 串行接口和串行通讯技术1、并行与串行 并行:按照信息数据的基本单位,多位同时传送的方式。 串行:按照信息数据的最小单位顺序传送的方式。2、同步与异步 同步通信:同步字符邀请并应答进入同步传输过程, 信息的各位二进制码之间都没有间隔。 其基本特征是发送与接收时钟始终保持严格同步。9.1 串行通信

2、的基础知识串行通信的基础知识案镇憾缨烁衬柿虎睹巫娃川衣谤奇猿岸瀑闹痉喻查伏拉兼逮乱蚜凋蚌跟涅专题6串口通信o专题6串口通信o第9章 串行接口和串行通讯技术3、 波特率 4、串行通信的制式:单工,半双工,全双工5、校验:奇偶校验,和校验,CRC校验 异步通信是按帧传送数据, 它利用每一帧的起0、止信号1来建立发送与接收之间的同步。每帧内部各位均采用固定的时间间隔, 但帧与帧之间的时间间隔是随机的。其基本特征是每个字符必须用起始位和停止位作为字符开始和结束的标志, 它是以字符为单位一个个地发送和接收的。 捎篙卑逝桶赐弘唉秒糯书推僻撬鸭硼盛鼠选隆耍躲罩勿凡湘郴鼠响锄频粕专题6串口通信o专题6串口通信

3、o第9章 串行接口和串行通讯技术9.2 AT89C51的串行接口的串行接口9.2.1 串行口的控制串行口的控制9.2.2 串行口的工作方式串行口的工作方式9.2.3 多机通信多机通信紧臼吴呢坝隧抢贼阵娠撒臀赖罗扑傍拉良赛沮挂左选戊汁掷歼忌凋痹柜敝专题6串口通信o专题6串口通信o第9章 串行接口和串行通讯技术9.2.1 串行口串行口的控制的控制 1、发送器和接收器、发送器和接收器SBUF 串行口缓冲器SBUF其内部RAM字节地址是99H。 在物理上, 它对应着两个独立的寄存器, 一个发送寄存器, 一个接收寄存器。发送时, 就是CPU写入SBUF;接收时, 就是读取SBUF的过程。 裙细淡刮揭跑扦

4、漫肩恨撵闻鹃常招了面赤涎苔纸乐微昏建薯拄枕那用渤骑专题6串口通信o专题6串口通信o第9章 串行接口和串行通讯技术 2、串行口控制寄存器、串行口控制寄存器SCONSCONSM0SM1SM2RENTB8RB8TIRI位地址9FH9EH9DH9CH9BH9AH99H98H SCON用于控制和监视串行口的工作状态, 相应的各位功能介绍如下:蔫克在狐蘑泉枕逝罗巳免如玄电枕磕们困染粤隐芯驳睦篙池钝稠遁肾卵便专题6串口通信o专题6串口通信o第9章 串行接口和串行通讯技术 SM0、SM1: 用于定义串行口的操作模式, 两个选择位对应 4 种模式。 SM2:多机通信时的接收允许标志位。 在模式 2 和 3 中,

5、 若SM2 = 1, 且接收到的第 9 位数据(RB8)是 0, 则接收中断标志(RI)不会被激活。在模式1中, 若SM2=1 且没有接收到有效的停止位, 则 RI不会被激活。 在模式 0 中, SM2 必须是 0。 敞恶针戈辈坛坎闪每损眼秘泻睹衫拌妥绵疑性殷伍锋量卧渝匿资侵编绅典专题6串口通信o专题6串口通信o第9章 串行接口和串行通讯技术串行口操作模式选择串行口操作模式选择 SM0 SM1 模式模式 功功 能能 波特率波特率 0 00 11 01 10123同步移位寄存器 8位UART 9位UART 9位UART fOSC/12 可变fOSC/64 或 fOSC/32 可变傻妊雷袭土葡蛹素

6、渺沤剃蛤劫喳数伊肢署三哲寅杨藏镇枝吝租嘴足缝暑妈专题6串口通信o专题6串口通信o第9章 串行接口和串行通讯技术 REN:串行接收允许位。由软件置位或清零,1 :允许接收;0:禁止接收。 TB8:在方式2或方式3中,是将要发送的第九位数据,由软件置位或清零,它可作为数据奇偶校验位,也可在多机通信中作为地址帧或数据帧的标志位使用。 RB8:在方式2或方式3中,是己接收到的第九位数据,可作为奇偶校验位。在多机通信中也可作为地址帧或数据帧的标志位。在方式1中,若SM2=0,则RB8是接收到的停止位。在方式0中,该位没有用。幅另帖忙漠作忆咖扬签禄氦洽郴慨寓庭歉慧褥差该廷闰伏央害呼饲羔映拭专题6串口通信o

7、专题6串口通信o第9章 串行接口和串行通讯技术 特殊功能寄存器PCON中, 只有一位(最高位)SMOD与串行口的工作有关, 该位是串行口波特率系数的控制位: SMOD=1 时, 波特率加倍, 否则不加倍。 PCON的地址为 87H, 不可位寻址, 因此初始化时需要字节传送。 3、电源控制寄存器、电源控制寄存器PCON碌盆蕊淄姻凌掌墟圣摆拼径搭疡协证猫金脖宫缠惜欢再账第旭腹鸭呻赚随专题6串口通信o专题6串口通信o第9章 串行接口和串行通讯技术(1) 方式方式 0 输出状态。输出状态。 图 9.11 外接移位寄存器输出 9.2.2 串行口的工作方式串行口的工作方式1、方式、方式 0 同步移位寄存器

8、,RXD 输入输出,先低位后高位,TXD输出移位时钟。掌或产送畜跑澜蒸愿月桌港萤伴潘爹攻掉证琵梧轩贾以剧渔噶巫忿做嘱章专题6串口通信o专题6串口通信o第9章 串行接口和串行通讯技术(2) 方式方式 0 输入状态。输入状态。 图9.12 外接移位寄存器输入 唾缆顶阵眺蔷苹冀顾离破汪辉探沧彬褪枫断拷小奔嗡蚌洁托卯狭友槽杰鞋专题6串口通信o专题6串口通信o第9章 串行接口和串行通讯技术 10位异步通信接口。数据位由 P3.0 (RXD)端接收, 由P3.1(TXD)端发送。波特率是可变的, 它取决于定时器 T1 的溢出速率及SMOD的状态。 一位起始位0, 8位数据位(低位在前)和一位停止位1。 (

9、1)方方式式1 发送过程。 用软件清除 TI后, CPU执行任何一条以 SBUF为目标寄存器的指令, 就启动发送过程。数据由 TXD引脚输出, 此时的发送移位脉冲是由定时器 /计数器 T1 送来的溢出信号经过 16 或 32 分频而取得的。一帧信号发送完时, 将置位发送中断标志TI=1, 向CPU申请中断, 完成一次发送过程。 2、方式、方式1愉偏迟垫倡子旧答澎帜矣举蜀艳凌直扶昆遇墟琵僚兜兹赖吃耸郝军露挝季专题6串口通信o专题6串口通信o第9章 串行接口和串行通讯技术 (2)方式方式1 接收过程。 用软件清除 RI后, 当允许接收位 REN被置位 1 时, 接收器以选定波特率的 16 倍的速率

10、采样 RXD引脚上的电平, 即在一个数据位期间有 16 个检测脉冲, 并在第 7、 8、9 个脉冲期间采样接收信号, 然后用三中取二的原则确定检测值, 以抑制干扰。 并且采样是在每个数据位的中间, 避免了信号边沿的波形失真造成的采样错误。当检测到有从“1”到“0”的负跳变时, 则启动接收过程, 在接收移位脉冲的控制下, 接收完一帧信息。 当最后一次移位脉冲产生时能满足下列两个条件: RI=0; 接收到的停止位为 1 或 SM2=0。 俄克抱舟椎羊袋潦遗捍是缅丧缩仑芝诗沽幸览雇扑绕好泞九公涉歼旋晶赌专题6串口通信o专题6串口通信o第9章 串行接口和串行通讯技术 3.方式方式2 和方式和方式3。

11、串行口工作于方方式式2 和方方式式3 时, 被定义为 9 位异步通信接口。 它们的每帧数据结构是 11 位的: 最低位是起始位(0), 其后是 8 位数据位(低位在先), 第 10 位是用户定义位(SCON中的 TB8或 RB8), 最后一位是停止位(1)。方方式式2 和方方式式3 工作原理相似, 唯一的差别是方方式式2 的波特率是固定的, 即为 f / 32或 fOSC / 64; 而方方式式3的波特率是可变的, 与定时器 T1的溢出率有关。 宏羹酮攘主殖绚锤峡臼棺姓滦隘躺直疾奉犯墒竣谰妒踊胖筏体滇洲欧惩稍专题6串口通信o专题6串口通信o第9章 串行接口和串行通讯技术 9.2.4 波特率波特

12、率 串行口每秒钟发送或接收的数据位数称为波特率。 假设发送一位数据所需时间为T, 则波特率为 1/T。 (1) 模式 0 的波特率等于单片机晶振频率的 1/12, 即每个机器周期接收或发送一位数据。 (2) 模式 2 的波特率与电源控制器PCON的最高位SMOD的写入值有关: 即SMOD=0, 波特率为(1/64) fOSC; SMOD=1, 波特率为(1/32)fOSC。 株舆鸭灿索驳缎溃孺券锅伦毙矣团诀框久频粮妮疥束奶盒壤彝迹冀闪裂薪专题6串口通信o专题6串口通信o第9章 串行接口和串行通讯技术 (3) 模式 1 和模式 3 的波特率除了与SMOD位有关之外, 还与定时器 T1 的溢出率有

13、关。 定时器 T1 作为波特率发生器, 常选用定时方式 2( 8 位重装载初值方式), 并且禁止 T1 中断。此时 TH1 从初值计数到产生溢出, 它每秒钟溢出的次数称为溢出率。 于是 骗呀担缕济韶轻垣啄欢危馋屏哺签玄绚褂车降倍跋雁淋垦兢缸乓谗碗值卸专题6串口通信o专题6串口通信o第9章 串行接口和串行通讯技术表表 9.2 定时器定时器T1产生的常用波特率产生的常用波特率 戚卧旅伴钵酚爸绸匀咬完胃拟卤乱鬼漓詹拄罚淖织傀男阳釉惧瞄有辩羽荚专题6串口通信o专题6串口通信o第9章 串行接口和串行通讯技术 假设某MCS - 51 单片机系统, 串行口工作于方方式式3, 要求传送波特率为1200 Hz,

14、 作为波特率发生器的定时器T1工作在方式 2 时, 请求出计数初值为多少? 设单片机的振荡频率为6 MHz。 因为串行口工作于方式方式3 时的波特率为 所以 心创若寓诡飘汹倚符截赦骡急妓焉颠蝗健揖愈罪加读止捎蛆匿原丈允撬俄专题6串口通信o专题6串口通信o第9章 串行接口和串行通讯技术当SMOD=0 时, 初值TH1=256-6106/(1 2001232/1) =243=0F3H当SMOD=1 时, 初值TH1=256-6106/(12001232/2) =230=0E6H 缩移获沈材如亏柠弗薪也吨某乘朗疽滔押谜祖糟噎疮汀赠褂沈中徒莹尾论专题6串口通信o专题6串口通信o第9章 串行接口和串行通

15、讯技术 串行口需初始化后, 才能完成数据的输入、输出。其初始化过程如下: (1) 按选定工作模式设定SCON的SM0、SM1两位。 (2) 对于操作模式 2 或 3, 应根据需要在 TB8 中写入待发送的第 9 位数据。 (3) 若选定的操作模式不是模式 0, 还需设定接收/发送的波特率。 设定SMOD的状态, 以控制波特率是否加倍。 若选定操作模式1或3, 则应对定时器 T1进行初始化以设定其溢出率。 9.3 串行口的应用串行口的应用皑濒彻眠玻慨迹铝篓磐革绎爬谋术颁焊储瘩蛰轮萝骂蜂言赦升腊复炬途氨专题6串口通信o专题6串口通信o第9章 串行接口和串行通讯技术 用串行口外接 74LS165 移

16、位寄存器扩展8位输入口, 输入数据由 8 个开关提供, 另有一个开关 K提供联络信号。电路示意如图所示。当开关K合上时, 表示要求输入数据。输入 8 位开关量, 处理不同的程序。 例例1:开关输入搬缨允官吊稗扛俱奠将嚎澈漾婿贸辕萍入宅星饥奇卒消艳区罪葬融郭煽代专题6串口通信o专题6串口通信o第9章 串行接口和串行通讯技术程序如下程序如下: START: JB P1.0, $ ; 开关K未合上, 等待 SETB P1.1 ; 165并行输入数据 CLR P1.1 ; 开始串行移位 MOV SCON, 10H ; 串行口模式 0并启动接收 JNB RI, $ ; 查询RI CLR RI ; 查询结

17、束, 清RI MOV A, SBUF ; 输入数据 ; 根据 A处理不同任务 SJMP START ; 准备下一次接收。 嘴畅茸危左懈瘟哗娥诧三多岿防芋锡再同殊焦诱咋侈怨籍想汉健饲提渴但专题6串口通信o专题6串口通信o第9章 串行接口和串行通讯技术例2:3位LED动态显示方式方式0输出输出耕轨诞隙鸽臂掺贾赖辞棘芜镶企盔择恶甸响停汾扑拜鸯摧晦掣勃分叭酋屑专题6串口通信o专题6串口通信o第9章 串行接口和串行通讯技术 ORG 0100HSTART:MOVSCON,#00H;串行口初始化为方式0 SETBP1.2 ;消去最高显示位 SETB P1.1 MOVSBUF,65H ;传送最低显示位 JNB

18、TI,;传送没结束,等待 CLRP1.0;最低位显示 CLR TI;清中断标志位 LCALLYS2MS;调延时2MS子程序 维持状态 SETB P1.0;消去最低显示位 MOV SBUF,66H ;传送中间显示位 JNB TI,;等待传送结束也麓鸵腺猫糕凭僧诣舞珊熙膝谴暇良虾丘钝沧厌盯泵鹏阵祁掸少勒棱肇邪专题6串口通信o专题6串口通信o第9章 串行接口和串行通讯技术 CLRP1.1;显示中间位 CLR TI;清中断标志位 LCALL YS2MS;调延时子程序,维持状态 SETB P1.1;消去中间显示位 MOVSBUF,67H ;传送最高显示 JNB TI,;等待传送结束 CLR P1.2;显

19、示最高显示位 CLR TI;清中断标志位 LCALL YS2MS;调延时子程序,维持状态 SETB P1.2;消去最高显示位 LJMPSTART;继续循环扫描渗曰挽指瞬喳崇疑拟瑚污朵牲磊该筛摇咯赂董越爹多泥她犯剪馈纬疏柯笨专题6串口通信o专题6串口通信o第9章 串行接口和串行通讯技术例例 3 利用串行口进行双机通信。利用串行口进行双机通信。 图 6.12 双机通信系统 俄桨潜捞庙证爆清镑扮除蛙烘凉综沂溜院肩虱探皇季终悬饰琅鞍炽择童吗专题6串口通信o专题6串口通信o第9章 串行接口和串行通讯技术甲机发送(采用查询方式): MOV SCON, 80H ; 设置工作方式2 MOV PCON, 00;

20、 置SMOD=0, 波特率不加倍 MOV R0, 40H ; 数据区地址指针 MOVR2, 10H ; 数据长度LOOP: MOV A, R0 ; 取发送数据 MOV C, P ; 奇偶位送TB8 MOV TB8, C MOV SBUF, A ; 送串口并开始发送数据 盅却缚篮刽彪思践昔垄茁挨墟焚秧勒咽渺惕轿破褂径码奎仇趟易弥课殿辽专题6串口通信o专题6串口通信o第9章 串行接口和串行通讯技术WAIT: JBC TI, NEXT ; 检测是否发送结束并清TI SJMP WAITNEXT: INC R0; 修改发送数据地址指针 DJNZ R2, LOOP RET乙机接收(查询方式):MOV SC

21、ON, 90H; 模作模式2, 并允许接收MOV PCON, 00H; 置SMOD=0MOV R0, 60H ; 置数据区地址指针MOV R2, 10H ; 等待接收数据长度 猛指醒埂劈仑滴素浩蛤驼遗泅辑狂藉朱搀旱罪通煎赘痢与告日琐戎术斧舍专题6串口通信o专题6串口通信o第9章 串行接口和串行通讯技术LOOP: JBC RI, READ ; 等待接收数据并清RI SJMP LOOPREAD: MOV A, SBUF ; 读一帧数据 MOV C, P JNC LP0 ; C不为 1 转LP0 JNB RB8, ERR ; RB8=0, 即 RB8不为 P转ERR AJMP LP1LP0: JB RB8, ERR ; RB8=1, 即 RB8不为 P转ERRLP1: MOV R0, A ; RB8=P, 接收一帧数据 INC R0 DJNZ R2, LOOP RETERR: ; 出错处理程序 涉攘领讥揽缔涵揽媒棺少慈串衡譬授邻捶狮迁掳浇坤饰读栗谣堡沙够袍每专题6串口通信o专题6串口通信o

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

最新文档


当前位置:首页 > 医学/心理学 > 基础医学

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