历数单片机上的那些编程语言除了汇编、C和C之外,单片机还曾经或者仍然使用过多种编程语言。我们来历数一下,1.microPythonmicroPython可以说是最成功的小众单片机编程语言,很多开源硬件都支持microPython,它占用资源还不错,256KBROM,16KBRAM。2.LuaLua是脚本语言,因为占用资源小,能够嵌入在其他程序中,做配置和定制等辅助性工作。
著名的愤怒的小鸟就用了Lua。国外有个eLua项目,国内有个LuatOS开源项目,就把Lua语言在嵌入式开发中,进行了充分的应用,还挺成功的。Lua语言,我认为进行嵌入式开发的第二成功的小众语言。我个人也曾在AGV控制器使用过Lua,体验不错。3.C是一个优美的语言。只要你能把.NETnanoFramework在单片机运行起来,就使用C开发工控和智能网关产品,后来断了联系了,网名里带一个叶字。
1、51单片机的rom,ram和flash怎么用?我对这个地方一直很疑惑,请高手指点...这个不要刻意去弄明白,这三个总的说就是存放数据的地方,运行程序的时候用到,用C语言编程对地址的了解要求不高,可以不用太在意。用汇编编程的时候会涉及到地址问题。建议学c语言编程好点,逻辑性强,并且容易学习,容易看懂。常规上ROM是用来存储固化程序的,RAM是用来存放数据的。由于FLASHROM比普通的ROM读写速度快,擦写方便,一般用来存储用户程序和需要永久保存的数据。
电度表在工作过程中,是要运算数据的,要采集电压和电流,并根据电压和电流计算出电度来。电压和电流时一个适时的数据,用户不关心,它只是用来计算电度用,计算完后该次采集的数据就用完了,然后再采集下一次,因此这些值就没必要永久存储,就把它放在RAM里边。然而计算完的电度,是需要永久保存的,单片机会定时或者在停电的瞬间将电度数存入到FLASH里。
2、访问单片机内部ram用什么指令内部ram分几个区1.低128B可以有mova,70h直接寻址取出70h地址的值movr0,#70用r0或r1间址mova,@r0取出70h的值2.高128B只能用间址movr0,#90h间址mova,@r0取出90h的值3.还有sfr(特殊功能寄存器)其地址与高128B重叠,为了区分只能用直接寻址mova,#90h取也sfr区90h的值其中有可位寻址的空间可以用movc,
3、单片机ram中执行代码的如何链接描述有问题,建议把单片机运行机制再看一看。单片机的程序一般默认从Fash启动,要想在RAM执行程序,首先得单片机支持,一般只要Flash和RAM是统一编址的都可以在RAM运行程序。程序的启动一般都是从一个固定地址(厂家规定)启动的,而这个地址一般都不在RAM地址范围内,因此常用的做法是在单片机厂家规定的启动的地址开始处预先烧录一段启动代码,这就是我们常说的BootLoader,然后再在BootLoader中按照单片机的运行规则跳转到RAM中代码(我们一般称为App程序)的起始地址。