STC12C5A60S2单片机 双串口,请问 两个串口能同时使用独立波特率发生器吗如果有这方面编程的例子

STC12C5A60S2单片机 双串口,请问 两个串口能同时使用独立波特率发生器吗如果有这方面编程的例子,第1张

应该是可以的,我最近在做个项目也是用的这个单片机,下面是一些初始化:/

;函数名: void Uart1_Init(void)

;功能: 串口初始化

;是否测试通过:

/

void Uart1_Init(void) //9600bps@110592MHz

{

PCON &= 0x7f; //波特率不倍速

SCON = 0x50; //8位数据,可变波特率

// AUXR =0X00;

TL1 = 0xFD; //设定定时初值

TH1 = 0xFD; //设定定时器重装值

ET1 = 0; //禁止定时器1中断

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

}

/

;函数名: void Uart2_Init(void)

;功能: 串口初始化

;是否测试通过:

/

void Uart2_Init(void) //9600bps@110592MHz

{

S2CON=0X50;

AUXR1=0X00; //TXD2-P13 RXD2-P12

AUXR=0X10; //允许独立波特率

BRT=0xfd; //独立波特率

}

/

;函数名: Time0_Set()

;功能: 定时器0 初始化 作PWM频率输出

;是否测试通过:测试通过

/

void Time0_Set()

{

TMOD= 0x22;

TH0= 0xe8; // 对应hz输出

TL0= 0xe8;

TR0=1;

}

你也可以去这个网址找你要的>

STC单片机的假EEPROM可以用,但不好玩,以下是将从串口接收到的一个字节数据写入Flash 0单元的应用实例,供参考。最好在内存中开辟一段缓存,将从串口接收到的数据先置于缓存,之后一并写入Flash。

IAP_CONTR = 0x83; //设置 *** 作等待时间

IAP_CMD = 0x03; //扇区擦除命令

IAP_ADDRH = 0; //设置高8位地址

IAP_ADDRL = 0; //设置低8位地址

IAP_TRIG = 0x5A; //芯片规定必须的 *** 作

IAP_TRIG = 0xA5; //芯片规定必须的 *** 作

_nop_();

IAP_CMD = 0x02; //设置写命令

IAP_ADDRH = 0; //设置高8位地址

IAP_ADDRL = 0; //设置低8位地址

IAP_DATA = SBUF; //将串口接收到的一个字节数据写入扩展Flash的0x0000H单元

IAP_TRIG = 0x5A;

IAP_TRIG = 0xA5;

IAP_CONTR = 0; //关闭IAP

IAP_CMD = 0; //关闭命令

IAP_TRIG = 0; //清命令触发寄存器

IAP_ADDRH = 0; //指向非Flash扩展区

IAP_ADDRL = 0;

以上就是关于STC12C5A60S2单片机 双串口,请问 两个串口能同时使用独立波特率发生器吗如果有这方面编程的例子全部的内容,包括:STC12C5A60S2单片机 双串口,请问 两个串口能同时使用独立波特率发生器吗如果有这方面编程的例子、单片机PWM程序是怎么编写的啊,能给一个简单的例子吗、stc12c5a60s2单片机,如何将串口接收的数据写入扩展flash等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9870366.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-02
下一篇2023-05-02

发表评论

登录后才能评论

评论列表(0条)

    保存