当前位置:首页 » 编程软件 » 串口通信编程

串口通信编程

发布时间: 2022-01-26 07:12:22

㈠ 串口通信程序

根据你的要求,写了几个简单的子函数。 #include<reg52.h>
#define N 6 //方便修改密码的长度
sbit key=P1^0; //确定发送密码,发送完后将密码清0
unsigned char i,a[N]; //定义数组来存放密码 void serial_init()//串口初始化
{
TMOD=0x20;//设置定时器1为工作方式2
TH1=0xfd; //波特率为9600,标准波特率
TL1=0xfd;
TR1=1; //启动定时器1
PCON&=0x7f; //SMOD=0,这里不需要倍频
SCON=0x40; //设置串口为工作方式1
} void serial_send() //串口发送函数
{
for(i=0;i<N;i++)
{
TI=0; //串口发送完毕标志位清0
SBUF=a[i]; //发送数组中存放的密码字符
while(!TI); //等待发送完毕
}
} void keyscan() //键盘扫描
{
if(!key) //用独立键盘简单举例,按下为低电平
{
delay(10);//延时10毫秒,去抖。delay()函数省略
if(!key)
{ while(!key); //松手监测
serial_send(); //发送密码
for(i=0;i<N;i++) //发送完毕清0
a[i]=0;
}
}
} void main(){ serial_send() ; while(1) { keyscan() ; }}大概就是这个思路,你可以把密码键盘的值都写在keyscan()函数里,可以加删除键(密码输错可以退格),最好加个显示,密码虽然不能显示出来,但还是要显示输入的个数吧。还有个要提醒你的,就是上位机软件的编写,下位机发送的格式要与上位机接收的格式对应(字符或者数字)。

㈡ 串口通信编程c语言入门

#include<conio.h>

#include<stdio.h>

#include<bios.h>

#define true 1

main( )

{

char ch;int i;

char a[50];

clrscr();

for(i=0;i<50;i++)

{

a[i]='a'+i;

}

i=0;

outportb(0x3fb,0x80);

outportb(0x3f8,0);

outportb(0x3f9,0x06);

outportb(0x3fb,0x03);

outportb(0x3fc,0x03);

outportb(0x3f8,a[i]);

while (true)

{

ch=inportb(0x3fd);

if(ch&0x01)

{

ch=inportb(0x3f8);

if(ch=='\r')

{printf("jikejlm");

outportb(0x3f8,a[i+1]);i++;

}

else

{ putch(ch);putch('\n');}

}

if(bioskey(1))

{

ch=bioskey(0)&0x0ff;

if(ch=='\r')

{

outportb(0x3f8,ch);

putch(ch);

}

}

}

}

㈢ RS232串口通信的程序怎么写啊

c或vb中有mscomm控件很好用,我常用,以下是我用delphi写的
with mscomm1 do begin

commport:=1; //端口号
settings:=9600,n,8,1; //端口设置
InputMode:=0; //设置或返回Input属性取回的数据的类型 0:文本 1:二进制
RThreshold:=1; //每次接收到字符即产生OnComm事件
SThreshold:=0; //传输缓冲区允许最小字符数
InBufferCount:=0; //清空接收缓冲区内容
InputLen:=0; //为0时 Input一次读取整个缓冲区内容
DTREnable:=true; //数据终端准备好
RTSEnable:=true; //发送请求
end;

mscomm1.Output:=edit1.text;//发送

str:=mscomm1.input; //接收

㈣ 51单片机串口通信c语言编程

#include <REG52.H>
#define uchar unsigned char
#define uint unsigned int

sbit ring=P3^7;
sbit CASE1=P2^0;
sbit CASE2=P2^1;
sbit CASE3=P2^2;
sbit CASE4=P2^3;

uchar se=0,re=0;
uchar temp=0;

void wait(uint cnt)
{
while(--cnt);
}

//串口发送程序
void send(uchar se)
{
SBUF=se; //发送数据
while(TI == 0);
TI = 0;
}
//串口接收程序
uchar receive(void)
{
re=SBUF; //接收数据
while(RI==0);
RI=0;
return re;
}
//串口初始化
void sinti(void)
{
SCON = 0x50;
TMOD |= 0x20;
TH1 = 0xFD;
TR1 = 1;
EA = 1;
ES = 1;
}
void delay(int cnt)
{
while(--cnt);
}

