Sikuli X 1.0 RC2 更棒的介面,更多的功能!

最近我的E-mail頗熱鬧的,近十封來自Sikuli mailing list的信件擠在信箱開頭,提醒我點閱並閱讀他們。只是,太多了…
這是SikuliX 1.0 rc2 的介面,與以往不一樣的是,左邊的快速指令區有較完整的分類,讓使用者能更快速的找到需要的指令。

最近我的E-mail頗熱鬧的,近十封來自Sikuli mailing list的信件擠在信箱開頭,提醒我點閱並閱讀他們。只是,太多了…

這是SikuliX 1.0 rc2 的介面,與以往不一樣的是,左邊的快速指令區有較完整的分類,讓使用者能更快速的找到需要的指令。而當你開啟Sikuli的IDE之後,底下便會有兩個訊息,分別是圖片擷取的快速鍵: Ctrl+Shift+2 以及停止Sikuli程式的運作快速鍵: Alt+Shift+C,這功能可以讓你的程式發生無法預期的狀況時可以讓你手動關閉並停止。

另外,以往的Sikuli在運作時會有一個CMD的黑框存在,不過在新版本上已經不會出現這個黑框了!

Sikuli黑框

不過遺憾的是,開啟舊檔的方式在Windows上還是沒有變成一個包裹,所以開啟方式與另一篇文章一樣,在這裡就不重複說明了。

Sikuli開啟

說真的,Sikuli是很強大沒錯,強大到居然有工程師拿去玩星海爭霸…但不知為何,我總覺得他的執行速度很慢很慢,或許是我用小筆電執行的關係吧?

下載點請到Sikuli官方網站的首頁即可下載得到符合您電腦作業系統的版本,若顯示的並不是您作業系統的版本,請到Download頁面找找囉~

底下獻上影片一部。

單晶片,很高興見到你。

單晶片(Single Chip),又稱微控制器(Microcontroller,µC)是我一直在探索與研究的領域之一。我記得與他的初次見面是在國二的樣子,至於發現過程是如何…這我還得要想想,似乎是因為書本上提到這玩意的關係而使我去找尋與研究。
總之,這東西現在是我專研的領域之一,同時也是我學習組合語言的開始。
最初的我接觸到的單晶片是由Atmel所出產的 89C51 這顆IC,當時單價約50元,算是我那時接觸電子領域買過最昂貴的材料,而他的燒錄器也他X的貴(只能燒C51/52的要800),真是…坑人嘛!

單晶片(Single Chip),又稱微控制器(Microcontroller,µC)是我一直在探索與研究的領域之一。我記得與他的初次見面是在國二的樣子,至於發現過程是如何…這我還得要想想,似乎是因為書本上提到這玩意的關係而使我去找尋與研究。

總之,這東西現在是我專研的領域之一,同時也是我學習組合語言的開始。

最初的我接觸到的單晶片是由Atmel所出產的 89C51 這顆IC,當時單價約50元,算是我那時接觸電子領域買過最昂貴的材料,而他的燒錄器也他X的貴(只能燒C51/52的要800),真是…坑人嘛!

不過C系列的時代流行過好長一段時間後,就進入了S系列,也就是現在常見的 89S51/S52 ,而其燒錄方式改為成本較低廉ISP燒錄方式,只需要幾條線與一個軟體便可達成,同時,也因為燒路線少,所需零件相對的也少,DIY上也方便,很適合初入門的人學習用。

記得當時一直看到8051這四個數字,查詢後發現,原來8051是Intel於1981年生產販售的產品,其內含有:8051原始版圖片

  • 8 位元 CPU
  • 4KB 內部程式記憶體,最大可擴充至 64KB。
  • 128Bytes 內部資料記憶體,最大可擴充至 64KB。
  • 具有邏輯代數運算功能(位元邏輯)。
  • 4 組可位元定址的 I/O 埠〈P0、P1、P2、P3〉。
  • 2 組16位元計時/計數器〈T0、T1〉。
  • 5 個中斷源〈INT0、INT1、T0、T1、RXD、TXD〉。
  • 1 組全雙工串列埠〈UART〉。

 

