资源简介
实现功能:基于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案例一所用建表语句
相关资源
- 51单片机控制LED PWM调光程序
- arduino uno + ESP8266 搭建的天气预报平台
- 基于C51单片机的MP3播放器设计
- 基于89C51单片机的节拍器设计
- 51单片机驱动74hc595芯片的程序
- MSP430F149与ESP8266串口通信
- 串口工具.rar
- 51单片机串口修改DS1302时间
- 51单片机的简易计算器仿真及源码
- 51单片机通过6050——DMP获取姿态角例
- 模拟仿真CDT规约报文
- 串口rs232用verilog实现
- 基于51单片机的智能导航小车
- 具有921600波特率的串口调试助手
- delphi检测USB设备信息序列号串口号等
- 使用verilog以及VHDL编写的将串口数据转
- HI226HI229 6轴姿态传感器在STM32下的串口
- MSP430 Application UART(串口驱动)
- 基于51单片机 的智能交通灯设计 带
- pyqt5串口通讯助手
- stc15两轮自平衡小车
- 51单片机读写SD卡程序,使用FAT文件系
- Labview与单片机串口通讯
- 51单片机与触摸屏通信
- qt下串口读温度和曲线图
- AT89c51单片机流水灯
- 51单片机中用PWM控制LED亮度调节
- DS18B20 51单片机,包括电路
- 28BYJ-48步进电机(51单片机)
- 基于STC89C51的CAN总线点对点通信模块设
评论
共有 条评论