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

news2024/11/27 21:08:25

目录

一、单片机概述

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.coloradmin.cn/o/577175.html

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

相关文章

Springboot +spring security,OAuth2 四种授权模式概念

一.简介 这篇文章来讲下Spring Security OAuth2 四种授权模式。 二.什么是OAuth2 OAuth 2.0 是一种用于授权的开放标准,允许用户授权第三方应用程序访问他们的资源,例如照片、视频或其他个人信息。OAuth 2.0 提供了一些不同的授权模式,包括…

我有一个朋友,分享给我的字节跳动测试开发真题

朋友入职已经两周了,整体工作环境还是非常满意的!所以这次特意抽空给我写出了这份面试题,而我把它分享给小伙伴们,面试&入职的经验! 大概是在3月中的时候他告诉我投递了简历,5月的时候经过了3轮面试收获…

Windows10中搭建ftp服务器以实现文件传输

开启ftp服务: 1、打开控制面板》程序和功能》 启用或关闭Windows功能 2、找到Internet Information Services,开启以下服务 勾选之后,ftp服务开启成功。 配置IIS,搭建ftp 1、WinS键搜索iis,回车打开》右击网站 》添加…

QUIC 协议:特性、应用场景及其对物联网/车联网的影响

什么是 QUIC 协议 QUIC(Quick UDP Internet Connections)是由谷歌公司开发的一种基于用户数据报协议(UDP)的传输层协议,旨在提高网络连接的速度和可靠性,以取代当前互联网基础设施中广泛使用的传输控制协议…

/dev/kmem /proc/kallsyms

文章目录 前言概述使用 /dev/kmem使用 /proc/kallsyms验证进阶 前言 上篇文章我们介绍了 /dev/mem,今天再来介绍下它的好兄弟 /dev/kmem crw-r----- 1 root kmem 1, 1 May 26 06:10 /dev/mem crw-r----- 1 root kmem 1, 2 May 26 06:10 /dev/kmem对比一下&#xf…

第十四届全国大学生数学竞赛决赛(非数类)游记+答案解析

2023/5/27 20:08:今天早上9:00~12:00考了数学竞赛国赛。广州是真的热啊!西安才17度,还下着小雨,到广州之后那个艳阳直接给我人干废了,去酒店的路上步行了20分钟真的要死了已经。 拿到卷子的我是崩溃的,用正…

计算机视觉:填充(padding)技术

本文重点 在前面的课程中,我们学习了使用3*3的过滤器去卷积一个5*5的图像,那么最终会得到一个3*3的输出。那是因为 33 过滤器在 55 矩阵中,只可能有 33 种可能的位置。 这背后的数学解释是,如果我们有一个nn的图像,用ff的过滤器做卷积,那么输出的维度就是(n−f+1)(n−f…

码出高效_第一章 | 有意思的二进制表示及运算

目录 0与1的世界1.如何理解32位机器能够同时处理处理32位电路信号?2.如何理解负数的加减法运算3.溢出在运算中如何理解4.计算机种常用的存储单位及转换5.位移运算规则6.有趣的 && 和 & 浮点数1.定点小数(为什么会出现浮点数表示?…

Linux 系统烧写

目录 MfgTool 工具简介MfgTool 工作原理简介烧写方式系统烧写原理 烧写NXP 官方系统烧写自制的系统系统烧写网络开机自启动设置 改造我们自己的烧写工具改造MfgTool烧写测试解决Linux 内核启动失败 前面我们已经移植好了uboot 和linux kernle,制作好了根文件系统。但…

Spring 事件相关知识ApplicationEvent

Spring 事件相关知识ApplicationEvent 事件工作流程相关类ApplicationListenerApplicationEvent 我们可以发布自己的事件ApplicationEventPublisher Spring框架中提供了多种事件类型,常用的几个事件类型如下: Spring 事件驱动模型是 Spring 框架中的一个…

uCOSii中的事件标志组

事件标志管理 (EVENT FLAGS MANAGEMENT) OSFlagAccept() 无等待查询”事件标志组的事件标志位”是否建立 OSFlagPend() 需要等待”事件标志组的事件标志位”建立 OSFlagCreate() 建立一个事件标志组 OSFlagDel() 删除一个事件标志组 OSFlagPost() 置位或清0事件标志组中的…

SpringBoot整合百度云人脸识别功能

SpringBoot整合百度云人脸识别功能 1.在百度官网创建应用 首先需要在百度智能云官网中创建应用,获取AppID,API Key,Secret Key 官网地址:https://console.bce.baidu.com/ 2.添加百度依赖 添加以下依赖即可。其中版本号可在mav…

【问卷分析】调节效应检验的操作①

文章目录 1.首先要明白自己的调节和自变量是什么类别的2.实操演练2.1 当调节变量是连续变量时2.1.1 将ml中心化2.1.2 使用分层回归探讨自变量和ml的交互对adh的影响2.1.3 结果解读 1.首先要明白自己的调节和自变量是什么类别的 2.实操演练 在本次演练中,我们以自变…

马斯克要用人工智能对抗人工智能

导读:马斯克对人工智能可能变得失控并“摧毁人类”的担忧促使他采取行动,发起了一个名为“TruthGPT”的项目。 本文字数:1400,阅读时长大约:9分钟 亿万富翁埃隆马斯克在谈到人工智能(AI)的危险时…

瑞合信LED字幕WiFi卡使用教程(8.0版)

请按照提示下载和安装软件,同时请允许所有权限,如下图; 也可以在各大主流应用商店(华为、小米、OPPO、vivo、App Store等)搜索“瑞合信”直接安装。 首次使用APP时会提示注册登录软件,你可以选择“使用微信…

深度学习进阶篇-预训练模型[4]:RoBERTa、SpanBERT、KBERT、ALBERT、ELECTRA算法原理模型结构应用场景区别等详解

【深度学习入门到进阶】必看系列,含激活函数、优化策略、损失函数、模型调优、归一化算法、卷积模型、序列模型、预训练模型、对抗神经网络等 专栏详细介绍:【深度学习入门到进阶】必看系列,含激活函数、优化策略、损失函数、模型调优、归一化…

Full-Scanner是一个多功能扫描工具,支持被动/主动信息收集,漏洞扫描工具联动,可导入POC和EXP

github项目地址:https://github.com/Zhao-sai-sai/Full-Scanner gitee项目地址:https://gitee.com/wZass/Full-Scanner 工具简介 做挖漏洞渗透测试有的时候要去用这个工具那个工具去找感觉麻烦我自己就写了一个简单的整合工具,有互联网大佬不…

Presto之BroadCast Join的实现

一. 前言 在Presto中,Join的类型主要分成Partitioned Join和Broadcast Join,在Presto 之Hash Join的Partition_王飞活的博客-CSDN博客 中已经介绍了Presto的Partitioned Join的实现过程,本文主要介绍Broadcast Join的实现。 二. Presto中Broa…

ChatGPT免费使用的方法有哪些?

目录 一、ChatGpt是什么? 二、ChatGPT国内免费使用的方法: 第一点:电脑端 第二点:手机端 三、结语: 一、ChatGpt是什么? ChatGPt是美国OpenAI [1] 研发的聊天机器人程序 。更是人工智能技术驱动的自然语…

1. 从JDK源码级别彻底刨析JVM类加载机制

JVM性能调优 1. 类加载的运行全过程1.1 加载1.2 验证1.3 准备1.4 解析 本文是按照自己的理解进行笔记总结,如有不正确的地方,还望大佬多多指点纠正,勿喷。 课程内容: 1、从java.exe开始讲透Java类加载运行全过程 2、从JDK源码级别剖析JVM核…