单片机原理及应用——持续更新

news/2024/11/30 8:50:20/

目录

一、单片机概述

1、单片机简介

2、单片机的特点

3、MSC-51系列与AT89S5x系列单片机

(1)MSC-51系列单片机

(2)AT89S5x系列单片机

二、AT89S52单片机的片内硬件结构

1、AT89S52单片机的硬件组成

2、AT89S52单片机的引脚功能

(一)电源及时钟引脚

(二)控制引脚

(三)并行I/O口引脚

3、AT89S52单片机的CPU

(一)运算器


一、单片机概述

1、单片机简介

        单片机就是在一片半导体硅片上,集成了中央处理单元(CPU)、存储器(RAM(随机)和ROM(只读))、中断系统、定时器/计数器、并行I/O口、时钟电路及系统总线,用于测控领域的单片微型计算机,简称单片机。

        单片机又称为嵌入式微控制器或者微控制器。

        单片机按照其用途可分为两大类:通用型单片机和专用型单片机。

2、单片机的特点

(1)简单方便,易于掌握和普及。

(2)功能齐全,应用可靠,抗干扰能力强。

(3)发展迅速,背景广阔。

(4)嵌入容易,用途广泛。

(5)体积小,性价比高,灵活性强。

3、MSC-51系列与AT89S5x系列单片机

(1)MSC-51系列单片机

        ①基本型

        典型产品有8031、8051、8751。

        8031内部包括1个8位CPU、128BRAM,21个特殊功能寄存器(SFR)、4个8位并行I/O口、1个全双工串行口,2个16位定时器/计数器、5个中断源,但片内无程序存储器,需外部扩展程序存储芯片。

        8051是在8031的基础上,片内又集成有4KB ROM作为程序存储器。

        8751与8051相比,片内4KB的EPROM取代了8051的4KB ROM。

        ②增强型

        典型产品有8032、8052、8752。

        它们的内部RAM由128B增至256B,8052/8752的片内程序存储器由4KB增至8KB,16位定时器/计数器由2个增至3个。

(2)AT89S5x系列单片机

        AT89S5x的“S”档系列是ATMEL公司继AT89C5x系列之后推出的新机型,“S”表示含有串行下载的Flash存储器。

        AT89C51工作频率的上限为24MHz,而AT89S51为33MHz。

        AT89S51与AT89S52单片机的差别在于AT89S51片内有4KB Flash存储器、128B RAM、5个中断源以及2个定时器/计数器;而AT89S52片内有6KB Flash程序存储器、256B RAM、6个中断源、3个定时器(比AT89S51多出1个定时器,且具有捕捉功能)。AT89S52在片内硬件资源方面对AT89S51做了“增强”。

二、AT89S52单片机的片内硬件结构

1、AT89S52单片机的硬件组成

AT89S52单片机片内硬件结构如下图所示

(1)CPU(微处理器):8位的CPU,包括了运算器和控制器两大部分。还有面向控制的位处理和位控功能。

(2)数据存储器(RAM):片内为256B,片外最多还可外扩64KB的数据存储器。

(3)程序存储器(8KB Flash ROM):用来存储程序。AT89S52片内有8KB的Flash存储器;AT89S53/AT89S54/AT89S55片内分别集成了12KB/16KB/20KB的Flash存储器,如果片内程序存储器容量不够,片外最多可外扩至64KB程序存储器,即“片内+片外”的程序存储器总容量不超过64KB。

(4)定时器/计数器:片内有3个16位的定时器/计数器,有4种工作方式。

(5)终端系统:具有6个中断源,2级中断优先权。

(6)串行口:1个全双工的通用的异步收发串行口(UART),有4种工作方式。

(7)4个8位的并行口:P0口、P1口、P2口和P3口。

(8)特殊功能寄存器(SFR):共有32个特殊功能寄存器,用于CPU对片内各外设部件进行管理、控制和监视。这些特殊功能寄存器映射在片内RAM区的80H~FFH的地址区间内。

(9)1个看门狗定时器(WDT):当单片机由于干扰而使程序陷入死循环或跑飞状态时,可引起单片机复位,使程序恢复正常运行。

        AT89S52单片机完全兼容AT89C51/AT89S51单片机,使用AT89C51/AT89S51单片机的系统,在保留原来软硬件的基础上,可用AT89S52直接替换。

2、AT89S52单片机的引脚功能

        AT89S52单片机与各种8051单片机的引脚都是兼容的。目前,AT89S52单片机多采用40引脚的DIP封装(双列直插),以及44引脚的PLCC(向内折叠)和TQFP(向外折叠)封装方式。外形图如下图所示

44引脚的PLCC和TQFP封装方式的芯片,有4只引脚是无用的,标记为“NC”。

40只引脚按功能可分为以下3类:

        ①电源及时钟引脚:Vcc、Vss,XTAL1、XTAL2。

        ②控制引脚:\overline{PSEN}、ALE/\overline{PROG}\overline{EA}/Vpp、RST(即RESET)。

        ③I/O口引脚:P0、P1、P2与P3,为4个8位并行I/O口的外部引脚。

(一)电源及时钟引脚

(1)电源引脚

        ①Vcc(40脚):接+5V电源

        ②Vss(20脚):接数字地

(2)时钟引脚

        ①XTAL(19脚):片内时钟振荡器反向放大器的输入端。当使用外部独立时钟振荡器时,该引脚接独立时钟振荡器的输出信号。

        ②XTAL2(18脚):片内时钟振荡器反向放大器的输出端。当使用片外的独立时钟振荡器时,XTAL2引脚应悬空。

 

(二)控制引脚

(1)RST(RESET,9脚)

        复位信号输入端,高电平有效。在此引脚加上持续时间大于2个机器周期的高电平,就可以使单片机复位。

(2)\overline{EA}/Vpp(31脚)

        \overline{EA}为该引脚的第一功能:外部程序存储器访问控制端。

        Vpp为该引脚的第二功能:在对片内Flash进行编程时,该引脚接入编程电压。

(3)ALE/\overline{PROG}(30引脚)

        ALE为地址锁存控制信号端,为引脚的第一功能。

        P0口是作为低8位地址总线与8位数据总线分时复用的。

ALE引脚输出地址锁存控制信号如下图所示

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

        \overline{PROG}为该引脚的第二功能,在对片Flash程序存储器编程时,此引脚作为变成脉冲输入端。

(4)\overline{PSEN}(29脚)

        访问片外程序存储器的读选通信号,低电平有效。当访问片外程序存储器读取指令码时,每个机器周期引脚产生两次有效信号,即输出两个\overline{PSEN}有效脉冲。在执行读取片内程序存储器指令码时,该引脚不再产生此脉冲。

(三)并行I/O口引脚

(1)P0口:P0.7~P0.0引脚

        为漏极开路的8位并行双向I/O口。作为输出口时,每个引脚可驱动8个LS型TTL负载。当AT89S52扩展外部程序存储器以及I/O接口芯片时,P0口为分时复用的低8位地址/数据总线。在向P0口写入1后就成为高阻态的输入口。

        当P0口作为通用I/O口使用时,需外加上拉电阻,这时为准双向口。

(2)P1口:P1.7~P1.0引脚

        准双向I/O口,具有内部上拉电阻,可驱动4个LS型TTL负载。

        在对片内Flash编程和校验时定义为低8位地址线。P1口某些引脚的第二功能如下:

                P1.0/T2:T2引脚为定时器/计数器T2的外部计数信号输入端。

                P1.1/T2EX:T2EX为定时器/计数器T2的捕捉/重新装载触发及方向控制。

                P1.5/MOSI:MOSI用于对片内Flash存储器的串行编程和校验。

                P1.6/MISO:MISO用于对片内Flash存储器的串行编程和校验。

                P1.7/SCK:SCK用于对片内Flash存储器的串行编程和校验的移位脉冲输入引脚。

(3)P2口:P2.7~P2.0引脚

        准双向I/O口,引脚内部接有上拉电阻,可驱动4个LS型TTL负载。

        当AT89S52单片机访问外部存储器及I/O口时,P2口作为高8位地址总线使用,输出高8位地址。

(4)P3口:P3.7~P3.0引脚

        准双向I/O口,引脚内部接有上拉电阻。

        P3口的第一功能是作为通用I/O口使用,可驱动4个LS型TTL负载。

        P3口还具有第二功能,其定义如下表所示

引脚第二功能说明
P3.0RXD串行数据输入口
P3.1TXD串行数据输出口
P3.2\overline{INT0}外部中断0输入
P3.3\overline{INT1}外部中断1输入
P3.4T0定时器0外部计数输入
P3.5T1定时器1外部计数输入
P3.6\overline{WR}

外部数据存储器的写选通控制信号

P3.7\overline{RD}外部数据存储器的读选通控制信号

3、AT89S52单片机的CPU

AT89S52单片机的CPU是由运算器和控制器构成的。

(一)运算器

        运算器主要用来对操作数进行算术、逻辑和位操作运算。主要包括算术逻辑运算单元ALU、累加器A、位处理器、程序状态字寄存器PSW和两个暂存器等。

(1)算术逻辑运算单元ALU

        ALU不仅可对8位变量进行逻辑与、或、异或以及循环、求补和清0等操作,还可以进行加、减、乘、除等基本算术运算。ALU还具有位操作功能。可对位变量进行位处理,如置1、清0、求补、测试转移及逻辑与、或等操作。

(2)累加器A

        累加器A是CPU中使用最频繁的1个8位寄存器,是AT89S52单片机的特殊功能寄存器之一,位于片内的特殊功能寄存器区。

        累加器的作用如下:

                ①累加器A是ALU单元的输入数据源之一,同时又是ALU运算结果的存放单元。

                ②CPU中的数据传送大多通过累加器A,故累加器A又相当于数据的中转站。

(3)程序状态字寄存器PSW

        AT89S52单片机的程序状态字寄存器PSW位于片内的特殊功能寄存器区,字节地址为DOH。

        PSW的各个位包含程序运行状态的不同信息,其中4位保存当前指令执行后的状态,以供程序查询和判断。PSW的格式如下表所示

  

         PSW中各个位的功能如下:

                ①Cy(PSW.7)进位标志位       若最高位有进位或借位,则Cy=1;否则,Cy=0。

                ②Ac(PSW.6)辅助进位标志位        当D3位向D4位产生进位或借位时,Ac=1;否则,Ac=0。

                ③F0(PSW.5)用户使用标志位        可用指令来使它置1或清0。

                ④RS1、RS0(PSW.4、PSW.3)4组工作寄存器选择控制位1和位0。RS1、RS0与所选择的4组工作寄存器区的对应关系如下表所示:

RS1RS0所选的4组寄存器
000区(片内RAM地址00H~07H)
011区(片内RAM地址08H~0FH)
102区(片内RAM地址10H~17H)
113区(片内RAM地址18H~1FH)

                ⑤OV(PSW.2)溢出标志位        运算结果如果产生溢出,OV=1;否则,OV=0。

                ⑥PSW.1位        保留位,未用

                ⑦P(PSW.0)奇偶标志位        P=1,表示累加器A中1的个数为奇数;P=0,表示累加器A中1的个数是偶数。

持续更新中,点关注,不迷路!!!


http://www.ppmy.cn/news/95886.html

相关文章

【Netty】自定义解码器、编码器、编解码器(十五)

文章目录 前言一、自定义基于换行的解码器1.1 LineBasedFrameDecoder 类1.2 定义解码器1.3 定义 ChannelHandler1.4 定义 ChannelInitializer1.5 编写服务器1.6 编写客户端1.7 测试 二、自定义编码器2.1 定义消息通信协议2.2 定义编码器2.3 定义解码器2.4 定义服务器 ChannelHa…

Vue后台管理系统【附源码】

登录 – 完成 路由拦截 – 完成 商品管理(增加、编辑、搜索、删除) – 完成 角色管理(增加、编辑、搜索、删除、权限管理) – 完成 交易订单(增加、编辑、搜索、删除) – 完成 用户管理(增加、编…

happens-before 和 as-if-serial 对比

happens-before 和 as-if-serial 对比 as-if-serial语义happens-before规则as-if-serial语义保证单线程内程序的执行结果不被改变happens-before关系保证正确同步的多线程程序的执行结果不被改变as-if-serial语义给编写单线程程序的程序员创造了一个幻境:单线程程…

基础算法(六):回溯算法

前言 Hello大家好,停了半个多月算法学习的荔枝又变菜了,最近决定认认真真地重新学习回溯,无意间看到Carl哥的代码随想录,感动之余也是跟着一步步走,后悔上车晚了呜呜呜~~~。之前自己摸索确实有点难受,在这篇…

当我按下开关,震惊了一众答辩老师,乍一看,啊,就这?

基于机器视觉的爬行机器人(毕业设计) 零、实现功能一、关于本想法二、理论分析三、3D结构设计四、硬件设计主控板驱动板 五、软件设计控制程序机器视觉APP设计 六、结束语 零、实现功能 实现了爬行机器人的移动控制功能。采用三角步态控制机器人移动&am…

yolov8_track追踪加分割(yolo目标检测+追踪+分割)

**这个仓库包含了最先进的多目标追踪器。其中一些基于运动信息,另一些则基于运动和外观描述。对于后者,最先进的ReID模型也会自动下载。目前支持的模型有:DeepOCSORT LightMBN、BoTSORT LightMBN、StrongSORT LightMBN、OCSORT和ByteTrack。 我们提供了如何将这个包与流行的…

【玩转 Cloud Studio】腾讯Cloud Studio 云端开发环境上手体验

目录 1、Cloud Studio简介 2、功能体验 3、Cloud Studio优点 4、总结 1、Cloud Studio简介 Cloud Studio(云端 IDE)是基于浏览器的集成式开发环境,为开发者提供了一个稳定快速的云端工作站。用户在使用 Cloud Studio 时无需安装,只…

recurdyn履带问题

1.问题:整车履带仿真出错,车辆越障时遇到障碍物直接弹开 思路: 关于这类模型需要调节履带和地面之间的接触参数、Bushing force,还有驱动函数。 弹飞了是因为接触刚度太大了,调小一些,在100以内继续调节…