收藏 分享(赏)

用C51实现带奇偶校验的串行通信.doc

上传人:11xg27ws 文档编号:12289964 上传时间:2021-12-10 格式:DOC 页数:1 大小:21.50KB
下载 相关 举报
用C51实现带奇偶校验的串行通信.doc_第1页
第1页 / 共1页
亲,该文档总共1页,全部预览完了,如果喜欢就下载吧!
资源描述

1、用实现带奇偶校验的串行通信系列单片机的串行口有种工作方式。方式为移位寄存器方式,用于外接同步设备或扩展口,不算起始位和停止位。方式为位异步串行通讯,方式和方式为位异步串行通讯。方式和方式中的第位是可程控位,即可由软件来确定第位是“”还是“”。也就是说,系列单片机不像某些专用串行芯片,如、等那样,可根据初始化条件自动加入串行通讯中的奇偶校验位发送出去,而是需要软件参与产生奇偶校验位。用软件产生奇偶校验位是根据系列单片机的状态寄存器的定义:当累加器中为的个数为奇数时,否则,来编程的。假定待发送的数据已放入累加器中,可用如下汇编语言来实现(串行口工作于方式): ,; 把奇偶标志送给进位位 ,; 把进

2、位位送给 ,; 把待发送的数据放入串行口用语言来编写时,因累加器对编程者不透明,则会带来问题。例如,假定待发送的数据已放入变量中,若要从串行口发送出去,想当然地认为使用如下语句即可:; *语句* *语句*实际上,条语句并不能可靠地产生奇偶校验位。因为在语句前面的语句所对应的汇编语言中的累加器中为的个数是不确定的,而语句又是不可分割的。语句和对应的汇编语言程序为: ,; 语句 ,; 语句 ,; 语句 ,; 语句可以看出,只有将语句、放到语句和语句之间时,才能正确地产生奇偶校验位。为了达到这一目的,可引入全局变量 相应的语言程序如下:; * 语句* ; * 语句*; *语句 *; *语句*需要强调的是:在串行中断服务程序中,一定要设置为全局变量,若设置为局部变量,则可能引起意想不到的后果。语句和语句尽量不要缩写成: ; * 语句*而把全局变量省掉。这主要是为了防止编译程序在某种可能的编译优化条件下将语句也省略掉。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报