當前位置:首頁 » 網頁前端 » 單片機腳本引擎
擴展閱讀
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,是一個值得推廣的技術。

已經發你郵箱了