當前位置:首頁 » 編程軟體 » 單片機程序編譯

單片機程序編譯

發布時間: 2022-06-21 15:26:36

Ⅰ 如何去編譯一個單片機的程序

學習單片機需要硬體動手實驗。看一看我給你的視頻。
個人感覺這個文章很好,很適合初學者,其中教你一步一步寫程序:http://www.cdle.net/web/wzadmin/download2.asp?autoid=59

推薦一個學習的單片機板子,不枯燥,配有USB下載器,修改程序很方便,功能很多。還可以做機器人小車:
產品地址:

http://item.taobao.com/auction/item_detail-0db1-.htm
視頻地址:
http://www.tudou.com/programs/view/tyqjYSbMTaw/

Ⅱ 往51單片機里寫程序,用C語言寫,寫好後用什麼軟體編譯並且寫進去

用keil軟體寫程序,編輯、編譯、運行。程序沒有問題後,用STC_ISP_V479下載程序

Ⅲ 單片機程序編寫

1、首先是打開keil軟體,打開後顯示的界面如下

2、如下第一張圖所示點擊project-》new project,點擊後將會出現如下第二張圖所示界面;在文件框中填寫你的工程名,名字可以是任意英文字元組成的(在此時你最好在你所希望存儲該工程的地方新建一文件夾,如第二張圖所示就是在桌面上建立了一個測試文件夾來存儲新建的工程)

3、輸入工程名後會出現如下圖所示的晶元選擇對話框,選擇你開發板上的型號即可(相信要看這張帖子的讀者一定是在學51單片機,此時只需選擇

Atmel-》AT89c52即可。如下第二張圖所示)

4、一路點擊確認後回到如下圖所示的主界面,並如下圖所示點擊新建程序輸入文本

5、點擊後出現如下第一張圖所示界面,並點擊保存按鈕

6、點擊保存按鈕後出現下第一張圖所示對話框,在箭頭所指的地方輸入源文件名稱加後綴名(如果你是用C語言編寫程序後綴名為*.c;如果你是用匯編語言編寫程序則後綴名為*.asm)並點擊確認保存。確認後界面如下第二張圖所示,注意箭頭所指地方的變化。

7、接下來的一步是將源文件加入到工程中,點擊選中source group並右擊將會出現如下圖所示界面。

8、再點擊Add files to.。。。。。。;如下第一張圖箭頭所示處。點擊後將會出現第二張圖所示的對話框,在該對話框中只要點擊選中第五歩保存的源文件並點擊Add即可(注意點擊選中源文件前後的變化,並且特別注意點擊Add後界面沒有任何變化,你只要關閉該對話框即可)

9、打開source group後將會出現如下圖箭頭所指處的變化

10、在右邊的源文件輸入框中寫入程序,並點擊如圖所示的編譯按鈕(可以看到該程序沒有錯誤,編譯成功)

11、但我們點擊進入工程的文件夾沒有看到後綴名為.hex文件,如下圖所示

12、所以我們需點擊target按鈕進行設置,如下第一張圖所示。點擊後出現第二張圖所示對話框

13、在對話框中點擊output選項如下圖1處顯示,並勾選create hex file如下圖2處顯示。勾選後關閉對話框並如第10步再編譯一次。可以看到文件夾中生成了.hex文件

Ⅳ 單片機的程序編譯

這位同學也是剛學單片機的C語言吧,的說的很對,其實單片機的C和標准C檢查變數什麼,還有名字不要沖突,然後將其結合在一起,把不必要的子程序

Ⅳ 有關單片機編譯器的問題

51、AVR、PIC、ARM、MSP430、SPCA61等單片機,因為它們的CPU構架不同,所以所使用的機器語言的定義就不同了,也就是對應於使用的匯編語言的不同。在使用C語言設計程序時,對於不同的單片機,其C源碼可能都相同,但通過不同的編譯器,生成的機器代碼會是天壤之別,例如對於一個查找數組中最大值和最小值的C程序,8MHz的AVR單片機執行效果相當於200MHz的89C51!並且二者機器代碼的長度都不相同。

使用C編寫程序是為了考慮兼容性和可移植性的問題,對於不同的單片機,因為構架的不同,就需要對應的編譯器去解釋C代碼,使之能正確的控制單片機運行。

Ⅵ 一段單片機的匯編程序的編譯

