当前位置:首页 » 网页前端 » 单片机脚本引擎
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

单片机脚本引擎

发布时间: 2022-08-22 19:57:19

❶ 汇编语言、机器语言 C语言

计算机语言的种类非常的多,总的来说可以分成机器语言,汇编语言,高级语言三大类。

电脑每做的一次动作,一个步骤,都是按照以经用计算机语言编好的程序来执行的,程序是计算机要执行的指令的集合,而程序全部都是用我们所掌握的语言来编写的。所以人们要控制计算机一定要通过计算机语言向计算机发出命令。

计算机所能识别的语言只有机器语言,即由0和1构成的代码。但通常人们编程时,不采用机器语言,因为它非常难于记忆和识别。

目前通用的编程语言有两种形式:汇编语言和高级语言。

汇编语言的实质和机器语言是相同的,都是直接对硬件操作,只不过指令采用了英文缩写的标识符,更容易识别和记忆。它同样需要编程者将每一步具体的操作用命令的形式写出来。汇编程序通常由三部分组成:指令、伪指令和宏指令。汇编程序的每一句指令只能对应实际操作过程中的一个很细微的动作,例如移动、自增,因此汇编源程序一般比较冗长、复杂、容易出错,而且使用汇编语言编程需要有更多的计算机专业知识,但汇编语言的优点也是显而易见的,用汇编语言所能完成的操作不是一般高级语言所能实现的,而且源程序经汇编生成的可执行文件不仅比较小,而且执行速度很快。

高级语言是目前绝大多数编程者的选择。和汇编语言相比,它不但将许多相关的机器指令合成为单条指令,并且去掉了与具体操作有关但与完成工作无关的细节,例如使用堆栈、寄存器等,这样就大大简化了程序中的指令。同时,由于省略了很多细节,编程者也就不需要有太多的专业知识。

高级语言主要是相对于汇编语言而言,它并不是特指某一种具体的语言,而是包括了很多编程语言,如目前流行的VB、VC、FoxPro、Delphi等,这些语言的语法、命令格式都各不相同。

高级语言所编制的程序不能直接被计算机识别,必须经过转换才能被执行,按转换方式可将它们分为两类:

解释类:执行方式类似于我们日常生活中的“同声翻译”,应用程序源代码一边由相应语言的解释器“翻译”成目标代码(机器语言),一边执行,因此效率比较低,而且不能生成可独立执行的可执行文件,应用程序不能脱离其解释器,但这种方式比较灵活,可以动态地调整、修改应用程序。

编译类:编译是指在应用源程序执行之前,就将程序源代码“翻译”成目标代码(机器语言),因此其目标程序可以脱离其语言环境独立执行,使用比较方便、效率较高。但应用程序一旦需要修改,必须先修改源代码,再重新编译生成新的目标文件(* .OBJ)才能执行,只有目标文件而没有源代码,修改很不方便。现在大多数的编程语言都是编译型的,例如Visual C++、Visual Foxpro、Delphi等。

在有超过2500种有文档资料的计算机语言,

计算机语言:计算机语言通常是一个能完整、准确和规则地表达人们的意图,并用以指挥或控制计算机工作的“符号系统”。

计算机语言通常分为三类:即机器语言,汇编语言和高级语言。 (了解内容一)

1. 机器语言
机器语言是用二进制代码表示的计算机能直接识别和执行的一种机器指令的集合。它是计算机的设计者通过计算机的硬件结构赋予计算机的操作功能。机器语言具有灵活、直接执行和速度快等特点。
用机器语言编写程序,编程人员要首先熟记所用计算机的全部指令代码和代码的涵义。手编程序时,程序员得自己处理每条指令和每一数据的存储分配和输入输出,还得记住编程过程中每步所使用的工作单元处在何种状态。这是一件十分繁琐的工作,编写程序花费的时间往往是实际运行时间的几十倍或几百倍。而且,编出的程序全是些0和1的指令代码,直观性差,还容易出错。现在,除了计算机生产厂家的专业人员外,绝大多数程序员已经不再去学习机器语言了。

