串行通讯(单片机)

发布者:hfy13567003617最新更新时间:2015-12-28 来源: eefocus关键字:串行通讯  单片机 手机看文章 扫描二维码
随时随地手机看文章
#include

#include
#include "config.h"

#define uchar unsigned char
#define uint unsigned int
#define BEEP P0_5
 
uchar ReceiveBuf;      // 定义接受缓冲区
uchar SendBuf[] = {11, 22};   // 将发送的数组放在数组SendBuf[]中 

// 延时函数
void delay(uint n)  
{
 uint i, j;
 for(i = n; i > 0; i--)     
  for(j = 115; j > 0; j--);
}

// 串行口的初始化函数
void series_init()
{
 SCON = 0X50;      // 串口工作方式1,允许接收 
 TMOD = 0X20;      // 定时器T1工作方式2
 TH1 = 0XFD; TL1 = 0XFD;    // 定时初值
 PCON &= 0X00;      // SMOD=0
 TR1 = 1;       // 开启定时器1
 EA = 1;        // 开总中断
 ES = 1;        // 开串行中断
}

void main(void)
{
 series_init();
 for(;;){       // 等待中断
 }
}

void series() interrupt 4
{
 
 RI = 0;        // 接收中断清零
 ES = 0;        // 暂时关闭串口中断
 ReceiveBuf = SBUF;     // 将接收到得数据保存到ReceiveBuf中
 if(islower(ReceiveBuf) || isupper(ReceiveBuf) || isdigit(ReceiveBuf)){
  SBUF = ReceiveBuf;    // 将接收到的字符发送出去
  while(!TI);      // 等待发送完毕
  TI = 0;       // 发送完毕,TI(发送中断标志)清0
  BEEP = 1;
  delay(100);
  BEEP = 0;
 }
 ES = 1;        // 打开串口中断
}

串行中断程序的编写步骤:

1. 设置串行口工作方式

2. 设置定时器T1工作方式,定时器T1作为波特率发生器,一般选用方式2,因为其可以自动装入初值功能,可以使波特率更加稳定

3. 设置定时初值

4. 设置波特率倍增位,不能位寻址,可以通过PCON设置,最高位就是SMOD倍增位,1时倍增

5. 开定时器和中断

6. 串行中断程序中,首先接收中断清零,关闭串口中断

7. 取出接收到 的数据进行处理然后发送

8.发送完后打开串行中断继续接收数据

关键字:串行通讯  单片机 引用地址:串行通讯(单片机)

上一篇:基于单片机与ds1302时钟芯片的电子闹钟C程序
下一篇:外中断(按键)控制数码管显示

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

低功耗单片机的步进电机设计
  0 引 言   步进电机是工业控制中应用十分广泛的一种电动机,它能将数字信号直接转换成角位移或线位移,驱动速度和指令脉冲能严格同步,具有较高的定位精度,控制系统成本低廉,在经济型数控机床等领域应用广泛。这里针对电磁干扰较强以及要求低成本应用的场合,采用超强抗干扰、小巧低功耗的工业级STC12C系列单片机,充分利用单片机内部的硬件资源,设计实用的步进电机控制和驱动系统。   1 控制系统总体方案设计   系统功能原理示意图如图1所示。      在该系统中由单片机直接输出电机的各相控制脉冲序列,光耦进行必要的光电隔离,采用分立元件构成功率.MOSFET管驱动电路,带动电机转动。键盘接口与 LED显示功能由具有SPI串
