单片机的sram(单片机的特点)

海潮机械 2022-12-19 17:06 编辑:admin 161阅读

1. 单片机的特点

特性

1、从内部的硬件到软件有一套完整的按位操作系统,称作位处理器,处理对象不是字或字节而是位。不但能对片内某些特殊功能寄存器的某位进行处理,如传送、置位、清零、测试等,还能进行位的逻辑运算,其功能十分完备,使用起来得心应手。

2、同时在片内RAM区间还特别开辟了一个双重功能的地址区间,使用极为灵活,这一功能无疑给使用者提供了极大的方便。

3、乘法和除法指令,这给编程也带来了便利。很多的八位单片机都不具备乘**能,作乘法时还得编上一段子程序调用,十分不便。

缺点

(虽然是经典但是缺点还是很明显的)

1、AD、EEPROM等功能需要靠扩展,增加了硬件和软件负担

2、虽然I/O脚使用简单,但高电平时无输出能力,这也是51系列单片机的最大软肋

3、运行速度过慢,特别是双数据指针,如能改进能给编程带来很大的便利

4、51单片机保护能力很差,很容易烧坏芯片

应用范围:目前在教学场合和对性能要求不高的场合大量被采用。

使用最多的器件:8051、80C51

2. 8031单片机的特点

在系统扩展时,ALE用于控制把P0口的输出低8位地址送锁存器锁存起来,以实现低位地址和数据的隔离。当CPU对外部进行存取时,用以锁住地址的低位地址,即P0口输出。ALE有可能是高电平也有可能是低电平,当ALE是高电平时,允许地址锁存信号,当访问外部存储器时,ALE信号负跳变(即由正变负)将P0口上低8位地址信号送入锁存器。当ALE是低电平时,P0口上的内容和锁存器输出一致。  在没有访问外部存储器期间,ALE以1/6振荡周期频率输出(即6分频),当访问外部存储器以1/12振荡周期输出(12分频)。从这里我们可以看到,当系统没有进行扩展时ALE会以1/6振荡周期的固定频率输出,因此可以做为外部时钟,或者外部定时脉冲使用。答案:B

3. 单片机的特点及应用

8051是一款经典单片机,具有通过编程开实现控制电路的功能,广泛应用于电子产品的电路板上面,例如多功能压力锅,多功能风扇等领域。

4. atmega128单片机的特点

是。

是基于ATmega328p的单片机开发板,有14个数字输入/输出引脚(有6个可用作PWM输出)、6个模拟输入因脚、16 MHz晶振。

Arduino Mega 2560是基于ATmega2560单片机开发板,有54个数字输入/输出引脚(有15个可用作PWM输出)、16路模拟输入、4个UART;Arduino Nano是基于ATmega328p的小型开发板,可以直接插在面包板上使用。

5. 单片机的特点与应用

优点有以下几点。

1、程序存储器为价格低廉、可擦写1万次以上、指令长度单元为16位(字)的FlashROM(即程序存储器宽度为16位,按8位字节计算时应乘2)。而数据存贮器为8位。因此AVR还是属于8位单片机。

2、采用CMOS技术和RISC架构,实现高速(50ns)、低功耗(μA)、具有SLEEP(休眠)功能。AVR的一条指令执行速度可达50ns(20MHz),而耗电则在1uA~2.5mA间。AVR采用Harvard结构,以及一级流水线的预取指令功能,即对程序的读取和数据的操作使用不同的数据总线,因此,当执行某一指令时,下一指令被预先从程序存储器中取出,这使得指令可以在每一个时钟周期内被执行。

6. 单片机的特点里没有包括在内的是

从大一的时候在大学图书馆看到关于AVR单片机的书籍,到参加竞赛、工作,我和单片机已经打了六七年的交道了吧。其间我都是在做产品的软件开发,与硬件工程师合作,根据需求选择合适的单片机型号和外围器件,完成代码编写。积累了一点对单片机选型、特点的认识。

所以这篇想谈谈关于单片机特点和选型。

单片机

MCU,微处理器,他有很多名字,但是我还是喜欢叫他单片机,因为他就是单单的一片,没什么其他的模块,一片里面就集成了CPU,RAM、ROM等,冯·诺依曼必有的结构单元。只要外部给他晶振,给他电源,他就能像计算机一样工作起来。高级一点的单片机内部RC就能起振,外部晶振都可以免去,只要外部给个稳定的3.3V,就可以工作。

单片机设备做的可以有多小?看到老外玩的蚊子飞机,就知道了,大学的时候非常的震惊,也是这样,让我对飞行器着迷不已。

听过一个趣闻,就是为什么一个字节是8个BIT,而不是12个?据说是最早的芯片,因为工艺限制了,只能有八个引脚,想要更多的引脚怎么办,多用几个八脚芯片就好了,于是1个字节对应一个芯片,一个芯片的八个脚对应八个比特就顺理成章了。

计算机的技术从来都是往两个方向发展的,一个是计算速度快,资源多,同时可处理的事件多,相对应的,功耗大,体积大。一个就是计算速度慢,资源少,但是价格低廉,体积小,功耗低。

