-
大小: 29KB文件类型: .rar金币: 2下载: 1 次发布日期: 2023-02-06
- 语言: 其他
- 标签: STC12C60S2 双串口 51
资源简介
STC12C60S2单片机双串口程序,经本人在Keil UV3中测试,下载后没有问题。
代码片段和文件信息
#include “common.h“
#include “main_ram.h“
#if 0
void put_char(unsigned char ch){
SBUF = ch;
while(!TI);
TI = 0;
}
#endif
void put_char_s2(unsigned char ch){
S2BUF = ch;
while((S2CON & 0x02) == 0);
S2CON = S2CON & (~0x02); //S2CON: S2SM0 S2SM1 S2SM2 S2REN S2TB8 S2RB8 S2TI S2RI
}
/* DMX512软件控台转发程序 晶振24M */
void main(void){
unsigned int i;
DIM_NO = 0;
data_p = &dmx_rec_buf[0];
counter = 512;
SOFT_C = 1;
AUXR = 0x54; //定时器0: 12T 定时器1: 1T 独立波特率发生器运行 独立波特率发生器工作在1T模式
TMOD &= 0x0f;
TMOD |= 0x20; //定时器1: 1T 8位重载定时模式
TH1 = 0xFF;
TL1 = 0xFF;
SCON = 0xD0; //SM0 SM1 SM2 REN 串行口工作在方式39位可变波特率 750K TB8 = 0
S2CON = 0xD8; //SM0 SM1 SM2 REN 串行口工作在方式39位可变波特率 250K TB8 = 1
BRT = 0xFD; //独立波特率寄存器 串口2波特率250kbps
//BRT = 243; //独立波特率寄存器
//AUXR = 0x15; //独立波特率576001T
TMOD &= 0xf0;
TMOD |= 0x01; //设置定时器0模式为:16位定时模式
TH0 = 0x15; //定时值(uS):30000
TL0 = 0xA2;
//TH0 = 0xB1; //定时值(uS):10000
//TL0 = 0xE0;
//PCON |= 0x80; //FF 1.5MBPS FD 500K
PCON &= 0x7F; //FF 750KBPS FD 250K
TCON = 0x50; //TR1 = 1 TR0 = 1
IE = 0x92;
PS = 1;
//CCAPM0 = 0x49; //16位软件定时器模式
CCAPM0 = 0x00; //无操作
CCAPM1 = 0x00; //无操作
CH = 0;
CL = 0;
CMOD = 0x00; //PCA时钟源为 fosc/12 不允许CF产生中断
//CMOD = 0x01; //PCA时钟源为 fosc/12 允许CF产生中断
//CCON = 0;
CCAP0L = 0x52; //FFEC 8us
CCAP0H = 0xFF; //FF52 88us
//CCON = 0x40; //CCON: CF CR - - - - CCF1 CCF0
P1M1 = 0x00;
P1M0 = 0x00;
//P3M1 = 0x7C;
//P3M0 = 0x00;
#if 0
//测试代码
for(i = 1; i<512; ++i){
dmx_send_buf[i] = 0x55;
}
dmx_send_buf[0] = 0x00;
//dmx_send_buf[253] = 0x12;
//dmx_send_buf[254] = 0x13;
//dmx_send_buf[255] = 0x14;
#endif
while(1){
if(CTL_A){ // 30ms
CTL_A = 0;
#if 0
//测试代码
TB8 = 1;
//for(i = 0; i < 512; ++i)
for(i = 0; i < 3; ++i)
put_char(dmx_send_buf[i]);
//put_char(0x00);
//put_char(0x55);
//put_char(0x55);
#endif
//进入PCA中断标志
Flag_PCA = 0;
//DMX512数据包发送程序段
CCON = 0;
CL = 0x52;
CH = 0xFF;
P1_3 = 0;
CR = 1;
while(CF==0);
CCON = 0;
P1_3 = 1;
CL = 0xEC;
CH = 0xFF;
CR = 1;
while(CF==0);
CCON = 0;
for(i = 0; i < 512; ++i){
put_char_s2(dmx_rec_buf[i]);
}
//进入PCA中断则停机
while(Flag_PCA==1);
#if 0
//测试代码
for(i = 509; i < 512; ++i){
put_char_s2(dmx_rec_buf[i]);
}
#endif
}
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
....... 13646 2010-02-03 20:38 STC12C5A08S2\debug\STC12C5A08S2.uvproj
文件 1155 2010-02-03 21:09 STC12C5A08S2\debug\STC12C5A08S2.plg
文件 90 2010-02-03 21:09 STC12C5A08S2\debug\STC12C5A08S2.lnp
文件 11606 2010-02-03 21:09 STC12C5A08S2\debug\STC12C5A08S2.M51
文件 1082 2010-02-03 21:09 STC12C5A08S2\debug\STC12C5A08S2.hex
....... 56172 2010-02-03 21:08 STC12C5A08S2\debug\STC12C5A08S2_uvopt.bak
文件 5988 2010-02-03 21:09 STC12C5A08S2\debug\main.lst
文件 5544 2010-02-03 21:09 STC12C5A08S2\debug\main.obj
文件 2026 2010-02-03 21:09 STC12C5A08S2\debug\serial_isr.lst
文件 2592 2010-02-03 21:09 STC12C5A08S2\debug\serial_isr.obj
文件 2451 2010-02-03 21:09 STC12C5A08S2\debug\main_isr.lst
文件 2793 2010-02-03 21:09 STC12C5A08S2\debug\main_isr.obj
文件 9474 2010-02-03 21:09 STC12C5A08S2\debug\STC12C5A08S2
....... 56176 2010-02-03 21:09 STC12C5A08S2\debug\STC12C5A08S2.uvopt
文件 3244 2010-02-03 20:59 STC12C5A08S2\source\common.h
文件 3080 2010-02-03 21:09 STC12C5A08S2\source\main.c
文件 43 2010-02-03 20:57 STC12C5A08S2\source\main.h
文件 753 2010-02-03 21:08 STC12C5A08S2\source\serial_isr.c
文件 197 2010-02-03 20:55 STC12C5A08S2\source\serial_isr.h
文件 5387 2007-05-31 10:54 STC12C5A08S2\source\STARTUP.A51
文件 1048 2010-02-03 20:57 STC12C5A08S2\source\main_isr.c
文件 281 2010-02-03 20:56 STC12C5A08S2\source\main_ram.h
目录 0 2010-02-03 19:18 STC12C5A08S2\debug
目录 0 2010-02-03 19:18 STC12C5A08S2\source
目录 0 2010-02-03 19:18 STC12C5A08S2
----------- --------- ---------- ----- ----
184828 25
相关资源
- 由国家自然科学基金委员会U1232105和中
- 群联PS2251量产工具
- HEU_KMS_Activator_j
- STM32+TMC5160代码电路图.rar
- Einstein-Maxwell-Dilaton-Axion模型中的剪切
- Cisco PIX 515E防火墙
- Cisco Secure PIX 515防火墙产品资料
- S3C4510 开发板中uCLinux系统开发
- AT89C2051多路舵机控制电路详解
- 蓝牙无线抄表传感器的设计
- 基于51单片机的交通信号灯程序
- GSM监控系统51单片机设计
- 钰硕ar8151网卡驱动 win7 64位 win7/10/xp
- 佳能2510c扫描仪驱动 v1.3 官方最新版
- IBM ThinkPad R51笔记本
- IBM DS5100/DS5300主机接口卡的配置方法
- 51单片机定时器/计数器的结构和原理
- MCS-51单片机定时器和计数器区别的理
- STM32F103VCT6TR - High-density performance lin
- IBM System i 515易捷版配置手册
- IBM System p5 510 和 510Q 易捷版配置手册
- AT89C51+ADC0808 PROTEUS仿真
- 基于51单片机的多通道数据采集范围控
- ADC0832ADC0809DAC0832三种芯片程序,c程序
- 基于51单片机的直流电机转速控制及显
- seed xds510plus仿真器驱动 官方最新版
- 海尔一体机 MS-AA511
- 华三S5130 v7系列交换机mib文件oid库
- 惠普5100激光打印机驱动 支持win7
- HP XP512在深圳平安保险应用案例
评论
共有 条评论