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

选修-单片机作业第1/2次

第一次作业

433b68c714d04cf6b4ac4d85c444e8b4.png

085e09bde6b34373b11e619cd60fcc0a.png

第二次作业

681dd987615d429b90b7771e769eceea.png

1、51 系列单片机片内由哪几个部分组成?各个部件的最主要功能是什么?

51系列单片机的内部主要由以下几个部分组成,每个部件的主要功能如下:

1. **中央处理器(CPU)**:这是单片机的核心,负责执行程序指令和处理数据。它通常是一个8位的微处理器,具有布尔处理能力和位处理能力。

2. **存储器**:

   - **ROM(只读存储器)**:用于存储程序代码,通常是掩膜ROM或EPROM,用户在编程后无法更改。

   - **RAM(随机存取存储器)**:用于存储运行时的数据,如变量和临时数据。

3. **并行I/O接口**:提供多个8位并行端口(如P0、P1、P2、P3),用于与外部设备进行数据通信。

4. **串行接口**:通常包括一个全双工的串行端口(TXD、RXD),用于与其他设备进行串行通信。

5. **定时器/计数器**:提供至少两个16位的定时器/计数器(T0、T1),用于执行定时或计数任务。

6. **中断系统**:包含多个中断源和优先级控制,允许单片机在特定事件发生时暂停当前任务,转而处理中断请求。

7. **特殊功能寄存器(SFR)**:一组用于控制单片机特定功能的寄存器,如I/O端口控制、定时器设置、中断控制等。

8. **系统时钟电路**:提供时钟信号,是单片机运行的基础,确保指令的同步执行。

9. **电源电路**:为单片机提供稳定的电源供应。

这些部件共同协作,使得51系列单片机能够执行各种嵌入式应用任务。由于其结构简单、成本低廉且易于编程,51系列单片机在工业控制、家用电器、汽车电子等领域得到了广泛应用。

2、某51单片机系统的程序存储器用量约20KB,除使用片内的4KB ROM外,另外扩展16KB。请问EA信号应如何连接?

在51系列单片机中,EA(External Access)信号用于控制是否访问外部存储器。当EA信号连接到高电平(Vcc)时,单片机将访问外部存储器;当EA信号连接到低电平(GND)时,单片机将访问内部存储器。

对于您提到的系统,程序存储器总用量为20KB,其中片内ROM为4KB,需要额外扩展16KB的外部存储器。在这种情况下,您应该将EA信号连接到低电平(GND),以便单片机在执行程序时能够访问到外部扩展的存储器。

这样设置的原因是,当EA为低电平时,单片机的地址线可以直接访问外部存储器,而不需要通过内部ROM。由于片内ROM只有4KB,而程序需要的存储空间为20KB,所以必须使用外部存储器来提供额外的16KB空间。通过将EA连接到GND,确保了单片机在执行程序时会首先尝试从外部存储器中读取指令。

3、51 单片机程序状态字寄存器 PSW 各位的功能是什么?

51单片机的程序状态字寄存器(PSW)是一个8位的寄存器,用于存储程序执行过程中的状态信息。PSW的各位及其功能如下:

1. **CY (Carry Flag) - 位 7**:

   - 进位标志位。在算术运算中,如果产生了进位(例如加法中的进位或减法中的借位),CY位将被置为1。在逻辑运算中,如果结果为0,CY位也被置为1。

2. **AC (Auxiliary Carry Flag) - 位 6**:

   - 辅助进位标志位。在4位二进制运算中,如果产生了进位(例如BCD码的加法),AC位将被置为1。在某些特定的指令中,如ADD A, @Ri(带进位的寄存器间接寻址加法)指令,AC位也会被使用。

3. **F0 (Flag 0) - 位 5**:

   - 保留位。在51单片机的标准指令集中,F0位没有定义的功能,通常保持为0。但是,某些扩展指令集或特定应用可能会使用这个位。

4. **RS1 (Register Bank Select 1) - 位 4**:

   - 寄存器组选择位1。用于选择寄存器组,与RS0一起,可以提供4个不同的寄存器组(0、1、2、3),以便在不同的寄存器组之间切换。

5. **RS0 (Register Bank Select 0) - 位 3**:

   - 寄存器组选择位0。与RS1一起,用于选择寄存器组。

6. **OV (Overflow Flag) - 位 2**:

   - 溢出标志位。在算术运算中,如果结果超出了8位的范围,OV位将被置为1。例如,当两个正数相加得到一个负数,或者两个负数相加得到一个正数时,就会发生溢出。

7. **P (Parity Flag) - 位 1**:

   - 奇偶校验标志位。这个位反映了累加器(Accumulator)中1的个数的奇偶性。如果1的个数是偶数,P位为1;如果是奇数,P位为0。

