历史上的今天
返回首页

历史上的今天

今天是:2025年03月16日(星期日)

正在发生

2018年03月16日 | 单片机的“灵魂”数据存储器的应用

2018-03-16 来源:eefocus

  我们可以说程序存储器的里面存放的是单片机的灵魂,它就是工作程序。小的可能只有1KB(最多只能装1024条8位数据,因为实际指令还有许多2字节、3字节指令,所以它还装不下1024条指令)大的也有128KB的。
  
  这些8位数据要么在工厂里做摸子光刻进去,要么一次性的烧写进去,要么……用编程器这个特殊工具把调试成功的机器码装载进去,或者像AVR单片机那样自己花几块钱做一条下载线,把电脑里这些东西灌进去(或许是AVR最吸引人之处),它一旦进驻电脑的程序存储器中,除了借助上述装置便不能自由改写,在单片机运行时,只是从其中读出指令或固定的数据,所以给程序存储器一个“只读存储器”的别名,简写为ROM,包括用编程器写紫外线擦除内容的EPROM.用电擦除的EEPROM和现在新兴的FLASH ROM;一次性写入的ROM仅用于电路和程序固定的批量产品中,实际工作起来,都是一样的。
  
  在实际的使用中,单片机运行时为了定位ROM中的数据,其实每个8位存储单元都有一个固定的“地址”,通常用16进数表示:例如对于一个所谓4K的ROM,地址从0000H到0FFFH,(即是从0000,0001…4095),单片机运行时从哪个地址取数据,完全由程序本身决定,并不要我们干预。记住,给单片机一通电,它经过一个短暂的复位过程,立即转向ROM的最低地址0000H,在这里面放置的往往是一条“跳转”指令,它从这里一步跳到另一个地址:程序的真正起始地址,例如51机的0080H.难道ROM中就只有指令不能来点别的?ROM是程序存储器,除了指令外还包括运行程序必须的某些固定数据。假如,我们要求在单片机的某口上输出00H到FFH(255)按正弦半波变化的数值,每秒10000次,那如果硬要它按照公式一个个计算,对于它来说未免力不从心,可是我们可以把预先计算好的数值存入ROM中,到时候直接取出。
  
  提到数据存储器,它其实是个可以随时存取数据的一块存储器,也就是可以读(取)也可以写(存)的存储器,简称RAM.现在的单片机里面使用的RAM属于静态RAM或SRAM,这个和电脑用的内存条有所不同,只要你把数据写入SRAM后,只要不断电,或者不清除掉,这个数据就一直保存在那里,电脑是用的动态RAM,要不断给它加刷新脉冲才能保存数据。因为单片机处理的信息量比电脑小很多,所以它带的RAM也比较少:从完全不带、带128、256、……1K、2K到4K,比ROM少多了。
  
  因为实际上RAM只是作为数据临时存放的地方,除非进行图像处理需要存放大量的数据外,一般对于执行较简单任务的单片机,有这么多也够用,如果实在不够用也只能采取外加SRAM如6116、6264等等来扩展。为了对RAM单元存取8位二进数,当然也的和ROM一样用“地址”来标示它的具体位置假如某单片机有1K(1024)RAM,它的地址也是从0000到1024,或16进数的0000H到03FFH可见和ROM的地址是一样的,不会混淆不清?不会,因为读ROM是由单片机的程序指针或转移指令或查表指令进行,而这些指令是不会进入RAM区的,读写RAM是另外的数据传送指令,也不会进入ROM区,这点也是和电脑不同之处,后者程序和数据都在内存条里面,地址不同,如果窜位了就会造成不可预见后果。单片机的这种存储器结构也称为哈佛结构。
  
  在这里本文中要说到的RAM,其在单片机里的用途主要是存放临时数据,例如用单片机测温,每秒测1次,显示1分钟的平均值(1分钟更新一次);我们先通过传感器,放大电路,A/D转换,把温度这个模拟量转变为成比例的二进数,然后每秒钟1次把数字量通过输入口顺序存入到单片机的RAM中,然后对他们进行两两求和再平均的计算(题外话:要单片机进行“除法”运算比较麻烦,例外的是除以2,4,8……却非常简单。运用“右移”指令1、2、3次便可)最后的数值显示出来,然后把这60个存储单元统统写0清除旧数据,下次又如此这般地循环进行。另外在单片机里面还有若干寄存器,数量不多但是作用很大,除了暂存数据,还可以交换、加工、传递等等,以及随时纪录单片机当前处于什么状态,输入输出口,也是作为特殊功能的寄存器存在,具体各有不同,就不是随便说说可以搞清楚的,要看有关书籍了。

