历史上的今天
返回首页

历史上的今天

今天是:2024年10月30日(星期三)

正在发生

2019年10月30日 | STC15F2系列单片机UART1使用定时器1做波特率发生器

2019-10-30 来源:51hei

#include

#include "main.h"

#include "intrins.h"


//使用T2定时器2 ,控制串口1 波特率


#define  FOSC 18432000L  //系统频率

#define  BAUD 9600     //串口1波特率

#define  TM2  (65536-(FOSC/4/BAUD))


#define NONE_PARITY      0   //无校验

#define ODD_PARITY       1   //奇校验

#define EVEN_PARITY      2   //偶校验

#define MARSK_PARITY     3   //标记校验

#define SPACE_PARITY     4   //空白校验 

#define PARITYBIT NONE_PARITY   //定义校验位


bit busy1 = 0;

BYTE c_data;

BYTE s_data;



void uart1_SendString(char *s);

void uart1_SendData(BYTE dat);


void main(void)

{

        SCON = 0x50;  //八位可变波特率

        T2L   = TM2;

        T2H   = TM2>>8;        

        AUXR  = AUXR_T2R;

        AUXR |= AUXR_T2x12

        AUXR |= AUXR_S1ST2;//使用定时器2 作为串口1的波特率发生器

        ES = 1;

    EA = 1;

        uart1_SendString("rn stc15f2k08s uart1 test rn");

        while(1);

}

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

串口1应用

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

/*UART1 中断服务程序*/

void uart1_ISR() interrupt 4 using 1

{

        uchar r_data;

        if(RI)

        {

                RI = 0;

                r_data  = SBUF;

                c_data = RB8;

                uart1_SendData(r_data);

                

        }

        if(TI)

        {

                TI = 0;   //清除TI位

                busy1 = 0; //清忙标志

        }

}


void uart1_SendData(BYTE dat)

{

        while(busy1); //等待前面的数据发送完成

        ACC = dat;   // 获取校验位

        if(P)

        {

        #if (PARITYBIT == ODD_PARITY)

                {

                        TB8 = 0;  //设置校验位为0

                }

        #elif (PARITYBIT == EVEN_PARITY)

                {

                        TB8 = 1;  //设置校验位为1

                }

        #endif

        }

        else

        {

        #if (PARITYBIT == ODD_PARITY)

                {

                        TB8 = 1;  //设置校验位为1

                }

        #elif (PARITYBIT == EVEN_PARITY)

                {

                        TB8 = 0;  //设置校验位为0

                }

        #endif

        }

        busy1 = 1;

        SBUF = ACC;  //写数据到UART 数据寄存器

}

void uart1_SendString(char *s)

{

        while(*s)                  //检测字符串结束标识

        { 

                uart1_SendData(*s++); //发送当前字符

        }

}


推荐阅读

史海拾趣

Engelking Elektronik GmbH公司的发展小趣事

随着国内市场的饱和,Engelking Elektronik开始寻求海外市场的发展。公司制定了详细的国际化战略,包括参加国际电子展会、拓展海外销售渠道以及建立海外生产基地等。通过不断努力,Engelking Elektronik成功进入了欧洲、北美和亚洲等多个国家和地区的市场。同时,公司还积极适应不同地区的文化和市场需求,提供定制化的产品和服务。

智浦欣(Chipstar)公司的发展小趣事

随着技术的不断进步和市场需求的日益增长,智浦欣公司意识到,只有不断创新和突破,才能在激烈的市场竞争中立于不败之地。于是,公司加大了对研发团队的投入,引进了一批国内外顶尖的模拟器件和混合信号设计人才。经过数月的努力,团队成功研发出了一款具有高性价比的WLED驱动器产品,该产品以其卓越的性能和稳定的质量赢得了客户的广泛好评。随后,公司又相继推出了多款具有竞争力的新产品,进一步巩固了其在消费类电子市场的地位。

Hi-Tech Resistors Pvt Ltd公司的发展小趣事

随着公司规模的不断扩大和业务的快速发展,智浦欣公司意识到,必须加强内部管理和人才培养才能确保公司的持续健康发展。于是,公司引进了一套先进的管理体系和人才培养计划。在管理体系方面,公司建立了完善的组织架构和业务流程,提高了工作效率和协同能力;在人才培养方面,公司注重员工的个人发展和职业规划,提供了多样化的培训和学习机会,激发了员工的工作热情和创新能力。

CT Micro公司的发展小趣事
  1. 创业初期与技术创新

CT Micro公司最初由几位电子工程领域的专家创立,他们看到了微型计算机断层扫描(Micro-CT)技术在电子行业中的巨大潜力。初期,公司面临着资金短缺和技术难题,但他们通过不断研发和创新,成功开发出了一款具有高性价比的Micro-CT设备,迅速获得了市场的认可。

  1. 市场拓展与合作伙伴关系

随着产品的成熟,CT Micro开始积极寻求市场拓展。他们与多家电子制造企业建立了合作关系,为这些企业提供Micro-CT设备的定制服务。通过与这些企业的合作,CT Micro不仅扩大了市场份额,还进一步提升了产品的技术水平和应用范围。

  1. 研发升级与产品迭代

