导航:首页 > 操作系统 > 使用单片机向pc机发送字符串

使用单片机向pc机发送字符串

发布时间:2022-08-22 17:44:54

A. 51单片机与PC串口通信程序,求指导 ! 具体要求如下:

功能如下:
1、程序烧进去,串口接收显示一个菜单!《如图》A、B、……分别代表一定的功能
例如:A项,代表修改ds1302的时间的数组
2、按照菜单的提示,如:发送A就进入了修改ds1302的时间函数,串口接收界面显
示 A,像图片那种,并显示修改ds1302的操作方法,如从串口发送界面发送
0162115347就表示10年10月16日21时15分34秒星期7,
3、正如第二所说,马上输入1010162115347,就成功的修改了ds1302相关数据,
并返回change success!到串口界面!
4、设置一个功能就是返回主菜单界面。然后又可以就行第二、三步的操作!
5、通过串口,读取单片机里面相关的数据,如时钟的数据
6、说明:可以不要ds1320相关的程序,可以用发光二极管亮来代表修改功能!

B. C51单片机发送字符串程序怎么写

1、打开C51程序书写软件,新建工程,在弹出的对话框编辑工程名并保存到要保存的地方。

C. 用单片机串口向电脑串口调试助手发送一个字符串,用C语言编程

uchar idata SystemBuf[10]; //用于接收
uchar Rx=0; //接收数据条数
uchar code AT[]="YES,IT IS";
void UART_init (void)
{
TMOD=0x20; //用定时器1
PCON=0x00; //波特率不加倍
SCON=0x50; //串行方式1
TH1=0xFD; //9600
TL1=0xFD; //
EA=1; //
ES=1; //
TR1=1;
}
void sendchar(uchar ch) //串口送一个字节
{
SBUF=ch;
while(TI==0);
TI=0;
}
void sendstring(uchar *p) //送字符串
{

while(*p)
{
sendchar(*p);
p++;
}
}
///////
void receive(void) interrupt 4 using 1 //中断
{

if(RI)
{

if(Rx<10) //这儿最多收10个字节
{
SystemBuf[Rx]=SBUF;
Rx++;
}

RI=0;
}
}
///
void main()
{
uchar i;
UART_init();
while(1)
{
if(SystemBuf=='S')
{
sendstring(AT);
for(i=0;i<10;i++) //接收清0
{
SystemBuf[i]=0;
}
Rx=0;
}
}
}
//////////如有小错误,自己调下,手打的,大小写可能不正常,这是标准程序,直接用,

D. 关于单片机向PC发送字符串问题

我想问的问题是(集中在串口中断那里)
1)当发送的时候,单片机不是一次发送一帧字符么,为什么还要用 i 变量逐个去发送?
--你认为什么是一帧字符?
--并不是所有的全部字符。
--每次中断,仅仅发送一个字符。

2)另外,当Tcv =‘W',判断if后, SBUF='W’,i=1,那么是不是不断执行if语句?
--这一句,就是判断一次。执行完了,就结束了本函数。

E. 单片机如何向pc发送数据

给你一个例程,供参考:
//实例:单片机向PC发送数据
#include<stc12c5a60s2.h>
//包含单片机寄存器的头文件
unsigned
char
code
String[
]={"welcome
to
china!\r\n"};
/**************************************************************
函数功能:延时若干毫秒
**************************************************************/
void
delayms(unsigned
int
ms)
{
unsigned
int
i;
while(ms--)
for(i=0;i<600;i++);
}
/*****************************************************
函数功能:向PC发送一个字节数据
***************************************************/
void
SendByte(unsigned
char
dat)
{
SBUF=dat;
while(TI==0);
TI=0;
}
/*****************************************************
函数功能:向PC发字符串
***************************************************/
void
SendStr(unsigned
char
*str)
//第2种发送字符串函数
{
while(*str!='\0')
{
SendByte(*str);
str++;
delayms(150);
//延时150ms
}
}
/*****************************************************
函数功能:串口初始化
***************************************************/
void
UartInit(void)
{
TMOD=0x20;
//TMOD=0010
0000B,定时器T1工作于方式2(波特率发生器)
SCON=0x40;
//SCON=0100
0000B,串口工作方式1(18N1)
PCON=0x00;
//PCON=0000
0000B,SMOD=0,波特率不加倍
TH1=0xfd;
//波特率9600
TL1=0xfd;
//波特率9600
TR1=1;
//启动定时器T1
}
/*****************************************************
函数功能:主函数
***************************************************/
void
main(void)
{
UartInit();
while(1)
{
SendStr("How
are
you!\r\n");
SendStr(String);
//发送数据
delayms(150);
//150ms发送一次数据
}
}

F. C51单片机如何从PC机串口接收字符串

1、单片机串口不管从哪
接收数据
都是遵循串口协议的。字符串就是一个挨一个的ASKII码,中间没有加任何东西。2、不发字符串结束标志。3、回车符可以发送,但具体发不发送看你程序了。

G. 单片机从PC端接受字符

PC端发送数据的时候,每次发送一个字符串即可。

单片机就可以接收到这个字符串。

和 都是字符串里面的特殊字符。发与不发看应用场合。

通过串行通信模块的初始化,完成双方字符帧格式的统一、波特率的一致。最后就是对SBUF和RI标志的判读,协议的解析了。

(7)使用单片机向pc机发送字符串扩展阅读:

字符是可使用多种不同字符方案或代码页来表示的抽象实体。例如,UnicodeUTF-16编码将字符表示为 16 位整数序列,而 UnicodeUTF-8编码则将相同的字符表示为 8 位字节序列。微软的公共语言运行库使用 Unicode UTF-16(Unicode 转换格式,16 位编码形式)表示字符。

阅读全文

与使用单片机向pc机发送字符串相关的资料

热点内容
方舟服务器怎么玩才好玩 浏览:557
单片机的部件 浏览:621
编译原理遍的过程 浏览:252
python读取json字符串 浏览:62
ubuntu1404安装php 浏览:628
lua能编译吗 浏览:116
思仙怎么看服务器 浏览:658
php微信图片防盗链 浏览:798
安卓1怎么读音 浏览:291
农业app怎么开通快捷支付 浏览:910
pythonredisdict 浏览:385
如何攻击别人网赌服务器 浏览:880
隐私与应用加密的图案密码 浏览:38
陈情令王一博解压 浏览:39
c编译器使用说明 浏览:707
郑州前端程序员私活有风险吗 浏览:14
小型螺杆机压缩机 浏览:520
成人解压最好的方法 浏览:52
最小制冷压缩机 浏览:492
xampp支持python 浏览:371