A. at89c51單片機 如何用c語言編程啊
隨著單片機硬體性能的提高,編寫應用程序更著重於程序本身的效率。
Franklin或KEII.C51交叉編譯器是專為51系列單片機設計的一種高效的C語言編譯器,用其開發的應用程序易於維護,可移植性好,是目前較流行的51系列單片機的開發工具。
一、C51語言程序設計的基本技巧
首先,C51語言程序設計要盡可能採用結構化的設計方法。可將整個程序按功能分成若干個模塊,不同的模塊完成不同的功能。對於不同的功能模塊,分別指定相應的入口參數和出口參數,而經常使用的一些程序最好編成函數,這樣既不會引起整個程序管理的混亂,還可使程序的可讀性、移植性增強。
C51語言的主程序結構:
#include
main0{while(1);}
這是最小的C程序,包括頭部文件和程序主體。頭部文件為引用的外部資源文件,包括硬體信息和外部模塊提供的可使用的函數和變數的說明。
語句定義後,就可以在C語言程序中像匯編一樣使用這些硬體設備。
在C5l中常用項目來管理,項目一般分為C文件塊和頭部文件塊,常把不同的功能寫在不同的C文件中,依靠項目的管理,最後把所有文件連接起來,這樣就可以得到燒錄的HEX文件或BIN文件。沒有在頭部文件中列出的文件,可以算是該C文件的內部函數和變數,外部C不能使用。另外,在程序設計過程中要充分利用C51語言的預處理命令。
對於一些常用的常數,如TRUE、FAlSE、PI,以及各種特殊功能寄存器,或程序中一些重要的依據外界條件可變的常量,可採用宏定義(#de-fine)或集中起來放在一個頭文件中進行定義,再採用文件包含命令(#in-elude)將其加入到程序中,這樣當需要修改某個參量時,只需修改相應的包含文件或宏定義,而不必對使用它們的每個程序文件都進行修改,有利於文件的維護和更新。
舉例:利用宏定義和條件編譯,源程序不作任何修改就可適用於不同時鍾頻率的單片機系統,並可根據情況的不同取不同的delay值,完成不同的目的。程序如下:
#define flag 1#ifdef flag==l#define fose 6Mdelay=10;#elif flag==0#define fose 8Mdelay=12;#else#define fosc 12Mdelay=20;#endiFMain0{ for(I=O;l
B. 單片機c語言編程
單片機C語言程序設計入門課程,說起來容易,說起來難。學習單片機C語言,首先要了解這兩個東西是什麼。單片機入門編程主要是學習C語言,其次是電路和編程語言。單片機C語言程序設計學習中必讀的模擬電、數字電、電路三本書,為接下來的學習做鋪墊。看書的目的是因為網上教程太多,容易出現偏差。其實只要能懂電路原理,就能開發單片機軟體。簡介單片機又稱單片微控制器,不是執行某種邏輯功能的晶元,而是將一個計算機系統集成到一個晶元中。相當於一台微型計算機,與計算機相比,單片機只是缺少I/O設備。綜上所述,晶元變成了電腦。它體積小、重量輕、價格低,為研究、應用和開發提供了便利條件。同時,學習使用單片機是了解計算機原理和結構的最佳選擇。單片機已經廣泛應用於智能儀器、實時工業控制、通訊設備、導航系統、家用電器等領域。自20世紀90年代以來,單片機技術得到了發展。隨著時代的進步和科技的發展,這項技術的實際應用也越來越成熟,單片機被廣泛應用於各個領域。如今,人們越來越重視單片機在智能電子技術中的發展和應用,單片機的發展進入了一個新的時期。無論是自動測量的實踐,還是智能儀器的實踐,都可以看到單片機技術的身影。在當前的產業發展過程中,電子產業是一個新興的產業。在工業生產中,人們已經成功地應用了電子信息技術,將電子信息技術與單片機技術相結合,有效地提高了單片機的應用效果。作為計算機技術的一個分支,單片機技術在電子產品領域的應用豐富了電子產品的功能,為智能電子設備的開發和應用提供了新的途徑,實現了智能電子設備的創新和發展。以上內容參考:網路-單片機
你應該先學習C語言。你可以讀譚浩強和單片機的書,循序漸進。別擔心。基礎好,什麼都能說。
如果你沒學過微機原理,建議你先學完再買本上海馬超的書,一周就能看懂了~
不認同無意義的光。《C編程》確實創造了一時的輝煌,這種輝煌很可能會延續下去,但不代表就是最好的。這本書之所以流行,是因為當時沒有辦法學習C,這本書很好理解。但是現在這本書太落後了,甚至3版還在用老標准,現在大家普遍用C99標准。老標准不能用Dev C編譯而且好像提問者應該知道C的基礎,推薦《單片機C語言編程及實例》這本書。直接搜索就能找到PDF版本的下載。-馬克·提埃洛
看譚浩強老師的。清華大學出版的《飢餓》。
C. 51單片機只能用c語言編程嗎
編程的目的是讓51單片機運行,在記憶中我只記得51單片機可以運行C語言和匯編,其實C語言編譯後也就是匯編,在單片機上運行的只是一個個指令,簡單的用51,復雜的用arm處理器。網路試試