前者所发展而来的就是咱们的计算机,WINDOWS\LINUX操作系统,后者就是单片机系统了,各种嵌入式操作系统。手机的范畴有点迷了,我还是愿意把手机放在单片机系统这个层面来看。

在从业人数规模来看,前者发展出来的计算机,软件编程带动了多少人的就业,我们把这从事这职业的人叫做“码农”,他们的工作就是在前人对计算机一层一层又一层的封装下,进行针对应用的开发。顶层软件层的开发需要,促成JAVA、C#、PYTHON这样的语言出现,这些语言本身不涉及底层,只是调用底层的接口函数。显而易见的,想通过JAVA让计算机主板发出一个方波信号出来,是何等困难,但对应的是用JAVA在通用电脑屏幕上显示一串数字是何等的简单。

后者单片机,开发的人数就不如通用计算机了,单片机资源少,可用的“轮子”少,啥玩意都需要自己自力更生。能快速的发出方波,如果有DDS芯片的话,可以调制出正弦波,等等通用主机模块做不到的功能。更加的自定义!缺陷的话,显而易见的,想通过单片机在屏幕上显示一串HELLO WORLD字符,那得是进阶的人才能做到的咯!

所以单片机软件开发不是“纯软件”开发,也需要对硬件有相当的学习,对数字电路、模拟电路也要了解才行。这一行门槛高,很难速成,一定是慢慢积累~

是否“裸奔”

裸奔,顾名思义就是单片机穿不穿衣服?衣服是啥,操作系统呗!

选单片机的时候,根据需求不同,首先要选此单片机是否需要跑操作系统,还是裸奔。

· 当需要用复杂协议栈的时候,操作系统变得非常有用。

例如,希望咱们的单片机可以连互联网,通过网线联网,或者通过WIFI信号联网,那么多半需要运行操作系统,如果不跑操作系统也行,但是工作量很大,不稳定。

工程师需要比方案,咱们比比方案。

1 、开源的RTOS几乎都提供TCP/IP协议栈,社区的开源代码经过很多人,很多年的稳定运行。

2、自己写TCP/IP协议栈,嵌入到裸奔工程中,稳定性未知,BUG数量未知。

两个方案肯定选择前者,笔者自己试过在ENC28J60网卡芯片上自己硬刚协议栈,其中艰难不言而喻,到最后还是妥协选择开源社区。

·当需要运行多个复杂任务的时候,操作系统很有用

操作系统提供TASK机制,消息管理机制,如果上位机编程经验的人,对线程会有很深刻的理解,不同的TASK就是不同的线程。有了TASK机制,对任务的管理就会方便的多。好像安卓系统运行起来了,咱们可以用JAVA为他随时增加新功能,下个APK包,安装就好了,对吧。

什么时候,我会选择裸奔单片机?

裸奔有裸奔的好处,笔者怕黑。认为“上位机”开发人员之所以天天加班,有干不完的事,改不完的BUG,最大的原因就是“黑”。黑盒子太多了。黑盒子指的是一个程序块,这个程序块你压根不知道他是怎么实现的,你只知道他提供什么功能,至于自己是不是正确的调用了黑盒子的接口,你只能通过文档去看,然后就不断不断的试错,效率极低。所以很多时候大神上位机开发人员,是对黑盒子(某语言提供的对象、方法)有深刻掌握的人!

裸奔的单片机不一样,如果你愿意,启动时的汇编代码都可以自己写,配置好时钟,配置好各样的寄存器,所有的代码都是你自己写的,出了问题自己找,自己的代码还找不出原因,那就废了。如果你觉得C语言也是黑盒子,为了躲避C语言开发者给你留的坑,你甚至可以用汇编写代码,当然这个我不推荐了,C语言很棒,bug很少。裸奔开发,你眼前唯一的黑盒子就是硬件是如何实现的,也只有硬件能坑你一把。

不言而喻,裸奔的单片机代码,虽然简单,但是所能做的功能也会有局限。

裸奔的话,联网什么的别想了。

所以如果需求比较简单,一定裸奔,需求困难,就跑操作系统。

什么单片机支持操作系统?

理论上,只要ROM/RAM资源足够,所有的单片机都可以执行嵌入式操作系统,但是,不是所有人都有移植操作系统的能力。

新手还是得靠厂家帮你移植操作系统,所以选单片机的时候,得问一下,上网查一下,它支持哪些操作系统?

以TI的 CC2640为例,这玩意支持TI自家的嵌入式操作系统 TI-RTOS,好用!

裸奔的话,所有单片机都能裸奔,毕竟不穿衣服谁不会啊~

温度特性

注意要看设计产品的工作温度区间,是民用级,还是军工级,有些单片机芯片高低温实验过不了的,会出现代码起飞,内部FLASH莫名丢几个等这些问题,不要等代码写好,送去拿证了,过不了高低温,被老板骂~

低功耗特性

芯片是否有较好的休眠模式,老牌的芯片厂家都非常注重硬件低功耗模式,提出了各种各样的睡眠方式,TI就是把低功耗做的很好的厂家。如果是设计电池供电的产品,一定要考虑低功耗。低功耗更多需要代码去优化,这看一个软件工程师的水平~