2.汇编语言
为了克服机器语言难读、难编、难记和易出错的缺点,人们就用与代码指令实际含义相近的英文缩写词、字母和数字等符号来取代指令代码(如用ADD表示运算符号“+”的机器代码),于是就产生了汇编语言。所以说,汇编语言是一种用助记符表示的仍然面向机器的计算机语言。汇编语言亦称符号语言。汇编语言由 于是采用了助记符号来编写程序,比用机器语言的二进制代码编程要方便些,在一定程度上简化了编程过程。汇编语言的特点是用符号代替了机器指令代码,而且助记符与指令代码一一对应,基本保留了机器语言的灵活性。使用汇编语言能面向机器并较好地发挥机器的特性,得到质量较高的程序。
汇编语言中由于使用了助记符号,用汇编语言编制的程序送入计算机,计算机不能象用机器语言编写的程序一样直接识别和执行,必须通过预先放入计算机的“汇编程序“的加工和翻译,才能变成能够被计算机识别和处理的二进制代码程序。用汇编语言等非机器语言书写好的符号程序称源程序,运行时汇编程序要将源程序翻译成目标程序。目标程序是机器语言程序,它一经被安置在内存的预定位置上,就能被计算机的CPU处理和执行。
汇编语言像机器指令一样,是硬件操作的控制信息,因而仍然是面向机器的语言,使用起来还是比较繁琐费时,通用性也差。汇编语言是低级语言。但是,汇编语言用来编制系统软件和过程控制软件,其目标程序占用内存空间少,运行速度快,有着高级语言不可替代的用途。

3.高级语言
不论是机器语言还是汇编语言都是面向硬件的具体操作的,语言对机器的过分依赖,要求使用者必须对硬件结构及其工作原理都十分熟悉,这对非计算机专业人员是难以做到的,对于计算机的推广应用是不利的。计算机事业的发展,促使人们去寻求一些与人类自然语言相接近且能为计算机所接受的语意确定、规则明确、自然直观和通用易学的计算机语言。这种与自然语言相近并为计算机所接受和执行的计算机语言称高级语言。高级语言是面向用户的语言。无论何种机型的计算机,只要配备上相应的高级语言的编译或解释程序,则用该高级语言编写的程序就可以通用。

1.脚本语言(JavaScript,VBscript等)介于HTML和C,C++,Java,C#等编程语言之间。
HTML通常用于格式化和链结文本。
而编程语言通常用于向机器发出一系列复杂的指令。
2.脚本语言与编程语言也有很多相似地方,其函数与编程语言
比较相象一些,其也涉及到变量。与编程语言之间最大的区别
是编程语言的语法和规则更为严格和复杂一些.
3.与程序代码的关系:脚本也是一种语言,其同样由程序代码组成。
注:脚本语言一般都有相应的脚本引擎来解释执行。
脚本语言具有下列优势:

快速开发:脚本语言极大地简化了“开发、部署、测试和调试”的周期过程。
容易部署:大多数脚本语言都能够随时部署,而不需要耗时的编译/打包过程。
同已有技术的集成:脚本语言被Java或者COM这样的组件技术所包围,因此能够有效地利用代码。
易学易用:很多脚本语言的技术要求通常要低一些,因此能够更容易地找到大量合适的技术人员。
动态代码:脚本语言的代码能够被实时生成和执行,这是一项高级特性,在某些应用程序里(例如JavaScript里的动态类型)是很有用也是必需的。

机器语言是是由0和1组成的,其他语言都是不是,都是文本形式的

❷ 单片机简答题

1.高级语言,汇编语言,机器语言
2.0000h是PC复位后地址,后面三个分别是外部中断0,定时器中断0,外部中断1,定时器中断1,串行口中断的入口地址
3。是允许访问外部存储器控制线,低电平有效,使用8031时,因为8031无内部程序存储器所以必须接地允许使用外部存储。
4。有两个优先级分别为0和1,通过优先级寄存器IP来设定,欲设定某个中断为高优先级则将寄存器中相应的位置1。
5.工作寄存器区,分为4组通用寄存器,每组又分为R0~R7,可通过程序状态字的PSW4和PSW3来选定使用哪一组;位寻址区,可位寻址也可字节寻址;数据缓冲区堆栈区,可设置堆栈起始区。
6.不相同,第一个是将累加器中内容送片内寄存器Ri中,第二个是将累加器内容送片外寄存器Ri中。
打得好累,希望对你有帮助。。。

❸ 单片机、C++、VB、java、Delphi、CPLD等编程思路编程好的思路。

