51单片机串口通信测试程序

发布者:MoonlightStar最新更新时间:2015-09-22 来源: eefocus关键字:51单片机  串口通信  测试程序 手机看文章 扫描二维码
随时随地手机看文章
#include
unsigned char flag,a;
void delay();
void main()
{
 
TMOD=0x20;//设置定时器1为工作方式2
TH1=0xfa;  //TH1=256-2^0*22118400/32/12/9600  波特率为9600,晶振为22.1184Mhz
TL1=0xfa;
TR1=1;    //定时器1打开
REN=1;    //允许串行接收位。由软件置REN=1,则启动串行口接收数据
SM0=0; //选择串行口工作方式1
SM1=1;
EA=1;     //开总中断
ES=1; //开串口中断
while(1)     
{
 
if(flag==1)
{   
ES=0;
flag=0;
    SBUF=a;   //由51单片机向电脑发送数据
while(!TI);
TI=0;
ES=1;
}  
}
}
 
void ser() interrupt 4
{
RI=0;
a=SBUF; //计算机向51发送数据
flag=1;
}
关键字:51单片机  串口通信  测试程序 引用地址:51单片机串口通信测试程序

上一篇:判断下列有关mcs51单片机指令的说法是否正确
下一篇:51单片机实现光源的跟踪

推荐阅读最新更新时间:2024-03-16 14:32

