⑴ 用於STC89C52RC的c語言程序,可以用在STC89C51晶元的程序里么兩種晶元在編程上有什麼差別,跪求
用於STC89C52RC的C語言程序老滑,可以用在STC89C51晶元的程序里么?
--52,其內涵,比51多一些。
--52 的程序,放在51裡面,有一些,就是不好用的。
--因為:
--52晶元比51晶元多了一個定時姿伍器T2, 還多了128個字侍冊臘節的RAM...。
⑵ 用c語言對單片機編程,對c語言的程度要求是怎樣的
用c語言對單片機編程,對c語言的程度要求不高。
⑶ 單片機編程用匯編好還是C語言好
單片機編程,C語言編程但很好。
大致分成三類:機器語言、匯編語言、高級語言。機器語言由於繁瑣容易出錯,大部分用戶已經不再便用。
1.單片機匯編語言
匯編語言是一種符號語言,它使用文字助記符來表示機器指令。它是最接近機器代碼的語言。它的主要優點是佔用資源少,程序執行效率高。由於每條指令對應於一個機器碼,所以每一步的執行都非常清楚。
並且程序的大小和棧調用都易於控制,調試也更加方便。但是不同類型的單片機,其匯編語言可能會有一點不同,所以移植起來並不容易,因為它們的指令系統是不同的。但掌握匯編語言可以幫助我們理解影響四川語學習效率的特殊規律。
例如,了解匯編語言指令可以讓您使用晶元內ram作為變數,因為晶元外變數需要多個指令來設置訪問的累加器和數據指針。
類似地,只有匯編編程經驗才能防止在需要浮點數和啟用函數時創建大型、低效的程序,這在沒有匯編語言的情況下是無法做到的。
2.單片機的C語言
MCUC語言是一種經過編譯的程序設計語言,它兼顧了多種高級語言的特點,具有匯編語言的功能。C語言具有豐富的庫函數,計算速度快,編譯效率高,可移植性好,並能實現對系統硬體的直接控制。
此外C語言程序具有完整的程序模塊結構,為軟體開發中的模塊化編程方法提供了強有力的保證。與組裝相比,具有以下優點:
MCU的指令系統不需要知道,只需要對51的內存結構有一個初步的了解,對於寄存器的分配,不同的內存定址和數據類型等細節都由編譯器來管理。程序有一個正式的結構,可以分為不同的功能。這使得程序可以結構化,結合變數選擇和特殊操作,並提高程序的可讀性。
大大減少了編程和調試時間,從而提高了效率。所提供的庫包含許多具有強大數據處理能力的標准子常式,由於其方便的模塊化編程技術,可以很容易地將這些子常式編程到新程序中。
功能強大靈活,庫中包含了很多標準的子程序,具有較強的數據處理能力,可以方便地編程植入新的程序,因為它具有方便的模塊化編程技術。
MCUC語言作為一種非常方便的語言而得到了廣泛的支持,(語言程序本身不依賴於機器硬體系統,基本上不根據單片機的修改就可以將U的不同之處快速移植過來。)
利用單片機c語言進行編程,已經成為單片機軟體開發的主流,作為一門綜合性的技術和參與開發的大型軟體系統,單片機開發人員最好能夠掌握基本的c語言編程。
(3)c語言晶元好壞擴展閱讀:
SCM語言
MCU支持三種高級語言,即PL/M、C和BASIC。C語言是一種通用的編程語言,其碼率高,數據類型和運算符豐富,並具有良好的程序結構,適用於各種應用程序的設計,是一種廣泛應用的單片機編程語言。
單片機的C語言採用C51編譯器(簡稱C51)。C51生成的目標代碼短小、快速、存儲空間小,符合C語言的ANSI標准,生成的代碼遵循Intel目標文件格式,可與A51匯編語言或PL/M51語言目標代碼混合使用
⑷ 請問大家:C語言和C51有什麼區別
(1)含義不同:
1、C語言是一門面向過程的、抽象化的通用程序設計語言,廣泛應用於底層開發。C語言能以簡易的方式編譯、處理低級存儲器。
2、C51是nVIDIA公司推出的首款K8平台整合晶元組的產品系列代號,使用C51系列晶元組的北橋晶元分為兩個版本:GeForce6150和GeForce6100,它們與Nforce 400系列的南橋晶元搭配組成新一代平台。
(2)運用場合不同:
1、C語言是僅產生少量的機器語言以及不需要任何運行環境支持便能運行的高效率程序設計語言。
2、盡管C語言提供了許多低級處理的功能,但仍然保持著跨平台的特性,以一個標准規格寫出的C語言程序可在包括類似嵌入式處理器以及超級計算機等作業平台的許多計算機平台上進行編譯。
3、NVidia C51晶元組是nVidia的K8IGP晶元組,於2005年推出。它是nVidia第一款為K8平台而設的整合型晶元組。
4、它建了Geforce 6100顯示核心,完整支援DirectX9.0和HDR,是當時繒圖效能最佳的整合型晶元組。南橋的硬碟支援部分有小BUG(有時不能啟動NCQ)。
(4)c語言晶元好壞擴展閱讀:
C語言是一門面向過程的計算機編程語言,與C++、Java等面向對象編程語言有所不同。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、僅產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。
C語言描述問題比匯編語言迅速、工作量小、可讀性好、易於調試、修改和移植,而代碼質量與匯編語言相當。C語言一般只比匯編語言代碼生成的目標程序效率低10%~20%。因此,C語言可以編寫系統軟體。
⑸ C語言編程代碼好壞如何判斷
1.2.1 正確性
正確性是指軟體按照需求正確執行任務的能力,涵蓋「精確性」。正確性是第一重要的軟體質量屬性。技術評審和測試的第一關是檢查工作成果的正確性。
從「需求開發」到「系統設計」再到「編程」,任何一個環節出現差錯都會降低正確性。軟體運行出錯通常都是人造成的,開發者應做到為「正確」兩字竭盡全力。
1.2.2 健壯性
健壯性是指在異常情況下,軟體能夠正常運行的能力。正確性與健壯性的區別是:前者描述軟體在需求范圍之內的行為,後者描述軟體在需求范圍之外的行為。想不到異常情況,把異常錯當正常而不作處理,這些都會降低健壯性。提高軟體的健壯性也是開發者的義務。
健壯性有兩層含義:一是容錯能力,二是恢復能力。
容錯是指發生異常情況時系統不出錯誤的能力。高風險系統如航空航天、武器、金融等領域的系統,容錯性設計非常重要。
容錯是非常健壯的意思。而恢復則是指軟體發生錯誤後(不論死活)重新運行時,能否恢復到沒有發生錯誤前的狀態的能力。
從語義上理解,恢復不及容錯那麼健壯。
1.2.3 可靠性
可靠性是指在一定環境下,在給定的時間內,系統不發生故障的概率。因為我們無法對軟體進行徹底的測試,無法根除軟體中潛在的錯誤,所以軟體平時運行良好,說不準哪天就會不正常,如「千年蟲」、「內存泄露」、「誤差累積」等。
軟體可靠性分析通常採用統計技術,但目前可供第一線開發人員使用的成果少見。
1.2.4 性能
性能通常是指軟體的「時間—空間」效率,而不僅是指軟體的運行速度。程序員可以通過優化數據結構、演算法和代碼來提高軟體的性能。演算法復雜度分析是很好的方法,可以達到「未卜先知」的功效。
1.2.5 易用性
易用性是指用戶使用軟體的容易程度。它直觀體現為「界面友好」、「方便」等。
1.2.6 清晰性
清晰意味著工作成果易讀、易理解。開發人員只有在自己思路清晰的時候才可能寫出讓別人清晰性好的程序和文檔。可理解的東西通常是簡潔的。簡潔是人們對工作「精益求精」的結果,而不是潦草應付的結果。
1.2.7 安全性
安全性是指信息安全Security,不是safety。安全性是指防止系統被非法入侵的能力,既屬於技術問題又屬於管理問題。對於大多數軟體產品而言,杜絕非法入侵既不可能也沒必要。一般地,如果黑客為非法入侵花費的代價(考慮時間、費用、風險等因素)高於得到的好處,這樣的系統被認為是安全的。
1.2.8 可擴展性
可擴展性反映軟體適應「變化」的能力。在軟體開發過程中,需求、設計、演算法的改進、程序本身都有可能變化,
軟體是否容易修改關鍵看它的規模和復雜性。可擴展性是系統設計階段重點考慮的質量屬性。
1.2.9 兼容性
兼容性是指兩個或以上的軟體相互交換信息的能力。開發某領域的新軟體,應與已流行的軟體相兼容,否則難以被市場接受。
1.2.10 可移植性
可移植性是指軟體運行於不同軟硬體環境的能力。編程語言越低級,程序越難移植。C比匯編可移植性好,Java號稱「一次編程、到處運行」,具有100%的可移植性。
軟體設計時應該將「設備相關程序」與「設備無關程序」分開,將「功能模塊」
⑹ 匯編語言和c語言各自優缺點
C語言編屬於高級語言,具有可移植性,能夠結構化編程。使用標准C語言的程序,幾乎都可以不作改變移植到不同的微機平台上,對於嵌入式等的微控制晶元,屬於標准C語言的部分也很少需要修改,而且程序很容易讀懂。
C語言編寫程序結構清晰,移植性好,容易維護和修改。
匯編語言針對不同的操作系統平台,不同的微控制器,指令都是完全不同的,即使指令相似,也不具有可移植性。但是匯編語言是針對專門的控制器的,所以運行速度可以精確到一個指令周期。匯編語言的程序讀懂需要藉助微控制器的指令手冊以及各個寄存器的說明,所以很難讀懂。
匯編語言編寫代碼實時性強,能夠直接控制硬體的工作狀態,但是不具有可移植性,維護和修改困難。
⑺ C語言現在還有用嗎
c語言還有用嗎?這個問題有很多人在問,c語言真的沒用嗎?答案是有用的,用處還很大呢。
這門語言雖然是很早以前發明的,新興語言如c#、vb……功能十分強大,但每一個能代替C語言,原因:C語言結構簡單,所佔空間小,而且能直接對存儲設備進行操作,所以適合底層程序設計,比如嵌入式設計,你用的遙控器、玩具賽車裡面的晶元就是將C語言設計出的程序嵌入到硬體上而製作出來的;還有,像lunix這樣很牛逼的操作系統也是用C語言做的,因為運行起來相當快!
還有還有啊,現在一名合格的黑客基本都會C語言,他們都是用這種語言編寫突破網路的程序、破解密碼的程序和病毒的……
你說的c++和c#等都是高級語言,不能進行底層操作,空間大,對硬體的要求太高,只適合編寫一下很大的程序,一些功能實用、輕便快捷的程序還是要C語言這樣的語言編寫。
所以C語言無可替代!
⑻ 同一C語言程序寫進不同型號的DSP晶元,他們結果相同嗎
看看你所用到的功能在這兩個不同型號的晶元說明書里軟體操作上,功能上是否有差別。如果沒有差別,編譯正常 且外圍電路都一樣能正常工作的話,結果電路所完成的功能一般都會相同。只是不同晶元,性能不一樣,執行速度等都有所差別
⑼ c語言不安全為什麼還很有多人用
因為C語言比其他語言編譯出的軟體運行快啊 所以C語言一般放到嵌入式開發
打個比方
你哪天電視遙控器壞了,你要買個新的
1種遙控器晶元是最新電腦用的晶元,用的遙控器用的軟體用哪個語言開發都會很快 那這個遙控器價格 呵呵..
另1種遙控器價格就十幾塊錢 你想它的晶元運算速度能多快... 那假如裡面是其他語言 估計你按完開機後10秒(極端例子)後才能響應開機,但用C語言 能馬上開機。
安全問題,不就是多個指針跑飛和內存泄漏么,這個真沒法避免
但使用指針和內存分配的確能使C語言運行靈活
再說了 其他語言該出Bug也不照樣出Bug么
⑽ C語言編寫晶元驅動的方法
驅動就是操作晶元完成功能,使用C語言完成相關的操作也是類似的。
完成過SD卡的,主要的流程是,查看晶元手冊,找到使用的埠,然後根據相關的協議和已有的部分介面完成操作。別糾結於細節,前整體完成結構之後再想著編程。
類似於這種程序網上都有,想重新寫一套的話沒有必要。參照類似的然後修改和添加你要的就可以。