//主程序
int main (void)
{
int i;
sinti(); //串口初始化程序
ring=1;
while(1)
{
while (1)
{
if(CASE1==0)
{
send('a');
ring=0;
break;
}
if(CASE2==0)
{
send('b');
ring=0;
break;
}
if(CASE3==0)
{
send('c');
ring=0;
break;
}
if(CASE4==0)
{
send('d');
ring=0;
break;
}
}
if(ring==0)
{
wait(60000);
ring=1;
}
for(i=0;i<10000;i++);
}
}
//串口中断程序
void UART_SER (void) interrupt 4 //串行中断服务程序
{

if(RI) //判断是接收中断产生
{
RI=0; //标志位清零
temp=SBUF;
}
if(TI) //如果是发送标志位,清零
TI=0;
}

㈤ RS232串口通信程序(VC++实现)

visual
c++_turbo
c串口通信编程实践

㈥ 关于串口通信编程的疑问

上位机以PC,下位机以单片机为例,两者在进行通信时一般用串口通信,而数据通过串口时是以16进制来传送的,为了发送、接收处理方便,建议通过函数做一下处理,使发送的数据为16进制,这样,通过串口接收到的数据也是相同的16进制,方便查看。
如果想让下位机做某事,则需要上位机给下位机发送指令,也就是数据帧,这个要根据协议来写,比如移动GSM、联通GSM协议,里边都有数据帧的格式以及具体定义。

补充:这个协议不是说串口通信协议,那个协议是根据用途或要求来采用的,比如说,要用单片机做一个联通GSM协议的数据通信,那么数据帧的格式必须是X开头,X结尾的,有固定的格式。再比如移动的,数据帧格式有7E开头7E结尾的,也有!开头!结尾的,如果你的数据帧格式不正确,将无法识别而不能做出相关的动作。
你如果只是自己弄着玩,数据帧可以自己定义,但如果要做项目,最好根据要求协议来编写。

㈦ 怎样编写单片机的串口通信的程序,一般的步骤是怎么样

编写串口通讯程序步骤为:

1、设置波特率

2、设置串口工作方式

3、收发数据。

比如:

main()
{
unsignedchardat;
TMOD=0x20;
TH1=0xfd;
TL1=0xfd;
TR1=1;
SCON=0x50;
while(1)
{
while(RI==0);
RI=0;
dat=SBUF;
SBUF=~dat;
while(TI==0)
TI=0;
}
}

㈧ KEIL编程 串口通信程序

如果使用51系列单片机如STC89C52,它用的是串行通信方式的在线烧写功能,和单片机里面编程的串行通信无关,是硬件本身的功能,你连接串口的两根线和共地线,用STC-ISP 4.8,选择单片机型号与程序位置,关闭单片机开发板,点击程序下载后再上电就可以完成烧写。通常可采用MAX232,台式机后面的串口线或USB+PL2303这两种形式,这个功能AT89C52或是AVR系列都是不具备的。

㈨ c++ 编写串口通信程序

c++ 编写串口通信程序

推荐 看书
Visual C++_Turbo C串口通信编程实践

㈩ vb串口通信程序实例

我也是自己摸索开发出来的每一款VBtoCOM通讯,有具体的思路如下:

给你推荐一个工具“com串口测试工具 ComTone V1.0 中文绿色版”

1、打开你的噪音计的测试软件,调整好串口号、通讯频率等等,我用温度计举例说明。

热点内容
社保邮政卡初始密码多少 发布:2024-12-28 03:44:16 浏览:158
阴阳师脚本免费 发布:2024-12-28 03:39:50 浏览:23
会务源码 发布:2024-12-28 03:27:11 浏览:190
如何直接用密保手机找回密码 发布:2024-12-28 03:17:11 浏览:577
电脑向服务器传文件的工具 发布:2024-12-28 03:05:17 浏览:783
编程抢手机 发布:2024-12-28 02:59:44 浏览:443
存储器占用多少字节 发布:2024-12-28 02:56:39 浏览:190
魔兽和联盟哪个对电脑配置要求高 发布:2024-12-28 02:43:26 浏览:81
屏保视频怎么设置密码 发布:2024-12-28 02:33:12 浏览:77
movies文件夹 发布:2024-12-28 02:33:07 浏览:789