stc15f104w模拟串口使用

stc15f104w单片机体积小,全8个引脚完全够一般的控制使用,最小系统也就是个电路滤波----加上一个47uf电容和一个103电容即可,但因为其是一个5V单片机,供电需要使用5V左右电源。

该款单片机视乎没有硬件串口,所以想要使用串口完成开发则应该使用软件模拟串口实现,其中P3.0为单片机RX,P3.1为单片机TX,下载时也适用。最好的学习质料莫过于官网,使用可以链接:http://www.stcmcudata.com/STC-LIB/STC15%E7%B3%BB%E5%88%97%E5%BA%93%E5%87%BD%E6%95%B0%E4%B8%8E%E4%BE%8B%E7%A8%8B%E6%B5%8B%E8%AF%95%E7%89%88V1.0.rar进入系列参考程序下载,解压后可到该目录下:

接下来我们用keil软件打开,可以看到波特率默认设置为19200,这里我将它改为9600,这样波特率低虽然传输速率虽然会慢些,但传输稳定性会好很多,毕竟这是一款再便宜不过的单片机了,而且传输用的还用的是模拟串口。

接下来是程序的下载,这里有一个较大的坑,那就是要选择IRC频率应设置为22.1184MHz,因为这里的选择决定了该款单片机的晶振大小,而晶振大小和我们所设置的波特率息息相关,之前用的是默认的11.0592,在串口调试助手设置波特率刚好是代码设置的波特率的一半才能正确显示。

下载时断开然后再接上地线即可,完成。

原文地址:https://www.cnblogs.com/dongxiaodong/p/9610365.html

时间: 2024-10-09 21:56:51

stc15f104w模拟串口使用的相关文章

用IO模拟串口协议发送数据

<pre name="code" class="cpp">//文件usend.h #ifndef _USEND_H_ #define _USEND_H_ //====红外接收相关定义============================= #define PuTx_High (P_uTx = 1) //数据高 #define PuTx_Low (P_uTx = 0) //数据低 #define V_SendDatNum 6//6 //发送数据字节数 /

51单片机GPIO口模拟串口通信

51单片机GPIO口模拟串口通信 标签: bytetimer终端存储 2011-08-03 11:06 6387人阅读 评论(2) 收藏 举报 本文章已收录于: 分类: 深入C语言(20) 作者同类文章X 1 #include "reg52.h" 2 #include "intrins.h" 3 #include "math.h" 4 #include "stdio.h" 5 sbit BT_SND =P1^5; 6 sbit

模拟串口输出

最近在调试hardfault handler输出日志信息时候获得了Vincent帮助,感谢 1 void Delay_UART5(uint16_t cnt) 2 { 3 for(;cnt;cnt--); 4 } 1 //void HardFault_Handler(void) //uart5 38400 2 //{ 3 // 4 // uint32_t addrbegin=__get_MSP() ; //???·?· 5 uint32_t addr: 6 // uint8_t i, j, str

模拟串口--基于STM8普通IO口的模拟串口驱动程序

基于STM8普通IO口的模拟串口驱动程序 标准串口通讯数据的格式为:起始位(1) + 数据位(8) + 校验位(1) + 停止位(1) 串口通讯另外一个重要的的部分是设置波特率,波特率就是1秒钟内串口所传输的Bit(位)数. 关于采样频率:为了较小读取或者发送串行数据的误差,我们采取了在N(我用的是4次)次中断中,取固定位置的读取的数据. 我以stm8中9600波特率计算的过程为例:(1秒钟传输9600位) 可以计算出传输1位所需要的时间 T1 = 1/9600 约为104us 由此可知,发送一

教你如何在51单片机上模拟串口通信!!!

我们可以不使用单片机本身带有的串口,而自己用程序去模拟一个串口并达到和本身的串口具有同样的功能, 首先,我们需要用到CH340串口模块,大家可以上某宝自行购买. 正面: 反面: 然后我们需要了解一下这串口模块上的引脚: 5V  :与VCC短路为5V TLL输出(电源和信号输出都是5V) VCC:可以与3.3V和5V用跳帽连接 3.3V:与VCC短路为3.3V TLL输出(电源和信号输出都是3.3V) TXD:发送数据端口(与单片机上的接收引脚用杜邦线连接) RXD:接收数据端口(与单片机上的发送

模拟串口UART的实现

我所祷告的,就是要你们的爱心,在知识和见识上,多而又多,使你们能分辨是非,做诚实无过的人,直到基督的日子.--腓立比书[1:9~10] 最近在调的MCU的型号为STM32F030,配置芯片相较之前的MCU都比较简单,功能配置很顺利.但是在写串口程序的时候,发现串口一直不通,使用示波器也没有波形.因为基本的串口通讯线只有Tx和Rx两根线,配置也相对简单,8位数位,1位停止位,9600波特率.协议结构为 起始位(低电平)+8位数据(低位在前)+1位停止位(高电平),例如发送字节0x55,即电平为低

STM32之模拟串口设计

一.设计用途: 公司PCB制成板降成本,选择的MCU比项目需求少一个串口,为满足制成板成本和项目对串口需求,选择模拟一路串口. 二.硬件电路: 三.设计实现: 工具&软件:STM32F030R8    KEIL5    STM32CubeMX 1. 串口通信 串口是一种很常用的通信接口,按位(bit)发送和接收字节,串口通信是异步传输,端口能够在一根线上发送数据同时在另一根线上接收数据.串口通信最重要的参数是比特率.数据位.停止位和奇偶校验.对于两个进行通信的端口,这些参数必须匹配,在我们单片机

stm32 普通IO口模拟串口通信

普通IO口模拟串口通信 串口通信协议 串口传输 默认 波特率9600 1起始位 1停止位 其他0 数据位是8位(注意图上的给错了). 传输时,从起始位开始,从一个数据的低位(LSB)开始发送,如图从左向右的顺序,对电平拉高或拉低,最后停止位时拉高. 波特率大小,改变延时时间即可.例如9600 波特率    根据公式 : 1/9600=0.000104s(大致) 也就是说每发送1bit延时104us (下面我用9600波特率来说,代码用的是19200) 串口发送       将电平拉低 延时104

采用VSPD、ModbusTool模拟串口、MODBUS TCP设备进行Python采集软件开发

版权声明:本文为博主原创文章,欢迎转载,并请注明出处.联系方式:[email protected] 不少仪器/设备都提供了数据采集的接口,其中不少是串口或网络的MODBUS/TCP协议. 串口是比较简单,但是较为古老的接口方式,现在的笔记本基本上都没有这种形式的接口了,如果软件开发在笔记本上进行的话,无法调试,或要绕一下用USB转串口的小设备,很不方便. 还好有前辈开发了虚拟串口软件,可以很方便的用于串口通讯的软件开发,我用的是VSPD(网盘).用虚拟串口软件开发有几方面的好处: 1.电脑/笔记