单片机原理及应用

这篇具有很好参考价值的文章主要介绍了单片机原理及应用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

AT89S51单片机片内硬件结构

(  本节以AT89S51为例介绍51单片机的基本结构,如下图所示)

单片机原理及应用,单片机,单片机,嵌入式硬件

AT89S51单片机的片内结构,从图中可见 AT89S51单片机的基本组成:

1. CPU:8位的CPU 由控制器和运算器构成

2. 数据存储器(RAM):128B 用于存放读写数据、运算的中间结果

3. 程序存储器(ROM):4KB 用于存放用户程序、原始数据或表格

4. 4个8位的并行I/O口:P0~P3 用于数据的输入/输出

5. 1个全双工的异步串行口:UART 用于与其他设备间的串行数据传送

6. 中断系统: 具有5个中断源,2级中断优先级

7. 定时/计数器:有2个16位的T/C 可作为定时器也可作为计数器使用

8. 特殊功能寄存器:SFR 在80H~FFH地址区间内,离散地分布26个特殊功能寄存器

9. 看门狗定时器:WDT 可将单片机复位,使程序恢复正常运行

单片机的外部结构

   目前,51单片机多采用40引脚双列直插式(PDIP)封装形式。此外,还有44引脚塑料方型扁平式(TQFP)封装形式的芯片,如下图所示

单片机原理及应用,单片机,单片机,嵌入式硬件

AT89S51的引脚功能

40个引脚按其功能可分为4类:

1.电源引脚:Vcc(40脚):接+5V电源正端          

                     Vss(20脚):接+5V电源地端

2.时钟电路引脚:XTAL1(19脚):片内振荡器的反相放大器输入端

                            XTAL2(18脚):片内振荡器的反相放大器输出端。

3.并行I/O口引脚: 4个并行I/O口(P0~P3),每个口都有8个引脚,用于传送数据和地址  

4. 控制引脚

(1)RST(9脚):复位信号输入引脚,在该引脚出现2个机器周期以上的高电平,可使单片机复位。正常工作,此引脚应为≤ 0.5V的低电平

(2) PSEN(29脚):片外程序存储器读选通信号输出引脚,低电平有效

(3)ALE/PROG(30脚):低8位地址锁存控制信号输出引脚,低电平有效

         ① CPU访问外部程序存储器或外部数据存储器时,将低8位地址锁存在片外的地址锁存器中

         ② 单片机正常运行时,ALE端一直有正脉冲信号输出,此频率为时钟振荡器频率fosc的1/6

(4)EA/VPP(31脚):外部程序存储器访问允许控制信号输入引脚

AT89S51单片机存储器的结构

存储器分为两大类:

数据 存储器 (RAM):CPU在运行时,能随时对其进行数据的写入和读出。但在关闭电源时,其所存储的数据信息将丢失。它用来存放暂时性的输入输出数据、运算的中间结果

程序 存储器 (ROM):是一种写入信息后,不易改写的存储器。 断电后,ROM中的信息保留不变。用来存放固定的程序、原始的数据或表格等

AT89S51单片机的存储器有4个存储物理空间,具体如下图所示:

单片机原理及应用,单片机,单片机,嵌入式硬件

存储器中的每个存储单元是8位,每一个单元有一个地址编号,从0000H~FFFFH

~ROM和RAM分别在两个独立的空间,即分开编址

程序存储器(ROM)

1. 计算机的工作原理:计算机在工作时,CPU自动从程序存储器中逐条取出指令、分析指令,并根据指令的操作类型和操作对象执行指令,完成相应的操作。如此重复,直至执行完程序的所有指令,从而实现程序的基本功能,这就是微型计算机的基本工作原理

2.程序计数器PC: PC是CPU中的一个16位寄存器,用于存放CPU将要从ROM中读取的下一个指令字节码的地址,因此也称为地址指针;单片机复位后,PC的值为0000H,CPU从程序存储器0000H地址单元开始读取一个指令字节,并开始执行程序,同时PC+1→PC;依次进行,一次读取一个指令字节

3.片内与片外程序存储器的选择:

(1)EA引脚接高电平,EA接+5V

        ① 当PC值没有超出0FFFH时,只读取片内Flash存储器中程序

        ② 当PC值超出0FFFH时,CPU会自动转向读取片外程序存储器空间1000H~FFFFH内的程序

(2)EA引脚接低电平,EA接地

        CPU只根据PC值读取片外程序存储器(0000H~FFFFH)中的程序。不会读取片内4KB Flash存储器

4.程序存储器低端的几个特殊单元

程序存储器中几个低端的地址固定用作特定的入口地址

        0000H:单片机复位后的地址

        0003H:外部中断0的中断程序入口地址

        000BH:定时/计数器0溢出中断程序入口地址

        0013H:外部中断1的中断程序入口地址

        001BH:定时/计数器1溢出中断程序入口地址

        0023H:串行口的中断程序入口地址

数据存储器(RAM)

一、 片内数据存储器

AT89S51片内RAM 128字节(00H—7FH) AT89S52片内RAM 256字节(00H—FFH)