我觉得你已经概括的很全面了
我写代码的时候脑子里只有三个概念:代码复用、效率及可扩展性
代码复用就不用说了,楼主已经提到很多,至于效率方面其实大部分是涉及到数据库的,在开发过程中其实跟真实环境是有很大的区别的,在写代码的时候要时刻考虑与数据库的交互,数据压力测试是必须的,这样也算是变相的优化代码,避免返工及代码的重构。
可扩展性:可扩展性的需求催生了各种设计模式,程序是根据用户的需求编写的,但用户的需求会变,在编写代码的时候要预留一个空间来应对用户的需求变化,个人感觉这一点及其重要,我在工作过程中吃过这样的亏,导致大规模的功能重写,血泪史啊 ^_^。我说的只是个人的一点点想法,想法有些肤浅,全当是抛砖引玉了

ps:刚看到一楼的回答我不太认同,我觉得悬赏这玩意没啥意思,又不能当钱花,反正对于我来说我根本不在乎这些,有分没分我只要觉得问题值得回答就回答,我上网络知道的目的其实只有一个,这上面有形形色色的问题,能学到很多东西,分儿不分儿的不能当饭吃,有P用呀。

❹ 怎样用单片机整一个模拟发动机引擎发声系统,然后通过音响放出来,然后用电阻控制电阻越大声音也越大

电阻直接控制功放不就可以了。
另外,用单片机模拟声音,理论上可行,就是让发生器发出固定频率的振动就可以了。发声体可以试试压电陶瓷

❺ 急急急急!!!单片机外文翻译

单片机论文

--------------------------------------------------------------------------------

文:admin 发表时间2008-9-26 11:29:00

单片机论文:单片机是一种嵌入式系统仿真方法,通过一种特殊设计的指令集仿真器ISS将软件调试器软件Keil uVision2和硬件语言仿真器软件Modelsim连接起来,实现了软件和硬件的同步仿真。

关键词:BFM,TCL,Verilog,Vhdl,PLI,Modelsim,Keil uVision2,ISS,TFTP,HTTP,虚拟网卡,Sniffer,SMART MEDIA,DMA,MAC,SRAM,CPLD

缩略词解释:

BFM:总线功能模块。在HDL硬件语言仿真中,BFM完成抽象描述数据和具体的时序信号之间的转换。

PLI:Verilog编程语言接口,是C语言模块和Verilog语言模块之间交换数据的接口定义。

TCL:字面意思是工具命令语言,是一种解释执行语言,流行EDA软件一般都集成有TCL。使用TCL用户可以编写控制EDA工具的脚本程序,实现工具操作自动化。

ISS:CPU指令集仿真器,可以执行CPU的机器码。

TFTP:简单文件传输协议,Windows的tftp.exe既是该协议的客户端实现。

SMART MEDIA:一种存储卡,常用于数码相机、MP3。

DMA:直接内存访问。用于外部设备之间高速数据转移。

MAC:媒体接入控制器。本文中是指网卡芯片。

前言

传统的嵌入式系统中,设计周期、硬件和软件的开发是分开进行的,并在硬件完成后才将系统集成在一起,很多情况下,硬件完成后才开始进行实时软件和整体调试。软硬件联合仿真是一种在物理原型可用前,能尽早开始调试程序的技术。

软硬件联合仿真有可能使软件设计工程师在设计早期着手调试,而采用传统的方法,设计工程师直到硬件设计完成才能进行除错处理。有些软件可在没有硬件支持的情况下完成任务的编码,如不涉及到硬件的算法。与硬件相互作用的编码在获得硬件之前编写,但只有在硬件上运行后,才能真正对编码进行调试。通过采用软硬件联合仿真技术,可在设计早期开始这一设计调试过程。由于软件的开发通常在系统开发的后段完成,在设计周期中较早的开始调试有可能将使这一项目提早完成,该技术会降低首次将硬件和软件连接在一起时出现意外而致使项目延期完成所造成的风险。

在取得物理原型前,采用软硬件联合仿真技术对硬件和软件之间的接口进行验证,将使你不会花太多的时间在后期系统调试上。当你确实拿到物理原型开始在上面跑软件的时候,你会发现经过测试的软件部分将会正常工作,这会节省项目后期的大量时间及努力。