推荐阅读

史海拾趣

南京绿芯(Grenergy)公司的发展小趣事

对于电子消毒柜电路,网友可能的问题涉及多个方面,包括故障排查、日常维护、使用注意事项等。以下是一些可能的问题及详细回答:

一、故障排查类问题

1. 消毒柜通电后跳闸怎么办?

回答
消毒柜通电后跳闸可能是由电路短路引起的。首先,检查电源插座的火线(L)、零线(N)、地线(E)是否接线正确。其次,按照消毒柜上的线路图检查柜内线路接线是否正确,以及线路绝缘层是否被破坏(如被螺丝钻破、被金属边角划破等)。如果以上检查均正常,可能是电源板或继电器等部件损坏,建议联系专业维修人员进行检查和更换。

2. 消毒柜插上电源后无法启动,指示灯不亮怎么办?

回答
消毒柜无法启动且指示灯不亮,可能是由以下原因造成:电源插座无电或接触不良、熔断器烧坏、电源线与机体接触不良或断路、变压器烧坏或断路、电路板烧坏、继电器失灵等。解决方法包括检查电源插座、更换熔断器、检查并修复线路、更换电路板或继电器等。如果问题依然存在,建议联系专业维修人员进行检查。

二、日常维护类问题

1. 消毒柜需要定期清洁哪些部位?

回答
消毒柜需要定期清洁的部位包括柜体内部、层架、门封条以及散热孔等。清洁时,应使用柔软的布或海绵,避免使用腐蚀性强的清洁剂。同时,要注意不要将水溅入电路板等电子元件区域,以免造成短路或损坏。

2. 消毒柜的电源线应该如何保养?

回答
消毒柜的电源线应定期检查是否老化或破损,如有发现应及时更换。在使用过程中,应避免电源线过度弯折或受到重物压迫,以免影响其使用寿命和安全性。此外,电源线应远离高温、潮湿和腐蚀性强的环境,以确保其绝缘性能不受影响。

三、使用注意事项类问题

1. 消毒柜在使用时需要注意哪些安全问题?

回答
消毒柜在使用时需要注意以下安全问题:

  • 确保电源插座接地良好,避免漏电危险。
  • 不要将易燃易爆物品放入消毒柜内,以免发生火灾或爆炸。
  • 在使用过程中,应避免频繁开关柜门,以免影响消毒效果和能耗。
  • 使用完毕后,应及时关闭电源并拔掉插头,以节约能源和延长设备使用寿命。

2. 消毒柜是否可以一直插电使用?

回答
消毒柜是否可以一直插电使用取决于用户的使用情况和需求。如果用户经常使用消毒柜且没有其他特殊需求,可以保持电源连接;如果用户不经常使用消毒柜或者有其他特殊需求(如节约能源、避免设备老化等),建议在使用前提前通电,并在非使用状态下拔掉电源。此外,为了确保安全,插座应具备防水、防漏电等功能。

综上所述,对于电子消毒柜电路的问题,网友可能关注故障排查、日常维护和使用注意事项等方面。通过了解这些问题的解决方法和注意事项,可以更好地使用和维护消毒柜,确保其正常运行和延长使用寿命。

中微股份(Cmsemicon)公司的发展小趣事

在品牌建设方面,中微股份(Cmsemicon)同样取得了显著成果。公司注重品牌形象的塑造和传播,通过参加国内外行业展会、发布新产品、加强与客户和合作伙伴的沟通等方式,不断提升品牌知名度和美誉度。同时,公司还积极拓展市场,与全球众多知名企业建立了长期稳定的合作关系。这些努力不仅为公司带来了更多的商业机会,也为公司的长远发展奠定了坚实基础。

BROTHER公司的发展小趣事

BROTHER公司的历史可以追溯到1908年,当时安井兼吉在名古屋市开设了工业缝纫机维修及零部件生产的“安井缝纫机商会”。随着时间的推移,公司逐渐发展成为缝纫机领域的领导者。然而,BROTHER并没有满足于在缝纫机领域的成功,而是开始寻求跨界发展的机会。上世纪中叶,随着电子技术的兴起,BROTHER开始利用其在机械制造和精密加工方面的技术优势,涉足电子产品领域。通过不断研发和创新,BROTHER成功推出了一系列电子产品,逐渐在电子行业崭露头角。