单片机原理及应用,单片机,单片机,嵌入式硬件

1.工作寄存器区

片内RAM前32个单元(00H—1FH)是4个工作寄存器区                                

4个工作 寄存器区:每个工作寄存器区有8个工作寄存器: R0、R1、R2、R3、R4、R5、R6、R7

注:当前工作寄存器区只能有一个

     当前工作寄存器的选择:首先由RS1,RS0选择工作寄存器区,然后确定工作寄存器对应的单元。 复位后,默认的工作寄存器区为0区

单片机原理及应用,单片机,单片机,嵌入式硬件

程序状态字寄存器PSW:

单片机原理及应用,单片机,单片机,嵌入式硬件

▼RS1(PSW.4)、RS0(PSW.3)工作寄存器区选择位

单片机原理及应用,单片机,单片机,嵌入式硬件

若在一个实际的单片机应用系统中,并不需要4个工作寄存器区,这个区域的多余单元可以作为一般的数据缓冲器使用

2. 位寻址区

片内RAM中,20H-2FH 这16个单元是位寻址区

这16个单元中共有128位, 每一位都有一个位地址

位地址空间:00H—7FH    

单片机原理及应用,单片机,单片机,嵌入式硬件

CPU对位寻址区内的RAM单元(20H~2FH):

1、既可以采用字节操作指令,整体操作某个字节

2、又可以采用位操作指令,直接对字节中的某一位进行操作

用途: 一般可用作程序运行标志、开关量控制以及位变量等

           这种位寻址能力是一般微机所不具备的,是单片机所独有的

位寻址区多余的RAM单元也可以作为一般的数据缓冲器使用

3.  数据缓冲区

地址:30H-7FH(30H-FFH)单元  

用途:存放各种读写数据和中间结果,起到数据缓冲的作用       

二、片外数据存储器

片内RAM不够用时,AT89S51最多可外扩64KB的片外RAM

注意:片外RAM和外扩的I/O接口是统一编址的,要注意地址分配的问题

特殊功能寄存器区

单片机原理及应用,单片机,单片机,嵌入式硬件

特殊功能寄存器区:80H~FFH的地址空间,只允许直接寻址SFR,26个特殊功能寄存器 离散地分布在80H~FFH的地址空间

特殊功能寄存器SFR(专用寄存器) 专用于控制、选择、管理、存放单片机内部各功能部件的工作方式、条件、状态、结果的寄存器

不同的SFR管理不同的功能部件,负责不同的功能——各司其职

换言之:要让单片机内部各功能部件实现预定的功能,很重要的一项工作就是对SFR写命令(编程)

AT89C51特殊功能寄存器位地址和字节地址表,如下图所示

单片机原理及应用,单片机,单片机,嵌入式硬件

单片机原理及应用,单片机,单片机,嵌入式硬件

单片机原理及应用,单片机,单片机,嵌入式硬件

注:字节地址尾数为0或8的特殊功能寄存器,每位都有位地址,可位操作

特殊功能寄存器每一位的定义和作用与单片机的各个部件直接相关

特殊功能寄存器详细用法在相应的章节进行说明

AT89S51的中央处理器(CPU)

组成:运算器+控制器

功能:从ROM中读取指令、分析指令并根据指令的操作类型和操作对象,控制各个功能部件执行指令

运算器

组成:算术逻辑单元ALU+有关寄存器

功能:进行数据的算术运算、逻辑运算、位操作运算以及数据传输等

专用寄存器

1.累加器A(E0H):是CPU中使用最频繁的一个8位寄存器。它既是ALU的输入数据源之一,同时又是ALU运算结果的存放单元之一;CPU中的数据传送大多都通过累加器A

2.通用寄存器B(F0H):用于乘、除法运算;若不作乘除法运算时,则可作为通用寄存器使用

3.程序状态字PSW(D0H):用于保存指令执行结果的状态信息,以供程序查询和判断

单片机原理及应用,单片机,单片机,嵌入式硬件

▼CY(PSW.7) 进位/借位标志位:若在执行某些算术运算类指令时,最高位发生了进位或借位,则CY=1,否则CY=0。它也是位处理器中的位累加器C,可用于位操作

▼AC(PSW.6) 辅助进位/借位标志位:若在执行某些算术运算类指令时,D3位向D4位发生了进位或借位,则AC=1,否则AC=0

▼F0(PSW.5) 用户自定义标志位:在编程时,用户可根据需要对F0赋予一定的含义,通过指令来使它置1或清0;也可由指令来测试该标志位,根据测试结果控制程序的流向

▼OV (PSW.2) 溢出标志位:当执行带符号8位二进制数(-128~+127)的某些算术运算类指令时,用来指示运算结果是否产生溢出(超出范围)。如果结果产生溢出,OV=1;否则,OV=0

▼P (PSW.0) 奇偶标志位:在指令执行完后,CPU根据累加器A中“1”的个数是奇数还是偶数自动给该标志位置1或清0。累加器A中“1”的个数为奇数:P=1;为偶数:P=0  

控制器 

组成:程序计数器(PC)、指令寄存器、指令译码器、定时控制逻辑电路等

