当前位置: 首页 > news >正文

51单片机-串口通信编程

串行口工作之前,应对其进行初始化,主要是设置产生波特率的定时器1、串行口控制盒中断控制。具体步骤如下:

  • 确定T1的工作方式(编程TMOD寄存器)
  • 计算T1的初值,装载TH1\TL1
  • 启动T1(编程TCON中的TR1位)
  • 确定串行口控制(编程SCON寄存器)

串行口在中断方式工作时,要进行中断设置(编程IE、IP寄存器(中断优先级通常不设置))

#include "reg52.h"typedef unsigned int u16;
typedef unsigned char u8;void UsartInit()
{//TMOD控制T1、T0寄存器工作方式TMOD=0X20;  // 0010 0000 选择定时器1,工作方式2// 设置波特率,12MHZ晶振、4800波特率、定时器:方式2、SMOD=1波特率倍频,初值F3HTH1=0XF3;TL1=0XF3;//PCON不能位操作,设置SMODPCON=0X80;//TCON寄存器启动定时器TR1=1;//SCON寄存器串行口控制SCON=0X50; // 0101 0000//IE寄存器打开串口中断ES=1;EA=1;
}void main()
{UsartInit();while(1);
}void Usart() interrupt 4
{u8 receiveData; //定义一个变量用于保存数据receiveData=SBUF; //读取缓冲器里面的数据//由内部硬件使RI置1,需要软件把RI清零RI=0;// 发送数据SBUF=receiveData;while=(!TI); //发送完成通过硬件置1,取反跳出循环TI=0; //发送完成,软件清0;
}

相关文章:

51单片机-串口通信编程