Acopian Power Supplies公司的发展小趣事

BROTHER公司的历史可以追溯到1908年,当时安井兼吉在名古屋市开设了工业缝纫机维修及零部件生产的“安井缝纫机商会”。随着时间的推移,公司逐渐发展成为缝纫机领域的领导者。然而,BROTHER并没有满足于在缝纫机领域的成功,而是开始寻求跨界发展的机会。上世纪中叶,随着电子技术的兴起,BROTHER开始利用其在机械制造和精密加工方面的技术优势,涉足电子产品领域。通过不断研发和创新,BROTHER成功推出了一系列电子产品,逐渐在电子行业崭露头角。

Aearo Technologies公司的发展小趣事

在发展过程中,Aearo Technologies经历了一次重要的收购事件。3M公司看中了Aearo在能量控制领域的领先地位和技术实力,于XXXX年将其收购。收购后,Aearo Technologies成为了3M旗下的一家子公司,继续保留其品牌和技术优势。通过业务整合和资源共享,Aearo Technologies在3M的支持下实现了更快速的发展。

Belkin公司的发展小趣事

贝尔金的成功不仅仅局限于美国本土。随着全球市场的不断扩张,贝尔金也在全球范围内建立了广泛的销售网络和物流中心。位于加州洛杉矶的总部、好莱坞的工业设计中心以及纽约州罗切斯特的研发机构,共同构成了贝尔金全球业务的核心。这些机构之间的紧密合作,确保了贝尔金能够迅速响应全球市场的需求,提供高品质的产品和服务。

问答坊 | AI 解惑

ARM基础实验教材 适合初学者 word版 经排版可打印

整理了一天,打印时记得用双面A4,因为是按照双面排版的!     下载了记得顶一下,本人刚注册的号,积分不多,帮忙挣点积分了好下载资料,在此谢过了!!      (本教材中有少部分图片不是很清楚,不过不影响大局 ...…

查看全部问答>

音调调节电路

请求各位朋友帮组。希望能给小弟我讲解一下这个电路。谢谢!!…

查看全部问答>

AVR入门必读《实战AVR单片机C语言》

自学AVR单片机少不了动手实践!…

查看全部问答>

WINCE,以完成输入,现需关联词库输入英文和中文,求高手指点,有词库

按键全部完成,现在有词库,求算法能完成词典或输入法的功能。…

查看全部问答>

嵌入式培训咨询

我收到一份站内信,自己对嵌入式不了解,所以来请教各位版友~ 信内容: 你好! 看见你在计算机系的发帖想必是很了解计算机知识的,所以很冒昧地写信,想向你请教一 下嵌入式的问题。 我是南大的一名毕业生,现在一所大学工作,最近有个培训机 ...…

查看全部问答>

C51程序

#include #include main() { int i=5,j=5,p,q;   p=(i++)+(i++)+(i++);     q=(++j)+(++j)+(++j);    SCON=0x50;   TMOD|=0x20;   TH1=0xf3;   TR1=1;   TI=1; ...…

查看全部问答>

pos端疑问(请有实际开发经验的同仁帮忙解答) (有分连接)

本人目前所在项目是做一个pos对端服务系统,通过socket负责解析pos传送过来的封包数据。现在pos那端提出他们不支持断点续传功能,也就是假设时间段内发送1000个数据包,有任意一条出错就必须从头再传,基于程序设计逻辑考虑这样肯定是不合适的。pos ...…

查看全部问答>

要用C#开发WINDOWS CE的应用程序,学习的资料谁能给点啊?

用VS2005开发WINDOWS CE的资料好少啊,尤其是中文的,谁能给点啊? 原来一直开发桌面程序的,现在单位需要,要开发WINDOWS CE下的应用程序。 谁能给点学习资料啊?最好是中文的。…

查看全部问答>

安富利ARM系统设计策略研讨会图文报道

     阿牛哥6月28日去北京国际会议中心参加安富利ARM系统设计策略研讨会。 这是安富利ARM系统设计策略研讨会在亚洲第一站,这个研讨会将持续三个月时间,在大陆8个城市举办,后续还会在台湾,新加坡 ,韩国 ,印度等举行,真是 ...…

查看全部问答>