技术标签: 51单片机 Powered by 金山文档 单片机
按功能可分为8个部件,通过片内单一总线连接起来
控制方式:SFR对各功能部件集中控制
1、微处理器:CPU运算部件 控制部件
2、数据存储器:RAM
数据存储就是暂存一些在系统运行的过程当中所生成的一些临时性的数据,采集数据时临时采集到的一些数据和一些运算的中间结果数据保存在存储器当中,一般数据存储器的容量越大的话,它的控制系统相对可以实现比较复杂的控制功能。Mcs-51单片机内部是有128个字节的数据存储器,每个字节是8位,也就是说128*8位数的存储器。
3、程序存储器:ROM或EPROM
4、I/O口:51系列单片机有4个I/O口,其中每一个io口有八个输入输出端,可以输入输出32个数字量。
5:串行口:主要是用来进行双击通讯的时候,进行数据收发来使用,是全双工串行口,在发送的同时可以接收
6、定时计数器:51单片机内部有两个16位的定时计数器,可以进行精确时间的产生,产生一段定时,比如工业控制领域当中需要一个1ms的定时,可以通过定时计数器来产生这样一个时间长度,另外还可以作计数器使用,比如工业控制领域当中可能过了一定数字量,通过它可以记录这些个数。还可以作为串行口的波特率发生器来使用,因为在串行通讯的时候,需要数据按照一定的速率在数据总线上发送,接收也是按照一定速率从总线上去取数据,也就是说每秒钟要发多少字节,要收多少字节
7、中断系统:工业现场中往往存在着一些突发事件,而这些突发事件又需要控制系统做出及时反应时间。如果单片机有中断系统时,它可以随时把紧急停止键接到单片机系统的中断当中去,可以马上处理这个案件。
8、特殊功能寄存器
是一个寄存器,就是数字电路中学过的,内容就是存储8位的二进制数,这些跟通常
的数据存储器和程序存储器中存储的八位二进制数不一样,区别是这些八位二进制数隐含着控制信息,它决定了五一单片机当中的这些功能部件如何去工作,以及当前工作状态怎么样,这些特殊功能寄存器就是来控制这些功能部件工作同时要反映这些功能部件工作状态的计数器。
这些功能部件最后都是通过它的内部总线连接在一起,内部总线连接在cpu上,从而实现整个芯片内部的数据传送。Cpu是通过对sfr进行查询,从而知道各个功能部件工作状态如何。Cpu通过sfr对sfr下命令字,然后再用sfr去管理下面的各个功能部件。
CPU(微处理器)
数据存储器(RAM)
片内为128个字节(52子系列的为256个字节)
程序存储器(ROM/EPROM)
8031:无此部件
8051:4k字节ROM
8751:4k字节EPROM
89C51/89C52/89C55: 4K/8K/20K字节
P1口、P2口、P3口、P0口:为4个并行8位I/O口。
串行口 1个全双工的异步串行口。
定时器/计数器
中断系统
特殊功能寄存器(SFR)
用于对片内各功能模块进行管理、控制、监视。实际上是一些控制寄存器和状态寄存器。共有21个,是一个具有特殊功能的RAM区。
40只引脚双列直插封装DIP
44只引脚方形封装方式(NC的4只无用)
引脚逻辑图
8051单片机为40条引脚双列直插式封装
引脚可分为三个部分
电源及时钟引脚:Vcc、Vss;XTAL1、XTAL2
控制引脚:PSEN*、EA*、ALE、RESET
I/O口引脚:P0、P1、 P2、 P3 4个8位I/O口
1、电源引脚
(1)Vcc(40脚):+5V电源;
(2)Vss(20脚):接地。
2、时钟引脚
(1)XTAL1(19脚):接外部晶体的一端;采用外接晶体振荡器时,此引脚应接地。
(2)XTAL2(18脚):接外部晶体的另一端。
(1)RST/VPD(9脚):复位与备用电源
(2)ALE/PROG*(30脚):第一功能ALE:地址锁存允许,当访问单片机外部存储器时,ALE(地址锁存允许)输出脉冲的下跳沿用于16位地址的低8位的锁存信号。
第二功能PROG*:编程脉冲输入端。
(3)PSEN*(29脚):读外部程序存储器的选通信号。可以驱动8个LS型TTL负载。
(4)EA*/VPP(31脚):EA*为内外程序存储器选择控制
EA*=1,访问片内程序存储器。
EA*=0 单片机则只访问外部程序存储器。
第二功能Vpp,用于施加编程电压。
(1)P0口:双向8位三态I/O口,地址总线(低8位)及数据总线分时复用口,可驱动8个LS型TTL负载。
(2)P1口:8位准双向I/O口,可驱动4个LS型TTL负载。
(3)P2口:8位准双向I/O口,与地址总线(高8位)
文章浏览阅读123次。该课题为基于MATLAB GUI的成绩查询系统,可导入,增删,查询,修改学生成绩,并且可以统计各个学科分数听课,最高分,最低分,中位数等信息。是个不错的课设题目。_matlabgui中点击查询出结果
文章浏览阅读637次。原文链接:https://blog.csdn.net/liuchen1206/article/details/6954074_c++快速排序源码
文章浏览阅读2k次。大数据测试环境CDH6.3.2安装部署手册一、前期准备1、服务器3台,系统要求centos7,服务器配置24核心+64G内存+2.7T磁盘2、CDH6.3.2相关资源,目前在线下载已收费,只能采用离线安装3、CM6.3.1相关资源,目前在线下载已收费,只能采用离线安装4、mysql驱动,jdk安装包5、集群规划6、Flink1.12目前官网没有提供,官网只提供了flink1.9版本的集成,如需使用需要自己编译。内存磁盘CPUcmcdhMysqlHiveImpalaK_hadoop cdh 6
文章浏览阅读1.9k次,点赞5次,收藏22次。来源:https://www.zhihu.com/question/337008253编辑:深度学习与计算机视觉声明:仅做学术分享,侵删又快到毕业季,有..._机器视觉怎么发sci
文章浏览阅读2.9k次。在 Webmin v1.984 中,影响文件管理器模块,任何没有文件管理器模块访问权限的经过身份验证的低权限用户都可以与文件管理器功能交互,例如从远程 URL 下载文件和更改文件权限 (chmod)。通过在文件管理器中链接这些功能,可以通过精心制作的 .cgi 文件实现远程代码执行。_cve-2022-0824
文章浏览阅读1.5k次。原文地址https://blog.csdn.net/kiddd_fu/article/details/78247290终极解决方案出现(non-fast-forward)的根本原因是repository已经存在项目且不是你本人提交(我知道是大概率你提交的,但是git只认地址),你commit的项目和远程repo不一样。这时该怎么办呢?很简单,把远端项目拉回本地:git pull然而pu..._同类项目合并方案
文章浏览阅读1.2k次。I am using ScriptEngine in my app to evaluate some client code in my application.The problem is it's not performant enough and I need to take measures to improve the time of execution.Currently, it ca..._scriptenginemanager 性能优化
文章浏览阅读436次。1、在/home/mysql目录下新建两个文件夹,一个叫data另一个叫conf。_docker jdk8
文章浏览阅读7.1k次。不知道大家是不是和我一样,初入行业的时候并不懂啥是EDC。后来我觉得,当时不懂也正常,毕竟EDC这种东西在国内出现也没多久。说起EDC要先从CRF(Case Report Form),即临床试验病例报告表说起。啥是CRF呢?在药物的临床试验项目中,不管你protocol写得多牛比,总得需要一项一项地去收集受试者的试验信息,比如受试者今天吃了多少药?有没有不良反应? 血液中各项指标是多少?因此我们需..._edc录入
文章浏览阅读172次。Windows环境中同时安装Oracle9i 和10g 原创者:大胖黑马(授权发布)简单说一下在windows的同一用户下,安装Oracle的9i、10g 的方法1、安装版本需要从低到高。也就是说先安装9i的数据库,然后安装10g的数据库2、安装目录分开。3、在低版本的数据库安装完成后,最好通过..._oracle 9i 和oracle 10g同时使用
文章浏览阅读305次。使用SVM进行手写数据OCR在 kNN 中我们直接使用像素的灰度值作为特征向量。这次我们要使用方向梯度直方图Histogram of Oriented Gradients (HOG)作为特征向量。在计算 HOG 前我们使用图片的二阶矩对其进行抗扭斜(deskew)处理,也就是把歪了的图片摆正。所以我们首先要定义一个函数 deskew(),它可以对一个图像进行抗扭斜处理。下面就是 deskew() 函数:..._python opencv 计算向量
文章浏览阅读2.7k次。思路1,通过某种方法获取图片数据,并且了解数据结构。 2,通过某种数学公式将鱼眼画面处理成全景图。 3,通过CUDA并行运算实现鱼眼转全景图功能。 本篇主要讲述OpenCV获取图片以及指针的使用,与CUDA无关。获取图片数据OpenCV环境配置1 下载OpenCVOpenCV 下载驿站(百度云盘下载,同步更新)2 配置OpenCV开发环境配置的方法网上很多,可以查找。我用的是 OpenCV环境_鱼眼图像展开成全景图