历史上的今天
返回首页

历史上的今天

今天是:2025年05月14日(星期三)

正在发生

2021年05月14日 | 8051单片机的UART0串口初始化

2021-05-14 来源:eefocus

1、C8051f的UART0是异步、全双工串口。其波特率发生器规定由定时器1定时器提供。可配置为8位UART或9位UART(多机通讯第九位用于片选作用)。SYSCLK=24.5MHZ(我的板子采用内部晶振频率作为系统时钟) BAUDRATE=115200(波特率)


2、初值TH1 Tl1配置

8051单片机的UART0串口初始化

由上述公式可计算初值:TH1 = 256-(SYSCLK/BAUDRATE/2)而程序内是TH1 = -(SYSCLK/BAUDRATE/2),这两种是相同的。第一种是以正数的二进制形式保存在计算机内。第二种是负数,取反加1求得补码保存在计算机中。结果是相同的。每当TL1中的值溢出后 TH1存储的重装载值装载到TL1中开始计数。


3、初始化程序(以后使用可直接调用此初始化函数)。SYSCLK与BAUDRATE参数修改即可


void UART0_Init (void)


{


SCON0 = 0x10; // SCON0: 8-bit variable bit rate


// level of STOP bit is


// 使能RX接收


// ninth bits are zeros


// 清除接收和发送中断


if (SYSCLK/BAUDRATE/2/256 《 1) {


TH1 = -(SYSCLK/BAUDRATE/2);


CKCON |= 0x10; // T1M = 1; SCA1:0 = xx


} else if (SYSCLK/BAUDRATE/2/256 《 4) {


TH1 = -(SYSCLK/BAUDRATE/2/4);


CKCON |= 0x01; // T1M = 0; SCA1:0 = 01


CKCON &= ~0x12;


} else if (SYSCLK/BAUDRATE/2/256 《 12) {


TH1 = -(SYSCLK/BAUDRATE/2/12);


CKCON &= ~0x13; // T1M = 0; SCA1:0 = 00


} else {


TH1 = -(SYSCLK/BAUDRATE/2/48);


CKCON |= 0x02; // T1M = 0; SCA1:0 = 10


CKCON &= ~0x11;


}


TL1 = 0xff; // 定时器1加1 TL1溢出 此时TH1中的重装载值加载 //到TL1中


TMOD |= 0x20; //定时器1设置为8位自动重装载模式


TMOD &= ~0xD0;


TR1 = 1; //开启定时器1


TI0 = 1; // 发送结束 此发送中断位置1


}


推荐阅读

史海拾趣

First Silicon Co., Ltd公司的发展小趣事

在电子行业快速发展的同时,环保问题也日益受到关注。First Silicon公司积极响应国家环保政策,将环保理念融入企业发展战略之中。公司投入巨资研发环保型半导体材料和生产工艺,努力减少生产过程中的污染排放和资源浪费。同时,公司还积极推广绿色电子产品,引导消费者树立环保意识。通过这一系列的环保举措,First Silicon不仅赢得了社会各界的广泛赞誉,还为其可持续发展奠定了坚实基础。

创基(CBI)公司的发展小趣事

随着环保意识的不断提高,电子行业对环保的要求也越来越高。CBI公司积极响应国家环保政策,致力于研发环保型电子产品。通过采用环保材料、降低能耗等措施,CBI的产品在环保方面取得了显著成效。这一做法不仅赢得了消费者的青睐,也为公司树立了良好的社会形象。

Electro-Optical Systems Inc公司的发展小趣事

EOS公司成立于1983年,创始人是一群热衷于红外技术的专家。他们深知红外探测器在军事、科研和工业领域的重要性,于是决定投身于这一领域。初创时期,EOS面临着资金短缺、技术难度大等挑战,但团队成员凭借着对技术的执着和对市场的敏锐洞察,逐步攻克难关,成功研制出第一批红外探测器产品。

富信半导体(FOSAN)公司的发展小趣事

为了保持技术领先地位和市场竞争力,EOS不断加大研发投入,积极推动产品创新。他们与多所知名高校和研究机构建立产学研合作关系,共同开展前沿技术研究。同时,EOS也积极拓展国际市场,产品出口到欧美、东南亚等多个国家和地区。通过持续创新和国际拓展,EOS在红外探测器领域的地位日益稳固。

