8051程式記憶體
8050是一個8位元的單晶片,它有獨立最大64K的程式記憶體,當然,市售的805X族系晶片,程式記憶體大半在4K,8K,16K為主,和個人電腦以G為單位的記憶體相比,8051的記憶體算是很小了。
單晶片玩人 發表在 痞客邦 留言(0) 人氣(1,902)
在串列埠輸出資料
能夠在串列埠輸出文字,其實是很重要的一步,印象中當年微軟的DOS
作業系統,就有一個DEBUG
程式,讓使用者可以看到,目前記憶體的內容為何。現在8051
單晶片系統,作者嘗試作類似的努力,讓使用者可以看到8051
系統內的記憶體內容為何。得知記憶體內容,對8051
的學習,將帶來很大的幫助。單晶片玩人 發表在 痞客邦 留言(0) 人氣(84)
串列埠簡介和設定
串列埠一般簡稱RS232或UART介面,通常用於單晶片的資料傳輸之用。RS232規格至少是和8051一樣古老,因為技術上簡單,容易使用,即使時至今日,在單晶片的領域仍很重要。
單晶片玩人 發表在 痞客邦 留言(0) 人氣(202)
SDCC C51函式的回傳值
C語言的函式,在被呼叫時,可以將某種參數傳入函式使用,當函式執行結束,還可以回傳某種資料型態的數值。這是C語言最基本的用法。
#include "at89x52.h"
單晶片玩人 發表在 痞客邦 留言(0) 人氣(335)
SDCC C51函式的輸入參數
目前已可以在一個專案中,同時包括C和組合語言兩個源碼,進一步,希望能將C語言的輸入參數,可以用組合語言的方式來表現或傳遞,或者倒過來,可以利用組合語言,來呼叫C函式,並且將輸入參數,傳送到C函式之中。
單晶片玩人 發表在 痞客邦 留言(0) 人氣(397)
SDCC 函式的輸入參數
目前已可以在一個專案中,同時包括C和組合語言兩個源碼,還想進一步,希望能將C語言的輸入參數,可以用組合語言的方式來表現或傳遞,或者倒過來,可以利用組合語言,來呼叫C函式,必且將必要的參數,傳到C函式之中。
單晶片玩人 發表在 痞客邦 留言(0) 人氣(61)
SDCC C51的聯結功能
作者在開始學習SDCC C51時,是由sdas8051 assembler入手,SDCC這類自由軟體最大的缺點之一,是能找得到的參考資料很少,作者自認英文不差,嘗試在網路搜尋,也沒找到多少可用的文章,碰到問題只能K它們家的使用手冊(也很簡單),自己寫程式嘗試錯誤(TRY AND ERROR) 總之,一切靠自己,是典型的LIY(LEARN IT YOURSELF)。
單晶片玩人 發表在 痞客邦 留言(0) 人氣(539)
一個專案一個原始檔?
剛開始寫程式,常會參考網路的範例,或是學校教授上課,電腦書的例題,大半全部程式就是一個檔案。久了以後,大家也普遍認為一個專案,由一個程式全部完成,是一件很正常的事。
但如果把目光放遠,到網路下載一些開放源碼專案的原始檔(如SDCC這個C51編譯器),當會發現多數較具分量的專案,幾乎都是由多個原始檔案構成的。
單晶片玩人 發表在 痞客邦 留言(0) 人氣(426)
C51的首次出現
對於熟悉組合語言的工程師,第一次寫C51的程式,心中其實是有些不安的。比如組合語言有虛擬指令,像是 .ORG,可以用來告訴編譯器,程式碼要放在位址0,C語言沒有類似的虛擬指令,程式碼要放在何處,就是由C51編譯器決定。
#include "at89x52.h"
單晶片玩人 發表在 痞客邦 留言(0) 人氣(106)
不只是開關而已
初學者可能以為,只要不停的開和關LED,眼睛看到的自然是閃動的效果,所以只要寫成如上的程式即可。
_ledon:
SETB LED
CLR LED
LJMP _ledon
單晶片玩人 發表在 痞客邦 留言(0) 人氣(97)