8. **SF (Sign Flag) - 位 0**:

   - 符号标志位。这个位是累加器的最高位(即符号位),用于表示结果的正负。如果SF位为1,表示结果为负;如果为0,表示结果为正。

PSW寄存器的这些位在程序执行过程中非常重要,它们提供了程序状态的重要信息,可以用于条件跳转、中断处理和状态检查等。

4、51 单片机内部 RAM 可分为几个区?各区的地址区间及主要作用是什么?

51单片机的内部RAM(随机存取存储器)通常可以分为以下几个区域,每个区域的地址区间和主要作用如下:

1. **数据存储区(Data Memory)**:

   - 地址区间:通常从00H到1FH(即0x00到0x1F),共32个字节。

   - 主要作用:用于存储程序执行过程中的临时数据,如局部变量、中间计算结果等。

2. **特殊功能寄存器区(SFR)**:

   - 地址区间:从20H到2FH(即0x20到0x2F),共16个字节。

   - 主要作用:用于存储控制单片机各种功能的寄存器,如I/O端口控制寄存器、定时器/计数器控制寄存器、中断控制寄存器等。

3. **位寻址区(Bit Addressable Memory)**:

   - 地址区间:从20H到2FH(与SFR区重叠),但位寻址区是针对SFR区中的某些寄存器的特定位进行寻址。

   - 主要作用:允许程序员直接访问和操作SFR中特定寄存器的特定位,提供了更细粒度的控制。

4. **栈区(Stack Memory)**:

   - 地址区间:从30H到7FH(即0x30到0x7F),共128个字节。

   - 主要作用:用于存储程序执行过程中的返回地址和临时数据,如中断服务程序的返回地址、函数调用的局部变量等。

5. **外部数据存储器扩展区(External Data Memory Extension)**:

   - 地址区间:从80H到FFH(即0x80到0xFF),这部分地址空间用于访问外部RAM或ROM。

   - 主要作用:扩展单片机的存储能力,允许程序访问更大的数据存储空间。

需要注意的是,51单片机的标准内部RAM大小为128字节,但这个数字可能会根据不同的51系列单片机型号而有所不同。例如,某些型号可能具有更大的内部RAM。此外,外部数据存储器扩展区的大小和地址区间也会根据单片机的型号和外部存储器的配置而变化。

5、MCS-51 单片机的 PC 和 DPTR 都是 16 位寄存器,各有什么功能?

在MCS-51单片机中,PC(程序计数器)和DPTR(数据指针)都是16位寄存器,但它们的功能和用途有所不同:

1. **程序计数器(PC, Program Counter)**:

   - **功能**:PC用于存储下一条要执行的指令的地址。在执行指令时,CPU会自动从当前指令的地址(即PC的当前值)读取指令,然后更新PC以指向下一条指令的地址。这样,CPU就可以顺序地执行程序中的指令。

   - **特点**:PC是一个只读寄存器,程序员不能直接写入PC的值。它由CPU内部的指令执行流程控制。

2. **数据指针(DPTR, Data Pointer)**:

   - **功能**:DPTR用于存储外部数据存储器或程序存储器(ROM)的地址。它通常用于间接寻址模式,特别是在需要访问外部存储器或执行长地址空间操作时。DPTR由两个8位寄存器组成,分别是DPH(数据指针高字节)和DPL(数据指针低字节),它们共同组成一个16位地址。

   - **特点**:DPTR可以被程序员通过指令直接读写,以设置特定的外部数据存储器地址或ROM地址。在某些指令中,如MOVX A, @DPTR(将外部数据存储器的地址指向的数据移动到累加器A),DPTR用于指定操作的地址。

总结来说,PC是用于指令流控制的寄存器,它确保CPU能够顺序地执行程序中的指令;而DPTR则用于数据存储器的间接寻址,它允许CPU访问外部存储器或ROM中的特定位置。两者都是MCS-51单片机中非常重要的寄存器,对于程序的执行和数据访问起着关键作用。

第二次作业手写版

9481696ee5e647409a4a3d5583c3e08d.png

9759caa677684b149ee611aba4ecf9c5.png

3d4e2c178cef472bafd076be13364e8d.png

06f9e70c3b5c4389b3ab02f9a9991ca8.png

相关文章:

选修-单片机作业第1/2次

第一次作业 第二次作业 1、51 系列单片机片内由哪几个部分组成?各个部件的最主要功能是什么? 51系列单片机的内部主要由以下几个部分组成,每个部件的主要功能如下: 1. **中央处理器(CPU)**:这是…...

微信小程序开发系列(十七)·事件传参·mark-自定义数据

目录 步骤一:按钮的创建 步骤二:按钮属性配置 步骤三:添加点击事件 步骤四:参数传递 步骤五:打印数据 步骤六:获取数据 步骤七:父进程验证 总结:data-*自定义数据和mark-自定…...