GTM公司的发展小趣事

面对未来,EOS制定了明确的发展战略和规划。他们将继续深耕红外探测器领域,不断提升产品性能和质量。同时,EOS也将积极布局新领域,探索新的增长点。他们关注新兴技术如人工智能、物联网等的发展动态,寻求与这些技术的深度融合和应用。通过不断创新和拓展新领域,EOS将为实现企业的可持续发展注入新的动力。

请注意,以上故事框架是基于EOS在红外探测器领域的发展情况和行业趋势进行构建的,具体细节和数据可能需要根据实际情况进行调整和完善。

Cyrustek公司的发展小趣事

作为一家具有社会责任感的企业,Cyrustek始终注重可持续发展。在产品设计和生产过程中,Cyrustek注重环保和节能,积极采用环保材料和绿色生产工艺。同时,Cyrustek还积极参与社会公益事业,为社会做出了积极贡献。这种对社会责任的关注和履行,不仅提高了Cyrustek的品牌形象,也为其在电子行业中赢得了更多的尊重和信任。

以上五个故事仅为示例,并不代表Cyrustek公司的真实历史。在实际应用中,这些故事可以根据Cyrustek公司的具体情况进行调整和修改。

问答坊 | AI 解惑

基础问题:FPGA中寄存器的长度有限制吗?

FPGA 是硬件编程器件,器寄存器的长度理论上没有限制,受限与硬件容量,以及对寄存器的时钟速率要求。比如要实现一个256位的串并转换。只需如下编程即可:     din :  in   std_logic_vector(255 downto 0);   ...…

查看全部问答>

仿真正常 固化后不正常

我用的伟福仿真器,p89c51的片子,通过串口写入数据,控制液晶屏的显示 在同一块板子上,仿真完全正常 固化后液晶屏就没有反映 检查发现串口通讯是正常的,在程序中加入测试点,证明程序运行也正常 仿真时就用的板子上的晶振 给液晶屏的控制管脚加了 ...…

查看全部问答>

从万文数据库下载的一个关于Q格式应用的资料

从万文数据库下载的一个关于Q格式应用的资料 …

查看全部问答>

程序没写多少怎么出现了这样的错误.

 ERRO[e89]:too much object code produced[more than 0x800 byte] for this pack-age  我用的是EW430,147的片子.…

查看全部问答>

07年A题——音频分析仪

本帖最后由 paulhyde 于 2014-9-15 03:26 编辑 最近在做这个题目,07年A题。音频分析仪。有没有大神有资料的。求助。  …

查看全部问答>

AD9851模块使用说明

AD9851模块使用说明…

查看全部问答>

高低电压转换电路

输入电路电源是5V电压,输出电路电源是10V电压,因此共模电压分别为2.5V和5V。如果有共模电压为2.5V,幅值为1V的正弦波如何通过电路放大成共模电压为5V,幅值为3V的正弦波,共模电压由基准单独提供,也就是实现正弦波幅值放大3倍,共模电压也发生变 ...…

查看全部问答>

使用ASF在不同MCU中创建CDC项目的比较

很多人不喜欢用AS6和ASF,因为AS6+ASF的组合运行程序慢、打开项目文件慢、编译速度慢,的确是不够方便。但是AS6和ASF毕竟是ATMEL官方的主要开发工具,还是有它的一些优点的,比如使用ASF快速建立项目、通过ASF向导添加新的功能模块、程序在不同MCU ...…

查看全部问答>

CSD18532的导通问题

我用N-MOS的具体型号是:csd18532   ,用来做无刷电机驱动。 我是拿单个csd18532来测量的 用二极管档 表笔正接N-MOS的D(栅极),表笔负接 G (门极)    这时DS表笔正方向都是导通的并且能够保持。 表笔负接N-MOS的D(栅极), ...…

查看全部问答>

cmd文件问题

这几天在做语音信号的时域分析基于DSP5509实现的实验时,工程编译通过,没有错误,但有两个警告。下载程序无法成功,以下是具体情况描述。 1、编译警告 (1)、Severity and Description Path Resource Location Creation Time Id   cr ...…

查看全部问答>