1 等待把键盘输入的数据以字符串的方式保存到一个字符串变量中(也可扒巧以保存到一个字符数组)
2 用TXD发送出去 用RXD接收(当对方接到后返回的)信息
3 确认已发好后 如果没有其他任务 就可以清除这个字符串变量(或字符数组的内容)
4 等待键盘输入(返回第1步)
其中 用RXD接收信息时 可以加入判断超时和重发的异常处理子程序让整个程序更完整些 程序写的过程中可以联系我 一起学习下 我也会自己写写试中昌试的
程序。在发送过程中,当执野闷行一条将数据写入发送缓冲器SBUF(99H)的指令时,串行口把SBUF中8位数据以fosc/l2的波特率从RXD(P3.0)端输出,发送完毕置中断标志TI=1。写SBUF指令在S6P1处产生一个正脉冲,在下一个机器周期的S6P2处,数据的最低位输出到RXD(P3.0)脚上再在下一个机器周期的S3、S4和S5输出移位时钟为低电平时,在S6及下一个机器周期的Sl和S2为高电平,就这样将8位数据由低位至高位一位一位顺序通过RXD线输出。并在TXD脚上输出fosc/12的移位时钟。在“写SBUF”有效后的第10个机器周期的SlPl将发送中断标志TI置位。
接收时,用软件置REN=1(同时,RI=0),即开始接收。当使SCON中的REN=1(RI=0)时,产生一个正的脉冲,在下一个机器周期的S3P1~S5P2,从TXD(P3.1)脚上输出低电平的移位时钟,在此机器周期的S5P2对P3.0脚采样.并在本机器周期的S6P2通过串行口内的输入移位寄存器将采样值移位接收。在同一个机器周期的S6P1到下一个机器周期的S2P2,输出移位时钟为高电平。于是,将数据字节从低位至高位消脊纳接收下来并装入SBUF。在启动接收过程(即写SCON,清拿没RI位),将SCON中的RI清0之后的第l0个机器周期的SlPl将RI置位。这一帧数据接收完毕,可进行下一帧接收
RXD、TXD是Receive Data ,Transmit Data 的意思。 RXD 为接收数据的引脚,TXD 为发送数据的引纳昌脚。
虚升 RXD是差茄老P3.0,TXD是P3.1。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)