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

本文介绍了AT89S51单片机的基本结构,包括CPU、存储器和I/O接口,并详细阐述了其内部结构,如并口功能和地址范围。接着,讨论了8051指令系统,包括查表指令、堆栈操作和乘除法指令。此外,还讲解了中断系统的工作原理和中断源,以及定时器/计数器的应用。最后提到了串行口的控制和多机通信的过程,以及外部存储器和I/O接口的扩展方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第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是 程序状态字寄存器
  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位锁存器(带有三态门的8D锁存器),因P0口兼用数据线和低8位地址线,用此锁存器可以将数据信号和地址信号分离。
  3. 区分外部程序存储器和内部程序存储器的方法是 P S E N ‾ \overline{PSEN} PSEN信号连接的是否是低电平,低电平为片外程序存储器,高电平为片内程序存储器。

  • 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是无条件的输入输出方式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

极客BOY

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值