您现在的位置: 主页 > MCU > 单片机应用 > 51单片机输出输入接口扩展程序设计 -
本文所属标签:
为本文创立个标签吧:

51单片机输出输入接口扩展程序设计 -

来源: 网络用户发布,如有版权联系网管删除 2018-09-08 

[导读]
通信协议: 第1字节,MSB为1,为第1字节标志,第2字节,MSB为0,为非第一字节标志,其余类推……,最后一个字节为前几个字节后7位的异或校验和。 测试方法:可以将串口调试助手的发送框写上 95 10 2

 

本文引用地址: http://www.21ic.com/app/mcu/201804/765117.htm

通信协议: 第1字节,MSB为1,为第1字节标志,第2字节,MSB为0,为非第一字节标志,其余类推……,最后一个字节为前几个字节后7位的异或校验和。

测试方法:可以将串口调试助手的发送框写上 95 10 20 25,并选上16进制发送,接收框选上16进制显示,如果每发送一次就接收到95 10 20 25,说明测试成功。

 

这是一个单片机C51串口接收(中断)和发送例程,可以用来测试51单片机的中断接收和查询发送,发送没有必要用中断,因为程序的开销是一样的

#include

#include

#define INBUF_LEN 4 //数据长度

unsigned char inbuf1[INBUF_LEN];

unsigned char checksum,count3;

bit read_flag= 0 ;

void init_serialcomm( void )

{

SCON = 0x50 ; //SCON: serail mode 1, 8-bitUART, enable ucvr

TMOD |= 0x20 ; //TMOD: timer 1, mode 2, 8-bit reload

PCON |= 0x80 ; //SMOD=1;

TH1 = 0xF4 ; //Baud:4800 fosc=11.0592MHz

IE |= 0x90 ; //Enable Serial Interrupt

TR1 = 1 ; // timer 1 run

// TI=1;

}

//向串口发送一个字符

void send_char_com( unsigned char ch)

{

SBUF=ch;

while (TI== 0 );

TI= 0 ;

}

//向串口发送一个字符串,strlen为该字符串长度

void send_string_com( unsigned char *str, unsigned int strlen)

{

unsigned int k= 0 ;

do

{

send_char_com(*(str + k));

k++;

} while (k < strlen);

}

//串口接收中断函数

 

 



              查看评论 回复



嵌入式交流网主页 > MCU > 单片机应用 > 51单片机输出输入接口扩展程序设计 -
 

"51单片机输出输入接口扩展程序设计 -"的相关文章

网站地图

围观()