51单片机STC89C52】DHT11温湿度传感器的使用
一、DHT11概述 数据传送逻辑 模块一次完整的数据传输为40bit,高位在前 数据格式 8bit湿度整数数据+8bit 湿度小数数据 +8bi 温度整数数据 +8bit 温度小数数据 +8bit 校验和 通讯过程时序图 二、检测模块是否存在 根据如下时序图,做通信初始化,并检测模块是否存在,功能是否正常 时序逻辑分析 a : dht = 1 b :dht = 0 延时至少18ms c: dht = 1 卡d点:while(dht) 卡e点:while(!dht) 卡f点:while(dht) 代码实现 void DHT11_Start() { dht = 1; dht
[单片机]
【<font color='red'>51单片机</font>STC89C52】DHT11温湿度传感器的使用
PWM在51单片机的使用和分析
1.什么是PWM? PWM在百度的解释是一种对模拟信号电平进行数字编码的方法。通过高分辨率计数器的使用,方波的占空比被调制用来对一个具体模拟信号的电平进行编码。PWM信号仍然是数字的,因为在给定的任何时刻,满幅值的直流供电要么完全有(ON),要么完全无(OFF)。电压或电流源是以一种通(ON)或断(OFF)的重复脉冲序列被加到模拟负载上去的。通的时候即是直流供电被加到负载上的时候,断的时候即是供电被断开的时候。只要带宽足够,任何模拟值都可以使用PWM进行编码。 我对百度的解释比较认同,但是由于我是实用派,还是觉得有些复杂,不是很好理解。众所周知,我们国家的交流电是50HZ,代表着一秒内有50次的变化——从低电平到高电平、高电平到低
[单片机]
基于MCS-51单片机和CAN总线控制器实现总线节点的设计
CAN(Controller Area Network)即控制器局域网络。由于其具有较强的抗干扰能力、通讯中没有地址的概念及节点数不受限制等优点,已经被广泛应用于汽车、数控机床、仪器仪表、现场总线控制等领域。在CAN总线的节点设计中,目前应用较多的是通过单片机的控制来实现。有的单片机已经嵌入了CAN控制器的功能,比如Philips的P8XC592,Motorola的68HC05X4等,但这类单片机的应用并不普及,而且价格相对较高。对于目前应用最为普及、价格也很便宜的MCS-51系列单片机,本身并不嵌有CAN控制器的功能。下面就给出一种基于MCS-51单片机和SJA1000的CAN总线节点设计方法。 1、 CAN总线简介 CAN
[单片机]
基于MCS-<font color='red'>51单片机</font>和CAN总线控制器实现总线节点的设计
51单片机-各功能代码的运用
尽管部分初学者对液晶屏的全部代码的理解存在困难,不过没关系,只要我们懂得如何运用它们各个函数的功能即可,大家下载进开发板之后观察实验现象再结合代码与注释慢慢细读掌握吧。 1.测试代码 #include reg52.h #include function.h //详见第六章第8讲 #include lcd.h void main() { char x;//取值范围-128~127 u8 str1 = Good Good Study ; u8 str2 = Day Day Up! ; InitLcd1602();//初始化液晶屏 while (1) { LcdSetCursor(
[单片机]
51单片机(计时器+时钟应用)
Ps: 使用的是51单片机, 晶振为11.0592M的, 时间选择5ms。 这篇博客好像是第一篇单片机博客诶~。 算法: 简单的计时器应用, 最开始 根据 2^16 - (t - f)/12 计算得到值, 将其转换为16进制 (注意:单位的改变, 例如晶振要乘上 10e6 时间 要转换为秒s 乘上 10e-3) 由此可以得到 TH0/TL0的值。 例如: 设计的是5ms, 则 算式为 2^16 - (5 * 10^-3 - 11.0592 * 10^6) / 12; 转换为16进制 为DC00; 所以 TH0 = 0XDC __ TL0 = 0X00; 显示: 拆字什么的 就不说了~~, 反正就是 分和秒 对 10取余 和
[单片机]
51单片机pwm调速程序
此程序是一个用51单片机来调直流电机转速的程序。当然也可以用来调整led灯的亮度,用定时器2来实现. #include reg52.h //包括一个52标准内核的头文件 #define uchar unsigned char #define uint unsigned int #define ulong unsigned long sbit PWM = P3^3; //要控制的风扇 sbit K= P3^7; //按键控制转速 uchar scale;//用于保存占空比的输出0的时间份额,总共10份 //延时程序 void delay10ms(void) { unsigned char i,j; for(i=20;i 0;i-
[单片机]
51单片机超声波系统板电路分析
比赛板电路板组成:51单片机(STC89C52芯片,下面统称为51单片机)电路、DC电源插座电路、复位电路、晶振电路、5V转3V3降压电路、0.96寸OLED屏幕电路、蜂鸣器电路、LED电路、超声波电路。 51单片机主控电路 我们用51单片机系列的STC89C52芯片作为主控芯片。P0引脚组接上4.7K的排阻和5V的VCC以形成上拉电阻,将不确定的信号通过排阻钳位在高电平,电阻同时起限流作用。 DC电源插座电路 本电路通过DC插头线给整个比赛板供电5V,但前提是按下按钮SW1,电路才会连接成功供电,否则一直为开路状态。通电后LED1亮表示已经供电。 复位电路 本电路按下REST按键时电流会走51单片机的RST引脚,引导
[单片机]
<font color='red'>51单片机</font>超声波系统板电路分析
解析8051单片机的三种数据传输方式
单片机CPU与外部设备交换信息通常有如下几种方式:无条件传送方式,查询传送方式和中断传送方式。我们以单片机与微型打印机接口为例讲述这三种方式。假定用户要打印三个数据,这三个数据保存在单片机的内部数据存储器10H,11H,和12H中,8051用并口P2与微型打印机的并行数据口DB进行数据交换。 (1)无条件传送方式 这种数据传送方式中没有联络信号,即CPU总是认为打印机在如何时候都是处于“准备好”的状态。这种传送方式中只需要在程序中加入数据送往P2的指令,数据传送便可以实现。但这种数据传送方式有一个致命弱点,数据易丢失,这是因为CPU的速度相当快,而打印机的速度相对来说较慢,其结果是在打印机打印一个数据的时间内,CPU已送来了多
[单片机]
解析80<font color='red'>51单片机</font>的三种数据传输方式
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved