单片机原理及接口技术期末复习知识点

news2024/12/27 15:40:08

第1章 单片机概述

  1. 什么是单片机:单片机是由CPU存储器、I/O接口及总线集成在一个芯片上。
  2. 简单了解AT89S51单片机简介。
    相当于MCS-51系列中的87C51,AT89S51芯片内4KB的Flash存储取代了87C51片内的4K的EPROM。

第2章 AT89S51单片机的内部结构

  1. MCS-51单片机具有几个并口,其中哪个口具有外部中断、串行通信等第二功能。
    有4个并口,P3口具有外部中断、串行通信等第二功能。
  2. AT89S51的片内程序存储器为4 KB的Flash存储器,地址范围是 0000H~0FFFH
  3. 设外接石英晶体频率为6MHz,机器周期的时间宽度2us
    一个机器周期=12 个振荡周期.
  4. PC和DPTR分别用于提供什么地址。
    PC用于提供预读取(正在执行指令的下一条)指令的首地址,DPTR用于提供访问数据存储器的地址指针。
    PSW是 特殊功能寄存器(SFR)
  5. E A ‾ \overline{EA} EA接地时,AT89S51单片机将从 外部程序存储器0000H 地址开始执行程序。
  6. RAM的位寻址区对应的字节地址范围是 20H~2FH

第3章 8051指令系统与编程基础

  1. 一条指令通常由两部分组成,即 操作码操作数

  2. 简述AT89C51两条查表指令的执行过程。

    1. MOVC A, @A+PC

      指令以PC作为基址寄存器,A的内容作为无符号整数和PC当前值(下一条指令的首地址)相加后得到一个新的16位地址,把该地址指定的程序存储单元内容送入累加器A中。

    2. MOVC A, @A+DPTR
      指令以DPTR作为基址寄存器,A的内容作为无符号数和DPTR的内容相加得到一个16位地址,把由该地址指定的程序存储器单元的内容送到累加器A中。

  3. AT89S51单片机当从堆栈弹出一个字节的数据后,SP中的内容如何变化。
    POP direct:将栈顶指针SP指示的栈顶(内部RAM)内容送入direct字节单元中,然后栈顶指针SP减1。

  4. 乘法指令MUL AB两个操作数分别在 累加器A寄存器B(无符号8位整数) 中,执行指令后,乘积结果放在 累加器A和寄存器B 寄存器对中, 寄存器B 放数据高8位, 累加器A 放数据低8位。
    除法DIV AB中,被除数取自 累加器A,除数取自 寄存器B ,商放在 累加器A 中,余数存放于 寄存器B 中。

  5. 求n个单字节无符号数 X i X_i Xi的和, X i X_i Xi i i i顺序存放在AT89S51单片机内部RAM从50H开始的单元中,n放在R2中,和(双字节)放在R3 R4中。

		ORG		0100H
ADD1:	MOV		R2, #n		; 计数控制
		MOV		R3, #0		; 存放和的高8位
		MOV		R4, #0		; 存放和的低8位
		MOV		R0, #50H	; 变址单元
LOOP:	MOV		A, R4
		ADD		A, @R0
		MOV		R4, A
		INC		R0
		CLR		A
		ADDC	A, R3
		MOV		R3, A
		DJNZ	R2, LOOP
		END

ADDC带进位

  1. 编写程序将片外数据存储器中4000H~40FFH单元全部清零。
		ORG		0100H
MAIN:	MOV		A, #0		; 预置数0送A
		MOV		R0, #0FFH	; 设立循环次数(40FFH-4000H=FFH)
		MOV		DPTR,#4000H ; 设立数据指针的初值
LOOP:	MOVX	@DPTR, A	; 当前单元赋值0
		INC		DPTR		; 指向下一个单元
		DJNZ	R0, LOOP	; 是否结束
		END
  1. 指令判错,如MOV 36H, @R6
    错误,MOV direct, @Ri,间接寻址的Ri只能是R0和R1,R6不合法。

    课本P43 第7条最后一段:Ri(i=0,1)

