51单片机与PC串口通信程序

发布者:雅意盎然最新更新时间:2016-05-20 来源: eefocus关键字:51单片机  PC  串口通信 手机看文章 扫描二维码
随时随地手机看文章
#include

#define    BUFFERLEGTH 10
//-----------------------------------------------------------------
void UART_init();                //串口初始化函数
void COM_send(void);             //串口发送函数
char str[20];
char j;
//-------------------------------------------------------------------
void main(void)
{
unsigned char i;
UART_init();
j=0;        //初始化串口
for(i = 0;i < 10 ;i++)
{
   COM_send();        //首先发送一次数据作为测试用

};

while(1);
}


//-------------------------------------------------------------
//--------------------------------------------------------------------------------------------------
// 函数名称: UART_init()串口初始化函数
// 函数功能: 在系统时钟为11.059MHZ时,设定串口波特率为9600bit/s
//             串口接收中断允许,发送中断禁止
//--------------------------------------------------------------------------------------------------
void UART_init()
{
                      //初始化串行口和波特率发生器
SCON =0x50;           //选择串口工作方式1,打开接收允许
TMOD =0x20;           //定时器1工作在方式2,定时器0工作在方式1
TH1 =0xfA;            //实现波特率9600(系统时钟11.0592MHZ)
PCON = 0x80;
TR1 =1;               //启动定时器T1
ET1 =0;
ES=1;                 //允许串行口中断
PS=1;                 //设计串行口中断优先级
EA =1;                //单片机中断允许
}
//------------------------------------------------------------
void COM_send(void)
{
    unsigned char point = 0;
    for(point=0;str[point]!='/0';point++)       //连续发送二十位数据                                      //把缓存区的数据都发送到串口
   {
    SBUF=str[point];
    while(!TI);
    TI=0;
//str[point]='/0';
    }

}
//--------------------------------------------------------------
//--------------------------------------------------------------------------------------------------
// 函数名称: com_interrup()串口接收中断处理函数
// 函数功能: 接收包括起始位'S'在内的十位数据到数据缓冲区
//--------------------------------------------------------------------------------------------------
void com_interrupt(void) interrupt 4 using 3
{
   unsigned char RECEIVR_buffer;
   bit flag=1;
   if(RI)                                 //处理接收中断
   {
      RI=0;                                 //清除中断标志位
      RECEIVR_buffer=SBUF;             //接收串口数据
      str[j]=SBUF;
      if (RECEIVR_buffer == '$')
      { ES=0; 
      str[j]='/0';
         SCON =0x40;     //接收不允许
         COM_send();    //发送数据
   ES=1; 
   j=0; 
   flag=0;
         SCON=0x50;     //接收允许
      }
   if(flag)
   j++;
    }
}

关键字:51单片机  PC  串口通信 引用地址:51单片机与PC串口通信程序

上一篇:单片机串口通讯RXD与TXD如何对接详解
下一篇:51单片机和PC串口异步通信

推荐阅读最新更新时间:2024-03-16 14:54

由FWl22-M构成的短距离无线数据通信系统
   摘要 利用AT89LV52单片机作控制器,实现基于RFWaves公司的射频芯片RFWl22-M的短距离无线数据通信系统;分析射频芯片RFWl22-M及其与单片机的接口芯片RFW-D100的特点;给出系统的硬件原理框图厦软件流程图。对应用于该装置的无线数据传输协议CSMA进行分析,并且在对固件的编程配置中加以实现,    关键词 无线数据通信系统 RFWl22-M RFW-D100 AT89LV52 CSMA协议   目前,短程射频通信技术是一种热门技术,已广泛应用于实际中。主要有无线局域网(WLAN)、个人区域网络(PAN)及无线短距离消费类产品(如中低速数据传输应用,有效范围在30m以内)。该通信技术的标准有ⅢEE80
[安防电子]
调查:Windows PC才该担忧
    iPad mini (见附图)上市之后,原尺寸的iPad销售量势必会受到一些冲击,但是最新调查却显示,iPad mini对原尺寸iPad的影响其实并不大,反而是Windows PC受到了更为严重的打击。 All Things D 14日报导,根据Cowen and Co.对1,225位美国成年人调查的结果,12%的受访者计画在未来18个月购买一台iPad mini,而其中有52%从未拥有过平板电脑。更有意思的是,在这些打算购买iPad mini的受访者当中,仅16.6%打算把它用来替代其他装置,而在这个族群内,29%说iPad mini会替代原尺寸iPad、13%会替代Kindle Fire,而有多达
