STC12单片机串口2的应用

发布者:trendsetter10最新更新时间:2015-02-09 来源: 51hei关键字:STC12  单片机  串口2 手机看文章 扫描二维码
随时随地手机看文章

心得:串口2只能使用“独立波特率发生器”作为波特率发生器;
串口1可以用定时器1做波特率发生器,也可以选择“独立波特率发生器”作为波特率发生器。

stc12c5a.h stc12的头文件从:http://www.51hei.com/mcu/3282.html 这里下载.

双串口.c
//******************************(STC12串口2应用)*****************************************
// 马梓熔
//2012-12-4
//***************************************************************************************
#include "STC12C5A.h"
#define uchar unsigned char
#define uint unsigned int
#define Buf_Max 40
uchar i;
uchar Rec_Buf[]="hello! mazirong\n"; //uchar Rec_Buf[Buf_Max]; 这样写上位写什么 下位机接收什么,大大增加了灵活性
//********************延时函数
void delay(uint z)
{
uint i,j;
for(i=z;i>0;i--)
for(j=110;j>0;j--);
}
//********************串口2初始化
void Serial_Iint()
{
S2CON=0x50; //S2SM0 S2SM1=0 1 S2REN=1 //串口2的工作方式1,接收位允许
PCON=0x00; //波特率不加倍
AUXR=0x10; //BRTR=1,允许独立波特率发生器运行
BRT=0XFD; //独特波特率发生器定时器
EA=1;
IE2=0x01; //开串口2中断
}
//*******************发送一个字符
void Send_Char(uchar a)
{
IE2=0x00;
S2BUF=a;
delay(200);
while(!(S2CON&0x02)); //while(!S2TI) 等待S2TI变为1
S2CON&=0xFD; //S2TI清0
IE2=0x01;
}
//*******************发送一个字符串
void Send_String(uchar *tab)
{
IE2=0x00;
while(*tab!='\0')
{
Send_Char(*tab++);
}
IE2=0x01;
}
//********************主函数
void main()
{
while(1)
{
Serial_Iint();
delay(1000);
Send_String(Rec_Buf);
delay(1000);
}
}
//********************串口2中断函数
void Serial_2Int() interrupt 8
{
IE2=0x00; //关串口中断,防止中断的嵌套
if(S2CON&0x02) //如果是串口2发送中断(S2TI)不进行处理
{
S2CON&=0xFD; //S2TI清0
}
if(S2CON&0x01)
{
S2CON&=0xFE; //S2RI清0
Rec_Buf[i]=S2BUF;
i++;
if(i>Buf_Max)
{
i=0;
}
}
IE2=0x01; //开启串口中断
}

关键字:STC12  单片机  串口2 引用地址:STC12单片机串口2的应用

上一篇:外部中断(IT0,IT1)触发方式
下一篇:关于MSP430 Timer_A的问题

推荐阅读最新更新时间:2024-03-16 13:53

基于AT89LV51单片机控制的DBPL编码信号的信号源系统设计
前 言 DBPL(Differential Bi-Phase Level)编码是一种超越传统数字传输极限的编码方式。DBPL编码被广泛应用于以太网、工程测井仪器和铁路应答器等工程应用中。在铁路应答器中,通过DBPL编码传输信号给列车车载处理器,实现对列车运行的控制。 本文设计了一种基于AT89LV51单片机控制的DBPL编码信号的信号源系统,能够产生DBPL编码信号;同时设计了系统的电源管理模块,保证系统的正常供电。 1 信号源系统的设计 该信号源由时钟复位模块、DBPL信号产生电路、DC-DC转换电路、充电管理电路和A/D转换电路组成。单片机AT89LV51控制编码模块产生DBPL信号;充电管理电路对系统所用电池
[单片机]
基于AT89LV51<font color='red'>单片机</font>控制的DBPL编码信号的信号源系统设计
单片机的编程器和烧录器有什么区别
单片机编程器(Single-chipprogrammerproducts),是一款低成本开发编程器。它能够对Microchip的大多数闪存单片机编程。单片机编程器旨在用于开发编程,对于生产编程,还是选用其他为生产环境设计的第三方编程器。 1.使用串口通讯,芯片自动判别,编程过程中的擦除、烧写、校验各种操作完全由编程器上的监控芯片89C51控制,不受PC配置及其主频的影响。 2.采用高速波特率进行数据传送,经测试,烧写一片4KROM的AT89C51仅需要9.5S,而读取和校验仅需要3.5S。 3.体积小巧,省去笨重的外接,所有器件全部以第一脚对齐,无附加跳线,对于DIP封装芯片无需任何适配器。 PIC下载编程器/仿真器PIC
[单片机]
<font color='red'>单片机</font>的编程器和烧录器有什么区别
单片机课程设计-ATMEL51系列单片机编程器
用单片设计过很多东西,可以说把AT单片机(包括AVR单片机)的所有外设资源都使用过了,所以在寻思着要设计一个什么样的东东?? 有次去面试,我对面试官说我设计过一块开发板,然后那面试官直接问了个核心问题:这个编程器的固件是你自己写的吗?一下子就问到了痛处。是的,编程器固件不是自己写的,那为什么不自己设计一个呢? 我说的自己设计是包括硬件电路、单片机程序以及电脑端界面等等所有东西全部自己DIY。当一个真正的DIYer。所以我动手了,用了几天几夜时间弄了一个可以支持两种芯片(AT89S51 AT89S52) 的基于ISP下载的编程器 首先要说的是,要设计个编程器, 这方面的资料在网上基本是找不到的,估计是大家不想开源(open sou
[单片机]
<font color='red'>单片机</font>课程设计-ATMEL51系列<font color='red'>单片机</font>编程器
一种基于MCU控制的光伏电池测试仪设计
  0 引言   由于光伏 电池 阵列是光伏发电系统的核心部件和能源供给部分,因此,准确获得光伏电池输出特性曲线是一个基本要素,在此基础之上,才可能深入、准确地研究光伏系统的设计、控制与使用。   国内在建立光伏电池数学模型,最大功率点跟踪(MPPT)等方面已经做了很多研究工作。文献利用光伏电池生产厂商提供的4个电气参数(Isc,Voc,IM和VM),提出了一个简化的数学模型,以 模拟 其在不同光照和温度下的I-V特性曲线。文献在太阳电池数学模型的基础上,设计了模拟太阳能I-V特性的生成电路。文献利用太阳能电池数学模型,根据气象资料估算太阳电池的年发电量。上述文献的研究,都是在认同光伏电池特性曲线基本形态的前提下,基于Isc,
[测试测量]
一种基于<font color='red'>MCU</font>控制的光伏电池测试仪设计
Infineon汽车照明低成本通用单片机方案
【方案应用场景描述】: 随着当今社会的发展,汽车已成为人们生活中必不可少的交通工具,所以其安全问题也受到极大的关注。其中车尾灯扮演了重要的角色,是汽车安全必不可少的重要环节。它的存在极大的减少了交通事故的发生。汽车尾灯的实际价值不可估量,而如何设计实现汽车尾灯的各种功能,则是汽车尾灯控制电路的设计目的,现在汽车尾灯的设计也是花样百出,不仅是外观上的多变,而且功能上也是有了很大的提高。实现汽车尾灯控制电路的功能,可以采取很多不同的方案,今天我们来一起看看基于 CK8CKIT-044 的评估方案。 【方案特色】: CK8CKIT-044 是基于 Cypress PSoC4200M 系列芯片的评估板, PSoC4200M
[汽车电子]
Infineon汽车照明低成本通用<font color='red'>单片机</font>方案
第九章 步进电机和蜂鸣器
1.1 单片机的IO口结构 上节课我们提到了单片机的IO口的其中一种“准双向IO”的内部结构,实际上我们的单片机IO口还有另外三种状态,分别是开漏、推挽、高阻态,我们通过图9-1来看下三种状态。 图9-1 单片机IO口状态示意图 前边我们简单介绍“准双向IO”的时候,我们是用三极管来说明的,出于严谨的态度,我们这里按照实际情况用MOS管画图示意。实际上三极管是靠电流导通的,而MOS管是靠电压导通的,具体缘由和他们的内部构造有关系,在这里我们暂且不必关心,如果今后有必要了解可以直接查找模拟电子书或者百度相关资料进行细致学习。在单片机IO口状态这一块内容上,我们可以把MOS管当三极管来理解。在我们的图9-1中,T1相当于一
[单片机]
第九章 步进电机和蜂鸣器
飞思卡尔单片机PWM模块分析(1)
例程: /******************* //功能:完成PWM模块初始化 //入口参数:无 //出口参数:无 *******************/ void PWM_Init(void) { PWME=0x00; //禁止PWM模块 PWMPRCLK=0x06; //CLOCK A的预分频设置为6 PWMSCLA=125; //SA的分频因子设置为125 PWMCLK=0x01; //通道0选择SA作为PWM时钟 PWMPER0=200; //通道0周期寄存器设置为200 PWMDTY0=0; //通道0占空比寄存器设置 PWMPOL=0x01; /
[单片机]
基于STM32 MCU应用的EMC指南之软件篇
在基于微控制器的电子系统中,强壮的软件设计是提高 EMC 性能的主要因素。必须尽量在项目设计阶段的早期考虑 EMC 干扰导致的问题。EMC 导向的软件提高了应用的安全性和可靠性。强化 EMC 性能的软件的实施成本低,可提高最终的抗扰性能,并节约硬件和开发成本。用户应考虑到模拟或数字数据受到的 EMC 干扰,就像任何其它应用参数一样。 EMC 干扰导致的问题示例: 微控制器无响应 程序计数器失控 执行意外指令 地址指向错误 子程序执行错误 寄生复位和 / 或寄生中断 IP 配置损坏 I/O 失灵 软件故障的后果示例: 产品意外响应 上下文丢失 进程中的意外分支 中断丢失 数据完整性缺失 输入值误读 01使用看门狗或时间控制 为了
[单片机]
基于STM32 <font color='red'>MCU</font>应用的EMC指南之软件篇
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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