c51串口发送数据程序

发布者:花钱123最新更新时间:2016-11-23 来源: eefocus关键字:c51  串口  发送数据 手机看文章 扫描二维码
随时随地手机看文章

#include

//-----------------------------------------------------------------
void UART_init();                //串口初始化函数
void COM_send(void);             //串口发送函数

char code str[100]= "计算机你好\r\n";
char code str1[20] = "hello!\r\n";

//-------------------------------------------------------------------
void main(void)
{
unsigned char i;
UART_init();        //初始化串口
for(i = 0;i < 10 ;i++)
{
   COM_send();

};

while(1);
}


//-------------------------------------------------------------

void COM_send(void)
{
   char point;
  
   for(point=0;point< 100;point++)       //连续发送一百位数据                                      //把缓存区的数据都发送到串口
   {
    SBUF=str[point];
    while(!TI);
    TI=0;
    }
   
    for(point=0;point< 20;point++)       //连续发送二十位数据                                      //把缓存区的数据都发送到串口
   {
    SBUF=str1[point];
    while(!TI);
    TI=0;
    }
}
//--------------------------------------------------------------


void UART_init()
{
                      //初始化串行口和波特率发生器
SCON =0x40;           //选择串口工作方式1,不允许接收
TMOD =0x20;           //定时器1工作在方式2,定时器0工作在方式1
TH1 =0xfA;            //
PCON = 0x80;          //速度加倍
TR1 =1;               //启动定时器T1
ET1 =0;
ES=1;                 //允许串行口中断
PS=1;                 //设计串行口中断优先级
EA =0;                //单片机中断允许
}


关键字:c51  串口  发送数据 引用地址:c51串口发送数据程序

上一篇:单片机AT89C51 00——99带倒计时计数器
下一篇:using 在C51中断中的使用问题

推荐阅读最新更新时间:2024-03-16 15:21