一个纽扣电池,产品用一年,那就太牛了!

开发环境

喜欢IAR还是MDK?笔者喜欢IAR多一点,感觉界面很硬朗,MDK的话显得像是在写上位机软件~CORTEX Mx系列的单片机多半都是用MDK开发的,STM32算是明星级产品了。TI的产品大多是用IAR。所以哪个开发环境你更熟悉,也可以作为考虑范畴。

芯片是否冷门?

STM32的技术支持是真的多,资料满天飞,所以如果对自己读DATASHEET的能力有所怀疑的话,一定要选类似STM32这样的popular芯片。

选冷门芯片是对自己的很大挑战,你会发现百度问题几乎没人答,你得写英文e-mail给原厂工程师,满心欢喜克服语言困难写完,他也不会理你。你得翻墙去国外论坛找资料。但是一旦你开发好,你会成就感爆棚,也会觉得,单片机不过如此~然后写一些关于这个芯片的CSDN文章,帮助建设社区!

学生的话可以推荐尝试尝试,工作的就算了,都996了别升级007咯~

最近的状态

大学的时候,对单片机,对飞行器的热情,我都在年复一年,日复一日的工作中慢慢淡去了。现在我唯一想的就是努力把产品做好,卖到世界的各个角落,这也算change world的一种方式吧~嘿嘿,自己给自己熬点鸡汤,愿明天会好~

分享的这些,若是有用的话,点个赞呗~

7. 单片机的特点有哪些

       单片机以其自身的特点,其应用领域已渗透入各个领域。

        单片机的主要特点是体积小、功耗低、价格低廉、使用方便,控制功能强、便于进行位运算且具有逻辑判断、定数计时等多种功能。

        单面机应用系统设计灵活,在系统硬件不变的情况下,可通过不同的程序可实现不同的功能,因此这从根本上改变了传统控制系统的设计思想和设计方法。过去必须由模拟电路、数字电路及继电器控制电路实现的大部分功能。现在已能用单片机并通过软件方法实现。由于软件技术的飞速发展,各种软件系列产品大量涌现,可以极大地简化硬件电路。“软件就是仪器”已成为单片机应用技术发展的主要特点。

8. stm32单片机的特点

单片机系统的硬件由单片机芯片和外部设备组成c 单片机芯片则包含微处理器(CPU)、存储器(存放程序指令或数据的ROM、RAM等), 输入/输出口(I/O口)及其他功能部件如定时/计数器、中断系统等,它们通过地址总线(AB)、数据总线(DB)和控制总线(CB)连接起来。

外部设备即单片机系统的输入/输出设备,简称I/O设备。输入设备是输入原始数据、 程序和控制命令的部件,‘如键盘、鼠标、扫描仪、摄像机等。

输出设备是输出计算机数据信息处理的结果和计算机工作状态信息的部件,如屏幕显示器、打印机、1,ED数码管显示器绘图仪等。

但输入输出设备一般不能与CPU直接相连,而是通过某种电路完成寻址、数据缓冲、输入输出控制、功率驱动、A/D、D/A等功能,这种电路称为I/O接口电路,如8255、8155、8279、0809、0832等芯片。

9. 8051单片机的特点

8051与80C51单片机的主要差别就在于芯片的制造工艺上。最大特点80C51单片机是一种低功耗单片机。

10. 51单片机的特点

特性

(1)从内部的硬件到软件有一套完整的按位操作系统,称作位处理器,处理对象不是字或字节而是位。不但能对片内某些特殊功能寄存器的某位进行处理,如传送、置位、清零、测试等,还能进行位的逻辑运算,其功能十分完备,使用起来得心应手。

(2)同时在片内RAM区间还特别开辟了一个双重功能的地址区间,使用极为灵活,这一功能无疑给使用者提供了极大的方便。

(3)具有乘法和除法指令,这给编程也带来了便利。

51单片机主要功能包括:

·8位cpu·4kbytes 程序存储器(rom) (52为8k)

·256bytes的数据存储器(ram) (52有384bytes的ram)

·32条i/o口线·111条指令,大部分为单字节指令

·21个专用寄存器

·2个可编程定时/计数器·5个中断源,2个优先级(52有6个)

·一个全双工串行通信口

·外部数据存储器寻址空间为64kb

·外部程序存储器寻址空间为64kb

·逻辑操作位寻址功能·双列直插40pindip封装

·单一+5v供电

cpu:由运算和控制逻辑组成,同时还包括中断系统和部分外部特殊功能寄存器;

ram:用以存放可以读写的数据,如运算的中间结果、最终结果以及欲显示的数据;

rom:用以存放程序、一些原始数据和表格;

i/o口:四个8位并行i/o口,既可用作输入,也可用作输出;

t/c:两个定时/记数器,既可以工作在定时模式,也可以工作在记数模式;

五个中断源的中断控制系统;

一个全双工uart(通用异步接收发送器)的串行i/o口,用于实现单片机之间或单片机与微机之间的串行通信;

片内振荡器和时钟产生电路,石英晶体和微调需要外接。最高振荡频率为12m。