单片机原理与应用实验——串口(C语言),使用串口发送或接收数据,定时器1作为波特率发生器
(基于51核的STC12C5A60S2,keil uvision5 mdk 5.25 编译)
1. 定时发送1字节数据给电脑,波特率9600
#include <STC12C5A60S2.h>typedef unsigned char u8;sbit BEEP = P1 ^ 0; //置1则响//---------------------------------------------------------------------
u8 testbit = 'F';
//---------------------------------------------------------------------void delay_2ms(unsigned long int time) //2ms的基
{unsigned long int i;for (i = 0; i < time * 100; i++);
}void UART1_Init()
{SCON = 0x50;TMOD = 0x20;TH1 = 0xfd;TL1 = 0xfd;TR1 = 1;ES = 1;EA = 1;
}void Uart1_ISR() interrupt 4
{ES = 0;if (TI == 1) // 如果TI=1,则说明中断是由发送完成引发的 {TI = 0;}else if (RI == 1) // 如果RI=1,则说明中断是由发送完成引发的 {RI = 0;}ES = 1;
}//-------------------------------------------------------------------------void main()
{BEEP = 0;UART1_Init();while (1){SBUF = testbit;delay_2ms(250);}
}
2. 接收一字节数据并将其发回去 ,波特率9600
#include <STC12C5A60S2.h>typedef unsigned char u8;sbit BEEP = P1 ^ 0; //置1则响//---------------------------------------------------------------------
u8 testbit = 'F';
static u8 recbit;
//---------------------------------------------------------------------void delay_2ms(unsigned long int time) //2ms的基
{unsigned long int i;for (i = 0; i < time * 100; i++);
}void UART1_Init()
{SCON = 0x50;TMOD = 0x20;TH1 = 0xfd;TL1 = 0xfd;TR1 = 1;ES = 1;EA = 1;
}void Uart1_ISR() interrupt 4
{ES = 0;if (TI == 1) // 如果TI=1,则说明中断是由发送完成引发的 {TI = 0;}else if (RI == 1) // 如果RI=1,则说明中断是由发送完成引发的 {recbit=SBUF;SBUF=recbit;RI = 0;}ES = 1;
}//-------------------------------------------------------------------------void main()
{BEEP = 0;UART1_Init();while (1);
}
单片机原理与应用实验——串口(C语言),使用串口发送或接收数据,定时器1作为波特率发生器相关推荐
- 山东大学单片机原理与应用实验 C语言程序实验
一.实验题目 C语言程序实验 二.试验要求 片内RAM30H开始的32个单元中分布着随机的有符号8位二进制数,按从小到大的顺序进行排序,排序后的数据仍然保存到30H开始的32个单元中(低地址存放小数据 ...
- 山东大学单片机原理与应用实验 3.4 矩阵键盘扫描实验
目录 一.实验题目 二.实验要求 三.实验过程及结果记录 1. 在Proteus 环境下建立图1所示原理图,并将其保存为keyscan_self.DSN 文件. 2. 编写控制源程序,将其保存为key ...
- 山东大学单片机原理与应用实验 3.7LCD 1602显示实验
目录 一.实验题目 二.实验要求 三.实验过程及结果分析 四.实验流程图 五.实验源代码 一.实验题目 3.7 LCD 1602显示实验 二.实验要求 1.画出实验的流程图 2.编写源程序并进行注释 ...
- 山东大学单片机原理与应用实验 汇编程序实验2
一.实验题目 汇编程序实验2 二.实验要求 片内RAM30H开始的32个单元中分布着随机的有符号8位二进制数,按从小到大的顺序进行排序,排序后的数据仍然保存到30H开始的32个单元中(低地址存放小数据 ...
- 山东大学单片机原理与应用实验 3.2 拓展并行I/O口实验
目录 一.实验题目 二.实验要求 三.实验过程及结果记录 1. 在Proteus环境下建立原理图,如图1所示,并保存为expandIO.DSN文件. 2. 将实验代码写入文本文档,并保存为expand ...
- hal 双串口同时接收丢失数据_【STM32Cube_06】使用USART发送和接收数据(查询模式)...
寻求更简洁舒适的阅读体验,请移步Mculover666的个人博客: [STM32Cube_06]使用USART发送和接收数据(查询模式)www.mculover666.cn 本篇文章主要介绍如何使用 ...
- STM32L152RE实现串口发送及接收数据
本文主要讲解用keil软件实现USART串口发送及接收数据,默认读者keil环境已经配好,且头文件已正确引入,如出现编译错误以及st-link下载问题,请自行百度解决. 串口发送和接收数据是一件看起来 ...
- 单片机 STC15W204S-35I SOP16 - UART,模式 1,使用定时器 2 作为波特率发生器
文章目录 UART 原理图 模式 1 下载.测试 参考 UART 原理图 模式 1 配置: 1 个起始位, 8 位数据, 1 个停止位: 使用定时器 2 作为波特率发生器: 允许接收.发送请求中断: ...
- 单片机原理及应用 实验六 双机通信与PCB设计
单片机原理及应用(C51版) 实验目的及要求: 1.掌握串口通信工作原理及程序开发方法,熟悉ARES软件PCB设计过程: 2.按照P241图A.72绘制电路原理图1,将第6章实例2中2#机的查询法收发 ...
- MSP430单片机原理及应用 实验
单片机原理及应用 课程实验(二) 实验项目:MSP430简单程序设计 实验目的:学会用C语言进行简单程序设计 实验要求:掌握编写排序程序 实验内容: (1)设计一个对8个数据(0-255,任意设置)的 ...
最新文章
- 如何选择容器注册表?这里给出九个选项
- ASP.NET服务器控件的生命周期分析
- word vba高效排版范例应用_收藏 | 原来word里面也有函数!
- flutter - URL出现在网站名称的位置
- 如何给DataFrame的列命名或重命名。
- android studio smssdk,SMSSDK for Android 配置
- VS2010中的快捷键
- 远程计算机用户名,远程计算机服务
- python跟java 效率_Python注重可读性和效率:与Java、PHP以及 C++语言对比谁受欢迎?...
- CString的成员函数用法大全
- 电脑连接的手机真机,利用Chrome调试WebView
- 身神话继续遭受DDOS进攻,也遭受了雷同的陵犯
- Python实现Excel表格数据去重
- GB28181设备端PS流封装和发送
- Kata3.0.0 x LifseaOS x 龙蜥内核三管齐下!带你体验最新的安全容器之旅
- PAT L1 007 念数字
- python leetcode 202. Happy Number
- e-a乘a的转置的秩_通用矩阵乘(GEMM)优化与卷积计算
- 常见的通讯协议总结(USART、IIC、SPI、485、CAN)
- ssm基于微信小程序的毕业论文选题管理系统小程序 uinapp
热门文章
- Red Hat Enterprise Linux 5安装Oracle10
- 谷歌牵手265解密:双方将合作推广Adsence
- linux 服务器 ssd,关于linux:搭载固态硬盘的服务器究竟比机械硬盘快多少
- Modbus 通讯协议 (RTU传输模式)
- matlab 2016a破解中文版安装教程
- CSS Table(表格)
- FET细解:FET(IGFET、JFET、MESFET)、IGFET(MOSFET/MISFET、HFET)、HFET(MODFET、HIGFET)
- ristretto255 point压缩和解压缩算法(2)——extended坐标系下
- python中实时查看GPU状况 GPUtil
- 使用xInt开源库生成Excel文档xlsx