51单片机编程串口通信问题

#include
unsigned char a[]="i love";
unsigned int b=0;
void love()interrupt 4
{if(TI==1)
TI=0;
}
void delay(unsigned int a)
{a--;
}
void main()
{EA=1;
ES=1;
TMOD=0X20;
TH1=0XFD;
TL1=0;
TR1=1;
SM1=0;
SM1=1;
while(1)
{for(b=0;b<6;b++)
{SBUF=a[b];
delay(40);

}
}
}
1.我想问下为啥代码输出会是这样呢“ieeevvvoooll iiieeevvvoooll iiieeevvvooolll iiieeevvvooolll iiieeeevvooolll iieeeevvooolll iieeeevvvoolll iiieeevvvoolll iiieeevvvoooll iiieeevvvoooll iiieeevvvooolll iiieeevvvooolll iiieeeevvooolll iieeeevvooolll iieeeevvvoolll iiieeevvvoolll iiieeevvvoooll iiieeevvvoooll iiieeevvvooolll iiieeevvvooolll iiieeeevvooolll iieeeevvooolll iieeeevvvoolll iiieeevvvoolll iiieeevvvoooll iiieeevvvoooll iiieeevvvooolll iiieeevvvooolll iiieeeevvooolll iieeeevvooolll iieeeevvvoolll iiieeevvvoolll iiieeevvvoooll iiieeevvvoooll iiieeevvvooolll iiieeevvvooolll iiieeeevvooolll iieeeevvooolll iieeeevvvoolll iiieeevvvoolll iiieeevvvoooll iiieeevvvoooll iiieeevvvooolll iiieeevvvooolll iiieeeevvooolll iieeeevvooolll iieeeevvvoolll iiieeevvvoolll iiieeevvvoooll iiieeevvvoooll iiieeevvvooolll iiieeevvvooolll iiieeeevvooolll iieeeevvooolll iieeeevvvoolll iiieeevvvoolll iiieeevvvoooll iiieeevvvoooll iiieeevvvooolll iiieeevvvooolll iiieeeevvooolll iieeeevvooolll iieeeevvvoolll iiieeevvvoolll iiieeevvvoooll iiieeevvvoooll iiieeevvvooolll iiieeevvvooolll iiieeeevvooolll iieeeevvooolll iieeeevvvoolll iiieeevvvoolll iiieeevvvoooll iiieeevvvoooll iiieeevvvoo”

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
51单片机串口输入lcd显示实验代码
51单片机实验串口输入,由1602来显示
51单片机编程软件
51单片机是对所有兼容Intel 8031指令系统的单片机的统称。该系列单片机的始祖是Intel的8004单片机,后来随着Flash rom技术的发展,8004单片机取得了长足的进展,成为应用最广泛的8位单片机之一,其代表型号是ATMEL公司的AT89系列,它广泛应用于工业测控系统之中。很多公司都有51系列的兼容机型推出,今后很长的一段时间内将占有大量市场。51单片机是基础入门的一个单片机,还是应用最广泛的一种。需要注意的是51系列的单片机一般不具备自编程能力。
ARM处理器与51单片机程序编写的区别
(1)int变量     在51单片机中占2个字节;在ARM处理器中占4个字节。 (2)结构体对齐     在51单片机中按照一个字节对齐;在ARM中按照结构体默认对齐规则对齐。 (3)字节在内存的排列顺序      在51单片机中是大端;在ARM中,大多数是小端,部分可以大小端选择。 大端堆栈和小端堆栈的区别:         大端堆栈往上生长,小端堆栈往下生长;        
(一)uart通信:基于51实现
51单片机的串口,是个全双工的串口,发送数据的同时,还可以接收数据。 当串行发送完毕后,将在标志位 TI 置 1,同样,当收到了数据后,也会在 RI 置 1。 无论 RI 或 TI 出现了 1,只要串口中断处于开放状态,单片机都会进入串口中断处理程序。 在中断程序中,要区分出来究竟是发送引起的中断,还是接收引起的中断,然后分别进行处理。 看到过一些书籍和文章,在串口收、发数据的处理方法上,
51单片机模拟串口通信头文件(内含详细使用说明)
本资源是51单片机的模拟串口通信头文件,内含详细的使用说明。只需几个步骤即可移植到你的51程序中。在51单片机内置的串口收发模块不够用时,使用本头文件可模拟出一个半双工的串口。
使用51单片机采用查询方式进行串口通信的学习记录
使用51单片机进行串口通信的学习记录之查询方式:   所谓查询方式,简单来说,就是利用软件(代码)去判断、查询TI和RI标志位的状态,然后依据其状态去执行各种操作。   1.SCON 是一个特殊功能寄存器,用以设定串行口的工作方式、接收/发送控制以及设置状态标志:     SM0和SM1为工作方式选择位,可选择四种工作方式:   2.有关波特率的计算方法: 在串行通信中,收发双方对
51单片机编程助手及入门
51单片机编程助手及入门51单片机编程助手及入门51单片机编程助手及入门
51单片机入门教程(0)—— 开发环境配置
51单片机入门教程(0)—— 开发环境配置 本教程包含51单片机开发环境Keil_C51的安装、破解和汉化,以及51单片机仿真环境proteus的安装、破解。 (说明:本教程仅供学习交流之用,禁止任何商业用途!请在24小时之内删除,如要使用Keil请购买正版) 1、 Keil_C51 1.1 keil_c51简介 Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软...
51串口通信计算器.rar
51串口通信51串口通信51串口通信51串口通信51串口通信
单片机工具单片机工具
使用51单片机编程的必备工具使用51单片机编程的必备工具
一个 51 单片机的编程题
在 51 单片机的片内数据存储器 20H 和 21H 单元中,分别存放了数据 9 和 2,编写程序计算两者之差以及乘积。差,存放到 30H 里,并通过发光二极管的点亮个数显示出来。乘积,存放到 31H 里, 并通过数码管显示出来。8 只发光二极管连接在 P1 口。数码管为共阴极,其段选端 a、b、......g、dp,依次连接在单片机的 P2.0~P2.7;公共端连接于 P3.0 和 P3.1。要
51单片机的串口通信
一、程序下载的不同方式 1、程序传送和电平接口: 由于两个电平无法通信,所以需要转换电平 1、转换电平可以装驱动(CH340) 2、可以使用转电平芯片 一般采用第一种方式 二、通信方式 (一)、并行通信 (二)、串行通信 三、串行通信传输方向 四、串行通信的分类 (一)、异步通信 异步通信的数据格式
51单片机之串口通信
    好记性不如烂笔头,以前总以为自己记性比较好,但事实总是一次一次的打我脸,刚开始学习单片机的时候在串口通信这一块发了一段时间,才将这一块弄懂了个七七八八,这几天回头想一下那一方面的知识,感觉忘得差不多了,现在重新理一遍,里面的程序大部分都是以前抄袭大佬的,但具体是哪一位大佬的博客现在也找不到了,希望大佬见谅。    首先了解串口通信先要熟悉SCON,PCON,TMOD三个寄存器    串口工...
