痞酷網_PIGOO

 找回密碼
 立即註冊
!!! [系統偵測到廣告阻擋軟體] !!!

如果您覺得痞酷網對您有些許幫助,或者您認同痞酷網的理想,

那麼希望您將痞酷網設定為白名單.

並請在上論壇的時候,動動您的手指,用行動支持我們.

謝謝!
查看: 25919|回復: 199

AVR與STM8 學習心得

  [複製鏈接]
發表於 2014-4-9 15:38:26 | 顯示全部樓層 |閱讀模式
本帖最後由 ysc 於 2014-4-10 01:34 AM 編輯

長期以來因工作需要,使用過的單晶片與CPU大概10來種了,隨著年齡增長惰性也隨之增加,上一次學習單晶片已是10幾年前的HITACHI H8/300H系列,而如今HITACHI半導體已改組成為Renesas。

去年注意到arduino,很自然也會對所使用的AVR單晶片了解一下,果然比51進步非常多,接下來就一直K資料PDF檔,也已建立開發所需軟硬體,也將所需要的基本程式建立起來,如二進制十進制轉換、UART、LCD介面等。

正當著手要用AVR來更新某一產品的時候,在對岸論壇又發現蠻多人從AVR轉STM8,為了一探究竟又到ST下載PDF檔來看,也比對台灣網拍販賣AVR、STM8的狀況,這才了解比較晚出來的STM8的確有吸引人之處,在相同FLASH容量之下,STM8價格幾乎是AVR的一半之下。

這兩者內建週邊、EEPROM、FLASH ROM其實蠻類似的,也都是單週期指令執行,但CPU CORE不一樣,組合語言寫法與觀念完全不同,AVR強在工作暫存器多,STM8則是記憶體選址模式很強,指令也比較整齊一致,兩相比較之下個人比較喜歡STM8指令架構,透過STACK指標操作,即使用組合語言也很容易達到高階語言才有的區域、全域變數管理。

STM8工作暫存器雖然很少,但對內建RAM讀寫卻也都是單週期,也支援長、短位址長度,很多指令也可以不透過暫存器直接對RAM操作,所以RAM前256個BYTE可以當工作暫存器來用。

AVR我最無法接受的是沒有單一個bit反向的指令,即使讀入暫存器再處理,又會遇到無法與立即資料做Exclusive OR,為了將記憶體中一個旗號反向卻要寫好幾個指令才能完成。

可能是高階語言開發環境普及,這兩者都沒有加減法十進制調整指令,用組合語言時要自己寫副程式來調整,STM8更是連減法都不會影響半進位旗號,這又必須花些腦筋來克服。

STM8對於FLASH ROM與EEPROM寫入程序非常簡單,FLASH ROM跟EEPROM一樣都可以單一個BYTE寫入,不像某些單晶片必須整塊擦除,這種特性可以將FLASH拿來當EEPROM使用,差別只在於寫入次數而已。

8051對於初學者是很容易入手,但若是做進階使用就有較多的限制,相較之下AVR、STM8則是寬廣許多,對單晶片有興趣的網友不妨多了解一下。

STM8:
STM8.jpg


AVR:
AVR.jpg


評分

9

查看全部評分

發表於 2014-4-9 15:54:12 | 顯示全部樓層
YSC大:
    感謝分享經驗!!
    我比較在乎的是,用C 語言是否可以很快進入 STM8的應用!!
 樓主| 發表於 2014-4-9 16:06:25 | 顯示全部樓層
antlu 發表於 2014-4-9 03:54 PM static/image/common/back.gif
YSC大:
    感謝分享經驗!!
    我比較在乎的是,用C 語言是否可以很快進入 STM8的應用!!  ...

在STM8裡,C是標準用法,原廠STVD整合環境就可以用C寫程式,也可以寫組合語言。

發表於 2014-4-9 17:53:14 | 顯示全部樓層
感謝ysc兄分享,
就我所知,stm8又分stm8s0xx系列和stm8s1xx系列,
其內部核心都不是mcs-51系列了,
低價的是stm8s0xx系列,其內部flash寫入的次數較stm8s1系列少很多,
所以開發拿stm8s1xx系列,成品就是stm8s0xx系列了,
但不管是那個系列,都很便宜,
平均價人民幣二元!
專用的下載器簡易版的約25rmb,官方的ICE st-link約100rmb,
假如有作功課的話,新的mcu還可以使用usb uart來燒寫,
價格真的是打死AVR了!
但是,有個重點,沒有dip封裝的!

