资源简介
实现功能:基于STC12C5A60S2(51)单片机实现四个串口通讯 串口一收到数据封装数据分别2、3、4串口
使用芯片:STC12C5A60S2系列
晶振:11.0592MHZ
波特率:9600(有无校验位 串口一到三有校验位 串口四无校验 停止位:1;)
封装数据格式:可以在串口2,3,4 UartDriver()函数里面看到封装数据格式
编译环境:Keil

代码片段和文件信息
/********************************************************************
实现功能:基于STC12C5A60S2单片机实现四个串口通讯 串口一收到数据封装数据分别2、3、4串口
使用芯片:STC12C5A60S2系列
晶振:11.0592MHZ
波特率:9600(有无校验位 串口一到三有校验位 串口四无校验 停止位:1;)
封装数据格式:可以在串口234 UartDriver()函数里面看到封装数据格式
编译环境:Keil
*********************************************************************/
#include
#include //用nop函数延时的头文件
#include“Init_IO.h“
#define uchar unsigned char//宏定义无符号字符型
#define uint unsigned int //宏定义无符号整型
unsigned char T0RH = 0; //T0重载值的高字节
unsigned char T0RL = 0; //T0重载值的低字节
void ConfigTimer0(unsigned int ms); //配置并启动T0,ms-T0定时时间
extern void UartDriver1(); //串口驱动函数,监测数据帧的接收,调度功能函数,需在主循环中调用
extern void ConfigUART1(unsigned int baud1); //串口配置函数,baud-通信波特率
extern void UartRxMonitor1(unsigned char ms1); //串口接收监控,由空闲时间判定帧结束,需在定时中断中调用,ms-定时间隔
extern void UartWrite1(unsigned char *buf1 unsigned char len1); //串口数据写入,即串口发送函数,buf-待发送数据的指针,len-指定的发送长度
extern void UartRead2(unsigned char *buf2 unsigned char len2);
extern void UartRead1(unsigned char *buf1 unsigned char len1);
extern void UartDriver2(); //串口驱动函数,监测数据帧的接收,调度功能函数,需在主循环中调用
extern void ConfigUART2(unsigned int baud2); //串口配置函数,baud-通信波特率
extern void UartRxMonitor2(unsigned char ms2); //串口接收监控,由空闲时间判定帧结束,需在定时中断中调用,ms-定时间隔
extern void UartWrite2(unsigned char *buf2 unsigned char len2); //串口数据写入,即串口发送函数,buf-待发送数据的指针,len-指定的发送长度
extern void UartDriver3(); //串口驱动函数,监测数据帧的接收,调度功能函数,需在主循环中调用
extern void ConfigUART3(unsigned int baud3); //串口配置函数,baud-通信波特率
extern void UartRxMonitor3(unsigned char ms3); //串口接收监控,由空闲时间判定帧结束,需在定时中断中调用,ms-定时间隔
extern void UartWrite3(unsigned char *buf3 unsigned char len3); //串口数据写入,即串口发送函数,buf-待发送数据的指针,len-指定的发送长度
extern void UartDriver4(); //串口驱动函数,监测数据帧的接收,调度功能函数,需在主循环中调用
extern void ConfigUART4(unsigned int baud4); //串口配置函数,baud-通信波特率
extern void UartRxMonitor4(unsigned char ms4); //串口接收监控,由空闲时间判定帧结束,需在定时中断中调用,ms-定时间隔
extern void UartWrite4(unsigned char *buf4 unsigned char len4); //串口数据写入,即串口发送函数,buf-待发送数据的指针,len-指定的发送长度
uchar sdat;
void main()
{
EA = 1; //开总中断
ConfigTimer0(1); //配置T0定时1ms
ConfigUART1(9600); //配置波特率为9600
ConfigUART2(9600); //配置波特率为9600
ConfigUART3(9600); //配置波特率为9600
ConfigUART4(9600); //配置波特率为9600
while (1)
{
UartDriver1(); //调用串口驱动
UartDriver2(); //调用串口驱动
UartDriver3(); //调用串口驱动
UartDriver4(); //调用串口驱动
}
}
/* 配置并启动T0,ms-T0定时时间 */
void ConfigTimer0(unsigned int ms)
{
unsigned long tmp; //临时变量
tmp = 11059200 / 12; //定时器计数频率
tmp = (tmp * ms) / 1000; //计算所需的计数值
tmp = 65536 - tmp; //计算定时器重载值
tmp = tmp + 33; //补偿中断响应延时造成的误差
T0RH = (unsigned char)(tmp>>8); //定时器重载值拆分为高低字节
T0RL = (unsigned char)tmp;
TMOD &= 0xF0; //清零T0的控制位
TMOD |= 0x01; //配置T0为模式1
TH0 = T0RH; //加载T0重载值
TL0 = T
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-05-07 16:14 STC15W4K48S4四串口带485开发板测试程序\
文件 417 2017-03-30 16:58 STC15W4K48S4四串口带485开发板测试程序\Init_IO.h
文件 4087 2018-05-07 16:14 STC15W4K48S4四串口带485开发板测试程序\main.c
文件 6518 2018-05-07 16:14 STC15W4K48S4四串口带485开发板测试程序\main.LST
文件 9378 2018-05-07 16:14 STC15W4K48S4四串口带485开发板测试程序\main.OBJ
文件 34 2018-05-07 16:14 STC15W4K48S4四串口带485开发板测试程序\main.__i
文件 6376 2012-12-10 10:20 STC15W4K48S4四串口带485开发板测试程序\STARTUP.A51
文件 14053 2018-05-07 12:01 STC15W4K48S4四串口带485开发板测试程序\STARTUP.LST
文件 749 2018-05-07 12:01 STC15W4K48S4四串口带485开发板测试程序\STARTUP.OBJ
文件 12805 2017-02-22 21:02 STC15W4K48S4四串口带485开发板测试程序\STC15W4KXX.H
文件 4874 2018-05-07 12:01 STC15W4K48S4四串口带485开发板测试程序\UART1.c
文件 9635 2018-05-07 12:01 STC15W4K48S4四串口带485开发板测试程序\UART1.LST
文件 11795 2018-05-07 12:01 STC15W4K48S4四串口带485开发板测试程序\UART1.OBJ
文件 4340 2018-05-07 16:14 STC15W4K48S4四串口带485开发板测试程序\UART2.c
文件 8515 2018-05-07 16:14 STC15W4K48S4四串口带485开发板测试程序\UART2.LST
文件 11381 2018-05-07 16:14 STC15W4K48S4四串口带485开发板测试程序\UART2.OBJ
文件 35 2018-05-07 16:14 STC15W4K48S4四串口带485开发板测试程序\UART2.__i
文件 4165 2018-05-07 16:14 STC15W4K48S4四串口带485开发板测试程序\UART3.c
文件 8385 2018-05-07 16:14 STC15W4K48S4四串口带485开发板测试程序\UART3.LST
文件 11188 2018-05-07 16:14 STC15W4K48S4四串口带485开发板测试程序\UART3.OBJ
文件 35 2018-05-07 16:14 STC15W4K48S4四串口带485开发板测试程序\UART3.__i
文件 4330 2018-05-07 16:14 STC15W4K48S4四串口带485开发板测试程序\UART4.c
文件 8322 2018-05-07 16:14 STC15W4K48S4四串口带485开发板测试程序\UART4.LST
文件 11380 2018-05-07 16:14 STC15W4K48S4四串口带485开发板测试程序\UART4.OBJ
文件 8464 2018-05-07 16:14 STC15W4K48S4四串口带485开发板测试程序\wddz.hex
文件 119 2018-05-07 16:14 STC15W4K48S4四串口带485开发板测试程序\wddz.lnp
文件 44286 2018-05-07 16:14 STC15W4K48S4四串口带485开发板测试程序\wddz.M51
文件 48655 2018-05-07 16:14 STC15W4K48S4四串口带485开发板测试程序\wddz.taobao
文件 0 2017-01-06 22:13 STC15W4K48S4四串口带485开发板测试程序\wddz.taobao.com
文件 2240 2018-05-07 16:14 STC15W4K48S4四串口带485开发板测试程序\wddz.taobao.plg
文件 72702 2017-09-23 16:27 STC15W4K48S4四串口带485开发板测试程序\wddz.taobao.uvgui.Administrator
............此处省略5个文件信息
- 上一篇:cjson.lua源码
- 下一篇:Mybatis案例一所用建表语句
相关资源
- boost::asio::serial下6个工程演示多种串口
- FreeRTOS采样ADC+KEY事件信号+DMA串口收发
- 解读AT89C2051遥控接收器电路设计原理
- 红外转串口通信含原理图和程序
- 51单片机通信采样proteus仿真方波转化
- Modbus协议官方文档中、英文全
- 易语言OTG串口通信
- delphi 串口通讯
- 基于MCS_51单片机的工业屏柜散热方案
- MCS_51单片机与8255A的接口设计
- STM32蓝牙和串口程序
- LCD显示温度+串口接收温度.rar
- WPF USB 网络 串口 通信软件
- 51单片机PWM程序,占空比、周期可调整
- DELPHI与西门子200PLC的串口通信实例
- Verilog FPGA UART串口控制器
- 51单片机多功能自行车测速仪
- USB转串口驱动,FT232R驱动程序,最新
- 00
- 用51单片机实现G代码翻译
- 简易的电阻电容测量电路
- 51单片机基于protues的几个仿真实例
- 51单片机PCB设计图
- PC -- 单片机的串口数据传输系统设计
- STM32F103 串口程序(完整版)
- stm32 ds18b20 温度传感器 测试通过
- 51单片机控制舵机程序
- PC 串口调试软件
- 51单片机读取温度数据存储到SD卡中并
- 【单片机】51单片机数码管显示万年历
评论
共有 条评论