[手机便携]
联想欲藉重组重振PC和智能手机业务
中国的联想集团有限公司(Lenovo Group Ltd., LNVGY)正在重组业务,该公司试图重新夺回全球个人电脑霸主的地位并提振其智能手机业务。 今年联想在个人电脑市场上的排名从榜首位置跌至第二,被竞争对手HP Inc. (HPQ)超过,这是四年来的首次。 十年前,联想因重振了其收购的美国个人电脑制造商国际商业机器公司(International Business Machines, IBM, 简称IBM)而备受赞誉。 在全球智能手机出货量方面,联想也从2014年底收购另一美国品牌摩托罗拉(Motorola)时的第三位下滑至第八。 自收购摩托罗拉以来,联想在香港上市的股票价格下跌了近60%。 联想困境的背后是个人电脑市场的日
[手机便携]
基于51单片机的数字音频信号源的幅度控制
1 引言 音频模拟信号电路常需要在很大范围内调节电平,而高精度电路的调节范同达100 dB以上.相当于二进制线性数字18位,同时也要求具有较高的调节步进值。使用数字信号源直接改变幅值,一般只有几dB的分辨率。市面上很多音频衰减器的衰减量、衰减量步进值、特性阻抗都是特定的。但在实际应用中,需要音频衰减器具有不同的参数;而且在一些应用中还希望衰减量能够按照需要随意设计,并且可以随时调整。针对这些需求,介绍了一种基于单片机由电阻衰减器和模拟开关组成的音频控制系统。该系统可通过单片机及上位PC机设置音频信号的衰减量,控制衰减量的增减。该系统具有适用广泛,使用方便,移植性高等特点。 2 系统总体设计 基于805lF330的音频控
[单片机]
51单片机做的数码管电子日历
电路图 及仿真文件下载: http://www.51hei.com/bbs/dpj-20404-1.html 下面是程序 源码 : #include reg52.h #define uchar unsigned char #define uint unsigned int sbit db=P2^7; char i,sec,min,h,date,month,year,flag; uchar j,k,m,n,o,p; sbit dula=P2^0; sbit wela1=P2^1; sbit wela2=P2^2; sbit key_ch=P3^5; sbit key_add=P3^6; sbit key_minus
[单片机]
<font color='red'>51单片机</font>做的数码管电子日历
被惠普全面压制 联想印度PC第一品牌也丢了
   联想 身为印度PC品牌第一名,却在第三季度遭遇了 惠普 的挑战。下面就随嵌入式小编一起来了解一下相关内容吧。   被惠普全面压制 联想印度PC第一品牌也丢了   据市场研究公司IDC发表报告称,第三季度 惠普 在印度PC市场的份额为31.1%,是第一大PC厂商, 惠普 PC出货量增长了30.2%。 联想 以24.1%的市场份额位居第二, 联想 家用PC出货量同比增长30.9%。不包括特别项目,联想PC出货量增长5.4%。   另外,戴尔市场份额为20%,位居第三。戴尔家用PC出货量环比增长226.3%,但同比仍然下跌了2.6%;商用PC出货量下跌3.5%。   印度家用PC在第三季度因为节日促销而增长。据资料显示,今年
[嵌入式]
8051单片机中断系统结构及中断控制原理
当几个中断源同时向CPU请求中断时,按所发生的实时事件的轻重缓急排队,优先处理最紧急事件的中断请求,于是单片机规定每个中断源的优先级别。 当CPU正在处理一个中断请求,又发生另一个优先级比它高的中断请求,CPU暂时中止对前一中断处理,转而去处理优先级更高的中断请求,待处理完后,再继续执行原来的中断处理程序,这样的过程称为中断嵌套,这样的中断系统称为多级中断系统。 由于外界异步事件中断CPU正在执行的程序时随机的,CPU转向去执行中断服务程序时,除了硬件会自动把断电地址,即16位PC程序计数器的值压入堆栈之外,用户还得注意保护有关工作寄存器,累加器,标志位等信息,这个过程通常称为保护现场 。以便在完成中断服务程序后,恢复原工
[单片机]
全新恩智浦PC TV解决方案为台式和笔记本电脑带来生动媒体体验
 高集成度单芯片 AV 引擎赋予电脑先进的 PC TV 观看录制功 能 中国,北京,2007年1月8日——恩智浦半导体(NXP Semiconductors,前身为飞利浦半导体)今天推出新型PC TV处理器系列中的首批两款产品SAA7164E和SAA7163E;该系列处理器是专门为台式和笔记本多媒体电脑带来全新性能和系统整合性而设计的。SAA7164E具有硬件AV压缩功能,提供双通道电视以及无线电捕获和流媒体能力,能够实现独立观看、录音及高级个人视频录像机(PVR)功能。SAA7164E是高度集成的90纳米装置,以具有空间节省效应的BGA364封装;SAA7163E是SAA7164E的单通道衍生产品,具有很好的成本效
[新品]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved