历史上的今天
返回首页

历史上的今天

今天是:2024年11月23日(星期六)

2018年11月23日 | 51单片机体系结构初步分析

2018-11-23 来源:eefocus

        单片机有很多种,AVR、PIC、MC6805系列等,他们的体系结构不尽相同,指令集也各异,有些是CISC,有些是RISC,51单片机的指令集采用的是CISC。

  

        51单片机是单片机的一种,之所以这么流行,业界赞同的原因主要有两个:


        第一:由于intel公司(开发了51单片机)一开始就开放了授权。


        第二:51单片机的体系结构不难,资料很多(也良莠不齐),学的人很多。


        51单片机和电脑联系很大的(单片机某种程度上可以说是一台袖珍电脑),我们知道电脑由运算器、控制器、存储器(RAM)、输入设备和输出设备,各个部分由总线联接起来,联想到实际设备我们看:


        我们的电脑由一下部分组成:CPU、内存、主板、硬盘、光驱、软驱(已淘汰)、显卡、显示器、键盘和鼠标。分析一下各个设备提供的功能:


        CPU提供了运算和控制功能(随着电脑的发展和改进,独立显卡代替了CPU了对图形图像相关的数据的运算,主板芯片代替了部分原来由CPU提供的控制功能,例如DMA,内存控制器等)


        内存,即RAM,提供了程序运行的空间,就是存储器的功能。


        主板,确切地说是主板芯片,把各个部件连接起来,即总线的功能,近年来代替CPU提供一部分控制功能。


        硬盘、光驱、软驱,是保存程序的地方,几十年前电脑可能是这样工作的:插入可启动的带有操作系统的软盘(DOS、Linux等),打开电源,BIOS检查通过后,引导操作系统,进入系统后,在shell下(人机对话界面,在DOS下叫DOS界面),可以使用软盘里面保存的程序或者文件。后来硬盘和光驱代替了软盘的程序存储功能。


        显卡,确切说是独立显卡,代替了CPU图形图像相关数据的运算。


        显示器提供了输出功能,键盘和鼠标提供了输入功能。


        51单片机有以下部分组成:


        微处理器(MCU),和通用CPU类似,提供运算和控制功能。


        数据存储器,和电脑的内存类似,提供数据存储功能,提供程序运行的空间。


        程序存储器,和电脑的硬盘、光盘、软盘类似,提供程序存储的空间。


        各个部分由总线联系起来。


        总线是什么?


        一开始系统很简单的时候总线不是必须的,各个部件中需要通信的双方用导线连接在一起,举个例子,就像打局域网,两台电脑想通信,直接用一根交叉的双绞线连接就OK了,不用买交换机,但是如果另外一台电脑想加入,那么这台电脑必须和这两台电脑各自连接一根线,第四台电脑想进来,那么得连接3根线,第五台要连接4根线……第N台要连接N-1根线,是不是很麻烦,当然大家不会这么做,超过2台我们就用交换机了,总线的作用和这个有点类似。总线技术使得相互关系的部分通过这个公共通道连接起来,通过控制信号来区分不同组件间的通信。


        总线分数据总线(DB)、控制总线(CB)、地址总线(AB),顾名思义各自有各自的功能。


        我们从51单片机的一个指令的取、译和执行过程来理解一下总线。假如我们现在要求计算2+3=?


        ;PC是指针,指向程序存储器的某个位置。PC指向的当前地址就是正在或即将执行的指令


        ;假设此时PC=2000H


        MOV A,#02H;PC=2000H


        ADD A,#03H;PC=2002H


        通电后,PC值为0000H,随着前面指令的取、译和执行,PC值一直改变,当PC值为2000H时,MCU通过AB找到要执行指令的位置,通过内部DB从程序存储器取的操作码(指令由操作码和操作数组成)是74H(是MOV汇编后的机器码),同时PC=PC+1=2001H,通过译码,发现操作码的意思是将后面的一个字节作为操作数送进累加器A,MCU通过CB发出控制信号,把程序存储器的下一个字节通过内部DB送进累加器A,同时PC=PC+1=2002H,第一个指令执行完毕。


        另外一条指令类似,通过对操作码的译码,发现操作码的意思是将后面一个字节作为操作数与累加器A中的内容相加,输出结果放进累加器A。于是发出控制信号,把程序存储器下一个字节通过内部DB送到暂存器,通过MCU进行计算,得出的结果放进累加器A。执行完PC=2004H。


        总线有一定的宽度,所以我们有8位机、16位机、32位等等。总线越宽,每次取数据越多,8位宽度每次只能取1个字节,16位是2个字节,越宽每次取越多,同样时间内执行的指令越多,所以,总线宽度是衡量MCU运算能力的重要指标。51单片机的AB宽度是16位,DB宽度是8位,CB宽度是8位,因为运算能力主要和DB宽度有关,所以我们以DB宽度来区分不同的MCU。


推荐阅读

史海拾趣

安信可(Ai)公司的发展小趣事

2012年4月,深圳市安信可科技有限公司正式成立,标志着这家公司在电子行业的起点。成立之初,安信可便专注于物联网领域,致力于为客户提供高质量的模组产品。通过引入先进的科技和创新理念,安信可逐渐在物联网市场中崭露头角,为后续的发展奠定了坚实的基础。

Eurohm Resistors公司的发展小趣事