與89C51、89S51的規格幾乎是一模一樣,只是燒錄方式與特性不同。不過Atmel生產的這些IC是從8051的圓形下去進行開發與改良,所以大家喜歡稱這些IC為8051,因為相容嘛!

接下來,先帶大家看看這顆擁有40隻腳的黑色蜈蚣IC的接腳功能。

  • VCC:接正電源5V。8051的能量來源
  • GND:接地。他的排泄口(誤)
  • PORT0:可做一般I/O使用,當作輸入或輸出時應在外部接提升電阻,外部記憶體擴充時,當作資料匯流排(D0~7)及位址匯流排(A0~7)。
  • PORT1:一般I/O使用,內部設有提升電阻。
  • PORT2:一般I/O使用,內部也有提升電阻,外部記憶體擴充時,當作位址匯流排(A8~15)使用。
  • RST:晶片重置信號輸入腳,只要輸入一高電位脈衝,大於2個機械週期,就可以完成重置動作。戳一下遊戲
  • ALE/PROG:接外部記憶體時,位址栓鎖致能輸出脈衝,利用此信號將位址栓鎖住,以便取得資料碼未接外部記憶體時,有1/6石英晶體的振盪頻率,可做為外部時脈在燒錄PROM時,此接腳也是燒錄脈波之輸入端。
  • PSEN:當作程式儲存致能外部程式記憶體之讀取脈波,在每個機械週期會動2次,外接ROM 時, 與ROM 的/OE 腳連接。
  • EA/VPP:接高電位時,讀取內部程式記憶體;接低電位時,讀取外部程式記憶體。欲燒錄內部EPROM 時,利用此腳接收21伏特之燒錄供應電壓。
  • XTAL1, XTAL2:接石英晶體振盪器,工作機械週期=石英晶體/12。他的手錶

看完以上超級多的文字後,我相信各位一定對這東西還是一知半解,這不用否認,因為我當初看完這些東西只是一臉疑惑…不過當時的我並沒有相當完整的電腦知識,所以RAM、ROM、KB、位元…這些東西我完全,不懂。哈哈哈哈哈!

稍稍解釋一下這幾個名詞好了。

RAM 即 Random-access memory 的縮寫,中文解釋是「隨機存取記憶體」,用來儲存資料用,這些資料是CPU在運行所需的東西,大部分是程式碼片段的機械語言以及運算過程中的暫存資料。

ROM 則是唯讀記憶體 (Read-only Memory),是存放程式碼的地方,也就是說,你寫的程式轉成機械碼之後所存放的地方,目前以EEPROM、Flash ROM為主流。

那麼,

單晶片能幹嘛? 能吃嗎?

單晶片是科技半導體的產物,簡單說就是一種奇怪的石頭(晶體),所以是不能吃的。

只是,當你會運用這種長相怪異、路邊撿不到的石頭的時候,他就有機會為你製造鈔票來讓你買東西吃。至於買來的東西好不好吃…我只能說,看個人喜好囉~

晶片大軍

其實,單晶片應用的範圍很廣,在你生活周遭就有單晶片的存在。離你最近的就是你現在正在用的這台電腦,它的內部就有數顆類似的晶片正在運作著,然後你手上握著的滑鼠,內部也有一顆單片,然後你正在敲打的鍵盤底下也有一顆,證據還不夠嗎? 那麼你身上的MP3 Player、房間的CD音響組、DVD撥放器、電視機…你生活周遭幾乎都有單晶片的影子存在,你說,這東西不能吃嗎? 只是吃法不同罷了。

之後因為技術的成熟與提升,單晶片不再是簡單的8位元的慢速晶片了,目前已有更快的16位元以及32位元的晶片問世,且其內的功能更加的強大!其中32位元的單晶片通常是用來做嵌入式系統,舉個最簡單也最常見的例子,就是你經常用的,手機。

如何? 是不是很驚人呢? 這樣的小東西居然創造了如此多的產品,不過最終的功臣並不是他,而是具有更高度智慧的人類,不然就算有這樣的東西,沒人去思考如何應用,它終究只是一塊石頭…

開發工具

本文參考資料: http://zh.wikipedia.org/wiki/8051

真的很高興遇見你,89C51。