ORG 0000H
START: clr p2.0
CLR P2.7
SETB P2.6
lp1: MOV 34H, #20 ;置澆水時長20秒
MOV 35H, #24 ;置定時時長24小時
MOV R1, 35H
MOV R2, #60 ;延時一小時初值
MOV R3, #120 ;延時一分初值
LCALL YANSHI
MOV 36H, R1 ;顯示定時時長
LCALL XIANSHI
lp2: JNB P3.2, TDSC ;定時初值減一?
lp3: JNB P3.3, TJSC ;澆水初值減一?
AJMP LP5
tdsc:DJNZ 35H, TDSC1 ;定時初值減一
lp4:MOV 35H, #24
MOV 36H, 35H ;定時初值閃動2次
tdsc1:MOV R0, #2
ssc: LCALL XIANSHI
LCALL YANSHI
lp5: MOV P1, #0FFH
MOV P0, #0FFH
LCALL YANSHI
DJNZ R0, SSC
AJMP LP1
tjsc: DJNZ 34H, TJSC1 ;澆水初值減一
MOV 34H, #60
MOV 36H, 34H ;澆水初值閃動1次
tjsc1:MOV R0, #1
AJMP SSC
DJNZ R3, LP4
DJNZ R2, LP3
DJNZ R1, LP2 ;定時時間到?
lp6: SETB P2.0 ;P2.0 輸出高電平
MOV R4, 34H ;澆水延時
MOV 36H, R4
LCALL XIANSHI
LCALL YANSHI
LCALL YANSHI
DJNZ R4, LP6
CLR P2.0;P2.0為低電平,返回
AJMP LP1

xianshi: MOV B, #10 ;顯示子程序
MOV A, 36H ;顯示值轉換為BCD碼
DIV AB
SWAP A
ORL A, B ;取高4位
MOV 37H, A
ANL A, #0FH
ADD A, #0DH
MOVC A, @A+PC ;取段碼
MOV P0, A
MOV A, 37H
ANL A, #0F0H ;取低4位
SWAP A
ADD A, #03H
MOVC A, @A+PC ;取段碼
MOV P1, A
RET
DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H
DB 0F8H,80H,90H

YANSHI:MOV r5,#5 ;延時半秒子程序
l1: MOV R6, #200
l2: MOV R7, #250
l3: DJNZ R7, L3
DJNZ R6, L2
DJNZ R5, L1
CPL P2.6
CPL P2.7
RET
這樣就能編過了,不過程序跳得對不對我就不知道了,那要看你這個系統的時序,告訴我要求,幫你跳好

Ⅶ 51單片機程序編譯出現『Argument':conversion:pointer to non-pointer

是指針轉換錯誤吧,你傳遞的是漢字,要看LCD的驅動Write_lcd()是否支持處理漢字,一般LCD廠家提供的處理漢字和字元的驅動函數不一樣
Write_lcd(0,1,"液"); 傳遞給函數的是字元串的指針,但是函數原型Write_lcd(unsigned int x,unsigned int y,unsigned int word)定義的word是int 類型,也就是說Write_lcd()不支持指針和漢字。

Ⅷ 我的單片機C語言程序哪裡為什麼編譯不了

提示已經很明確了,編譯器認為第21行有錯。
這款編譯器採用的C標准並不是最新的,不支持變數的即時聲明。所以你需要把20行和21行換一下,確保所有變數都聲明之後,再開始書寫執行代碼。

Ⅸ 單片機在線調試的時候可以進行程序編譯嗎

必須先編譯,才能進行在線調試,調試過程中是不能同時編譯的。

Ⅹ 單片機程序是用哪種語言編譯的

你要看是哪種呀,我們一般的支持C和匯編,一般我們常見是都是這種。有少數的幾個支持C++。
你想知道多一點的話,找幾個論壇看看。
目前用於單片機開發的語言有:C,匯編,Basic,其他很少。
作為低級語言,匯編毫無疑問是最適合開發硬體的語言,因為利用生產單片機的廠家提供的指令系統和開發工具能開發出性能最佳的產品。
但是用匯編語言有個前提,你必須是非常熟悉指令系統,但目前來看達到這個程度的人少之又少,所以,一般人都直接採用高級語言開發單片機,這樣可以降低開發難度,減少軟體失誤造成的損失。
C語言移植性非常好,基本上所有單片機都有C語言介面,而一般人只要有C語言基礎就能很快上手,開發效率明顯高於用匯編語言。所以,如果你是初學者,建議你打好C語言基礎。
C++是C的超集,在一定環境下可以代替C語言。由於採用面向對象的設計方法,程序員可以集中精力於單片機的性能而不是單片機的指令流程。這里不是說C語言不如C++,而是說這兩種語言不是對立的關系,而是遞進的關系。你如果有過開發單片機系統的經驗的話,會有很深的感觸的。據我所知,AVR單片機的開發環境WINAVR支持C++語言。其他好像有Basic開發的,不過我沒用過,不太了解。

熱點內容
不用internet打開ftp 發布:2025-05-15 23:06:00 瀏覽:152
sql字元串取數字 發布:2025-05-15 22:57:45 瀏覽:123
推薦編程課 發布:2025-05-15 22:34:12 瀏覽:617
表拒絕訪問 發布:2025-05-15 22:29:37 瀏覽:978
電腦怎樣解壓文件 發布:2025-05-15 22:25:32 瀏覽:439
dns伺服器怎麼看 發布:2025-05-15 22:17:27 瀏覽:151
3dm的壓縮包 發布:2025-05-15 22:09:23 瀏覽:662
和存儲字長 發布:2025-05-15 21:54:09 瀏覽:515
用什麼寫c語言 發布:2025-05-15 21:35:56 瀏覽:418
linux讀取u盤 發布:2025-05-15 21:32:13 瀏覽:508