软硬件联合仿真系统由一个硬件执行环境和一个软件执行环境组成,通常软件环境和硬件环境都有自己的除错和控制界面,软件通过一系列由处理器启动的总线周期与硬件的交互作用。本文以一个Mini Web卡的开发介绍一种软硬件联合仿真系统。

该方案的核心是采用一个51单片机仿真引擎GoldBull ISS51(以下简称ISS51),ISS51是51单片机开发环境Keil uVision2的一个插件,ISS51具有连接Keil和硬件仿真环境Modelsim的接口,可以实现软硬件同步仿真。在该系统中,Keil作为软件调试界面,Modelsim作为硬件仿真和调试界面,ISS51负责软件执行、监控软件断点、单步执行、内存和寄存器数据返回给Keil、CPU总线时序产生和捕获、内部功能模块(如定时器,串口)的运行等功能。

Mini Web卡介绍

Mini Web卡是一个运行在单片机上的Web服务器,提供网口连接,有大容量文件系统,提供TFTP和HTTP服务。尽管软件系统比较复杂,但优化编译后,执行代码还不足25K,为后续升级留下了足够空间。51CPU采用SST89系列,这种CPU具有ISP功能,可以通过RS232串口,直接将目标码下载到CPU。

DMA控制逻辑是一个可编程逻辑器件,采用的是ALTERA的CPLD EPM240,主要功能是实现外围器件之间的DMA传递。因为51CPU进行IO访问是很低效的,需要24个时钟周期才能进行一次IO访问,在外围设备之间转移数据则需要更多的时钟周期,使用DMA控制逻辑可以达到3个时钟周期就能转移一个字节。本系统中处理多种网络协议,需要大量报文收发和文件系统访问,采用DMA可以极大地提高51单片机的数据处理速度。DMA通道主要有MAC芯片与RAM之间的数据块转移,SMART MEDIA和RAM之间的数据块转移。

网卡芯片采用的是AX88796,主要的优点是可以和51CPU方便地接口;支持100M以太网,速度高;有较大的接收报文缓存,能够平滑网络流量,减少因51CPU处理速度慢导致的报文丢弃和重发。

SMART MEDIA是一个移动存储卡,主要用于存储文件,Mini Web卡支持8M到256M的SMD卡。

文件系统是Mini Web卡的新开发模块,文件系统的测试主要通过TFTP来进行,为此Mini Web卡上的TFTP服务程序进行了特殊设计,支持格式化SMART MEDIA,获取剩余空间,获取文件名列表,上传、下载和删除文件。

软硬件联合仿真的必要性:

Mini Web卡软件模块多,软件开发风险较大。软件对硬件的依赖较强,FLASH存储器的访问驱动、网卡驱动、DMA驱动,需要软硬件协同调试。

文件系统的开发,在仿真环境下更容易和快捷。比如在仿真结束时,可以将SMART MEDIA仿真模型中的数据倒换到磁盘文件中,在仿真开始时,将磁盘文件中的数据加载到SMART MEDIA仿真模型中,在定位文件系统的问题时,这一个功能很有用。

采用软硬件联合仿真,便于系统前期设计。51单片机的外部RAM访问效率较低,内存拷贝、外部器件之间的数据块转移很浪费时间。将大量数据的拷贝操作或数据块校验、比较操作在CPLD内实现,可以大大改进51单片机处理数据的能力。通过软硬件联合仿真,可以评估CPLD处理数据对性能的改进。

Mini Web卡软硬件联合仿真系统:

软硬件联合仿真主要解决的问题是系统功能设计与验证

,它不解决电源、滤波电容、总线电平兼容问题。

做系统仿真,首先要对硬件系统建模。我们关注的是系统设计的正确性和可执行性。

系统中的串口只是用来支持ISP下载软件,软件部分没有对串口做任何操作,所以系统仿真可以不必考虑。

网卡芯片AX88796,厂商没有提供仿真模型。它与CPU的接口符合ISA接口标准,软件对AX88796的操作是根据NE2000标准网卡芯片设计的,由此我们建立了一个网卡芯片的仿真模型。我们设计了一个MAC BFM来仿真网卡芯片的ISA接口,NE2000定义的寄存器在C模型中实现,MAC BFM与NE2000寄存器C模型通过PLI接****换数据。

