0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

单片机C语言程序设计: 单片机与 PC 通信

GReq_mcu168 来源:未知 作者:李建兵 2018-03-15 10:21 次阅读

名称:单片机与PC通信

说明:单片机可接收PC发

送的数字字符,按下单片机的

K1键后,单片机可向PC发送

字符串。在Proteus环境下完成

本实验时,需要安装Virtual

SerialPortDriver和串口调试助

手。本例缓冲100个数字字符,

缓冲满后新数字从前面开始存放(环形缓冲)。

*/

#include

#defineucharunsignedchar

#defineuintunsignedint

ucharReceive_Buffer[101];//接收缓冲

ucharBuf_Index=0;

//数码管编码

//缓冲空间索引

ucharcodeDSY_CODE[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00};

//延时

voidDelayMS(uintms)

{

uchari;

while(ms--)for(i=0;i<120;i++);

}

//主程序

voidmain()

{

uchari;

P0=0x00;

Receive_Buffer[0]=-1;

SCON=0x50;串口模式1,允许接收

TMOD=0x20;//T1工作模式2

TH1=0xfd;//波特率9600

TL1=0xfd;

PCON=0x00;波特率不倍增

EA=1;EX0=1;IT0=1;

ES=1;IP=0x01;

TR1=1;

while(1)

{

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

{//收到-1为一次显示结束

if(Receive_Buffer[i]==-1)break;

P0=DSY_CODE[Receive_Buffer[i]];

DelayMS(200);

}

DelayMS(200);

}

}

//串口接收中断函数

voidSerial_INT()interrupt4

{

ucharc;

if(RI==0)return;//关闭串口中断

ES=0;//清接收中断标志

RI=0;

c=SBUF;

if(c>='0'&&c<='9')

{//缓存新接收的每个字符,并在其后放-1为结束标志

Receive_Buffer[Buf_Index]=c-'0';

Receive_Buffer[Buf_Index+1]=-1;

Buf_Index=(Buf_Index+1)%100;

}

ES=1;

}

voidEX_INT0()interrupt0//外部中断0

{

uchar*s="这是由8051发送的字符串!rn";

uchari=0;

while(s[i]!='')

{

SBUF=s[i];

while(TI==0);

TI=0;

i++;

}

}

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    5990

    文章

    43904

    浏览量

    619604
  • 通信
    +关注

    关注

    18

    文章

    5675

    浏览量

    134118

原文标题:单片机C语言程序设计: 单片机与 PC 通信

文章出处:【微信号:mcu168,微信公众号:硬件攻城狮】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    单片机485通讯断线后问题

    大家好请教,单片机485通讯断线后,再接上单片机就不能通信了,需重启才能通信,485模块是自动收发的,程序设计是定时循环
    发表于 12-19 11:13

    请问单片机单片机之间可以用RS485/RS232进行通信吗?

    一般多见的是PC单片机之间的通信,不知道单片机单片机之间可以用RS485/RS232进行通信
    发表于 11-03 07:18

    请问单片机用的是c语言的吗?

    请问单片机用的是c语言的吗?
    发表于 11-02 06:46

    基于VB的PC机与单片机间串口通讯及程序设计

    电子发烧友网站提供《基于VB的PC机与单片机间串口通讯及程序设计.pdf》资料免费下载
    发表于 10-23 14:10 2次下载
    基于VB的<b class='flag-5'>PC</b>机与<b class='flag-5'>单片机</b>间串口通讯及<b class='flag-5'>程序设计</b>

    可以用别的语言单片机程序吗?

    可以用别的语言单片机程序
    发表于 10-20 07:35

    C语言如何写出单片机延时程序,且延时时间如何计算的?

    C语言,如何写出单片机延时程序,且延时时间如何计算的?
    发表于 10-18 08:19

    怎么用PIC单片机中的USB模块和PC进行通信

    怎么用PIC单片机中的USB模块和PC进行通信
    发表于 10-18 08:17

    51单片机C语言程序100例分享

    51单片机C语言程序例程,通过简单的程序来学习51单片机,适合入门级使用!
    发表于 10-09 07:19

    PC单片机通信

    PC 单片机通信(RS232 协议)
    发表于 10-07 06:22

    51单片机C语言入门教程

    学习单片机实在不是件易事,一来要购买高价格的编程器,仿真器,二来要学习编程语言,还有众多种类的单片机选择真是件让人头痛的事。在众多单片机中 51 架构的芯片风行很久,学习资料也相对很多
    发表于 09-28 08:01

    单片机C语言程序设计实训100例

    单片机C语言程序设计实训100例51 Proteus仿真本书基于Keil μVision程序设计平台和Proteus硬件仿真平台,精心编写了
    发表于 09-27 06:16

    单片机原理及应用详解

    详细地介绍了MCS-51单片机的硬件结构、指令系统,从应用的角度介绍了汇编语言程序设计与各种硬件接口设计、各种常用的数据运算和处理程序、接口程序
    发表于 09-25 07:02

    单片机有哪些分类?

    一条指令,但目前还未普及。AVR单片机比51单片机多了USB通信模块、SPI通信模块、I2C通信
    发表于 09-07 14:54

    单片机有前途吗?

    了。如果一开始就选择非51单片机学习,那将是“路漫漫其修远兮,你将艰难而求索!” 那学51单片机C语言还是汇编语言好?当然是
    发表于 09-06 10:59