[51单片机] 串口通讯 简单通信
1 /*------------------------------------------- 2 简单的串口通信 3 -------------------------------------------*/ 4 #include<reg51.h> 5 6 #define uint unsigned int 7 #define uchar unsigned char 8 9 10 uchar flag,a,i; //标志接收串口中断标志,接收SBUF内容 11 uchar code table[]="I get "; 12 /*-------------------------------------------- 13 延时函数 14 ---------------------------------------------*/ 15 void delay_ms(uint z) 16 { 17 uint y; 18 while(z--) 19 for(y=110;y>0;y--); 20 } 21 /*-------------------------------------------- 22 USAR初始函数 23 ---------------------------------------------*/ 24 void USRT_init() 25 { 26 TMOD=0x20; //设置T1定时器工作方式2 27 TH1=0xfd; //T1定时器装初值 28 TL1=0xfd; 29 TR1=1; //启动T1定时器 30 REN=1; //允许串口中断接收 31 SM0=0; //设定串口工作方式 32 SM1=1; 33 EA=1; //开总中断 34 ES=1; //开串口中断 35 } 36 /*-------------------------------------------- 37 串口中断程序 38 ---------------------------------------------*/ 39 void ser()interrupt 4 40 { 41 RI=0; 42 a=SBUF; 43 flag=1; 44 } 45 /*-------------------------------------------- 46 主函数 47 ---------------------------------------------*/ 48 void main() 49 { 50 USRT_init(); 51 while(1) 52 { 53 if(flag==1) //检测到串口中断。表示有数据传过来了 54 { 55 ES=0; //关闭串口中断,接下来要发送数据,如果不关闭每次发送之后串口中断都会执行又进入if(flag==1)那里,然后死循环 56 for(i=0;i<6;i++) //将table[]中的前6个发送出去 57 { 58 SBUF=table[i]; 59 while(!TI); //每次等待发送完毕,再执行下一条 60 TI=0; //手动清0 61 } 62 SBUF=a; //将收到的数据发送出去 63 while(!TI); 64 TI=0; 65 ES=1; 66 flag=0; 67 } 68 } 69 }
转载于:https://www.cnblogs.com/zjutlitao/p/3788696.html
[51单片机] 串口通讯 简单通信相关推荐
- 51单片机串口通讯 +Proteus仿真实验
51单片机串口通讯 +Proteus仿真实验 ✨注意不要使用Proteus 8 Professional 8.13版本串口通信会出错.
- 51单片机串口多机通信的原理与编程实现
51单片机串口多机通信 需要用的的寄存器 (了解的可直接跳到下一节) TMOD 定时器/计数器模式控制寄存器 TCON 定时器控制寄存器 SCON 串口控制寄存器 PCON 电源控制位寄存器 IE 中 ...
- 51单片机串口通讯c语言程序,如何使用51单片机实现串口通信
描述 STC51单片机一般带有1个串口,有的带有2个串口,串口一般用于下载程序和串口通信.串口通信特别适合控制设备,所以工控机的电脑上一般都带有串口. 51单片机的串口引脚为P3.0引脚与P3.1引脚 ...
- 51单片机串口通讯介绍和实现
串口通讯 前言 计算机是一种现代化的信息处理工具,它对信息进行处理并提供结果,其结果(输出)取决于所接收的信息(输入)及相应的处理算法. 随着多微机系统的广泛应用和计算机网络技术的普及,计算机的通信功 ...
- 51单片机串口通讯接收一串字符串
在51单片机中,我们使用上下位机时,我们通常会发送一串字符串,将它作为信号发给单片机处理. 因为串口通信时,发送信息是以一个个字符的形式发送过来的,所以接收的就是一个个字符,通常我们是一个字符数组保存 ...
- 51单片机串口通讯详解
串口,作为单片机程序开发中最常用.最方便,也是应用最广泛的程序调试方法:无论是作为调试工具,打印出调试信息,还是对功能模块进行通信,串口是每个单片机开发人员最常用的单片机外设. 由于大部分51单片机不 ...
- 51单片机串口通信原理、相关寄存器配置与简单串口收发程序代码
目录 1. 串口通信原理 2. 51单片机串口通信 2.1 串口简要模式图 2.2 相关寄存器 (1)PCON.SCON.SBUF (2)IE.IPH.IP (3)配置T1定时器 2.3 波特率和系统 ...
- 51单片机串口通信模板_51单片机串口通信
51 单片机串口通信 51 单片机串口通信(转载) 2009-03-03 18:22 一.串口通信原理 串口通讯对单片机而言意义重大,不但可以实现将单片机的数据传输到计 算机端,而且也能实现计算机对单 ...
- 51单片机串口通信模板_深入理解51单片机串口通信及通信实例
串口通信的原理 串口通信(SerialCommunications)的概念非常简单,串口按位(bit)发送和接收字节.尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一 ...
- 51单片机串口通信【收集学习向】
本篇整理了学习51串口通信过程中看到的一些比较好的文章,有很多的超链接.并根据自己遇到的情况分析了串口传输乱码的一些原因. 目录 1.原理知识 2.测试程序和虚拟仿真 3.电路设计与公母口连线 电路设 ...
最新文章
- SVN安装部署方案(一)
- js如何获取文本节点的值?
- LauncherApplication
- 工程建筑行业SAP整体解决方案
- 玩转C语言之自定义数据类型-typedef
- Resharper 的快捷键
- 0048-三角形的判断
- 数据库-优化-通过慢查日志查询有问题的sql
- hdu 3037 Lucas定理
- 天天动听 半透明Menu效果
- elasticsearch最大节点数_Elasticsearch究竟要设置多少分片数?
- 博为峰Java技术文章 ——JavaSE Swing 如何使用进度条组件JProgressBarⅡ
- Xcode无法识别真机
- javascript 文件转base64
- java jdk下载_jdk1.7下载|Java Development Kit (JDK) 下载「64位」-太平洋下载中心
- 钢绞线的弹性模量的计算方法_钢绞线弹性模量的理论计算及其影响因素分析
- ug许可证服务器注册表删除,ug许可证卸载工具
- sox处理mp3_ffmpeg sox 音频转换 MP3 转 wav
- Drupal 7 自定义页面如何向自定义的主题传参
- 当供应链金融遇到区块链会擦出怎样的火花?
热门文章
- clamp.js 的使用---超出省略 (翻译)
- MySQL 浅谈NOT NULL和DEFAULT的关系
- php mac安装grpc扩展,Mac使用pecl安装grpc报错:Warning:mkdir():File exists in System.php
- less加管道tail_Linux-10 (CentOS)cat/more/less/ / 及echo/head /tail/的用法区别
- 尼尔机械纪元 机器人博士_还记得章鱼博士吊打蜘蛛侠的炫酷机械臂吗?现实版已经研发出来了...
- python语言中有三种表示字符串的方式_python经典实例
- 解决ubuntu不能远程连接
- raid卡 4k 设置 linux,硬盘“大户”看过来,手把手教你组建 RAID 磁盘阵列
- Java使用Redis(jedis)
- redis新数据类型-HyperLogLog