51单片机之T2定时器串口通信

发布者:快乐旅人最新更新时间:2022-07-06 来源: csdn关键字:51单片机  串口通信 手机看文章 扫描二维码
随时随地手机看文章

52芯片,比51要多一个定时器。所以我在网上也是看了很多资料,许多都不能运行,我在进行部分修改后,终于在keli和proteus上实现了仿真测试。以下是我的代码和设计的电路。

           

/*-----------------------------------------------------------------------------

* 实 验 名         : RS232串口试验

* 实验说明     : 单片机串口接收数据控制灯亮灭

* 连接方式     : 

* 注    意         : 该试验使用的晶振是11.0592

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

 

#include

#include

 

#define uchar unsigned char

#define uint  unsigned int

 

uchar PuZh[36] = "hello world";

 

//--定义使用的IO--//

 

sbit LED=P2^0;

 

 

//--声明全局函数--//   

void UsartConfiguration();

void Delay_1ms(uint i);

 

 

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

* 名称 : Com_Int()

* 功能 : 串口中断子函数

* 输入 : 无 * 输出 : 无

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

void Com_IntIsr(void) interrupt 4

{

    uchar i;

  uchar receive_data;

    

  EA = 0;

    

  if(RI == 1) //当硬件接收到一个数据时,RI会置位

    {         

        RI = 0;

        receive_data = SBUF;//接收到的数据

            

        if(receive_data == '1')     

        {

                LED =0;//接收到1亮灯

        }

        else

        {

                LED =1; //其他情况灯灭

        }

        

    }

        

        for(i=0; i<36; i++)

        {

            SBUF = PuZh[i];   //将要发送的数据放入到发送寄存器

            while(!TI);            //等待发送数据完成

            TI=0;                    //清除发送完成标志位

            Delay_1ms(1);

        }

        EA = 1;

}

 

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

* 函 数 名       : main

* 函数功能           : 主函数

* 输    入       : 无

* 输    出       : 无

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

 

void main()

{

 

    UsartConfiguration();//初始化串口

    

    while(1);    

}

    

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

* 函 数 名       : UsartConfiguration()

* 函数功能           : 设置串口

* 输    入       : 无

* 输    出       : 无

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

 

void UsartConfiguration()

{    

 

    T2MOD = 0x01;     //自动重载

    T2CON = 0x30;     //T2用做发送接收时钟

    TH2 = 0xFF;      //9600波特率,11.0592Mhz晶振

    TL2 = 0xDC; 

    RCAP2H = 0xFF; 

    RCAP2L = 0xDC; 

    SCON = 0x50;     //串口方式1,1个起始位,1个停止位,8位数据,可变波特率

    PCON = 0X00;    //波特率不加倍

     TR2 = 1;          //启动T2 

    ES = 1;         //开串口中断

      EA = 1;         //开总中断

}

 

 

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

* 名称 : Delay_1ms()

* 功能 : 延时子程序,延时时间为 1ms

* x * 输入 : x (延时一毫秒的个数)

* 输出 : 无

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

void Delay_1ms(uint i)//1ms延时

{

  uchar x,j;

  

  for(j=0;j    for(x=0;x<=148;x++);

}


由于不是用的自己电脑来画的图,所以就没有办法贴出图片,但是要是有空的话,我一定把图贴出来。但是我还说一下设计的大概思路,就是一个最小单片机系统RX端接compim的RX端,TX接compim的TX端,然后LED接P2口的0端。


关键字:51单片机  串口通信 引用地址:51单片机之T2定时器串口通信

上一篇:89c51单片机32个心形流水灯
下一篇:51单片机定时器TMOD与TCON、SCON

推荐阅读最新更新时间:2024-11-18 20:50

基于8051增强型单片机的RJM8L系列超低功耗MCU介绍
对于一些采用电池供电的产品需要长达数年不换电池情况下能连续工作,系统低功耗设计就尤为重要。MCU微控制器的低功耗设计决定系统的成败关键。MCU微控制器的低功耗技术涉及到软件、系统和底层的硬件工艺等。对于应用来说,在空闲的时候,可以将其时钟关闭以节省动态功耗,或小部分电路以低速低功耗的方式运行,SRAM的读写动态功耗相当可观,因此应该尽量减少读写SRAM。 瑞纳捷针对低功耗应用推出了RJM8L151S和RJM8L003系列产品,已大量应用到各领域,如:烟雾报警器,LoRa模组,智能门锁,灯控设备,GPS定位器,安防探测器,电子烟等应用领域。 RJM8L151S和RJM8L003系列产品是基于8051增强型单片机,工作电压2.
[单片机]
基于8051增强型<font color='red'>单片机</font>的RJM8L系列超低功耗<font color='red'>MCU</font>介绍
C++builder串口通信设计(一)-串口接收数据
一、安装mscomm32.ocx控件 1、复制mscomm32.ocx到windowssystem32下 2、注册 二、在c++builder下引入mscomm32.ocx 选择菜单component- Import ActiveX Control, 选择 Microsoft Comm Control 6.0(Version1.1) ,点击 install 然后可以在ActiveX控件组看到一个像电话的控件。 三、建立应用工程 1、设计界面 引入了mscomm32控件,memo1控件,Button1,Button2,RadioButton1和RadioButton2 1) 其中memo1用
[单片机]
51单片机系列连载12-串行总线
今天介绍I2C串行总线,相比较之前的一些内容,这个相对难理解一些。常用的串行总线有很多,现只简单地说一下I2C总线。 I2C总线总线是PHLIPS公司推出的一种串行总线,是具备多主机系统所需的包括总线裁决和高低速器件同步功能的高性能串行总线。 I2C总线只有两根双向信号线。一根是数据线SDA,另一根是时钟线SCL。 I2C总线通过上拉电阻接正电源。当总线空闲时,两根线均为高电平。连到总线上的任一器件输出的低电平,都将使总线的信号变低,即各器件的SDA及SCL都是线 与 关系。 I2C总线进行数据传送时,时钟信号为高电平期间,数据线上的数据必须保持稳定,只有在时钟线上的信号为
[单片机]
STC51单片机实例之03单灯闪烁
简介:该程序是一个最简单的单片机代码。实现了一个LED的不停闪烁。 STC51单片机实例之03单灯闪烁 该程序是一个最简单的单片机代码。实现了一个LED的不停闪烁。
[单片机]
STC<font color='red'>51</font><font color='red'>单片机</font>实例之03单灯闪烁
单片机C51 DATA,XDATA,BDATA,IDATA,CODE存储资源分配
单片机初学者一般对c51语言里的DATA,XDATA,BDATA,IDATA,CODE,不是很清楚,因为在微机的c语言里根本没有这些东西,一下子出来难以让人接受,特别是没有硬件基本的朋友们.这也是写程序的时候经常犯错误的地方。请看下表 普通51系列单片机存储空间资源分配情况 空间名称 地址范围 说明 DATA D:00H~7FH 片内RAM直接寻址区 BDATA D:20H~2FH 片内RAM位寻址区 IDATA I:00H~FFH 片内RAM间接寻址区 XDATA X:0000H~FFFFH 64K片外RAM数据区 CODE C:
[单片机]
PIC单片机和AVR单片机51单片机的优缺点分析
1、51系列单片机的优缺点分析 51系列是应用最广泛的单片机,由于产品硬件结构合理,指令系统规范,加之生产历史“悠久”,有先入为主的优势。世界有许多著名的芯片公司都购买了51芯片的核心专利技术,并在其基础上进行性能上的扩充,使得芯片得到进一步的完善,形成了一个庞大的体系,直到现在仍在不断翻新,把单片机世界炒得沸沸扬扬。 51系列优点之一是它从内部的硬件到软件有一套完整的按位操作系统,称作位处理器,或布尔处理器。它的处理对象不是字或字节而是位。它不光能对片内某些特殊功能寄存器的某位进行处理,如传送、置位、清零、测试等,还能进行位的逻辑运算,其功能十分完备,使用起来得心应手。虽然其他种类的单片机也具有位处理功能,但能进行位逻辑运算
[单片机]
PIC<font color='red'>单片机</font>和AVR<font color='red'>单片机</font>与<font color='red'>51</font><font color='red'>单片机</font>的优缺点分析
基于单片机AT89C2051的触摸屏控制器设计方案
随着信息技术的飞速发展,人们对电子产品智能化、便捷化、人性化要求也不断提高,触摸屏作为一种人性化的输入输出设备,在我国的应用范围非常广阔,是极富吸引力的多媒体交互没备。目前,触摸屏的需求动力主要来自于消费电子产品,随着触摸屏技术的不断发展,它在其他电子产品中的应用也会得到不断延伸。电子产品以电子管为核心。四十年代末世界上诞生了第一只半导体三极管,它以小巧、轻便、省电、寿命长等特点,很快地被各国应用起来,在很大范围内取代了电子管。五十年代末期,世界上出现了第一块集成电路,它把许多晶体管等电子元件集成在一块硅芯片上,使电子产品向更小型化发展。集成电路从小规模集成电路迅速发展到大规模集成电路和超大规模集成电路,从而使电子产品向着高效能低
[单片机]
基于<font color='red'>单片机</font>AT89C2051的触摸屏控制器设计方案
单片机笔记】51内核软件延时和串口的巧妙使用方法
不知道大家学习51是怎么过来的,反正我是一路忽悠过来的。现在用51来开发产品必须要充分用到它的内部资源,本来主频、资源就比不上32,不充分的利用怎么才能开发好的产品,那么今天我又学习到两个小技能:延时和串口的发送中断 情况是这样的,在产品的开发中,遇到了74HC595控制数码管,这个数字逻辑芯片用过的都知道,一位数码管还好,要是有多位那就得不断的刷新,为快不破,进而达到不同位显示不同断码(数字)的效果。这个刷新频率还有讲究,我不知道我的理论对不对,反正我知道民用电50Hz接在灯泡上,人眼是看不出灯泡在不断的闪烁的。那么就根据这个原理我只要保证在50Hz以上的频率(20ms以内)及时的刷新一次显示就行了。不过实际效果
[单片机]
【<font color='red'>单片机</font>笔记】<font color='red'>51</font>内核软件延时和<font color='red'>串口</font>的巧妙使用方法
小广播
设计资源 培训 开发板 精华推荐

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

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

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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