51单片机编程
51单片采集机可以实现温度湿度的采集和读取
51单片机编程:做一个简易的流水灯
#include #define uchar unsigned char #define uint unsigned int uint table[] = {0xfe, 0xfd, 0xfb, 0xf7, 0xef, 0xdf, 0xbf, 0x7f}; void delay(void) { uint a = 50000; while(a--); } void main() { in
51单片机串口通讯的实现.
在串口通讯实际操作里面往往串口还要和电脑上的上位机软件进行交互,实现电脑软件发送不同的指令,单片机对应执行不同操作的功能,这就要求我们组织一个比较合理的通信机制和逻辑关系,用来实现我们想要的结果。我们发的数据往往是一组(一帧)数据,那么我们是如何判断一段数据有没有接收完呢?所以我们需要写一个代表一组(一帧)数据接收完。下面代码会贴出一个void UartDriver1()这个函数。可以参考里面函数...
51单片机库函数大全
51单片机库函数,包含各种常用模块的驱动代码。如超声波、LCD、DS18B20、NRF24L01、TFT、数码管、PWM、DS1302、中断、延时等。
51 串口通信-发送
#include &quot;reg52.h&quot; typedef unsigned int u16; typedef unsigned char u8; sbit k3 = P3^2; void UsartInit() { //串口通信配置 SCON=0X50; TMOD=0X20; PCON=0X80; TH1=0XF3; TL1=0XF3; ...
51单片机实验
删了怪可惜的,不要浪费。单字节十六进制数转换成双字节 ASCII 码 功    能:单字节十六进制数转换成双字节 ASCII 码 入口条件:待转换的单字节十六进制数在累加器 A 中。 出口信息:高四位的 ASCII 码在 A 中,低四位的 ASCII 码在 B 中 实现1:(计算法)    PUSH A                ;将A压栈,保存         MOV DPTR,#AST...
基于VB的串口通讯及其软件实现
基于VB的串口通讯及其软件实现 摘要:串口通信因为其简单,灵活易用,在许多领域有着广阔的应用前景。本文在深入了解串口通讯技术的基础上,结合自身的工程实践经验,阐述了VB串口编程的技术要点。并结合一个通讯实例,分析通讯的具体实现,给相关领域的研究人员提供值得参考的信息
大学生单片机原理与应用题库与答案
整理的文档形式的单片机课程题库,包括:选择题,填空题,判断题,扩展题,写指令题,读程序题,编程题
51单片机串口通信——串口设置
51单片机的串口通信如果全部把发送原理讲完的话可能要打好久几万字, 最重要的是我有些地方也没搞懂的,也讲不清楚,所以今天就直接用代码来解释…….hahahaha 串行口工作之前,应对其进行初始化,主要是设置产生波特率的定时器1、串行口控制和中断控制。 具体步骤如下: 1.确定T1的工作方式(编程TMOD寄存器);      2.计算T1的初值,装载TH1、TL1;
(C51学习五)单片机与PC通过串口通信
1.开发步骤 2.串口模块 3.SBUF是什么 4.串口相应寄存器 5.给定波特率求定时值 6.代码实现 1.开发步骤 1.设置串口中断寄存器 2.求出给定波特率对应的T1定时器初始值(因为传统的C51是用T1定时器产生波特率的) 3.写程序 2.串口模块 什么是串口?串口就是COM口,串口是串行发送数据的,是一位位地发送数据位,常见的是9针串口。但在一般的C
51单片机串口通信 采用中断方式
/*----------------------------------------------- 功能: 连接串口到电脑,下载该程序,打开电源 打开串口调试助手,将波特率设置为2400,无奇偶校验 晶振12MHz,发送和接收使用的格式相同,如都使用 字符型格式,设置正确后接受框可以显示出: The UART test, 请在发送区输入信息 --
51单片机基础知识总结(复习时自己总结的)
期末考试复习自己总结的,包括一些框架和基本指令。 不是很详细,但是基本上考试范围都有。
51单片机学习——串口通信
51单片机的UART串口的结构由串行口控制寄存器SCON、发送和接收电路三部分构成。 SCON位分配 位 7 6 5 4 3 2 1 0 符号 SM0 SM1 SM2 REN TB8 RB8 TI RI 复位值 0 0 0 0 0 0 0 0 ...
51串口通信计算器2
51串口通信计算器51串口通信计算器51串口通信计算器
【51单片机】(手把手教你)串口通信-基础篇
通信方式 并行 适合短距离通信,并行通信控制简单、相对传输速度快(8位一起传输)。 串行 只能一位一位的传送。 同步(了解) 建立发送方时钟对接收方时钟的直接控制,使双方达到完全同步。此时,传输数据的位之间的距离均为“位间隔”的整数倍,同时传送的字符间不留间隙。 发送方对接收方的同步可以通过外同步和自同步 异步(常) 以字符(构成的帧)为单位进行传输。数据
51单片机的库函数
相对于传统的51,新版的要好用很多,今天分享个库函数
51单片机的串口通信实例
Question:以16进制发送一个0-255之间的任一数,当单片机收到后在数码管上动态显示出来,波特率自定。#include <reg52.h> #define uchar unsigned char #define uint unsigned int sbit duan =P2^6; sbit wei =P2^7; uchar code table[]={ 0x3f,0x06,0x5b,0x4f
51单片机图形编程
51单片机图形编程 基于Java 一、XR Block运行环境的搭建 1、到http://www.oracle.com/technetwor ... nloads-2133151.html下载JDK,由于XR Block基于Java运行环境,所以电脑需要安装JDK。 要注意,32位系统安装X86的,64位系统安装X64的JDK,过程就不详细阐述了,安装完毕后,需要配置JAVA环境变量: 计算机→属性→高级系统设置→高级→环境变量 系统变量→新建 JAVA_HOME 变量 。 变量值填写jdk的安装目录(以实际路径为准,比如D:\Java\jdk1.7.0) 系统变量→寻找 Path 变量→编辑 在变量值最后输入 %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin; (注意原来Path的变量值末尾有没有;号,如果没有,先输入;号再输入上面的代码) 系统变量→新建 CLASSPATH 变量 变量值填写 .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar(注意最前面有一点) 系统变量配置完毕
郭天祥51单片机教程
详细的描述了51单片机的相关知识以及相应的开发软件的使用。
keil 报错“空间不够”分析
我遇到的问题: Error: L6406E: No space in execution regions with .ANY selector matching font_hz1616.o(.constdata). Error: L6407E: Sections of aggregate size 0x1d580 bytes could not fit into .ANY selector(s
keil4 单片机编程 UV4 C C++
keil4 单片机编程 UV4 C C++ 51 ARM单片机编程调试工具
单片机编程中常用到的几种关键词
一、#define二、#ifndef ... #define ... #end      #ifdef    ...  #end                 #if ... #elseif ... #endif三、typedef四、extern五、enum方法1:enum weekday { sun, mou, tue, wed, thu, fri, ...
51单片机串口通信及波特率设置
原文转载自:http://blog.csdn.net/hzqt210/article/details/6496989 MCS-51单片机具有一个全双工的串行通信接口,能同时进行发送和接收。它可以作为UART(通用异步接收和发送器)使用,也可以作为同步的移位寄存器使用。 1.      数据缓冲寄存器SBUF  SBUF是可以直接寻址的专用寄存器。物理上,它对应着两个寄
51单片机编程基础与开发实例详解.ISO
/***********检测放纸是否正确,是否存在纸张:******************************/ #include<stdio.h> #include<absacc.h> #include<intrins.h> sbit PAPER=P1^5; /*纸张检测端口*/ void main(void) {  delay(200); do{} while(PAPER==1); /*检测是否存在纸张;*/ print( ) ; /*纸张存在,开始打印*/ )
密码锁,51单片机程序
密码输入正确,蜂鸣器,继电器做出动作,毕业设计,有仿真电路
基于Java语言的51单片机串口通讯PC机程序
摘要:由于Java语言的诸多优点,Java得到了广泛的应用,如今利用Java开发串口通讯已相当成熟,实现简单,可移植性强。文章详细介绍了如何配置开发环境以及使用Java串口API函数编写PC机程序。本程序比使用C++语言编写的串口通讯程序更容易理解,且移植性非常强,视图与控制分开,便于维护和升级。 关键字:Java,JBuilder,KeilC,Java Communications A
51单片机 软件安装与下载
1.安装串口驱动,对应开发板串口通信芯片2.安装Keil软件3.利用注册机破解Keil软件【Keil软件找到License Management里面的CID码,复制到注册机中,选择C51,点击Generate生成的字符串复制到License Management里面,点击Add LIC,破解成功】程序下载一般利用USB串口下载,利用单片机厂家的下载工具下载【STC官方软件】【普中软件PZISP自动...
文章热词 双目视觉问题 特征点问题 相机标定问题 最优化问题 统计学稳健估计问题
相关热词 c#.net 串口通信 c# 串口通信、 c++串口通信 区块链51教程 python3教程51学院