功能:是整个单片机的控制中心;

           对内:控制指令的读入、译码和执行,从而对各功能部件进行定时和逻辑控制

           对外:发出ALE、PSEN等控制信号文章来源地址https://www.toymoban.com/news/detail-842188.html

到了这里,关于单片机原理及应用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 嵌入式开发:单片机嵌入式Linux学习路径

    SOC(System on a Chip)的本质区别在于架构和功能。低端SOC如基于Cortex-M架构的芯片,如STM32和NXP LPC1xxx系列,不具备MMU(Memory Management Unit),适用于轻量级实时操作系统如uCOS和FreeRTOS。高端SOC如基于Cortex-A架构的芯片,如三星、高通、飞卡、全志和瑞芯微等,具备MMU,支持虚拟内

    2024年02月15日
    浏览(54)
  • 嵌入式和单片机

    凡是从事信息技术相关工作的,一定都听说过嵌入式和单片机。 大家都知道,这两个名词,和硬件系统有着非常密切的关系。 但是,如果要问具体什么是嵌入式,什么是单片机,它们之间究竟有什么区别,我相信大部分人并不能解释清楚。 今天,小编就给大家做一个入门科

    2024年02月07日
    浏览(55)
  • 7. 嵌入式与单片机

    常见面试题 请说说你对嵌入式的理解。⭐⭐⭐⭐ 嵌入式系统是指以应用为中心,以计算机技术为基础,软件硬件可剪裁,适应应用系统对功能、成本、体积、功耗严格要求的专用计算机系统。 嵌入式系统 主要由 嵌入式微处理器 、 外围硬件设备 、 嵌入式操作系统以及用户

    2024年02月02日
    浏览(81)
  • 【嵌入式开发-8051】详细:基于AT89C52单片机设计的温控风扇(Proteus仿真设计-含设计原理图、程序源码)

    1、本设计是基于AT89C51/52单片机为核心的温控风扇系统,使用Proteus进行仿真分析。 2、由于上传后图片压缩,可以私信联系获取清晰图片。 3、本次为本人结课设计,整体比较简单,如有疑问欢迎大家交流讨论!   目录 【嵌入式开发-8051】详细:基于AT89C52单片机设计的温控风

    2024年02月07日
    浏览(55)
  • 单片机/嵌入式小白教程—硬件(三)51单片机最小系统

    目录 简介 51单片机器件原理图 复位电路 供电电路 晶振电路 下载电路 最小系统原理图  更加方便的51单片机 传统51单片机最小系统包含:复位电路、供电电路、晶振电路、下载电路   其中, 第9脚(RST)为复位引脚, 第40脚(VCC)第20脚(GND)为供电引脚, 第19脚(XTAL1)第

    2024年02月08日
    浏览(71)
  • 单片机(嵌入式)程序分层架构

    目录 前言 嵌入式3层软件架构 嵌入式4层软件架构-1 驱动层 操作系统层 中间件层 应用层 嵌入式4层软件架构-2 硬件层 嵌入式微处理芯片 嵌入式存储器系统 嵌入式I/O接口 中间层 系统软件层 RTOS 文件系统 GUI 应用层 嵌入式5层软件架构1 嵌入式5层软件架构2 嵌入式6层软件架构

    2023年04月19日
    浏览(77)
  • 单片机和Linux嵌入式区别

    单片机是一种集成电路,它能够在一个芯片上完成各种计算、控制和管理任务。单片机没有明确的分层,这是因为它通常被用来设计嵌入式系统,其程序结构和功能要根据具体的应用需求来设计。 在单片机的程序设计中,可以通过一些方法将程序分为不同的层次,比如可以将

    2024年01月17日
    浏览(60)
  • 【单片机/嵌入式】最完整学习路线

            关于这个问题我在网上寻找到 了 相关文章解释得很详细,不了解的同学可以参考一下这篇文章: 到底什么是嵌入式?什么是单片机? - 知乎         一个人学习是孤独的,如果你是一名学生,建议加入学校的电子社团或者实验室,有老师的帮助和同学的互助

    2024年02月03日
    浏览(51)
  • 嵌入式51单片机04-矩阵按键系列

    一、矩阵按键基础知识 矩阵按键工作原理 : 逐行扫描 :通过高四位轮流输出低电平来对矩阵键盘进行扫描,当低四位接收到的数据不全为1的时候,说明有按键按下,然后通过判断低四位数据中哪一位为零来判断哪一个按键被按下。 逐列扫描 :通过低四位轮流输出低电平来

    2024年02月07日
    浏览(61)
  • 【唠唠嵌入式】__如何学习单片机?

    目录 前言 个人定位,从事软件还是硬件? 学习内容 (* ̄︶ ̄)创作不易!期待你们的 点赞、收藏和评论喔。 作为一个老司机,多年来跟 单片机 、 Keil 、 C语言 、 AD 、 烙铁 、 风枪 、 示波器 、 电子元器件 纠缠不清。期间经历了不少磨练,熬过了很多夜晚,也掉了大把头

    2024年02月06日
    浏览(67)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包