串行口工作之前,应对其进行初始化,主要是设置产生波特率的定时器1、串行口控制盒中断控制。具体步骤如下: 确定T1的工作方式(编程TMOD寄存器)计算T1的初值,装载TH1\TL1启动T1(编程TCON中的TR1位…...

python实现基于文心一言大模型的sql小工具

一、准备工作 注册与登录: 登录百度智能云千帆控制台,注册并登录您的账号。 创建千帆应用: 根据实际需求创建千帆应用。创建成功后,获取AppID、API Key、Secret Key等信息。如果已有千帆应用,可以直接查看已有应用的AP…...

deepseek 导出导入模型(docker)

前言 实现导出导入deepseek 模型。deepseek 安装docker下参考 docker 导出模型 实际生产环境建议使用docker-compose.yml进行布局,然后持久化ollama模型数据到本地参考 echo "start ollama" docker start ollama#压缩容器内文件夹,然后拷贝…...

前言:什么是大模型微调

一、大模型微调的基础知识 1. 什么是大模型微调? 大模型微调(Fine-tuning)是指在预训练模型的基础上,针对特定的任务或数据集进行进一步训练的过程。预训练模型通常在大规模的通用数据上训练,具备广泛的语言理解和生…...

TCPDF 任意文件读取漏洞:隐藏在 PDF 生成背后的危险

在网络安全的世界里,漏洞就像隐藏在黑暗中的“定时炸弹”,稍有不慎就会引发灾难性的后果。今天,我们要聊的是一个与 PDF 生成相关的漏洞——TCPDF 任意文件读取漏洞。这个漏洞可能让攻击者轻松读取服务器上的敏感文件,甚至获取整个…...

unity学习53:UI的子容器:面板panel

目录 1 UI的最底层容器:canvas 1.1 UI的最底层容器:canvas 1.2 UI的合理结构 2 UI的子容器:面板panel 2.1 创建panel 2.2 面板的本质: image ,就是一个透明的图片,1个空容器 3 面板的属性 4 面板的…...

水环境水质在线监测系统解决方案

在当今社会,水资源作为人类生存和发展的基础性资源,其质量的优劣直接关系到生态平衡、人类健康以及社会经济的可持续发展。然而,随着工业化、城市化的快速推进,各类污染物不断排入水体,导致水环境面临严峻挑战。水环境…...

HBuilder X中,uni-app、js的延时操作及定时器

完整源码下载 https://download.csdn.net/download/luckyext/90430165 在HBuilder X中,uni-app、js的延时操作及定时器可以用setTimeout和setInterval这两个函数来实现。 1.setTimeout函数用于在指定的毫秒数后执行一次函数。 例如, 2秒后弹出一个提…...

BigDecimal线上异常解决方案:避免科学计数法输出的坑

文章目录 问题背景为什么BigDecimal会输出科学计数法?线上异常场景场景1:数据传递异常场景2:日志记录异常场景3:数据存储异常 解决方案1. 使用toPlainString()方法2. 设置格式化输出3. 自定义工具类 代码示例总结 在Java开发中&am…...

【C语言】指针笔试题

前言:上期我们介绍了sizeof与strlen的辨析以及sizeof,strlen相关的一些笔试题,这期我们主要来讲指针运算相关的一些笔试题,以此来巩固我们之前所学的指针运算! 文章目录 一,指针笔试题1,题目一…...

深入理解Redis:数据类型、事务机制及其应用场景

在当今快速发展的技术领域中,Redis作为一种高性能的内存数据库,已经被广泛应用于各种场景,从简单的缓存实现到复杂的数据处理任务。其灵活性和高效性主要来源于对多种数据结构的支持以及强大的功能特性,如事务处理、持久化选项、高…...

RGMII(Reduced Gigabit Media Independent Interface)详解

一、RGMII的定义与作用 RGMII(精简版千兆介质无关接口)是一种用于千兆以太网(1Gbps)的高效接口标准,旨在减少传统GMII接口的引脚数量,同时保持相同的传输速率。其核心作用包括: 减少引脚数量&a…...

学习Flask:Day 1:基础搭建

学习目标&#xff1a;完成第一个Flask应用 # app.py from flask import Flask app Flask(__name__)app.route(/) def home():return <h1>Hello Flask!</h1>app.route(/api/greet/<name>) def greet(name):return {message: fHello {name}!}if __name__ __…...

XTOM工业级蓝光三维扫描仪在笔记本电脑背板模具全尺寸检测中的高效精准应用

——某3C精密制造企业模具优化与质量管控案例 镁合金具有密度小、强度高、耐腐蚀性好等优点&#xff0c;成为笔记本电脑外壳主流材料。冲压模具作为批量生产笔记本电脑镁合金背板的核心工具&#xff0c;其精度直接决定了产品的尺寸一致性、结构可靠性与外观品质。微米级模具误…...

网络安全 机器学习算法 计算机网络安全机制

&#xff08;一&#xff09;网络操作系统 安全 网络操作系统安全是整个网络系统安全的基础。操作系统安全机制主要包括访问控制和隔离控制。 访问控制系统一般包括主体、客体和安全访问政策 访问控制类型&#xff1a; 自主访问控制强制访问控制 访问控制措施&#xff1a; 入…...

分享些常用的工具类

一、照片 1、Unsplash&#xff1a;https://unsplash.com/ 2、pixabay&#xff1a;https://pixabay.com/zh/ 二、壁纸 1、Wallpaper Engine 2、wallhaven&#xff1a;https://wallhaven.cc/ 3、极简壁纸&#xff1a;https://bz.zzzmh.cn/ 三、AI语音 1、微软Azure项目&…...

VUE四:Vue-cli

什么是Vue-cli vue-cli是官方提供的一个脚手架,用于快速生成一个vue的项目模板; 预先定义好的目录结构及基础代码&#xff0c;就好比咱们在创建 Maven项目时可以选择创建一个骨架项目&#xff0c;这个骨架项目就是脚手架,我们的开发更加的快速; 什么是web pack 本质上&#…...

以下是自定义针对 Vite + TypeScript 项目的完整路径别名配置流程:

以下是针对 Vite TypeScript 项目的完整路径别名配置流程&#xff1a; 1. 安装必要依赖 bash npm install -D types/node 2. 配置 vite.config.ts typescript // vite.config.ts import { defineConfig } from vite import vue from vitejs/plugin-vue import path from pat…...

LangGraph系列教程:基于状态构建上下文感知的AI系统

本文深入探讨LangGraph中的“状态”概念及其在AI工作流中的核心作用。通过基础状态&#xff08;如计数器&#xff09;和复杂状态&#xff08;含消息历史&#xff09;的定义&#xff0c;结合代码示例&#xff0c;演示如何通过函数式编程实现状态的不可变修改。然后进一步解析了如…...

图像处理、数据挖掘、数据呈现

目录 图像处理方法 阈值分割 图像处理方法 图像平滑 图像锐化 图像增强 阈值分割 边缘检测 阈值分割 特征提取 提取边界 区域提取 主成分压缩 POI 多源数据 数据挖掘 多源数据提取 关联度提取 位置集群&#xff0c; 新闻事件&#xff0c; 权限 个人喜好 历史…...

测试markdown--肇兴

day1&#xff1a; 1、去程&#xff1a;7:04 --11:32高铁 高铁右转上售票大厅2楼&#xff0c;穿过候车厅下一楼&#xff0c;上大巴车 &#xffe5;10/人 **2、到达&#xff1a;**12点多到达寨子&#xff0c;买门票&#xff0c;美团/抖音&#xff1a;&#xffe5;78人 3、中饭&a…...

ETLCloud可能遇到的问题有哪些?常见坑位解析

数据集成平台ETLCloud&#xff0c;主要用于支持数据的抽取&#xff08;Extract&#xff09;、转换&#xff08;Transform&#xff09;和加载&#xff08;Load&#xff09;过程。提供了一个简洁直观的界面&#xff0c;以便用户可以在不同的数据源之间轻松地进行数据迁移和转换。…...

HTML前端开发:JavaScript 常用事件详解

作为前端开发的核心&#xff0c;JavaScript 事件是用户与网页交互的基础。以下是常见事件的详细说明和用法示例&#xff1a; 1. onclick - 点击事件 当元素被单击时触发&#xff08;左键点击&#xff09; button.onclick function() {alert("按钮被点击了&#xff01;&…...

第 86 场周赛:矩阵中的幻方、钥匙和房间、将数组拆分成斐波那契序列、猜猜这个单词

Q1、[中等] 矩阵中的幻方 1、题目描述 3 x 3 的幻方是一个填充有 从 1 到 9 的不同数字的 3 x 3 矩阵&#xff0c;其中每行&#xff0c;每列以及两条对角线上的各数之和都相等。 给定一个由整数组成的row x col 的 grid&#xff0c;其中有多少个 3 3 的 “幻方” 子矩阵&am…...

Unity | AmplifyShaderEditor插件基础(第七集:平面波动shader)

目录 一、&#x1f44b;&#x1f3fb;前言 二、&#x1f608;sinx波动的基本原理 三、&#x1f608;波动起来 1.sinx节点介绍 2.vertexPosition 3.集成Vector3 a.节点Append b.连起来 4.波动起来 a.波动的原理 b.时间节点 c.sinx的处理 四、&#x1f30a;波动优化…...

Mobile ALOHA全身模仿学习

一、题目 Mobile ALOHA&#xff1a;通过低成本全身远程操作学习双手移动操作 传统模仿学习&#xff08;Imitation Learning&#xff09;缺点&#xff1a;聚焦与桌面操作&#xff0c;缺乏通用任务所需的移动性和灵活性 本论文优点&#xff1a;&#xff08;1&#xff09;在ALOHA…...

重启Eureka集群中的节点,对已经注册的服务有什么影响

先看答案&#xff0c;如果正确地操作&#xff0c;重启Eureka集群中的节点&#xff0c;对已经注册的服务影响非常小&#xff0c;甚至可以做到无感知。 但如果操作不当&#xff0c;可能会引发短暂的服务发现问题。 下面我们从Eureka的核心工作原理来详细分析这个问题。 Eureka的…...

在Ubuntu24上采用Wine打开SourceInsight

1. 安装wine sudo apt install wine 2. 安装32位库支持,SourceInsight是32位程序 sudo dpkg --add-architecture i386 sudo apt update sudo apt install wine32:i386 3. 验证安装 wine --version 4. 安装必要的字体和库(解决显示问题) sudo apt install fonts-wqy…...

【Go语言基础【13】】函数、闭包、方法

文章目录 零、概述一、函数基础1、函数基础概念2、参数传递机制3、返回值特性3.1. 多返回值3.2. 命名返回值3.3. 错误处理 二、函数类型与高阶函数1. 函数类型定义2. 高阶函数&#xff08;函数作为参数、返回值&#xff09; 三、匿名函数与闭包1. 匿名函数&#xff08;Lambda函…...

JavaScript基础-API 和 Web API

在学习JavaScript的过程中&#xff0c;理解API&#xff08;应用程序接口&#xff09;和Web API的概念及其应用是非常重要的。这些工具极大地扩展了JavaScript的功能&#xff0c;使得开发者能够创建出功能丰富、交互性强的Web应用程序。本文将深入探讨JavaScript中的API与Web AP…...