企业战略管理 找准定位 方向 使命 边界 要干什么事 要做多大的生意 资源配置投入

AI突破千行百业,也难打破护城河 作为每个企业或个人的立命生存之本,有的企业在某个领域长期努力筑起了高高的护城河。 战略是什么?用处,具体内容 企业战略是指企业为了实现长期目标,制定的总体规划和长远发展方向。…...

记录西门子:IO隔离SCL编程

在PLC变量中创建IO输入输出 在PLC类型中创建输入和输出,并将PLC变量的输入输出名称复制过来 创建一个FC块或者FB块 创建一个DB块 MAIN主程序中:...

微信小程序如何实现下拉刷新

1.首先在你需要实现下拉刷新页面的json文件中写入"enablePullDownRefresh": true。 2.在js文件的onPullDownRefresh() 事件中实现下拉刷新。 实现代码 onPullDownRefresh() {console.log(开始下拉刷新)wx.showNavigationBarLoading()//在标题栏中显示加载图标this.d…...

React-useEffect

1.概念 说明:用于在React组件中创建不是由事件引起而是由渲染本身引起的操作,比如发送 A列AX请求,更改DOM等。 2.案例 // useEffect用于组件不是由事件引起的而是由渲染本身引起的操作,如ajax,更改Dom等。 import { useEffect,…...

web蓝桥杯真题:展开你的扇子

代码: /*TODO:请补充 CSS 代码*/#box:hover #item7 {transform: rotate(10deg); } #box:hover #item6 {transform: rotate(-10deg); } #box:hover #item8 {transform: rotate(20deg); } #box:hover #item5 {transform: rotate(-20deg); } #box:hover #i…...

阿里P9大佬分享:如何让代码更加灵活

面试官: 你好,今天我们要讨论的是命令模式。首先,你能解释一下什么是命令模式吗? 求职者: 当然可以。命令模式是一种行为设计模式,它将一个请求封装成一个对象,从而让你使用不同的请求、队列或者日志请求来参数化其他…...

SpringBoot中加载配置文件的优先级

在Spring Boot中,加载配置文件的优先级按照以下顺序进行,后续的配置会覆盖之前的配置: 默认属性:这些属性在Spring Boot本身中定义,并且通常是不可变的。它们作为后备值。 应用程序属性:这些属性在应用程序…...

Mysql命令行客户端

命令行客户端 操作数据库操作数据表 操作数据库 mysql> create database mike charsetutf8; Query OK, 1 row affected (0.01 sec) mysql> show databases; -------------------- | Database | -------------------- | information_schema | | mike …...

开源的python 游戏开发库介绍

本文将为您详细讲解开源的 Python 游戏开发库,以及它们的特点、区别和应用场景。Python 社区提供了多种游戏开发库,这些库可以帮助您在 Python 应用程序中实现游戏逻辑、图形渲染、声音处理等功能。 1. Pygame 特点 - 基于 Python 的游戏开发库。…...

批量提取PDF指定区域内容到 Excel 以及根据PDF里面第一页的标题来批量重命名-附思路和代码实现

首先说明下,PDF需要是电子版本的,不能是图片或者无法选中的那种。 需求1:假如我有一批数量比较多的同样格式的PDF电子文档,需要把特定多个区域的数字或者文字提取出来 需求2:我有一批PDF文档,但是文件的名…...

PCM会重塑汽车OTA格局吗(1)

目录 1.汽车OTA概述 2.ST如何考虑OTA? 2.1 Stellar四大亮点 2.2 PCM技术视角下的OTA 3.小结 1.汽车OTA概述 随着智能网联汽车的飞速发展,汽车OTA也越来越盛行; 目前来讲OTA分为FOTA和SOTA(Software-over-the-air)两种,区别…...

Intel® Extension for PyTorch*详细安装教程

最近在研究Intel的pytorch的加速拓展Intel Extension for PyTorch*,但是发现官网的文档全是英文的,不太好找安装教程。所以特此分享Intel Extension for PyTorch*的详细安装教程。 文章目录 一、安装所需系统要求1.1 硬件需求1.2 软件需求 二、准备2.1 安装驱动程序…...

云上攻防-云产品篇堡垒机场景JumpServer绿盟SASTeleport麒麟齐治

知识点 1、云产品-堡垒机-产品介绍&攻击事件 2、云产品-堡垒机-安全漏洞&影响产品 章节点: 云场景攻防:公有云,私有云,混合云,虚拟化集群,云桌面等 云厂商攻防:阿里云,腾讯…...

【顶刊|修正】多区域综合能源系统热网建模及系统运行优化【复现+延伸】

目录 主要内容 部分代码 结果一览 下载链接 主要内容 该程序复现《多区域综合能源系统热网建模及系统运行优化》模型并进一步延伸,基于传热学的基本原理建立了区域热网能量传输通用模型,对热网热损方程线性化实现热网能量流建模&#xff0…...

使用Numpy手工模拟梯度下降算法

代码 import numpy as np # Compute every step manually# Linear regression # f w * x # here : f 2 * x X np.array([1, 2, 3, 4], dtypenp.float32) Y np.array([2, 4, 6, 8], dtypenp.float32)w 0.0# model output def forward(x):return w * x# loss MSE def loss…...

金融数据采集与风险管理:Open-Spider工具的应用与实践

一、项目介绍 在当今快速发展的金融行业中,新的金融产品和服务层出不穷,为银行业务带来了巨大的机遇和挑战。为了帮助银行员工更好地应对这些挑战,我们曾成功实施了一个创新的项目,该项目采用了先进的爬虫技术,通过ope…...

鸿蒙Harmony应用开发—ArkTS声明式开发(通用属性:动态属性设置)

动态设置组件的属性,支持开发者在属性设置时使用if/else语法,且根据需要使用多态样式设置属性。 说明: 从API Version 11开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 attributeModifier attributeMo…...

Vue class和style绑定:动态美化你的组件

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…...

Python爬虫实战:研究MechanicalSoup库相关技术

一、MechanicalSoup 库概述 1.1 库简介 MechanicalSoup 是一个 Python 库,专为自动化交互网站而设计。它结合了 requests 的 HTTP 请求能力和 BeautifulSoup 的 HTML 解析能力,提供了直观的 API,让我们可以像人类用户一样浏览网页、填写表单和提交请求。 1.2 主要功能特点…...

Swift 协议扩展精进之路:解决 CoreData 托管实体子类的类型不匹配问题(下)

概述 在 Swift 开发语言中,各位秃头小码农们可以充分利用语法本身所带来的便利去劈荆斩棘。我们还可以恣意利用泛型、协议关联类型和协议扩展来进一步简化和优化我们复杂的代码需求。 不过,在涉及到多个子类派生于基类进行多态模拟的场景下,…...

聊聊 Pulsar:Producer 源码解析

一、前言 Apache Pulsar 是一个企业级的开源分布式消息传递平台,以其高性能、可扩展性和存储计算分离架构在消息队列和流处理领域独树一帜。在 Pulsar 的核心架构中,Producer(生产者) 是连接客户端应用与消息队列的第一步。生产者…...

【项目实战】通过多模态+LangGraph实现PPT生成助手

PPT自动生成系统 基于LangGraph的PPT自动生成系统,可以将Markdown文档自动转换为PPT演示文稿。 功能特点 Markdown解析:自动解析Markdown文档结构PPT模板分析:分析PPT模板的布局和风格智能布局决策:匹配内容与合适的PPT布局自动…...

江苏艾立泰跨国资源接力:废料变黄金的绿色供应链革命

在华东塑料包装行业面临限塑令深度调整的背景下,江苏艾立泰以一场跨国资源接力的创新实践,重新定义了绿色供应链的边界。 跨国回收网络:废料变黄金的全球棋局 艾立泰在欧洲、东南亚建立再生塑料回收点,将海外废弃包装箱通过标准…...

Android15默认授权浮窗权限

我们经常有那种需求,客户需要定制的apk集成在ROM中,并且默认授予其【显示在其他应用的上层】权限,也就是我们常说的浮窗权限,那么我们就可以通过以下方法在wms、ams等系统服务的systemReady()方法中调用即可实现预置应用默认授权浮…...

Java毕业设计:WML信息查询与后端信息发布系统开发

JAVAWML信息查询与后端信息发布系统实现 一、系统概述 本系统基于Java和WML(无线标记语言)技术开发,实现了移动设备上的信息查询与后端信息发布功能。系统采用B/S架构,服务器端使用Java Servlet处理请求,数据库采用MySQL存储信息&#xff0…...

Windows安装Miniconda

一、下载 https://www.anaconda.com/download/success 二、安装 三、配置镜像源 Anaconda/Miniconda pip 配置清华镜像源_anaconda配置清华源-CSDN博客 四、常用操作命令 Anaconda/Miniconda 基本操作命令_miniconda创建环境命令-CSDN博客...

(一)单例模式

一、前言 单例模式属于六大创建型模式,即在软件设计过程中,主要关注创建对象的结果,并不关心创建对象的过程及细节。创建型设计模式将类对象的实例化过程进行抽象化接口设计,从而隐藏了类对象的实例是如何被创建的,封装了软件系统使用的具体对象类型。 六大创建型模式包括…...

WPF八大法则:告别模态窗口卡顿

⚙️ 核心问题:阻塞式模态窗口的缺陷 原始代码中ShowDialog()会阻塞UI线程,导致后续逻辑无法执行: var result modalWindow.ShowDialog(); // 线程阻塞 ProcessResult(result); // 必须等待窗口关闭根本问题&#xff1a…...