PIC18F452+Proteus双机通信 串口通信 键盘更改波特率源程序
系统功能 1、实现双机之间的通信 (1)在主机上通过4*4键盘上的键值“1”“2”“3”设定波特率(2400、4800、9600),发给从机,两者正常通信; (2)从机将采集到的压力信号传到主机,主机通过LCD显示在第一行,我们可以观察到主机的LCD显示的数和从机的保持一致。 (3)主机通过获取按键“5”“6”“7”,改变从机的ADC采样率分别为“10s”“20s”“30s”,由于ADC采样率不易直接观察改变,可将采样率的值通过从机的三个不同颜色的小灯显示。 2、从机通过ADC采样获取压力传感器模拟输出端口的电压值,并将电压值转化为压力值,通过自身的LCD显示; 3、主机获得从机采集的压力值之后,和初始设定的压力值(我设置
[单片机]
PIC18F452+Proteus双机通信 <font color='red'>串口</font>通信 键盘更改波特率源程序
单片机c语言教程第十三章--C51循环语句
循环语句是几乎每个程序都会用到的,它的作用就是用来实现需要反复进行多次的操 作。如一个 12M 的 51 芯片应用电路中要求实现 1 毫秒的延时,那么就要执行 1000 次空语句 才能达到延时的目的(当然能使用定时器来做,这里就不讨论),如果是写 1000 条空语 句那是多么麻烦的事情,再者就是要占用很多的存储空间。我们能知道这 1000 条空语句, 无非就是一条空语句重复执行 1000 次,因此我们就能用循环语句去写,这样不但使程序 结构清晰明了,而且使其编译的效率大大的提高。在 C 语言中构成循环控制的语句有 while,do-while,for 和 goto 语句。同样都是起到循环作用,但具体的作用和使用方法又大不一 样
[单片机]
基于WinCE6.0的LPC3250串口驱动程序开发
引 言 Windows CE是一个开放的、可升级、可裁减的32位实时嵌入式操作系统,具有可靠性好、实时性高、内核体积小的特点,广泛应用于工业控制、信息家电、移动通信、汽车电子、个人电子消费品等领域。最新版本Windows Em-bedded CE 6.0于2006年11月发布,其特点有:最大进程数量到32K,且每个进程有最大2 GB的虚拟内存空间;将关键的驱动程序、文件系统和图形界面管理器移到了内核中,大大减少了CPU在内核态和用户态间切换造成的性能损失等。 LPC3250是NXP半导体公司(由Philips公司成立)推出的带有矢量浮点协处理器的ARM926EJ-SCPU内核的微控制器。它具有丰富的外围接口,包括7个UART,其
[单片机]
基于WinCE6.0的LPC3250<font color='red'>串口</font>驱动程序开发
stm32 串口下载错误解决方法
由于我的J-LINK 坏了,新买的还没到,就用串口工具进行下载。 信息提示框提示下载内容不在0x08000000 与0x20000000范围内,即不在程序FLASH或SRAM上。而读器件信息,清除芯片就没问题,表示我的串口下载工具没有问题。我的IAR是新安装的,由于之前在进行.icf文件进行配置的时候使用的是相对寻址,所以也不存在文件夹目录变更后不能使用的问题。 不放心仍然打开IAR看了下.ICF文件的路径,确认没有问题。又在文件夹中打开,icf文件,确认了下载地址没有问题。编译下载还是提示相同的错误。我就在IAR中编辑选项查看ICF文件,看了一下没有改动保存。再次编译下载问题消失。 所以这个可能是IAR的bug吧,我用的
[单片机]
stm32 <font color='red'>串口</font>下载错误解决方法
C51编程8-数码管(工作原理2)
从共阴与共阳的数码管上看,对数码管的控制与控制LED一样,只需要控制数码管的两端高低电平(位选引脚与段选引脚的电平),数码管便可以被点亮。 静态显示与动态显示 静态显示:各数码管处于恒电压或者恒电流状态,硬件电路复杂成本高; 动态显示:各数码管被分时选通,利用人的视觉暂留特性显示,成本低,需要占用CPU运行时间。 驱动电路 虽然数码管的使用只需要设置控制位选与段选引脚,便可以使其工作。但数码管工作需要电流比较大,51单片机的P0双向I/O(没有高电平输出),而P1~P3为准双向I/O口(驱动电流很小)。这些端口不能直接驱动数码管,都需要外接上拉电阻提供电流给数码管。 下图的数码管控制电路,为P0口接上拉电阻
[单片机]
<font color='red'>C51</font>编程8-数码管(工作原理2)
STC89C52通过串口控制流水灯亮灭
本次笔记包含两个方面: 1.只是控制LED的亮灭,不返回数值 2.控制LED的亮灭,并返回数值 看了几讲的视频,都是在讲串口的方式1。其他的还没接触,这里也只用串口的方式1实现这两个功能。串口里面需要计算的地方是根据所要使用的波特率求定时器的初始值。定时器使用的是方式2,可以自动装初始值,避免赋值语句装初始值时出现误差。 以9800bps,定时器使用方式2,串口使用方式1,晶振波特率为 11.0592MHZ,求TH1跟TL1的值。 方式1的波特率 = (2^SMOD/32)xT1溢出率。单片机复位后,电源管理寄存器PCON全部清零,SMOD作为其中一位自然也清零。 波特率已经知道了。这样就剩下T1溢出率了。 假设初值为X
[单片机]
三通道12位模数转换MAX1241串口传输单片机C程序
今天完成数据传输硬件程序,才用8位传输,位数太多就拆开,分高8位和低8位,电路图在这里: http://www.51hei.com/mcu/2273.html 程序可以参考使用: #include reg51.h #define uchar unsigned char #define uint unsigned int #define High 1 #define Low 0 int t1,t2,t3,t4,t5,t6,t7,t11,t12,t21,t22,t31,t32; int t; sbit cs=P2^7; sbit sclk=P2^6; sbit dout=P2^5; sbit cs2=P2^4; sbit sclk2
[单片机]
C51单片机地址指针及其应用
MCS-51单片机外部RAM的地址空间为64K,地址总线为16位,访问外接RAM可执行如下4条指令: MOVX A,@DPTR MOVX @DPTR,A MOVX A,@RI MOVX @RI,A 其中DPTR为16位地址寄存器,地址高8位存于DPH,地址低8位存于DPL;Ri(I=0,1)是8位寄存器,作为地址指针时仅存低8位地址。 MCS-51执行上述指令时分为两个阶段:首先,是从外接程序存储器中取出指令代码,并进行分析。然后,执行对外接RAM的数据读/写操作。在这两个阶段,P0口、P1口上的地址选通是有区别的。 执行 MOVX A,@DPTR 和 MOVX @DPTR,A 指令时,在读
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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