[单片机]
低功耗<font color='red'>单片机</font>的步进电机设计
51单片机RAM的使用
今天还是一个人加班,梳理一下之前一直疑惑的几个小问题吧。以一款51内核的STC89C52单片机作为说明,STC89C52具有8K字节Flash,512字节RAM,看门狗定时器等,其他资源不在今天讨论主题之内,不再赘述。 先说说自己之前的误区,以前提到片内RAM和片外RAM的时候,总是以为片内RAM就是52单片机512字节的RAM,片外RAM的扩展是很多经典单片机教材里都讲述的,P0口是地址低八位兼数据总线,P2是地址高八位,当扩展RAM的时候,WR,RD,ALE,P0,P2怎么怎么接,巴拉巴拉。。。但在此处,512字节的RAM并不是我原来认为的那样全部是内部RAM,事实上,它的前256Byte是真正的片内RAM,而后256Byte是
[单片机]
使用 MSP430F133 单片机改造老式测量仪表
概述 在核污染的环境评测中,最常用的仪表是X、γ 辐射空气吸收剂量率仪。在这类仪表中,使用的测量原理主要有以下两种:一种方法是使用脉冲计数的方法,在这类方法中使用光电倍增管或使用计数管对核辐射脉冲计数,通过计数量的多少反映核辐射剂量的大小。另一种方法是将测量的辐射脉冲进行积分、放大后显示输出。在后一种方法中,由于综合考虑了反映核辐射能量脉冲的数量和幅值,所以较好地反映了核辐射的剂量和剂量率。这类仪表的系统结构如(图一)所示。 图一 存在的问题 在厂家多年生产这种类型仪表的生产实践中,发现使用该方法生产的仪表,存在以下的问题: 在积分放大电路中由于积分常数较大,而且电容的品质对仪表参数影响甚大,因此为了得到较稳定的积分
[单片机]
使用 MSP430F133 <font color='red'>单片机</font>改造老式测量仪表
详解:8051单片机的结构与原理
单片机的基本结构包括中央处理器(CPU) 、存储器、定时/计数器、输入输出接口、中断控制系统和时钟电路六部分。 一、基本组成 中央处理器(CPU) 包括运算器和控制器两部分,是单片机的核心。运算器可用于各种运算,控制器用于控制单片机各部分协调工作。 存储器 用于存放程序和原始数据。 时钟电路 时钟电路产生单片机运行的控制信号,控制单片机严格按时序执行指令。 定时/计数器:实现定时或计数功能。输入输出接口(I/O)实现单片与其他设备之间的数据传送。中断控制系统: 用于响应中断源的中断请求。 二、单片机引脚 双列直插式封装(DIP,Dual Inline Package)方形封装(PLCC,Plastic Lead
[单片机]
应用非对称双核MCU增强系统性能
本文从对比两颗分立MCU与单芯片双核MCU开始(以LPC4350为例),展开介绍了非对称双核MCU的基础知识与重要特点。接下来,重点介绍了核间通信的概念与几种实现方式,尤其是基于消息池的控制/状态通信。然后,对内核互斥、初始化流程等一些重要的细节展开了论述。最后提出了双核任务分工的两种应用模型,并分别举例。 背景与基本概念 在开发MCU应用系统时,如果单颗MCU无法满足系统的要求,一个很普遍的做法就是使用两颗或更多的MCU,把一部分“杂项工作”分配给另一个有“助理”性质的低端MCU来完成。但是,采用两颗MCU,缺点也很明显,尤其是在芯片与PCB成本、系统可靠性及功耗方面都有先天的不足。此外,若采用了不同架构的MCU,还要面临需
[单片机]
应用非对称双核<font color='red'>MCU</font>增强系统性能
AT89C52单片机控制BH1415F调频台C程序
BH1415F调频台控制C程序 使用keil C51 通过调试 //使用AT89C52单片机,12MHz晶振,用共阳四位LED数码管 //P0口输出段码,P2口扫描 //#pragma SRC(d:\aa.asm) #include reg52.h #include intrins.h //_nop_();延时函数用 #define Disdata P0 //段码输出口 #define disCAN P2 //扫描口 #define keyio P1 //键盘接口 #define uchar unsigned char #define uint unsigned int sbit DA=P3^0;
[单片机]
基于AT89S52单片机的太阳能环境参数测试仪设计
   引 言   为了确保太阳能发电系统能够正常的工作,需要对太阳能发电系统的各项环境参数进行测量,从而有效地控制其运行。本文介绍了一种基于单片机的太阳能参数测试仪,提供了3种参数的测量功能和通信接口,以及2种供电方式,既可作为手持设备使用,又能安装在发电系统中,具有较高的实用价值。 1 硬件电路设计 1.1 总体结构   该测试仪以AT89S52单片机为核心,外接温湿度传感器SHTll、照度传感器TSL2561、四位共阴数码管、RS485总线通信接口以及显示切换按键。单片机上电工作后,对当前温度、湿度、光强度进行实时测量,通过按键切换将测得的3种参数通过LED数码管进行轮流显示;此外,还可以通过RS485总线与PC机进行
[单片机]
基于C8051F005单片机的PZT驱动电路设计
  1 引言   在自适应光学合成孔径成像系统中,某个孔径通道的原始信号相位信息因大气、载体振 动等因素引起发生变化时,冗余信息就会将两两通道的变化信息反映出来,通过光学系统提 取出用于冗余间隔校正的信息,经过计算机反馈控制驱动电压鼓完成相位的实时校正。我们 在该反馈系统中引入了压电陶瓷筒PZT 进行反馈控制。在外加电场作用下,具有逆压电效 应的压电陶瓷材料(PZT)将发生形变,PZT 筒上的光纤也就会随着PZT 筒的径向位移而产 生长度的变化,从而改变光波相位。任何 PZT 的使用都离不开相应的驱动电路,PZT 能否 正常、有效的工作,取决于它的驱动电路的性能,对于PZT 进行动态反馈控制的系统而言, PZT 驱动电路能否线性
[单片机]
基于C8051F005<font color='red'>单片机</font>的PZT驱动电路设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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