第4章 AT89S51单片机的中断系统

  1. 简述AT89C51的中断技术。
    中断技术主要用于实时监测与控制。
    当中断请求源发出中断请求时,如果中断请求被允许的话,单片机暂时中止当前执行的主程序,转到中断服务处理程序处理中断服务请求。中断服务请求处理完后,再回到原来被终止的程序之处(断点),继续执行被中断的主程序。
  2. 五源中断,两级管理。5个中断源的中断入口地址分别是什么。
  3. I N T 0 ‾ \overline{INT0} INT0 外部中断请求0:0003H
  4. I N T 1 ‾ \overline{INT1} INT1 外部中断请求1:0013H
  5. 定时/计数器T0:000BH
  6. 定时/计数器T1:001BH
  7. 串行口中断请求:0023H
  8. 简单了解TCON、SCON功能。
  • TCON是定时控制寄存器,主要用于控制定时/计数器的启动和停止、计数溢出标志和管理外部中断。
  • SCON是串行口控制寄存器,主要用于控制、监视串行口的工作状态。

第5章 I/O口应用—显示与开关/键盘输入

  1. LED显示器中的发光二极管的两种连接方法是

    • (公)共阴极
    • (公)共阳极
  2. 共阴极LED显示器,显示不同数字时的字形码。如‘2’

在这里插入图片描述

数字2:需要亮A、B、D、E、G,其他都为低电平。

DPGFEDCBA
01011011

即二进制字形码:0101 1011,十六进制字形码:5BH

  1. LED数码管动态显示时,一个时间只有一个数码管被点亮。

  2. 为什么要消除按键的机械抖动?
    为了确保单片机对一次按键动作只确认一次按键有效,必须消除抖动的影响。

    软件消除按键机械抖动的原理
    在检测到有键按下时,该键所对应的行线为低电平,执行一段延时10ms的子程序后,确认该行线是否仍为低电平,如果仍为低电平,则确认确实有键按下。即消除抖动期的影响。

第6章 AT89S51单片机的定时器/计数器

  1. 定时器/计数器作定时和计数用时,其计数脉冲分别为

    • 作定时用时:把系统时钟振荡器12分频后的脉冲作为计数信号。
    • 作计数用时:计数脉冲为P3.4/T0(或P3.5/T1)引脚上的外部输入脉冲,当引脚上发生负跳变时,计数器加1。
  2. 采用6MHz的晶振,定时4ms,如用定时器方式1时的初值的计算。
    T = 1 f o s c × 12 = 1 6 M H z × 12 = 2 μ s X = 2 16 − 4000 μ s 2 μ s = 65536 − 2000 = F 830 H T H x = F 8 H T L x = 30 H T=\frac{1}{f_{osc}}\times12=\frac{1}{6MHz}\times12=2\mu s \\ X=2^{16}-\frac{4000\mu s}{2\mu s}=65536-2000=F830H \\ THx=F8H \\ TLx=30H T=fosc1×12=6MHz1×12=2μsX=2162μs4000μs=655362000=F830HTHx=F8HTLx=30H

  3. 系统时钟为6MHz,编写定时器T0产生500ms定时的程序。

    令它工作在方式1:
    T = 1 f o s c × 12 = 1 6 M H z × 12 = 2 μ s X = 2 16 − 500000 μ s 2 μ s = 65536 − 250000 < 0 T=\frac{1}{f_{osc}}\times12=\frac{1}{6MHz}\times12=2\mu s \\ X=2^{16}-\frac{500000\mu s}{2\mu s}=65536-250000<0 T=fosc1×12=6MHz1×12=2μsX=2162μs500000μs=65536250000<0
    计数器不够用,因此可以使用100ms 中断5次的方法代替
    X = 2 16 − 100000 μ s 2 μ s = 65536 − 50000 = 3 C B 0 H T L 0 = B 0 H T H 0 = 3 C H X=2^{16}-\frac{100000\mu s}{2\mu s}=65536-50000=3CB0H \\ TL0=B0H\\ TH0=3CH X=2162μs100000μs=6553650000=3CB0HTL0=B0HTH0=3CH

    		ORG		0000H
    		AJMP	MAIN
    		ORG		000BH		; 定时/计数器T0中断服务程序
    		AJMP	INT_0		; 跳转INT_0子程序	
    		ORG		0100H
    MAIN:	MOV		SP, #60H	; 设置堆栈指针
    		MOV		B, #5		; 设置循环次数
    		MOV		TMOD, #01H	; T0工作于方式1
    		MOV		TL0, #0B0H	; TL0 = B0H
    		MOV		TH0, #3CH	; TH0 = 3CH
    		SETB	TR0			; 启动T0
    		SETB	ET0			; 允许T0中断
    		SETB	EA			; 总中断开启
    		SJMP	$			; 循环等待中断
    INT_0:	MOV		TL0, #0B0H	; TL0重新赋值
    		MOV		TH0, #3CH	; TH0重新赋值
    		DJNZ	B, LOOP		; 若未到达5次,中断返回
    		CLR		TR0			; 到达500ms,停止T0计时
    LOOP:	RETI				; 中断返回
    		END
    

第7章 AT89S51单片机的串行口

  1. 串行口的控制寄存器SCON中,REN的作用

    REN:允许串行接收位,由软件置0或1

    • REN=1时允许串行口接收数据。
    • REN=0时,禁止串行口接收数据。
  2. 设多机系统中有一主机和3个8051从机。
    主机的RXD与从机的TXD相连,主机TXD与从机的RXD端相连。
    从机地址分别为01H、02H、03H。写出主机与从机01H的通信过程。

    1. 各个从机允许串口中断,接收方式为方式2或方式3。且SM2REN置1,使从机处于多机通信接收地址帧的状态。
    2. 将准备接收数据的 从机地址 发送给各个从机(地址帧第9位为1)。
      主机发送地址帧时,各从机RB8=1,且由于SM2=1,中断标志位RI=1,各从机响应中断,在从机中断服务程序中,判断送来的地址和本机地址是否相同,若相同,SM2置0,否则继续维持SM2=1
    3. 主机传送数据或命令(数据或命令帧的第9位为0)
      从机RB8=0,只有SM2=0的从机才能接收该帧,并且接收完成后中断标志RI被置1。其他SM2=1的从机无法使RI置1。
    4. 结束数据通信并为下一次多机通信做准备。
      需预留1~2个“广播地址”,当主机和从机通信完成后,需要将从机再次设置为多机通信模式,以便进行下一次多机通信。一旦接收的数据帧第9位(RB8)为1且地址为广播地址,便将从机的通信模式再次设置为多机模式。

第8章 AT89S51单片机外部存储器的并行扩展

  1. P0口是 地址总线 和数据总线分时复用的,因此在扩展时,应使用 地址锁存器 使信号分离。
  2. 74LS138、74LS373作用。
    • 74LS138:3-8译码器,有3个数据端,经译码后产生8种状态。
      可将输入端信号转换为某一存储器芯片的“片选”控制信号;
    • 74LS373:8位锁存器,因P0口兼用数据线和低8位地址线,用此锁存器可以将数据信号和地址信号分时复用。

74LS373:带有三态门的8D锁存器

  1. 区分外部程序存储器和内部程序存储器的最可靠的方法是看其是被 W R ‾ \overline{WR} WR还是被 P S E N ‾ \overline{PSEN} PSEN信号连接。

第9章 AT89S51单片机的I/O扩展

  1. I/O接口和I/O端口有什么区别?

    • I/O接口:单片机与外设间的连接电路的总称。
    • I/O端口:I/O接口电路中具有单元地址的寄存器或缓存器。

    I/O接口的功能是什么?

    1. 实现和不同外设的速度匹配
    2. 输出数据锁存
    3. 输入数据三态缓冲
  2. 82C55的方式0是无条件的输入输出方式。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/682463.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

毫米波雷达系统性能参数分析

毫米波雷达系统性能参数分析 1、距离2、速度3、角度 本文主要分析描述雷达系统的系统性能的一些参数&#xff0c;包括最大作用距离&#xff0c;距离分辨率&#xff0c;最大探测速度……等参数。通过理解这些参数的组成&#xff0c;能够帮助我们设计雷达系统参数。 1、距离 &a…

做UI设计要会什么知识?

做UI设计要会什么知识&#xff1f;在互联网这个行业里&#xff0c;要想做好一件事情&#xff0c;做得好是必须要懂产品&#xff0c;懂用户体验。在很多人眼中&#xff0c;做设计就是打杂&#xff0c;干不了&#xff0c;其实不是这样的。要想成为一名优秀的UI设计师&#xff0c;…

Django高级扩展之系统后台使用celery

如果我们在系统后台想某日某时执行某个任务&#xff0c;或者每隔一段时间执行某个任务&#xff0c;可以使用celery来完成。 目录 安装 安装celery 安装django_celery_beat celery配置 注册应用 celery配置 修改__init__.py 表迁移 执行迁移 控制台运行截图 新增数据…

gunicorn不停服重启更新服务

简介 Gunicorn是基于unix系统&#xff0c;被广泛应用的高性能的Python WSGI HTTP Server。用来解析HTTP请求的网关服务。 它通常是在进行反向代理&#xff08;如nginx&#xff09;&#xff0c;或者进行负载均衡&#xff08;如 AWS ELB&#xff09;和一个web 应用&#xff08;比…

AI + 算力 = “最强龙头”?

随着人工智能技术的飞速发展&#xff0c;“AI算力”的结合应用已成为科技行业的热点话题&#xff0c;甚至诞生出“AI算力最强龙头“的网络热门等式。该组合不仅可以提高计算效率&#xff0c;还可以为各行各业带来更强大的数据处理和分析能力&#xff0c;从而推动创新和增长。 …

Java项目-SpringBoot+Vue 的学生就业管理信息系统

&#x1f495;&#x1f495;作者&#xff1a;程序员徐师兄 个人简介&#xff1a;7 年大厂程序员经历&#xff0c;擅长Java、微信小程序、Python、Android等&#xff0c;大家有这一块的问题可以一起交流&#xff01; 各类成品java毕设 。javaweb&#xff0c;ssh&#xff0c;ssm&…

小航助学2023年6月GESP_C++三级试卷(含题库答题软件账号)

需要在线模拟训练的题库账号请点击 小航助学编程在线模拟试卷系统&#xff08;含题库答题软件账号&#xff09;_程序猿下山的博客-CSDN博客 单选题2.0分 删除编辑附件图文 答案:D 第1题高级语言编写的程序需要经过以下&#xff08; &#xff09;操作&#xff0c;可以生成在…

geo-tool 解析百度经纬出错 {‘status‘: 240, ‘message‘: ‘APP 服务被禁用‘}

geo-tool 解析百度经纬出错 {status: 240, message: APP 服务被禁用} 引子一、查错二、排错三、测试通过参考 作者&#xff1a;高玉涵 时间&#xff1a;2023.6.25 环境&#xff1a;Windows 10 专业版 22H2&#xff0c;Python 3.10.4 第三方包&#xff1a;geo-tool 1.1.2 引…

【模拟CMOS集成电路】HSPICE入门仿真分析实例

【模拟CMOS集成电路】HSPICE入门仿真分析实例 一、采用HSPICE的MOS器件仿真二、INV倒相器HSPICE仿真附录程序源码&#xff08;一&#xff09;程序源码&#xff08;二&#xff09; 一、采用HSPICE的MOS器件仿真 一、采用HSPICE的MOS器件仿真, 并回答以下问题。   1&#xff0…

Visual Studio 2019使用详解

VS2019&#xff08;Visual Studio 2019&#xff09;是由微软开发的集成开发环境&#xff08;IDE&#xff09;&#xff0c;用于开发各种应用程序&#xff0c;包括桌面应用程序、Web应用程序、移动应用程序等。 对工具的熟悉程度有助于提升开发效率&#xff0c;磨刀不误砍柴功&am…

solr快速上手:整合spring-data-solr实现客户端操作(十)