阿乾兄,你上次買的tssop20轉板,可以拿來用喔!
發表於 2014-4-9 18:26:11 | 顯示全部樓層
本帖最後由 antlu 於 2014-4-9 06:31 PM 編輯
fatzeros 發表於 2014-4-9 05:53 PM static/image/common/back.gif
感謝ysc兄分享,
就我所知,stm8又分stm8s0xx系列和stm8s1xx系列,
其內部核心都不是mcs-51系列了,


F大:
    既然您這麼關愛,就好人做到底,買一整套 STM8 來玩,STM8S0XX STM8S1XX 各來個20個,這樣做玩具就足夠完幾年了,要不要一起來玩啊!! 發起一下團購,請 YSC大建議還要準備哪些 "機私" 你看我最近 74HC595 轉接板焊的多漂亮,多四支腳沒有在怕的啦!! 敗一下 今年的預算 2000元應該夠用吧!!


糟糕!! 剛剛沒屋頂查了一下,STM 的系列多如牛毛,我需要 有 A/D的(不是全部啦!) 看樣子要好好琢磨一下,免得買錯了...
 樓主| 發表於 2014-4-9 18:37:22 | 顯示全部樓層
本帖最後由 ysc 於 2014-4-9 06:41 PM 編輯
fatzeros 發表於 2014-4-9 05:53 PM static/image/common/back.gif
感謝ysc兄分享,
就我所知,stm8又分stm8s0xx系列和stm8s1xx系列,
其內部核心都不是mcs-51系列了,


AVR、STM8族系都非常繁多,AVR我是從ATMEGA8A開始練習,STM8則是STM8S105K4T6,AVR有DIP包裝自己焊板子不難,STM8則都是SMD包裝,不過從網拍先買「開發板」、「最小系統板」也是很容易上手的。

發表於 2014-4-9 18:38:20 | 顯示全部樓層
antlu 發表於 2014-4-9 06:26 PM static/image/common/back.gif
F大:
    既然您這麼關愛,就好人做到底,買一整套 STM8 來玩,STM8S0XX STM8S1XX 各來個20個,這樣做玩具就 ...

ㄜ~~~~~~
這不是我的領域,但我還是有機會需要使用到
如果要團購的話,我贊助"安德魯"$1000-NT
 樓主| 發表於 2014-4-9 18:40:38 | 顯示全部樓層
本帖最後由 ysc 於 2014-4-9 10:39 PM 編輯
antlu 發表於 2014-4-9 06:26 PM static/image/common/back.gif
F大:
    既然您這麼關愛,就好人做到底,買一整套 STM8 來玩,STM8S0XX STM8S1XX 各來個20個,這樣做玩具就 ...


AVR、 STM8開發工具都很容易買也不貴,Atmel下載器您已有了就不說了,STM8則是ST-LINK V2,一個才200多元,除了下載還有線上模擬與除錯功能。

STVD軟體部份就從ST免費下載,整體而言沒花多少錢。

開發板與IC從露天拍賣以「STM8S105K4」來搜尋就可找出一堆,練習階段從STM8S105K4開始還蠻適合的。



發表於 2014-4-9 18:44:50 | 顯示全部樓層
本帖最後由 fatzeros 於 2014-4-9 06:46 PM 編輯

對了,台灣買是二倍價,要淘回來,才划算!
 樓主| 發表於 2014-4-9 18:52:49 | 顯示全部樓層
fatzeros 發表於 2014-4-9 06:44 PM static/image/common/back.gif
對了,台灣買是二倍價,要淘回來,才划算!

沒從滔寶購物經驗,練習階段幾顆就夠用了,從台灣買還OK。

f大對STM8有興趣,有心得別忘了多交流喔,看對岸年輕人還蠻拼的,大家要迎頭趕上啊!

發表於 2014-4-9 19:53:41 | 顯示全部樓層
ysc 發表於 2014-4-9 06:52 PM static/image/common/back.gif
沒從滔寶購物經驗,練習階段幾顆就夠用了,從台灣買還OK。

f大對STM8有興趣,有心得別忘了多交流喔,看 ...

我手頭上是有買了幾顆,但我還不太會玩,連8051也不太熟,
對MCU我目前還停留在讀書的階段,
不知道是不是可以跳過8051,直接學STM8?