随着环保意识的不断提高,Eurohm Resistors公司积极响应绿色发展的号召。公司投入大量资源研发环保型电阻器产品,采用可再生材料和绿色生产工艺,降低产品对环境的影响。同时,公司还积极参与各种环保活动,推动行业的绿色发展。

BVLED公司的发展小趣事

随着公司规模的扩大和业务范围的拓展,BVLED公司开始注重产业链的整合和成本控制。公司通过与上游供应商建立长期稳定的合作关系,确保了原材料的稳定供应和质量保障;同时,公司还加强了对生产过程的监控和管理,通过优化生产流程和降低能耗等方式降低了生产成本。这些措施使得公司在激烈的市场竞争中保持了较强的竞争力。

Conditioning Semiconductor Devices Corp公司的发展小趣事

随着半导体行业的竞争加剧,价格战和技术更新速度不断加快。CSDC面临着巨大的市场压力。为了应对这些挑战,公司决定调整战略,专注于高端市场的开发。通过加大研发投入,提升产品质量和性能,CSDC逐渐在高端市场站稳了脚跟,实现了业务的稳步增长。

EiKO Global LLC公司的发展小趣事

为了进一步扩大市场份额,EiKO开始实施全球化战略。公司在美国、加拿大、欧洲和亚太地区设立了办事处,以便更好地服务当地客户。同时,EiKO还积极参加国际照明展会和论坛,与全球同行交流经验和技术,不断提升自身的竞争力。

在全球化布局的过程中,EiKO也面临着各种挑战和困难。然而,公司始终坚持以客户为中心的服务理念,通过不断优化产品和服务质量,赢得了越来越多客户的信赖和支持。

Aleph America Corporation公司的发展小趣事

EiKO Global LLC,简称EiKO,成立于XXXX年,由一群热衷于照明科技的先驱者共同创立。公司初期专注于照明产品的研发与生产,致力于为全球用户提供高质量的照明解决方案。EiKO凭借对市场的敏锐洞察力和技术创新,迅速在北美市场崭露头角。

在创立初期,EiKO便确立了以“质量第一、客户至上”为经营理念的方针。通过引进先进的生产设备和技术,严格把控产品质量,EiKO的照明产品逐渐赢得了消费者的信赖。同时,EiKO还积极拓展市场,与多家知名企业和零售商建立了合作关系,产品销售网络遍布全球。

问答坊 | AI 解惑

高通展出可进行分集接收的手机RF芯片

美国高通在2005年7月13日开幕的“Wireless Japan 2005”展会上公开了可用手机进行分集接收的RF电路芯片组。分集接收功能尽管已经配备于支持KDDI移动电话服务“au”正在提供的高速数据通信服务“CDMA 1X WIN”的手机,但该公司公布RF IC测试卡却尚属 ...…

查看全部问答>

今天,我开始学AVR M16

多多关照啊,大家。新手来的。…

查看全部问答>

【转】一个不能让工程师出身做企业CEO的精彩理由

在IIC-China上,与一位技术高人交流。我问他: “一个企业的CEO如果是技术出身,好不好?” 这位朋友一直是做产品开发,现在管理着团队。他的回答是: “我不认为做技术出身的高人做企业CEO是件好事。做产品开发的人,对于自己开发出来 ...…

查看全部问答>

第三种 2SD315A集成驱动模块

集成驱动模块采用+15V单电源供电,内部集成有过流保护电路,其最大的特点是具有安全性、智能性与易用性.2SD315A能输出很大的峰值电流(最大瞬时输出电流可达±15A),具有很强的驱动能力和很高的隔离电压能力(4000V).2SD315A具有两个驱动输出通道,适合于 ...…

查看全部问答>

请教4层板覆铜问题

我4层板有一个bga,元件都在toplayer 请问覆铜是top和bottom都覆铜哩,还是只一面哩,同学说覆顶层不好焊元件,我最小线宽6mil,最大的线宽(地线电源)有30mil,那么覆铜设置里面的min prim length,grid size ,track width该如何设哩,谢谢,是 ...…

查看全部问答>

各位蓝牙大侠帮忙解决下HCI层,BCSP层遇到的问题,小弟谢过!

大家好,我最近开始接触蓝牙不久,蓝牙硬件芯片用的是CSR 的BlueCore4-External,我遇到的问题是: 当我的BCSP层初始化后,就是link establishment 完成后,我会收到一个来至Controler端的HCI_NOP(对应OCF,OGF是0x0000)命令状态事件(command sta ...…

查看全部问答>

特急

我用江民检测到病毒:c:\\windows\\system32\\drivers\\sptd.sys 系统蛀虫,还有f:\\setup.exe,e:\\setup.ext,d:\\setup.ext 这些硬盘寄生虫,可是我能把它们删除吗? 我现在每次打开C盘里,报错:windows无法访问指定设备.路径或文件.你可能没有合适的 ...…

查看全部问答>

电源故障暂保护与死保护电路图

本帖最后由 jameswangsynnex 于 2015-3-3 20:04 编辑 多数电源中的过流、过压保护是在故障发生后电源停止工作,输出为零,然后人工复位重新工作;或者只有暂保护,即故障发生后电源停止输出,延时一段时间后,电源自动恢复工作。但在许多装置中, ...…

查看全部问答>

串口通信扫盲

串口通信的基础概念…

查看全部问答>