SRAM仿真模型是很容易获取的,很多器件生产商都提供Verilog仿真模型,但器件生产商提供的Verilog仿真模型都包含复杂的延时控制代码,这会影响仿真速度。根据经验,我们可以确保SRAM在单板设计中被正确应用,不会产生时序问题,所以我们可以采用一个简化的SRAM仿真模型,这是我们自己设计的,有效代码只有十几行。

51CPU BFM 负责单片机管脚时序的产生和捕获。51CPU BFM是与ISS51紧密捆绑的,由ISS51安装SMART MEDIA是三星公司提供的仿真模型,我们使用的也是三星公司的同类型存储卡。该模型可以用于验证软件操作SMART MEDIA的正确性和DMA Controller的接口时序。

DMA Controller是Mini Web卡硬件开发的一部分,将逻辑设计代码应用于仿真,既能检测逻辑设计的正确性,又能使整个仿真系统得以正常运转。

将上述硬件模型连接起来,产生下图所示硬件系统模型图:

图2. Mini Web卡硬件模块电路图

图2中U11为SMART MEDIA仿真模型,U4为DMA Controller模型。

虚拟网卡

做系统仿真,必须输入来自真实世界的激励,并将仿真系统的输出传递到真实世界。即便是不能连接到真实世界,也应该提供模拟真实世界的输入,并对仿真系统的输出进行检测和分析。

对于Mini Web卡来说,它和真实环境是通过网口连接的。使用虚拟网卡技术,能够将图3中的MAC C Model与虚拟网卡进行通讯。

对于运行在Windows系统上的应用程序来说,它并不知道网卡是虚拟的还是真实的,应用程序通过虚拟网卡收发数据,事实上是与仿真系统在进行网络通信。

这样就可以使用TFTP向Mini Web卡仿真系统传递网页文件,使用IE浏览Mini Web卡仿真系统中的网页,Mini Web卡的所有功能都能够被检验。

使用网络臭探器Sniffer可以监控虚拟网卡的报文流,方便协议调试。

仿真加速技术

软硬件联合仿真,影响仿真速度的瓶颈在HDL代码部分的仿真。如果不设法提高HDL代码部分的仿真速度,软件调试就非常低效。

提高硬件仿真速度的方法之一是软件硬件仿真采用事件同步,只在CPU访问IO时保持软件和硬件是同步的。

仿真加速方法之二是硬件仿真系统时钟休眠。对于Mini Web卡来说,只有DMA Controller是受时钟控制的,软件没有操作DMA Controller的期间,DMA Controller的运作是毫无意义的,所以可以在非DMA操作期间,对时钟进行休眠;ISS51在每次IO访问时,给出与上次IO访问的时间差,这个时间差经过处理可以作为时钟休眠的时间段。如果ISS51连续进行IO访问,就不会产生时钟休眠了。DMA Controller工作于查询方式,可以采用时钟休眠技术,而不会导致仿真与真实结果的不一致。方法之三是,缩短SMART MEDIA仿真模型中的一些长延时的时间参数。因为在等待SMART MEDIA进入就绪状态时,CPU必须连续查询IO,影响仿真速度。我们主要用于软件功能验证,这种修改也是可以接受的。

方法之四,在软件设计上,谨慎使用外部中断,因为一旦中断启动,ISS51需要在每个机器周期查询是否有中断信号,导致软件仿真和硬件仿真在每个指令上都进行同步,影响仿真速度。如果一定要使用外部中断,建议用C模型代替Verilog模型,这样可不影响仿真速度;或者由用户根据外部模块产生外部中断的时机,使用ISS51的控制命令,在恰当时刻使能ISS在一个普通PC (CPU为AMD速龙1000,SDRM512M 133),运行Mini Web卡仿真系统,使用PING命令测试Mini Web卡仿真系统的响应速度:

Reply from 10.10.112.76: bytes=32 time=64ms TTL=128

使用IE打开Mini Web卡仿真系统中的网页文件,感觉和拨号上网的速度差不太多。创建多个TFTP连接,同时向仿真系统传递或下载网页文件,同时使用IE进行网页浏览,都无响应中断现象出现。

总结

使用软硬件联合仿真,Mini Web卡不需要硬件就能进行全部功能的仿真,增强了系统设计成功的信心。软硬件联合仿真方便系统设计调整,可以在设计前期评估性能,方便软件和硬件的debug,是一个值得推广的技术。

已经发你邮箱了