目前,我看對岸的應用都是直接使用ARM架構的STM32,那才是大宗啊!
發表於 2014-4-9 20:17:32 | 顯示全部樓層
期待有更多會員炒熱這一塊喔!
發表於 2014-4-9 20:41:32 | 顯示全部樓層
據聞 STM8 核心是加強型 6502,
65 系列與 68 系列都是定址模式很強的 CPU,
寫組合語言容易寫出短小精悍的程式,
但用習慣換 CPU 會覺得綁手綁腳,
但現在用 C 的人沒差.
發表於 2014-4-9 20:43:38 | 顯示全部樓層
fatzeros 發表於 2014-4-9 07:53 PM static/image/common/back.gif
我手頭上是有買了幾顆,但我還不太會玩,連8051也不太熟,
對MCU我目前還停留在讀書的階段,
不知道是不 ...

大胖兄:

去玩"洛比"啦!!!.....

http://bbs.pigoo.com/thread-50569-1-1.html

這台的MCU是用......STM32F205RBT6
http://goods.ruten.com.tw/item/show?21306014853744

http://goods.ruten.com.tw/item/show?21402186656506
發表於 2014-4-9 20:44:12 | 顯示全部樓層
我要提告.

首謀 : ysc
幫兇 : fatzeros

罪名一 : 寫了一篇扇動人心的文章,引誘pigoo會員學習AVR與STM8
罪名二 : 誘拐小朋友離家出走

由於本來只有Wish大與烏骨雞學姐在誘拐小朋友,後來又有ciko大加入,還有arthur0518大做幫兇,想不到ysc大也加入,fatzeros大也敲鑼打鼓,好像來勢兇兇的樣子,各位Pigoo的朋友們要小心了,家裡的小朋友要顧好了,小朋友走失沒人要負責啊.

受不了誘惑者,將會產生一些後遺症,諸如:C語言功力提升,硬體功力大進,睡夢中還在唸c言 i=i+1,74hc595串接 74hc595,有老婆的老婆唸獨守空閨,有女朋友的可能女朋友會琵琶別抱,沒老婆的會減少鉤MM的時間,家裡有小朋友的夢中還會唸--爸比陪我玩.
發表於 2014-4-9 20:56:31 | 顯示全部樓層
看攏無~ 給版主拍拍手就對了
發表於 2014-4-9 21:04:43 | 顯示全部樓層
雄爸爸 發表於 2014-4-9 06:38 PM static/image/common/back.gif
ㄜ~~~~~~
這不是我的領域,但我還是有機會需要使用到
如果要團購的話,我贊助"安德魯"$1000-NT ...

雄爸:
   感謝給我這麼好的"字號" 安德魯!! 先不用急著贊助,你給的東西很多了!! 我當白老鼠就好!! 有新藥試驗成功再分給你!!
發表於 2014-4-9 21:16:06 | 顯示全部樓層
scottwang 發表於 2014-4-9 08:44 PM static/image/common/back.gif
我要提告.

首謀 : ysc

SCOTTWANG大:
   40歲以上指出一張嘴,我這國中第一屆的,不但力不從心,而且只會在旁邊"畫修(台語",意思是喊熱!,搖旗吶喊),X婆早就不理我了...
  反正最近幾位生力軍很熱心,... 我發現小朋友和大朋友(RMB)差粉多!! 以小搏大花點時間划得來啦!! 況且上次買的轉接板粉多,F大說可以用,那我就要好好的用...
  首謀 幫兇其實都很熱心啊!! 沒有按 讚 說不過去!!
發表於 2014-4-9 21:25:00 | 顯示全部樓層
fatzeros 發表於 2014-4-9 06:44 PM static/image/common/back.gif
對了,台灣買是二倍價,要淘回來,才划算!

F大:
  拼經濟!! 省錢大作戰!! 運費比零件貴! 大家集合一下買多不但有折扣,大家才會用心討論啊!! 要不要也買一些 JOJOLING大的電晶體測試器的MCU ATMeag328p 一方面可以DIY 電晶體測試器 JOJOLING 版,也可以當備品萬一一個不小心把 I/O燒了還可以"自救"...
發表於 2014-4-9 21:27:19 | 顯示全部樓層
arthur0518 發表於 2014-4-9 08:43 PM static/image/common/back.gif
大胖兄:

去玩"洛比"啦!!!.....

ARTHUR大:
   這勸敗勸的很兇喔!! 雖然F大每天在"數鈔票"....
發表於 2014-4-9 21:37:23 | 顯示全部樓層
antlu 發表於 2014-4-9 09:27 PM static/image/common/back.gif
ARTHUR大:
   這勸敗勸的很兇喔!! 雖然F大每天在"數鈔票"....

阿乾師傅:

大胖兄每天都碼是...."億來億去"A(台語)

