目的:单片机发送数据,用PC机的串口调试接收数据。
程序:
#include
void UART_init(); //串口初始化函数
void COM_send(void); //串口发送函数
char str[40]= "welcome"; //{0x00,0x10,0xa0,0xb1};
//-----------------------------------------------------
void delay(void)
{ unsigned char j,k;
for(j=0;j<200;j++)
for(k=0;k<200;k++);
}
//-----------------------------------------------------------
void main(void)
{
UART_init();
while(1)
{
COM_send();}
}
//--------------------------------------------------------------
void UART_init()
{
SCON =0x50; //选择串口工作方式1
TMOD =0x20; //定时器1工作在方式2
TH1 =0xfA;
TL1 =0xfA; //9600
PCON=0x80; TR1 =1;
ES=1; //允许串行口中断
}
//发送----------------------------------------------------------------
void COM_send(void)
{
unsigned char point = 0;
for(point=0;point<4;point++)
{
SBUF=str[point];
delay();
while(!TI) ;
TI=0;
}
}
关键字:单片机 串口通讯
引用地址:
单片机与232串口通讯
推荐阅读最新更新时间:2024-03-16 14:43
51单片机入门经验分享2-关于进制 typedef 头文件 main 延时函数
接上篇帖子,单片机这种东西,如果是用来考试,翻翻书大概就可以了,如果是拿来开发一些小的作品,自学2个月,也不会太难,因为现在开发板也是很多的,资料也很丰富,如果你是想找工作,想独立开发产品,这个,对于一个刚毕业的人来说,就比较难了,很大的原因,是走了弯路,而且沿着弯路一直走了下去。我们希望分享一些有用的东西,实用的东西,让新手少走些弯路,如果每个坑都重踩一遍,这得浪费多少时间啊。 言归正传,单片机是必须要亲自动手敲代码才能学会的,所以从这一章节开始,我们会分享一些例程,并详细解析,希望能给新手带来帮助,还是那句话,本人水平有限,老手轻拍,有错误请指出,有事请留言。 一个经典的例程,点亮你的LED 我以手里的这块STC15W1
[单片机]
PC机与PIC单片机串行全双工通信
1. 实例目的: 本实例完全建立在计算机软件的基础上,利用PROTEUS软件构建一个单片机系统,利用VB编写一个计算机控制软件和单片机系统串行通信,计算机上的控制软件可以发送一个值在0 999之间的数,在单片机系统上显示出来,单片机系统上也可输入一个相同值域的数并在计算机控制软件上显示出来。本实例主要是为了展示虚拟串行通信的仿真。 2. 系统配置 本实例虽然简单,但是要想看到想要的仿真结果,建立虚拟的串口连接是必不可少的。要想仿真串行通信,必须要把单片机系统上的串行口与计算机上的串行口连接,这样他们之间才能传输数据,但由于是仿真,实际没有相连接,所以需要创建一对虚拟串行口并使他们相连,这里我使用的是这个软件Virtual Ser
[单片机]
51单片机:数码管c代码集合
/* 点亮第一个数码管,因为板子是自已做的,到电子城买数码管时说好要共阴的,拿来测时才发现是共阳的。 */ //------------------------------------------------------------ /* #include reg52.h #define uchar unsigned char sbit duan=P2^5 ; //注意,有分号 sbit wei=P2^6; //注意,有分号+P是大写的,若你写成小写的则会提示说找不到 const unsigned char table ={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,
[单片机]
自制单片机之十七……PC与单片机RS-232串口的通讯和控制
这次我们来试着一步步的去掌握PC与单片机通过RS-232进行通讯和控制。 先说说我硬件的情况。我用的PC是个二手的IBM240小本本,十寸屏,赛扬400,机子很老了。但也有它的优点:1、串口,并口,PS鼠标口、USB口、PCM插槽全有。 调试硬件电路最好还是用真实串、并口好些,因为用USB转换的串、并口有时会出现兼容性上的问题,就会增加你调试上的复杂性。 下图为本人的IBM 240及各种接口图: iframe id="iframe_0.03398651536554098" src="data:text/html;charset=utf8,%3Cimg%20id=%22img%22%20src=%22http://h
[单片机]
80C51单片机指令的取指、执行时序
使用ALE信号作为低8位地址的锁存控制信号。ALE接到外部锁存器时,高电平期间,51的p0输出地址,低电平时锁存器将地址锁存,在ALE低电平时,(PSEN为低)p0口可以传输数据(指令),这样就可以地址/数据复用了。 以PSEN信号作为扩展程序存储器的读选通信号,在读外部ROM是PSEN是低电平有效,以实现对ROM 的读操作。 以EA信号作为内外程序存储器的选择 控制信号,当其为低电平时,对ROM的读操作限定在外部的程序存储器,当其为高电平时, 对ROM的读操作是从内部存储器开始的,并可延至外部程序存储器. 由RD和WR信号作为扩展数据存储器和I/O口的读选通、写选通信号。 EA信号是表示是当前指令是读内,还是外存储器
[单片机]
STM32系列MCU开发环境的搭建
导读: 选择某款MCU的学习一般从其开发环境的搭建开始,即安装支持该处理器的编译、调试软件。其中最为关键的就是编译器的选择与安装,编译器的具体工作原理和作用可以参见本公众号“嵌入式ARM篇”合集文章《01_编译过程简介及为什么需要交叉编译器》。支持STM32系列MCU的编译软件有很多种,开发编译环境也各不相同,其中Keil uVision5(以下简称Keil5)编译软件以其简单易用的特点,应用最为广泛。 为了便于MCU的快速推广,开发商积极推出了各自的底层应用函数库,便于工程师的快速开发与应用。STM32系列MCU目前主要有两种函数库,一种是标准库,一种是HAL库(以下简称硬件库)。在使用标准库开发不同系列的MCU时,其中的功
[单片机]
51单片机入门 - 点阵显示程序设计实验
一、LED点阵发光原理 8*8单色单片机结构图如下: https://blog.csdn.net/weixin_42625444/article/details/90897605 从电路图中很简单的就可以看出来,想要点亮点阵中的某一个LED灯。只要使得那个灯所在的行输出高电平,所在列输出低电平就好。 二、点阵扫描实验 /*********************************************** 实验名称: 点阵扫描 实验说明: 扫描每个LED灯,检查点阵是否完好 实验时间: ***********************************************/ #inc
[单片机]
使用电容器降低MCU的电源噪声
STM32是广泛应用的MCU,涵盖Cortex-M0、M3、M4和M7内核,共有1236多个系列,包含STM32主流MCU、STM32高性能MCU、STM32超低功耗MCU、STM32无线MCU、STM32 Arm Cortex MPUs等门类。 STM32 MCU内置高级12位ADC(取决于器件),提供自校准功能。在涉及模数转换的应用中,ADC精度会影响整体的系统质量和效率。而ADC精度不仅取决于ADC性能和功能,还取决于ADC周围的整体应用设计,例如电源噪声,这些恰恰可以能通过电容器过滤掉。 在电源线和地线之间,建议连接具有优良高频特性的电容。也就是说,应在靠近电源的位置安装一个0.1μF和一个1至10μF的电容,这些
[单片机]