0. 引言 前一章介绍了官方的solr客户端SolrJ&#xff0c;但是solrJ的使用相对来说并不方便&#xff0c;仍然需要做一些负责的客户端操作以及语句的书写&#xff0c;有没有更加方便的ORM框架呢&#xff0c;这就提到了spring-data-solr了 1. 简介 首先如果你还不知道spring-da…

面试题:深拷贝和浅拷贝(+内存图)

深拷贝和浅拷贝主要是针对对象的属性是对象&#xff08;引用类型&#xff09; 一、基本类型和引用类型的区别 1&#xff09;、基本类型&#xff1a;就是值类型&#xff0c;即在变量所对应的内存区域存储的是值。 2&#xff09;、引用类型&#xff1a;就是地址类型。 何为地…

Kubeadm 部署k8s实现并且演示滚动不停服务更新

1. 环境准备 在开始之前&#xff0c;部署Kubernetes集群机器需要满足以下几个条件&#xff1a; 一台或多台机器&#xff0c;操作系统 CentOS7.x-86_x64&#xff1b;硬件配置&#xff1a;2GB或更多RAM&#xff0c;2个CPU或更多CPU&#xff0c;硬盘30GB或更多&#xff1b;集群中…

【Activiti】原理

一、核心类 RepositoryService&#xff1a;部署管理流程资源&#xff0c;如bpmn文件、附件等等&#xff1b;RuntimeService&#xff1a;操作运行时的流程&#xff1b;TaskService&#xff1a;流程中任务的信息&#xff1b;HistoryService&#xff1a;流程的历史信息&#xff1…

ZYNQ——按键和LED关联实验

ZYNQ 7020黑金开发板的PL端有四个LED&#xff0c;如下图所示。 PL端也有四个KEY&#xff0c;如下图所示。 本文将把这四个按键和四个LED一一对应起来&#xff0c;在按键按下或松开时&#xff0c;对应的LED产生亮或灭的信号。 在原理图中找到PL端的LED和KEY如下图所示。 通过…

成为python爬虫工程师需要哪些知识?

爬虫&#xff08;Web crawler&#xff09;是一种自动化程序&#xff0c;用于从互联网上抓取、解析和提取网页数据。它模拟浏览器行为&#xff0c;通过发送HTTP请求获取网页内容&#xff0c;并通过解析网页源代码或DOM结构&#xff0c;提取所需的信息。以python爬虫为例&#xf…

优思学院|作业标准和标准化作业有何区别?傻傻搞不清?

作业标准和标准作业是两个在生产和制造环境中具有重要意义的概念。尽管它们看似相似&#xff0c;但实际上它们在定义、目的和实施方法上存在显著差异。本文将探讨作业标准和标准作业的区别&#xff0c;以及它们在工作场所中的作用和重要性。 1. 引言 在制造领域中&#xff0c…

JDBC小记——SQL注入及预编译操作对象、批处理

目录 SQL注入 预编译操作对象 自定义JDBC工具类 1.创建配置文件 2.配置 3.在工具类中使用配置文件 批处理 注意事项 SQL注入 SQL注入是黑客对数据库进行攻击的常用手段之一&#xff0c;他们拼接一些恶意的sql语句&#xff0c;来获取他们想要的数据。 例&#xff1a; s…

Bpmn.js流程建模结合业务整合工作流(一)

bmpn.js是什么? 先上图 初步认识bpmn.js 相关文档直接上链接 全网最详bpmn.js教材-基础篇 - 掘金bpmn.js是一个BPMN2.0渲染工具包和web建模器, 使得画流程图的功能在前端来完成. 因为公司业务的需要因而要在项目中使用到bpmn.js,但是由于bpmn.js的开发者是国外友人, 因此国…

【2023年中总结】是的,我从一家世界前百强企业毕业了,进入了一家只有20人的小企业。。。

我的2023-上 &#x1f550; 一、引言&#x1f55c; 二、新年&#x1f559; 三、措手不及&#x1f565; 四、抉择&#x1f55a; 五、适应&#x1f389;测试驱动开发&#x1f389;角色的转变&#x1f389;工作环境和生活环境的转变&#x1f389;工作态度 &#x1f566; 六、挑战&…