這點小錢.....看不在眼裡啦!!!....
 樓主| 發表於 2014-4-9 21:38:19 | 顯示全部樓層
fatzeros 發表於 2014-4-9 07:53 PM static/image/common/back.gif
目前,我看對岸的應用都是直接使用ARM架構的STM32,那才是大宗啊! ...


沒錯,用STM32的也很多,但也有看到從STM32轉成STM8的網友,因為系統沒那麼大用8位元就很足夠了,至少成本比較低。

STM32與STM8只是CPU CORE不同,所內建的週邊是一樣的,STM32/STM8複雜的是內建週邊,把內建週邊搞清楚了,將來轉換STM32就容易多了。

發表於 2014-4-9 21:41:17 | 顯示全部樓層
本帖最後由 arthur0518 於 2014-4-10 08:56 AM 編輯
scottwang 發表於 2014-4-9 08:44 PM static/image/common/back.gif
我要提告.

首謀 : ysc


還有arthur0518大做幫兇......

冤旺啊!!!....大人......人不是我抬A!!!

老灰狼向來......只幫.......不幫兇
 樓主| 發表於 2014-4-9 21:43:26 | 顯示全部樓層
oldhan 發表於 2014-4-9 08:41 PM static/image/common/back.gif
據聞 STM8 核心是加強型 6502,
65 系列與 68 系列都是定址模式很強的 CPU,
寫組合語言容易寫出短小精悍的程 ...

是的,這也是吸引我的原因之一,因為出社會第一個工作就是寫6502組合語言軟體。

STM8 CPU core源自於6502,X,Y,SP指標暫存器有加長成16 bit,也加入一些16 bit運算,與乘、除法指令。

發表於 2014-4-9 21:47:36 | 顯示全部樓層
勸敗~勸敗~勸敗~

AVR直接從大容量,且有 JTAG介面的ATmega8下手~
 樓主| 發表於 2014-4-9 21:51:31 | 顯示全部樓層
本帖最後由 ysc 於 2014-4-9 10:43 PM 編輯
scottwang 發表於 2014-4-9 08:44 PM static/image/common/back.gif
我要提告.

首謀 : ysc


冤枉啊,我要抗告.......

ST-LINK V2 + STM8S105K4開發板只花420元就開始寫程式了,放假日都躲在家裡K PDF檔,也忙著測試程式,往外跑時間少了,與家人相聚時間多了,光省下的汽油錢都不知道是420元的幾倍了,所以提告無理由,駁回!

 樓主| 發表於 2014-4-9 22:01:52 | 顯示全部樓層
fatzeros 發表於 2014-4-9 07:53 PM static/image/common/back.gif
對MCU我目前還停留在讀書的階段,
不知道是不是可以跳過8051,直接學STM8? ...


有什麼不可以?沒人規定要先學會8051才能學STM8吧,又不是學校修學分,選工程數學要先修過微積分。

STM8與51 CPU core雖然完全不一樣,但差異最大的還是在於內建週邊,STM8內建週邊不是普通的複雜,加上ST在文件的功力上還是有待加強,文件內容真的不是很理想,這部份ATMEL是做得比較好。


 樓主| 發表於 2014-4-9 22:06:13 | 顯示全部樓層
本帖最後由 ysc 於 2014-4-9 10:44 PM 編輯
jojoling 發表於 2014-4-9 09:47 PM static/image/common/back.gif
勸敗~勸敗~勸敗~

AVR直接從大容量,且有 JTAG介面的ATmega8下手~


ATmega8現在都變成ATmega8A了,我就從這顆開始學習的,腳位跟ATmega328A相容,可以直接插在arduino UNO主板上做實習。

發表於 2014-4-9 22:17:10 | 顯示全部樓層
http://www.xinpian.net/ST/stm8s/STM8S105K4T6.html

下方有STM8S105K4T6中文資料
發表於 2014-4-9 22:26:08 | 顯示全部樓層
我說錯了~
請從 ATMega 8 bit 大容量並有JTAG介面來寫,因為有 JTAG介面可以買那個山寨 USBJTAG(便宜)來除錯~
這對初學者比較好~
example: 328p 只有 one-wire debug ,買one-wire debugger..比較貴~

PS:加減聽聽就好,因為我才剛玩AVR,說錯我不負責任 ^^
您需要登錄後才可以回帖 登錄 | 立即註冊

本版積分規則

關閉

站長小叮嚀上一條 /1 下一條

禁閉室|手機版|連繫我們|痞酷網電子技術論壇

GMT+8, 2024-4-28 12:19 PM , Processed in 0.101300 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.