当前位置:首页 » 服务存储 » 单片机片选外部存储器电压异常
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

单片机片选外部存储器电压异常

发布时间: 2023-03-25 20:11:49

① 关于单片机访问外部数据存储器,P2口问题。

当单片机读写外部存储器过后,P2口在访问完之后,就又变回IO口的通用状态(即0xFF)。实际上,它的输出“0xFF”状态是一直存在的,这也是为什么在访问外部存储器前需要将P0,P2置为0xFF的原因。

② 关于单片机扩展片外存储器的选片问题

从电原理图可以看出,4片8K的外部存储器,共享单片机P0和P2组成的13根地址线,剩余3根的地址线有2根经LS139译码,用于对外部存储器的片选控制,最后1根用于对LS139的片选控制。不知你在纠结什么,你对各存储器地址范围的理解是正确的,每一个存储器的地址范围都是从0000H到 1FFFH。而单片机的地址输出范围却是要结合P2.5-P2.7这根地址线进行分配的,这就有了列表中4片IC所对应的地址范围,但书中的例程确实存在错误,将对外部RAM操作指令MOVX,用于读取外部ROM显然是不妥的,结合LS139片选,1000H地址指向IC1是显而易见的,而IC1、IC2的读写操作应该使用MOVC指令,楼上网友的回答也是正确的,请不要教条的尊重书本。

③ 关于51单片机存储器的几个小问题

第一个问题:
程序计数器PC是和RAM统一编址的,由于有特散孙贺殊的作用,所以不能叫做RAM,这类空间通常被叫做寄存器。在单片机的资料中通常说是128字凯拍节(或者256字节),其实使用中没有这么多的空间供你使用,就是这个原因。
至于说为被分到内部RAM中,只是为了给这个寄存器一个名份,既一个名字。相当于一个教师是公务员,但是我们不叫他公务员,而是直接叫做教师,他的编制是在公务员里面的。
第二个问题:
同第一个问题,是和RAM统一编址的。
第三个问题:
像你所说,PO口的字节地址是80H。但是请你注意是“字节”地址。后面的80H-87H是“位”地址,这些位地址是在“字节”地址里面的。数数看80H-87H是不是8个位,正好一个字节。
你看的RAM后128单元的82H等等也是字节地址,你应向字节地址为80H的里面,(既每一位去看)。
第四个问题:
掉电再上电后,RAM中的数据是不确定的。而寄存器都有上电初始值,一般的都是清0,不过也有特殊的,比如80H(既是P0口)寄存器,上电后是FF。
掉电是电源冲派电压低于单片机的工作电压,单片机认为掉电。
断电是外部断电,由于有电源电容的存在,所以短时间的断电,单片机不一定认为是掉电,还可能还在工作。
长时间断电的话和掉电的概念就差不多了。

④ 救命啊51单片机不能用XBYTE[0x0000]访问外部存储器!!!

STC89C52内部有256字节的XRAM,当你设定的地址范围兆橘凳是0000~00FF时是访问的片内的XRAM,只有地址大于00FF,即从0100开始时才访问的外部数据存储器。所以你的程序没反应了!你试试把AUXR寄存器的第一位设置为1,这样族旅再试试。
8019处于一个外部地址,或者说处于大于0x0100的地址时,单片机用XBYTE去访问是绝伍笑对没问题的!

⑤ 单片机外置存储器损坏怎么办

