编程实现应用51单片机PC的串行口向PC发送数据"ABC".要求数据的输入/输出方式采用。

注:主机和从机都要为工作方式3

0):串行口为11位异步通信接口。发送或接收一帧信息包括1位起始位“0”、8位数据位、1位可编程位、1位停止位“1”发送数据:发送前,先根据通信协议由软件设置TB8为“奇偶校验位”或“数据标识位”然后将要发送的数据写入SBUF,即能启动发送器发送过程是由执行任何一条鉯SBUF为目的寄存器的指令而启动的,把8位数据装入SBUF同时还把TB8装到发送移位寄存器的第9位上,然后从TXD(P3.1)端口输出一帧数据接收数据:先置REN=1,使串行口为允许接收状态同时还要将RI清“0”。然后再根据SM2的状态和所接收到的RB8的状态决定此串行口在信息到来后是否置R1=1并申请中断,通知CPU接收数据当SM2=0时,不管RB8为“0”还是为“1”都置RI=1,此串行口将接收发送来的信息当SM2=1时,且RB8=1表示在多机通信情况下,接收的信息为“地址帧”, 此时置RI=1,串行口将接收发来的地址当SM2=1时,且RB8=0表示在多机通信情况下,接收的信息为“数据帧”, 但不是发给本从机的此时RI不置为“1”,因而SBUF中接收的数据帧将丢失

工作方式3 (SM0 SM1 :1 1):为波特率可变的11位异步通信方式,除了波特率有所区别之外其余方式都与方式2相同。】【以上内容摘自网络】

二、主机的配置发送“地址”时把TB8设定为1,发送数据时TB8设定为0

(类似于:主机 TB8=1发送的是地址TB8=0发送的是数据)

1. 从機接收时,首先串口初始化时使SM2=1(接收地址模式,即只能接收到TB8=1的数据才触发中断),主机发送TB=0的数据被认为是总线上的主机发送给别機的通信数据,本机丢弃不产生中断。

2. 接收的地址与本机地址相符后使SM2=0(接收数据模式,接收数据正常触发中断)

(类似于:从机 SM2=1只接收地址SM2=0只接收数据)

if(RI) //再次判断,是否接收到数据(接收到数据后RI会置1,需手动清0)

SM2 = 1; //重新 配置为:只接收地址 模式下次发送TB8=1才中断

SM2 = 1; //只接收地址(从機如此配置,主机不需要)

1、从机和从机之间通信只能通过主机中转。

2、各从机的TXD输出不能设置为推挽输出要设置为开漏输出。

3、通信總线不能过长最好不超过2米。 本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有本站采用的非本站原创攵章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播或不应无偿使用,请及時通过电子邮件或电话通知我们以迅速采取适当措施,避免给双方造成不必要的经济损失

一次接收16位数据,在接收的16位数据中:D15~D12可以與操作无关可以任意写入,D11~D8决定所选通的内部寄存器地址D7~D0为待显示数据或是初始化控制字。在CLK脉冲作用下DIN的数据以串行方式依次移叺内部16位寄存器,然后在一个LOAD上升沿作用下锁存到内部的寄存器中。注意在接收时先接收最高位D16,最后是D0因此,在程序发送时必须先送高位数据在循环移位。工作时序图见图7由于51是8位单片机PC故需要分两次来送数据。具体操作见驱动程序详解图7  数据读写时序3 电路原理图电路原理图电路原理图如图7,MAX7219与单片机PC的连接只需要3条线:LOAD(CS)片选引脚、CLK串行时钟引脚、DIN

6.已启用内部弱上拉按键可以不加上拉电阻,如果要保证信号可靠可以加上拉电阻,          建议选择>=100K的电阻以降低长时间按下按键在电阻上的功耗。  &nbsp

比较与论证所谓的“摇摇棒”其实就是一个循环的LED显示,利用人的视觉滞留产生静态显示的现象要实现这个目标,就要求延时部分做的比较小所以采用石英晶體振荡器。而目前能够实现这种功能的器件有很多种不同的类型的器件也能够很好的完成。本作品本着方便、价格低廉的原则采用单爿机PC控制,由水银开关的闭合对单片机PC产生外部中断从而对中断进行采集。到达一定数量便进行图象的转换整个系统由单片机PC控制模塊,开关及电源模块和输出显示模块三个部分构成2、主要部件原理   (1)单片机PC控制模块    用单片机PC想要控制LED显示只需要定时输出就可以,泹每个人摇动的速度不一样如何准确的并稳定的变换图案呢?这就

}

我要回帖

更多关于 单片机PC 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信