单片机原理及应用笔记:80C51单片机内部结构与项目实现

80C51单片机内部结构与项目实现

作者介绍

王帅,男,银川科技学院计算机与人工智能学院2022级计算机科学与技术8班本科生,单片机原理及应用课程第四小组

指导老师:王兴泽

电子邮件:w18209670445@163.com

个人主页博客链接:Astoria

前言

本篇文章是参考《单片机原理及应用(c语言版)第2版》杨居义·编著教材编写的笔记

由王帅、王宏伟、马斌、徐青祥、权婧共同完成,其中,主要内容由王宏伟完成撰写,总结及排版,王帅主要负责单片机操作以及操作程序编写、徐青祥负责80C51单片机内部结构介绍、马斌负责单片机引脚功能定义资料搜集、权婧负责80C51单片机存储器组织的内容查找。

模块一:80C51单片机认识

项目1:80C51单片机内部结构认识

    80C51单片机内部结构包括一个8位CPU、4KB ROM或EPROM(89C51无ROM)、128字节RAM、21个特殊功能寄存器SFR、4个8位并行I/O口、一个可编程全双工串行口、具有5个中断源的中断结构,支持两种优先级和嵌套中断、两个16位的定时器/计数器T0和T1,以及一个集成的片内振荡器和时钟电路。

80C51单片机的内部结构主要由以下几部分组成:

1. 中央处理器(CPU):80C51的核心是一个8位CPU,负责执行程序中的各种指令,如逻辑运算、算术运算等。它由运算器(ALU)、控制器和专用寄存器组构成。运算器负责基本的算术和逻辑操作,而控制器则负责指令的解码与执行流程控制。专用寄存器组包括了程序计数器PC、累加器A、状态寄存器PSW等关键组件。

2. 存储器:80C51内置了4KB的只读存储器(ROM)或EPROM,用于存储固件或程序代码。此外,它还配备了128字节的数据存储器(RAM),用于存储变量和临时数据。这些存储器是执行程序时不可或缺的部分,其中ROM用于长期保存程序,而RAM则用于动态数据处理。

3. 输入输出接口:80C51提供了4个8位并行I/O端口,这些端口可以配置为输入或输出,用于与外部设备进行数据交换。同时,它还配备了一个全双工串行通信接口,支持UART协议,可用于与其他设备进行串行通信。

4. 定时器与中断:80C51包含两个16位的定时器/计数器,可以用于计时或计数事件。此外,它的中断系统支持多种中断源,包括外部中断、定时器中断和串行通信中断,允许设备在需要时快速响应外部事件。

5. 特殊功能寄存器:SFRs是用于控制单片机各种硬件功能的特殊寄存器,例如定时器、串行口和中断使能等。通过设置这些寄存器的特定位,可以启用或禁用特定的功能。

80C51单片机以其紧凑的结构、丰富的功能和灵活的配置选项,在嵌入式系统中得到了广泛的应用。

项目2:80C51单片机组成

80C51单片机主要由中央处理单元(CPU)、只读存储器(ROM)、随机存取存储器(RAM)、输入/输出端口(I/O)、定时器/计数器、串行通信接口以及中断系统组成。以下是对这些组成部分的具体介绍:

1. 中央处理单元(CPU):80C51的CPU是一个8位处理器,包括一个8位算术逻辑单元(ALU),4KB ROM或EPROM(89C51无ROM),128字节RAM数据存储器,以及21个特殊功能寄存器SFR。CPU负责执行程序中的指令,进行数据处理和控制操作。

2. 只读存储器(ROM):用于永久性存储应用程序代码,通常为4KB或8KB大小。ROM中的内容在断电后仍然保持不变,适用于存放固件或不可变的程序代码。

3. 随机存取存储器(RAM):提供128字节或256字节的数据存储空间,用于存储临时数据和变量。RAM是易失性存储器,意味着一旦断电,其中的数据就会丢失。

4. 输入/输出端口(I/O):80C51提供了4个8位并行I/O端口,这些端口可以配置为地址/数据线或普通的I/O线,用于与外部设备进行数据交换。

5. 定时器/计数器:80C51包含两个16位的定时器/计数器,它们可以用于计时或计数事件,并在达到特定条件时产生中断。

6. 串行通信接口:一个全双工串行口,支持UART协议,可用于与其他设备进行串行通信。

7. 中断系统:具有五源中断、两级优先级和嵌套中断的能力,允许设备在需要时快速响应外部事件。

项目3:80C51单片机引脚及功能

80C51单片机的引脚及功能主要包括电源引脚、时钟引脚、复位引脚、I/O引脚以及控制引脚。以下是对这些引脚的具体介绍:

1. 电源引脚:Vcc(第40脚)是芯片的正电源引脚,通常连接到+5V电源。VSS(第20脚)是接地端,用于提供电路的公共接地点。

2. 时钟引脚:XTAL1(第19脚)和XTAL2(第18脚)是外部晶振连接端,用于接入晶振以产生时钟信号。这些引脚与内部的振荡器配合,为单片机提供必要的时钟脉冲,确保其按照预定的频率运行。

3. 复位引脚:RST/VPD(第9脚)是复位输入端,当此引脚接收到高电平信号时,会触发单片机复位。在掉电情况下,该引脚还可以作为备用电源输入端,以保护内部RAM中的数据不丢失。

4. I/O引脚:P0端口(P0.0~P0.7,引脚号为39~32)用作地址/数据线,可寻址64KB ROM和64KB RAM]。P2端口(P2.0~P2.7,引脚号为21~28)用作地址线的高8位,与P0口配合,可寻址整个存储器空间。P3端口(P3.0~P3.7,引脚号为10~17)除了基本的I/O功能外,还具有第二功能,如串行通信接口RXD和TXD等。