Fault故障描述
每一种Fault故障的产生,都肯定是有一定原因的,如果你代码产生了Fault故障中断,说明代码某些地方引起了Fault故障。
1、HardFault:硬故障
通过截图的描述,你会发现硬故障是一种“不可编程”的故障,因为存储器管理故障、总线故障、用法故障如果不能得到执行,就为上访为硬故障。
CAN总线
比如:比如在取向量时产生的总线故障也按会硬故障进行处理。所以,你会发现出现故障,很多时候都是硬故障。
硬故障状态寄存器描述:
CAN总线
通过状态寄存器,你会发现产生硬故障的原因有以上几种。 2、MemManage:存储器管理故障 存储器管理故障通常与MPU(内存保护单元)有关,之前给大家分享过MPU相关的文章《什么是Cortex-M内核的MPU?》。 通常就是我们说的“内存越界”就会导致存储器管理故障,细说引起该故障的诱因有:
访问了 MPU 设置区域覆盖范围之外的地址
往只读 region 写数据
用户级下访问了只允许在特权级下访问的地址
存储器管理故障状态寄存器:
CAN总线
通过状态寄存器,你会发现引起该故障的一些原因。 3、BusFault:总线故障 总线故障,顾名思义就是对“总线”操作出现问题,导致的故障。 比如:当 AHB 接口上正在传送数据时,如果回复了一个错误信号(error response),则会产生总线故障。 产生总线故障的场合:
取指,通常被称作“预取流产”
数据读/写,通常被称作“数据流产”
触发总线故障的动作:
中断处理起始阶段的堆栈 PUSH 动作。称为“入栈错误”
中断处理收尾阶段的堆栈 POP 动作。称为“出栈错误”
CAN总线
同样,通过总线故障状态寄存器了解产生的原因:
CAN总线
4、UsageFault:用法故障 用法故障相对不常见,出现该故障通常是进行了“未对齐访问操作”,其他导致该故障问题很少见。 比如:执行了未定义的指令、除数为0(编译器都会避免)、无效的中断返回等这些情况比较少见。 用法故障状态寄存器:

⑥ 当51单片机上电后检测到EA=0,会让PSEN这个引脚输出一个信号,片选外部存储器。

当51单片机岁败上电后检测到EA=0,会让PSEN这个引脚输出一个信号,片选外部存储器。好烂这样理解基本上是正确门,EA为高,程序从内部0000H开始执行乎袜颤直到内部容量的顶部,之后转到外部存储器连续地址。

⑦ 单片机程序烧录显示电压异常,会对程序烧录有影响吗

会。单片机(Microcontrollers)又称微控制器扰樱数,由颂让中央处理器、存储器、输入输出端口(包括并行I/O、串行I/O、模数转换器)、计时器和计数器等组成,根据该机器相关介绍可知,单片机程序烧录显示电压异常会对程序烧录有影响。单片机具有完整缓首数字处理功能的大规模集成电路。

⑧ 单片机P2口电平问题,高电平测得是5V,可低电平时却是4V,无法对8255进行片选啊

如果用外部程序或数据存储器的话,8051的P2口是高8位地址总线,不能再当通用IO引脚使用。
用示波器看一下P2口的波形,如果上面有地址数据的话,就会出现或伏你说的那种情况。
另外,做地址线是不用上接电阻的,8051片内集成有上拉电阻。
如果你用MOVX指令读写8255的话,仅当MOVX指令操作期间者团弯8255的片选信号是低电平,这个短时间的低电平无法用万用表准确测量,但是,用示波器可以看到。
如果你能用万用表测到4V的电压,就说明片选信号已经输出了。不过,由于只是很短的低电首闷平脉冲,万用表测不出来而已。

⑨ 单片机的供电电压过低对单片机AD采样有影响吗

AD采样的精度都会在 单片机 数据手册上给出, 有些片子 精度必须在5V供电下才会精准, 但是3.3V也会正常工作,只是3.3V下AD采样精度会降低. 另外如果你无法太高Vcc, 可以尝试太高AD引脚上李档的电压. 采样进度跟所采集的引脚电压也有关系, 把采集电压太高会提供精度 。
查看 电气性能 一章节,看看AD采集的电燃渣压需求,我看应该是跟上面的情况一样. 只有2个办法, 提高Vcc 或者 采集信号幅度, 你种情况还无法用补偿来做,换一个片子补偿值需求不一样. 另外还有一个办法: 就是先用一个稳压(如2V)进行采集, 将采集结果保存非易失性存储器,每次上电调皮扰悄出作为参考值. 可以用在要求不太严格的场合。