单片机串口发送字符串程序

#include //包含单片机寄存器的头文件

unsigned char code zifuchuan[ ]="ni hao! wo shi cai hai peng huan ying xue dan pian ji "; //流水灯控制码,该数组被定义为全局变量

/*****************************************************

函数功能:向PC 发送一个字节数据

***************************************************/

void fasong(unsigned char dat)

{

SBUF=dat; //发送数据

while(TI==0) //检查发送完成中断标志如果未完成就等等否则复位发送标志位以便下个数据可以发送

;

TI=0;

}

/*****************************************************

函数功能:延时若干毫秒

入口参数:n

*******************************************************/

void yanshi(unsigned int n)

{

unsigned int i,j;

for(i=0; i

for(j = 249; j > 0; j--)

; //什么也不做等待一个机器周期

}

/*****************************************************

函数功能:主函数

***************************************************/

void main(void)

{

unsigned int i;

TMOD=0x20; //TMOD=0010 0000B,定时器T1工作于方式2

SCON=0x40; //SCON=0100 0000B,串口工作方式1 1起始位8数据位1停止位 PCON=0x00; //PCON=0000 0000B,波特率9600 晶振11.0592

TH1=0xfd; //根据规定给定时器T1赋初值

TL1=0xfd; //根据规定给定时器T1赋初值

TR1=1; //启动定时器T1

while(1)

{ i=0;

while(zifuchuan[i] != '\0') //循环发送字节数组中的数据

{

fasong(zifuchuan[i]); //调用发送函数发送数据

} } i++;//指向下个字符 yanshi(1); //150ms发送一次数据 } yanshi(1000); //150ms发送一次数据

#include //包含单片机寄存器的头文件

unsigned char code zifuchuan[ ]="ni hao! wo shi cai hai peng huan ying xue dan pian ji "; //流水灯控制码,该数组被定义为全局变量

/*****************************************************

函数功能:向PC 发送一个字节数据

***************************************************/

void fasong(unsigned char dat)

{

SBUF=dat; //发送数据

while(TI==0) //检查发送完成中断标志如果未完成就等等否则复位发送标志位以便下个数据可以发送

;

TI=0;

}

/*****************************************************

函数功能:延时若干毫秒

入口参数:n

*******************************************************/

void yanshi(unsigned int n)

{

unsigned int i,j;

for(i=0; i

for(j = 249; j > 0; j--)

; //什么也不做等待一个机器周期

}

/*****************************************************

函数功能:主函数

***************************************************/

void main(void)

{

unsigned int i;

TMOD=0x20; //TMOD=0010 0000B,定时器T1工作于方式2

SCON=0x40; //SCON=0100 0000B,串口工作方式1 1起始位8数据位1停止位 PCON=0x00; //PCON=0000 0000B,波特率9600 晶振11.0592

TH1=0xfd; //根据规定给定时器T1赋初值

TL1=0xfd; //根据规定给定时器T1赋初值

TR1=1; //启动定时器T1

while(1)

{ i=0;

while(zifuchuan[i] != '\0') //循环发送字节数组中的数据

{

fasong(zifuchuan[i]); //调用发送函数发送数据

} } i++;//指向下个字符 yanshi(1); //150ms发送一次数据 } yanshi(1000); //150ms发送一次数据


相关文章

  • 单片机与pc机串口通信
  • 综合电子课程设计报告 题目:单片机与PC机串口双向数据通信 设计时间:2011年 8 月 22 日至 9 月 9 日 学 院: 电气与信息工程学院 专业名称: 电子信息科学与技术 学 号: [1**********]5 姓 名: 夏攀 指导 ...查看


  • 自动化工程训练报告
  • 自动化工程训练 设计报告 学 院: 信息科学与工程学院 班 级: 姓 名: 学 号: 指导老师: 时间:2011年9月7日 目录 一.设计课题名称及要求 .............................. 2 二.设计思想和实施方 ...查看


  • 用VC 6.0实现串行通信的三种方法
  • 用VC 6.0实现串行通信的三种方法 2004-2-8加入 来自天极论坛 作者yhww 1条评论 点击2964次 摘要: 本文介绍了在Windows 平台下串行通信的实现机制,讨论了根据不同的条件用Visual C++ 设计串行通信程序的三 ...查看


  • 双机通讯实验报告
  • 单片机实验报告 (自动化15级) 实验名称:串行通讯实验 一.实验目的 1.掌握单片机串行口工作方式: 2.掌握双机通讯的接口电路设计及程序设计. 二.实验设备 1. PC机: 2.单片机最小系统教学实验模块: 3. 数码管显示模块 三.实 ...查看


  • 单片机串口通信的调试方法与技术
  • ·电子与计算机技术· J o u r n a l o f W u h a n P o l y t e c h n i c 单片机串口通信的调试方法与技术 席东河1,马磊娟1,杜 娟2 (1. 河南工业职业技术学院,河南南阳473009: 2 ...查看


  • (实习报告)电子工程师助理的实习报告
  • 关于在郑州天道科技发展有限公司工程师助理 的实习报告 一.实习单位及岗位简介 (一)实习单位的简介 为了使我能够从理论高度上升到实践高度,更好的实现理论和实践的结合,让自己的能力得到进一步的提升,为以后的工作和学习奠定基础,同时也为了能够更 ...查看


  • 单片机实验
  • 北 京 科 技 大 学 2014嵌入式与单片机报告 计算机与通信工程 学院:________________________ 姓名:________________________ 学号:________________________ 指 ...查看


  • 智能门禁系统毕业论文
  • 智能门禁系统毕业论文 智能门禁系统的研究与设计 摘要:门禁系统是生活不可或缺的保障设施,由此提出了基于51单片机的多功能电子门禁系统.系统研究了电子密码锁技术,LCD 显示技术,串口通信技术,51单片机及时钟和温度读取方法.介绍了电子门禁系 ...查看


  • 基于51单片机异步串行通信程序
  • 基于51单片机的异步串行通讯 1. 串行工作方式1,波特率与T1定时器的溢出率有关 2. 进行中断法的串行通讯 #include #define uchar unsigned char #define uint unsigned int / ...查看


热门内容