5. 控制引脚:EA/VPP(第31脚)用于选择内部或外部程序存储器,并可作为编程电压输入端。ALE/PROG(第30脚)用于地址锁存使能,同时在编程期间作为编程脉冲输入端。

项目4:80C51单片机存储器组织

80C51单片机的存储器组织采用哈佛结构,这种结构将程序存储器和数据存储器分开实现,分别对应于程序存储器和数据存储器的地址空间。以下是对这两种存储器的详细介绍:

程序存储器

   1. 基本型单片机:基本型单片机片内程序存储器容量为4KB,地址范围是0000H~0FFFH。

   2. 增强型单片机:增强型单片机片内程序存储器容量为8KB,地址范围同样是0000H~0FFFH。

数据存储器

   1. 基本型单片机:基本型单片机片内数据存储器均为128字节,地址范围是00H~7FH,用于存放运算的中间结果、暂存数据和数据缓冲[^1^]。这128字节的低32个单元用作工作寄存器,在20H~2FH共16个单元是位寻址区,然后是80个单元的通用数据缓冲区。

   2. 增强型单片机:增强型单片机片内数据存储器为256字节,地址范围是00H~FFH。低128字节的配置情况与基本型单片机相同,高128字节为一般RAM,仅能采用寄存器间接寻址方式访问

项目5:SFR简介

特殊功能寄存器(SFR)是80C51单片机中用于控制和监视各种外围设备的关键组件。以下是对SFR的介绍:

1. 基本概念

定义:SFR是80C51单片机中各功能部件对应的寄存器,用于存放相应功能部件的控制命令、状态或数据。

作用:SFR是80C51单片机中最具有特色的部分,几乎所有80C51系列功能的增加和扩展都是通过增加特殊功能寄存器来达到目的的。

2. 分类

按可寻址性分类:SFR可分为两类,一类是可以位寻址的,如ACC、IE、P1等;另一类是不可位寻址的,如SP、TMOD等。

按功能模块分类:SFR可分为I/O口相关、中断相关、定时器相关和串口通信相关四大部分。

3. 应用

在I/O控制中的应用:通过配置SFR的值,可以实现对I/O端口的输入输出控制,从而实现对外部设备的操作。

在定时器控制中的应用:通过配置相关的SFR,可以完成对定时器的工作模式、计数值、中断使能等控制,从而实现对定时器的精确定时和计数功能。

模块二:80C51单片机项目实践

项目1:P3.5引脚控制LED5灯亮仿真

任务实现:

1:程序设计

建立文件夹“practise-3”,然后建立“practise-3”工程项目,最后建立源程序文件“practise-3.c”,输入如下源程序:方法一:

#include<reg51.h> //包含51单片机寄存器定义的头文件

void main(void)

{

P3=0xdf; //P3=1101 1111B,即P3.5输出低电平

}

方法二:用位操作

#include<reg51.h> //包含51单片机寄存器定义的头文件

sbit D1=P3^5; //位操作

void main(void)

{

D1=0: //P3.5=0,即P3.5输出低电平

}

仿真效果实现:

项目2:P2.0、2.2、2.4、2.6引脚控制LED灯亮仿真(拓展项目)

方法一:

#include<regs1.h>   //包含51单片机寄存器定义的头文件

void main(void)

{

P2=0xaa;  //P2=10101010B

}
程序设计文件

 方法二;

    #include<reg51.h>
        sbit D1 =P2^0;
        sbit D2 =P2^2;
        sbit D3 =P2^4;
        sbit D4 =P2^6;
        void main(void)
        {
               D1=0;
                D2=0;
                 D3=0;
                  D4=0;
        }

仿真效果文件

模块三:80C51单片机项目实践总结

总结:

本文详细介绍了80C51单片机的内部结构、组成、引脚功能、存储器组织以及特殊功能寄存器(SFR)的概念和应用。文章还包含了两个基于80C51单片机的LED灯控制项目,展示了如何通过编程实现对硬件的控制。以下是对文章内容的总结:

  1. 80C51单片机内部结构:包括一个8位CPU、4KB ROM或EPROM(89C51无ROM)、128字节RAM、21个特殊功能寄存器SFR、4个8位并行I/O口、一个可编程全双工串行口、具有5个中断源的中断结构,支持两种优先级和嵌套中断、两个16位的定时器/计数器T0和T1以及一个集成的片内振荡器和时钟电路。
  2. 80C51单片机组成:主要由中央处理单元(CPU)、只读存储器(ROM)、随机存取存储器(RAM)、输入/输出端口(I/O)、定时器/计数器、串行通信接口以及中断系统组成。
  3. 80C51单片机引脚及功能:包括电源引脚、时钟引脚、复位引脚、I/O引脚以及控制引脚,每个引脚都有其特定的功能和用途。
  4. 80C51单片机存储器组织:采用哈佛结构,将程序存储器和数据存储器分开实现,分别对应于程序存储器和数据存储器的地址空间。
  5. SFR简介:特殊功能寄存器(SFR)是80C51单片机中用于控制和监视各种外围设备的关键组件,通过配置SFR的值,可以实现对I/O端口的输入输出控制,从而实现对外部设备的操作。
  6. 80C51单片机项目实践:通过P3.5引脚控制LED5灯亮仿真和P2.0、2.2、2.4、2.6引脚控制LED灯亮仿真两个项目,展示了如何通过编程实现对硬件的控制。

本文提供了关于80C51单片机的全面知识,包括其内部结构、组成、引脚功能、存储器组织以及特殊功能寄存器的概念和应用。同时,通过具体的项目实践,展示了如何在实际项目中应用这些知识。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值