面对日益激烈的市场竞争,CT Micro不断投入研发力量,对Micro-CT设备进行升级和迭代。他们成功推出了多款新型设备,具有更高的分辨率、更快的扫描速度和更低的辐射剂量。这些新产品的推出,进一步巩固了CT Micro在电子行业中的领先地位。

  1. 国际化战略与市场拓展

随着国内市场的饱和,CT Micro开始实施国际化战略。他们积极参与国际展览和研讨会,展示自己的产品和技术实力。同时,他们还在海外设立了销售和服务中心,为国际客户提供更加便捷的服务。通过这些努力,CT Micro成功打开了国际市场的大门。

  1. 社会责任与可持续发展

在快速发展的同时,CT Micro也积极履行社会责任。他们注重环保和可持续发展,采用环保材料和节能技术生产产品。此外,他们还积极参与公益事业,为贫困地区的教育和医疗事业贡献力量。这些举措不仅提升了公司的社会形象,也为其可持续发展奠定了坚实基础。

请注意,这些故事框架是虚构的,并不代表CT Micro公司的实际发展情况。如果您需要了解CT Micro公司或类似公司的真实故事,建议您查阅相关公司的官方网站、新闻报道或行业分析报告。

FRONTIER公司的发展小趣事

背景:虽然此处的FRONTIER可能指的是边疆通信公司(Frontier Communications),但为符合电子行业背景,我们假设其在农村宽带服务方面的创新。

发展故事:在21世纪初期,FRONTIER Communications认识到农村地区对于宽带服务的迫切需求,于是开始大规模投资农村宽带基础设施建设。通过引入先进的通信技术和设备,FRONTIER Communications成功地将高速互联网带到了偏远地区,极大地改善了当地居民的生活和工作条件。这一举措不仅赢得了市场的广泛赞誉,也为公司带来了稳定的收入来源和持续增长的动力。

Crowd_Supply__Inc.公司的发展小趣事

与众不同的是,Crowd Supply Inc.采用了一种基于众包和预售的产品研发策略。他们在平台上发布项目概念和初步设计,通过社区的力量进行方案优化和功能迭代。这种模式不仅降低了产品开发成本,还使得产品更贴近用户需求。其中一款基于该策略开发的产品——一款高集成度的开源硬件开发板,在预售阶段就获得了大量订单,为公司带来了可观的收入。

问答坊 | AI 解惑

面对飙升的油价——环保新型动力车

飙升的油价,已经成为每个人心灵的痛.....          应对高油价——环保 新型动力车成为新的选择,让我们来认识一下这个未来将替代传统技术的环保动力吧! 专家揭密:丰田Prius汽油/电力混合动力车>>https://bbs ...…

查看全部问答>

多功能限电保护器

各位朋友:        请大家帮我找个关于模拟电路的“多功能限电保护器”的毕业设计,模拟电路太简单了,做毕业设计字数好难弄够。…

查看全部问答>

嵌入式技术基础与实践(基于摩托罗拉MCU,识货的来看看)

嵌入式技术基础与实践,王宜怀,刘晓升 编,清华大学出版社 主要是面向freescale单片机设计。 很好的一本书,现在书讲摩托罗拉单片机的很少。识货的下 …

查看全部问答>

模拟电子电路经典丛书(1、2)

模拟电子电路经典丛书---OP放大电路设计(冈田迪夫) 目录 第1章 OP放大器 1.1 OP放大器的运转 1.2 四种基本的使用方法 1.3 OP放大器的理想状态 1.4 非理想的OP放大器的使用方法 第2章 零点、漂移及噪声 2.1 关于偏置 2.2 零点稳定性的提高 ...…

查看全部问答>

杭州 WinCE Driver本月需要2名!及其他岗位

大家好,我是猎头Kevin,现在急聘2位wince和windows平台的驱动开发,base杭州,本科3~4年,月薪8~10K,注大型企业如果技术精湛年薪20万以下都可以谈。有没有人选帮忙推荐啊?我的联系方式是yaochen21@msn.com手机15857144628,急聘中,所以发这里, ...…

查看全部问答>

有人移植过libnids库吗?

想把用libnids编写的程序移植到ARM7上面,试了几种方法,怎么也不成功!百度,google一点头绪没有。请问有人做过类似的工作吗?…

查看全部问答>

友善之臂 mini2440 + 3.5"LCD 套餐

友善之臂 mini2440 + 3.5\"LCD 套餐 全新的,买来后就没有怎么用过,详细介绍请看: http://www.arm9.net/mini2440.asp 有意的请联系我,卖价400元,不刀谢谢,东西绝对全新的 qq:653338192 另转让1些嵌入式开发的书籍,都是经典的书 有意的 ...…

查看全部问答>

ucGui图形转换问题

我想用ucGui,LCD 色彩使用12BITS,那图形转换工具好像不支持啊?有什么办法?那位大侠能够指教一下?…

查看全部问答>

求 TI的二手开发套件 60V、60A Piccolo F28069M、InstaSPIN™-F...

不知道哪位同志,手头有木有二手的 三相电机控制套件:60V、60A Piccolo F28069M、InstaSPIN™-FOC 开发套件,TI的官网买得太贵,如果哪位同志需要出手,请加我QQ 3232291597…

查看全部问答>