|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
AVR系列最大的缺陷 |
| 作者:ny88 欄目:單片機(jī) |
AVR系列單片機(jī)最大的缺陷莫過于其對 IO寄存器的位操作上。 對其中某標(biāo)志位的操作用 寫1 來清除,這是這款微控制器的最大的弊病,再加上尋址能力限制的位操作指令。讓人用起來煩不勝煩。對一個IO寄存器的位操作一不小心就會影響這個寄存器的其它位(清除標(biāo)志位,因為可能會寫1)。 如果不是良好的開發(fā)環(huán)境,免費可制作的JTAG,如果不是GCC支持AVR,如果不是較好的堆棧操作便于應(yīng)用操作系統(tǒng)。我決不會用這款A(yù)D速度低而且基準(zhǔn)源超不準(zhǔn)(資料中2.56的實際上 能達(dá)到2.65)的垃圾。 所以我勸大家用AVR的時候不要用他的為操作指令。應(yīng)該用寄存器讀寫指令模擬完成位操作,如果可能還要配上開關(guān)中斷指令。我提到的這個問題,是AVR的硬傷,我想它不可能改變這種 寫1清零的 方式的。 |
| 2樓: | >>參與討論 |
| 作者: dadodo 于 2006/1/15 12:24:00 發(fā)布:
也許這樣做有他的理由 未做深層次研究,不好發(fā)表論點 另外,對基準(zhǔn)源要求是穩(wěn)定,而不是離中心點電壓有多接近 |
|
| 3樓: | >>參與討論 |
| 作者: javie 于 2006/1/15 13:07:00 發(fā)布:
位操作是有點麻煩 但還不至于到樓主所說的地步 不過,ADC確實是存在一些問題 |
|
| 4樓: | >>參與討論 |
| 作者: dadodo 于 2006/1/15 13:18:00 發(fā)布:
ADC存在什么問題? 我好象沒發(fā)現(xiàn),當(dāng)然速度上比不了專用ADC芯片 |
|
| 5樓: | >>參與討論 |
| 作者: javie 于 2006/1/15 13:25:00 發(fā)布:
電平基準(zhǔn)的問題 |
|
| 6樓: | >>參與討論 |
| 作者: coldra 于 2006/1/15 13:28:00 發(fā)布:
內(nèi)部基準(zhǔn)太差了 誤差可以高達(dá)0.1V,而且隨溫度還有漂移 |
|
| 7樓: | >>參與討論 |
| 作者: javie 于 2006/1/15 13:31:00 發(fā)布:
to coldra: 我沒好意思說的這么明確,被你一下就戳了一刀,呵呵 |
|
| 8樓: | >>參與討論 |
| 作者: coldra 于 2006/1/15 13:37:00 發(fā)布:
沒辦法,咱是客戶,對商家不能客氣 這是促其進(jìn)步的動力呀 |
|
| 9樓: | >>參與討論 |
| 作者: dadodo 于 2006/1/15 13:38:00 發(fā)布:
設(shè)計中要求不高時才用內(nèi)部基準(zhǔn) |
|
| 10樓: | >>參與討論 |
| 作者: javie 于 2006/1/15 13:39:00 發(fā)布:
呵呵,如果用外部基準(zhǔn)的話 那我還不如用ADC芯片算了 |
|
| 11樓: | >>參與討論 |
| 作者: coldra 于 2006/1/15 13:44:00 發(fā)布:
其實加一個簡單的外部基準(zhǔn)也可以 比如TL431,比另加ADC芯片方便些,反正是8 位的,本身就要求不高 |
|
| 12樓: | >>參與討論 |
| 作者: default 于 2006/1/15 16:35:00 發(fā)布:
沒錯,硬傷是多的。 真TMD的, 我覺得AVR不行。 I2C就I2C, 還搞TWI? 又多讓我記一個名詞,本來腦容量就有限。 燒寫配置不能搞在程序里也煩的。 送他兩個字, ‘太次’ |
|
| 13樓: | >>參與討論 |
| 作者: bg4alf 于 2006/1/15 18:55:00 發(fā)布:
是餓呀 明明很簡單的I/O口輸出控制,不知道比51煩了多少. |
|
| 14樓: | >>參與討論 |
| 作者: coldra 于 2006/1/15 19:01:00 發(fā)布:
別這么痛批 其實它的優(yōu)點還是有很多的,總的來說比51好多了,希望以后能改得更好 |
|
| 15樓: | >>參與討論 |
| 作者: bbear 于 2006/1/15 19:54:00 發(fā)布:
關(guān)于AVR寫1清中斷的原因, 關(guān)于AVR寫1清中斷的原因,請參考WINAVR附帶的AVR-LIBC中的FAQ24--Why are (many) interrupt flags cleared by writing a logical 1? 關(guān)于它的位操作的問題,你在開發(fā)中可以自己漫漫體會。//呵呵 關(guān)于它的ADC不作評論。 |
|
| 16樓: | >>參與討論 |
| 作者: tubie 于 2006/1/15 20:33:00 發(fā)布:
ADC我的問題是轉(zhuǎn)換結(jié)果不穩(wěn)定 用MEGA8和mega64都遇到了這個問題,對于同一個輸入電壓,連續(xù)采樣結(jié)果會有最大為5的誤差,就是5/1024的誤差,這個是不能接受的。我用示波器監(jiān)視過輸入,信號很穩(wěn)定,波動沒有那么大。 不過,不知道是否與我把CPU超頻使用有關(guān)(5V, Mega64L, 14M晶振)。使用的是外部的基準(zhǔn)源,用LM336-5V穩(wěn)壓的。 |
|
| 17樓: | >>參與討論 |
| 作者: AIRWILL 于 2006/1/15 22:01:00 發(fā)布:
燒寫配置不能搞在程序里,很煩。深有體會哪 |
|
| 18樓: | >>參與討論 |
| 作者: lwtlwt 于 2006/1/15 23:12:00 發(fā)布:
RE. 事物存在總有它的道理,不要因為用慣了51就拿51跟它比, 51與AVR根本不是一個檔次. 1,位操作: AVR中的位操作只需要一個周期就可以完成,不管是置位還是清零,因此,根本不需要象樓主所說的要關(guān)閉中斷,而標(biāo)準(zhǔn)的51需要12個周期.AVR的位操作在書寫格式上也很方便, 學(xué)習(xí)過其它CPU構(gòu)架的人就會體會這點,比如ARM, XSCALE, 都是采用這種方式控制位操作的,當(dāng)然,只學(xué)過51的人是不會體會到的 2,ADC的基準(zhǔn)源: 基準(zhǔn)源最主要的指標(biāo)是溫度飄移,而不是初始精度,AVR中的基準(zhǔn)源以及ADC, 是設(shè)計用來諸如電壓檢測等對精度要求不高的場合,我曾經(jīng)也將它用于觸摸屏控制,幾乎不花一分錢(只外加了一個CD4051)就實現(xiàn)了高可靠的,高精度的觸摸屏控制, 關(guān)鍵還在于你如何設(shè)計,如何利用軟件校準(zhǔn)誤差,并盡量在休眠下使用ADC,不是拿來就用,是要下一點小功夫的,多學(xué)點是有好處,其它CPU也有類似的情況,況且,AVR以如此低的價格(M8僅7元左右)提供了多通道的10位ADC和基準(zhǔn)源,還有什么好指責(zé)的? 3,關(guān)于IIC與TWI, 這個問題是這樣的, IIC總線是飛利普的專利,所有使用IIC總線技術(shù)的廠商都要交專利費,但很多公司自行開發(fā)了兼容于IIC的總線技術(shù),例如AVR中的TWI, 如果你見識足夠的話,還會在其它芯片的DATASHEET中看到類似的例子.其結(jié)果是,由于省去了專利費,芯片價格下來了,而且又能與IIC兼容, 最終受惠的是我們這些消費者, 4,關(guān)于熔絲設(shè)定: 這是為了器件保密,以及器件安全所需,仔細(xì)體會AVR關(guān)于熔絲位及保密位的設(shè)置初衷時,你就會佩服AVR的設(shè)計師,另外,在程序中修改熔絲位是可以的,仔細(xì)閱讀原文手冊, 不要過于浮燥 最后說一點:不要過于浮燥,不要把AVR設(shè)計師看得過于幼稚.AVR不是普通51所能比擬的,當(dāng)然,對使用者的要求也要高一些. * - 本貼最后修改時間:2006-1-15 23:13:51 修改者:lwtlwt |
|
| 19樓: | >>參與討論 |
| 作者: AVRx007 于 2006/1/15 23:18:00 發(fā)布:
樓上高見。 很多人是從學(xué)51開始的,以為51最正統(tǒng),誰知道 位 這個布爾操作是51自己擴(kuò)展的,而不是標(biāo)準(zhǔn)C的范圍內(nèi)。 ADC轉(zhuǎn)換結(jié)果不穩(wěn)定-----考慮使用降噪模式。 因為ADC跟數(shù)字電路一起封裝在硅片上,難免有所影響,特別是IO電流波動,手冊上有對應(yīng)的降噪方法 |
|
| 20樓: | >>參與討論 |
| 作者: computer00 于 2006/1/15 23:34:00 發(fā)布:
最近用了下codevision,那個位操作還是蠻方便的。跟51差不多。 |
|
| 21樓: | >>參與討論 |
| 作者: hotpower 于 2006/1/16 0:47:00 發(fā)布:
位操作的習(xí)慣(估計將來為惡習(xí))不知何時能被忽悠過來! |
|
| 22樓: | >>參與討論 |
| 作者: computer00 于 2006/1/16 0:51:00 發(fā)布:
位操作是個好東西啊,將來應(yīng)該大大發(fā)揚才對。 |
|
| 23樓: | >>參與討論 |
| 作者: javie 于 2006/1/16 12:45:00 發(fā)布:
熱電源又開始天天忽悠了 鄙視之。。。 |
|
| 24樓: | >>參與討論 |
| 作者: elelab 于 2006/1/16 14:34:00 發(fā)布:
51有布爾(協(xié))處理器 AVR的位操作只是簡單的置位或清位和測試轉(zhuǎn)移,沒有位邏輯運算指令 例如方波輸出,PORTD.7 = ~PORTD.7,cvavr是用16個時鐘的模擬指令實現(xiàn)的。期間如果允許中斷,方波的周期和對稱性就沒什么保證了。速度上、比用定時器慢4倍,如果有布爾(協(xié))處理器、肯定順手方便也快多了 AVR品種多了些、對廠方成本不利、對貨源穩(wěn)定也不利。其低端芯片性能價格比不錯,中、高端例如SAM7S32報價40~50元等,要普及還得降降、和ARM9拉開的明顯些 |
|
| 25樓: | >>參與討論 |
| 作者: AVRx007 于 2006/1/16 17:40:00 發(fā)布:
ATMEGA48/88/168等新型AVR有特殊的方法實現(xiàn)IO取反 就是對PINx進(jìn)行寫1操作,速度絕對快。 置零,置1,取反都實現(xiàn)了,這回51沒話說了。 每個端口都有三個I/O 存儲器地址: 數(shù)據(jù)寄存器 – PORTx、 數(shù)據(jù)方向寄存器 – DDRx 和端口輸入引腳– PINx。數(shù)據(jù)寄存器和數(shù)據(jù)方向寄存器為讀/ 寫寄存器,而端口輸入引腳為只讀寄存器。 但是需要特別注意的是,對PINx 寄存器的某一位寫入邏輯"1“ 將造成數(shù)據(jù)寄存器相應(yīng)位的數(shù)據(jù)發(fā)生"0“ 與“1“ 的交替變化。 使引腳電平交替變化 不論DDRxn 是什么內(nèi)容,向PINxn 寫邏輯"1" 就會使PORTxn 的值在“0“ 和"1“ 之間來 回變化。注意SBI 指令能夠用來改變端口的單個位。 * - 本貼最后修改時間:2006-1-17 15:26:34 修改者:AVRx007 |
|
| 26樓: | >>參與討論 |
| 作者: AIRWILL 于 2006/1/16 18:06:00 發(fā)布:
不要簡單地判斷好與不好 其實,只要對于應(yīng)用,能夠簡單而快捷完成所要求的動作. 那就是好的,應(yīng)該發(fā)揚哪 |
|
| 27樓: | >>參與討論 |
| 作者: jiuri 于 2006/1/16 21:05:00 發(fā)布:
可能樓主心太急了 AVR應(yīng)該比51好很多吧,不然生產(chǎn)廠家能買得出去呀...基本的生存原理嘛 |
|
| 28樓: | >>參與討論 |
| 作者: gongavr 于 2006/1/16 22:04:00 發(fā)布:
我覺得只有一個不好的地方 速度夠快了.可是RAM太少了.反而在有的地方還不如51. |
|
| 29樓: | >>參與討論 |
| 作者: kanprin 于 2006/1/16 23:09:00 發(fā)布:
其實AVR用起來相當(dāng)爽。 速度快,價格低。 不能要求太高了。 |
|
| 30樓: | >>參與討論 |
| 作者: AVRx007 于 2006/1/16 23:43:00 發(fā)布:
to gongavr:你不是在說笑吧? AVR的max 4KB 內(nèi)部RAM 居然比 51的內(nèi)部128/256B RAM還少? M8/M16都是1KB 內(nèi)部RAM的。 M8515/M162/M64/M128都可以外擴(kuò)64K RAM. |
|
| 31樓: | >>參與討論 |
| 作者: 汽車電子 于 2006/1/17 0:03:00 發(fā)布:
用的不熟練就別瞎扯淡 AVR比51好用多了,比51的性價比要高 |
|
| 32樓: | >>參與討論 |
| 作者: hotpower 于 2006/1/17 0:09:00 發(fā)布:
支持汽車人!在MCU低中端盡量用AVR 從現(xiàn)在起,全面放棄51,PIC等... 個人意見... |
|
| 33樓: | >>參與討論 |
| 作者: computer00 于 2006/1/17 0:13:00 發(fā)布:
我決定做AVR菜鳥了~~~~~~~~~~~~~~ 有空把數(shù)據(jù)手冊啃一遍。 |
|
| 34樓: | >>參與討論 |
| 作者: hotpower 于 2006/1/17 0:23:00 發(fā)布:
有空一定搞個GCCAVR之C++的"寫真集",讓AVR更酷一把
|
|
| 35樓: | >>參與討論 |
| 作者: coldra 于 2006/1/17 0:23:00 發(fā)布:
熱電源這么絕 我最喜歡用AVR,但也不放棄其它 |
|
| 36樓: | >>參與討論 |
| 作者: computer00 于 2006/1/17 0:24:00 發(fā)布:
好的,看你用GCC & C++那么爽,我都快流口水了 可苦于最近事情又比較多,我這人又比較偷懶(每天就搞那么幾個小時,其它時間——玩),所以總是停滯不前,哎,慚愧。。。 |
|
| 37樓: | >>參與討論 |
| 作者: hotpower 于 2006/1/17 0:25:00 發(fā)布:
不是放棄而是進(jìn)取---在目前形勢下 |
|
| 38樓: | >>參與討論 |
| 作者: su_mj000 于 2006/1/17 8:08:00 發(fā)布:
就事說事 所謂"AVR系列單片機(jī)最大的缺陷莫過于其對 IO寄存器的位操作上",其實 并不象樓主所述的那么嚴(yán)重.AVR有專門的CBI和SBI位操作指令,也有位 判別指令.所缺的只是直接的位傳送指令.其實大部分MCU都是如此. 且記,AVR屬于RISC結(jié)構(gòu),旨在用較小地指令集(即較簡單的譯碼電路)換取 較高的指令運行速度. 反觀51系列,其缺點也是明顯的.不說復(fù)雜的方面,單說'沒有真正的上拉驅(qū) 動'這一點,就令人搖頭了. |
|
| 39樓: | >>參與討論 |
| 作者: computer00 于 2006/1/17 9:33:00 發(fā)布:
現(xiàn)在的增強型51,也有單指令周期的,用起來感覺也蠻不錯, 資源也蠻豐富(ADC、DAC、大RAM、大FLASH等)就是價格貴了點。。。。 |
|
| 40樓: | >>參與討論 |
| 作者: 機(jī)靈小老鼠 于 2006/1/17 10:55:00 發(fā)布:
AVR的性價比還是很高的,尤其速度,不是51可比的! |
|
| 41樓: | >>參與討論 |
| 作者: default 于 2006/1/17 12:49:00 發(fā)布:
嘿,不想遷就我們,那就要瞎求轉(zhuǎn)了 總的原則,不能讓我們整天圍著AVR吧. 我們應(yīng)圍著應(yīng)用轉(zhuǎn). 一大把一大把的時間放在單片機(jī)的技巧上嗎? 用了這么多單片機(jī), 反說架構(gòu)應(yīng)MSP430、ARM應(yīng)是最完美了。 當(dāng)然,AVR是片上系統(tǒng)上還是有可取的地方. 一點原則,要遷就我們。 |
|
| 42樓: | >>參與討論 |
| 作者: elelab 于 2006/1/17 13:28:00 發(fā)布:
用AVRx007的辦法,速度提高一倍 cvavr把PORTB.0 = 1編譯成TINY13的SBI和RJMP兩條2時鐘指令,一個周期8個時鐘,比MEGA16、快了一倍 覺得單片機(jī),AVR玩起來省事。入門時就是雙龍那個80元錢的套件,一個下載線一本書5個樣片,書都沒看完、項目做完還剩三個片子,客戶裝機(jī)一片、存檔一片,5臺機(jī)組發(fā)電量實時顯示,也沒覺得抗干擾有什么問題 |
|
| 43樓: | >>參與討論 |
| 作者: powerpan 于 2006/1/17 17:50:00 發(fā)布:
AVR的ADC的確很有問題 不過不是精度的問題,而是參考電壓源的問題。我使用ADC精度可以達(dá)到datasheet謝的+/-2 LSB,低噪模式和普通模式相差至少觀察不出來什么區(qū)別,關(guān)鍵是電路設(shè)計,特別是地線走線 廠家避而不答,也不承認(rèn),TINY13的啟動有問題。 不過話說回來,我沒有見過哪個公司的芯片沒有bug的,特別是用細(xì)了,根本Datasheet里面不會寫的 * - 本貼最后修改時間:2006-1-17 18:02:21 修改者:powerpan |
|
| 44樓: | >>參與討論 |
| 作者: zhouyh 于 2006/1/17 18:11:00 發(fā)布:
不要連芯片如何使用還沒弄懂就調(diào)芯片的設(shè)計毛病這樣很幼稚 |
|
| 45樓: | >>參與討論 |
| 作者: elelab 于 2006/1/17 19:17:00 發(fā)布:
MEGA8的內(nèi)部參考最大誤差約10%(2.80-2.56) 不校準(zhǔn)、8位精度都沒保證 使用TL431那樣的外部可調(diào)參考源簡單些,10位轉(zhuǎn)換調(diào)到1.024V輸出,轉(zhuǎn)換結(jié)果直讀 這個內(nèi)部參考源可能屬于未經(jīng)激光修正的那種,不能過于依賴 |
|
| 46樓: | >>參與討論 |
| 作者: hotpower 于 2006/1/17 19:39:00 發(fā)布:
忽悠了---我暈到~~~10%我早回家賣臭豆腐了 |
|
| 47樓: | >>參與討論 |
| 作者: ywhbn 于 2006/1/17 21:53:00 發(fā)布:
同意 lwtlwt 我想這里能和A先生和V先生相提并論的應(yīng)該沒幾個人吧。 因此,即使是認(rèn)為AVR有什么“弊病”,也還是低調(diào)點發(fā)言比較好。 |
|
| 48樓: | >>參與討論 |
| 作者: elelab 于 2006/1/17 22:39:00 發(fā)布:
hotpower啊 手冊那樣說的,最大誤差(2.80-2.56)/2.56,9.0375%,約、10%,呵呵,當(dāng)然這是最壞情況,運氣再差都不容易碰上的 就是1%,對10位AD也還大,通道校準(zhǔn)定標(biāo)例行還要做,如果前邊有運放更是得做了 這樣的參考源,幸好沒說是基準(zhǔn)源,不用忽悠都夠暈的了 我正好要用這個玩意接觸摸屏,倒真想知道如果基準(zhǔn)沒問題、究竟能得到幾位精度 |
|
| 49樓: | >>參與討論 |
| 作者: ny88 于 2006/1/18 10:22:00 發(fā)布:
--- 1. 基準(zhǔn)源初始電壓波動很大,這個東西就有點雞肋的嫌疑。 2. 中斷標(biāo)志不能有軟件置位,靈活性降低。如果可以有軟件置位,就可彌補沒有軟中斷的缺點。軟中斷對操作系統(tǒng)的應(yīng)用有好處。 3. AVR的sbi,cbi,sbic,sbis被限制在低32個IO寄存器。如果地址超過32的IO寄存器,用一條指令如何解決?用多條指令的話,中斷最好還是關(guān)上。 4. in 和 out這樣的指令不能對其它位進(jìn)行屏蔽。這對于既有寫1清零的也有寫0清零的的IO地址高于32的寄存器來說,是非常不方便的。 例如TWI模塊中的TWCR中的7位TWINT中斷標(biāo)志位、6位TWEA、0位TWIE。如果中斷來了TWINT置位,在后兩位(6、0)保持不變的情況下如何用一條指令清除這個TWINT標(biāo)志位呢? 4.對于指令系統(tǒng)我還是喜歡像430這樣的指令。它的指令對存儲器的操作簡單而完備。ARM的也不錯尤其是指令中的條件碼和三操作數(shù)的應(yīng)用。51的也不錯因為當(dāng)初就不是為C語言和操作系統(tǒng)設(shè)計的,CIP51核也能有用一個時鐘完成的一條指令。簡單而完備的指令系統(tǒng)才是最美的。AVR指令中的特例和限制太多。 經(jīng)過時間磨練的東西一般是好東西,像51。AVR還需要繼續(xù)提高,或者說開始就有問題,就沒有想周全。 |
|
| 50樓: | >>參與討論 |
| 作者: AVRx007 于 2006/1/18 11:00:00 發(fā)布:
elelab 觸摸屏? 跟基準(zhǔn)無關(guān) 觸摸屏是看比例的,跟基準(zhǔn)無關(guān)啊。 |
|
| 51樓: | >>參與討論 |
| 作者: AVRx007 于 2006/1/18 11:09:00 發(fā)布:
ny88 請享受C的樂趣。 1. 穩(wěn)定度還可以,用戶也可以外接基準(zhǔn)源。 基于低功耗原因,基準(zhǔn)源的準(zhǔn)確度很難做好。 3. C 4. 這對于既有寫1清零的也有寫0清零的的IO地址高于32的寄存器來說,是非常不方便的。 對于這個應(yīng)用,好像51也不能一條指令來完成? TWCR的應(yīng)用可以參考官方例程,你的理解有問題。 4.C |
|
| 52樓: | >>參與討論 |
| 作者: ny88 于 2006/1/18 12:00:00 發(fā)布:
:) 對,我一直用C,不過C也是用匯編翻譯過來的。 |
|
| 53樓: | >>參與討論 |
| 作者: elelab 于 2006/1/18 17:45:00 發(fā)布:
To AVRx007: 說得對 接一個可調(diào)基準(zhǔn)源,直讀坐標(biāo)值也是一種辦法 比例好像就是除法運算,對MEGA8是個子程序,TL431、當(dāng)除法(協(xié))處理器用吧 |
|
| 54樓: | >>參與討論 |
| 作者: wenzhigang 于 2006/1/19 22:53:00 發(fā)布:
同意lwtlwt的說法 |
|
| 55樓: | >>參與討論 |
| 作者: mxh0506 于 2006/1/20 12:49:00 發(fā)布:
支持lwtlwt的見解 另外再補充幾點: AVR的I/O口設(shè)計也是普通51不能比的.除了能明確設(shè)定輸入/輸出/有無上拉之外,Ioh/Iol可達(dá)數(shù)十mA,而一般51在Ioh=60uA時Voh就要下降1V多了. AVR的ADC也并非一無是處,室溫下做到+/-1LSB挺容易的 |
|
| 56樓: | >>參與討論 |
| 作者: huangms878 于 2006/1/20 16:16:00 發(fā)布:
AVR 好 本人常用51系列也常用AVR芯片,不同的應(yīng)用場合不同用法,總的說在性價比上 AVR占優(yōu),也非常好用,反對派可能對AVR芯片不熟悉 |
|
| 57樓: | >>參與討論 |
| 作者: tslids 于 2006/1/21 15:14:00 發(fā)布:
準(zhǔn)備用AVR關(guān)注中! |
|
| 58樓: | >>參與討論 |
| 作者: 012334617 于 2006/1/21 15:43:00 發(fā)布:
位操作可用cvavr,特殊寄存器設(shè)定用........... 位操作可用cvavr,特殊寄存器設(shè)定用它自帶的program generator直接生成,i/o設(shè)置可省去外部上拉電阻,其實avr很不錯~~~~~。(+v+) |
|
| 59樓: | >>參與討論 |
| 作者: 汽車電子 于 2006/1/22 0:56:00 發(fā)布:
不明白,為什么很多人老是揪住“位操作不方便”不放 AVR中用 與 或 進(jìn)行位操作 也比 51的位操作指令要快哦 |
|
| 60樓: | >>參與討論 |
| 作者: athlon64fx 于 2006/1/22 1:09:00 發(fā)布:
位操作不方便,是什么意思? 位操作能實現(xiàn)嗎? 沒問題. 速度慢嗎? 不慢. 還有什么叫不方便? 有點莫名其妙. |
|
| 61樓: | >>參與討論 |
| 作者: AVRx007 于 2006/1/22 8:58:00 發(fā)布:
觀念問題。 要改。 學(xué)校都是用51教學(xué)的。 很多人還在考慮如何用MCU連接 8155/8255 呢? |
|
| 62樓: | >>參與討論 |
| 作者: elelab 于 2006/1/22 11:55:00 發(fā)布:
呵呵,用51當(dāng)主控、用AVR當(dāng)外設(shè) |
|
| 63樓: | >>參與討論 |
| 作者: AIRWILL 于 2006/1/23 18:34:00 發(fā)布:
用51當(dāng)主控、用AVR當(dāng)外設(shè) 看來 elelab 和我是跑一條道的 |
|
| 64樓: | >>參與討論 |
| 作者: elelab 于 2006/1/23 23:24:00 發(fā)布:
51、30多歲了吧,它不當(dāng)主控誰當(dāng)啊 |
|
| 65樓: | >>參與討論 |
| 作者: 南方的老樹 于 2006/1/24 0:30:00 發(fā)布:
8031是INTEL在80年出生的 國內(nèi)大規(guī)模使用應(yīng)該是85年之后開始 * - 本貼最后修改時間:2006-1-24 0:33:41 修改者:南方的老樹 |
|
| 66樓: | >>參與討論 |
| 作者: hotpower 于 2006/1/24 1:04:00 發(fā)布:
記得那時侯我玩Z80很賣勁 只要給代碼立刻說出指令,給出指令立刻說出代碼. 當(dāng)然Z80的指令集太矩陣化了. 不過51的也很好積,不過比Z80的要難點... 現(xiàn)在好了...那時Z80單板機(jī)不背是不行的. 82年左右有段時間8048用的很多,85年左右國內(nèi)開始了8031熱至今一發(fā)不可收拾. 個人認(rèn)為它收拾Z80最大的優(yōu)勢就是"單片"而不是"單板"需要74LS04搭建振蕩器,還要擴(kuò)PIO,CTC,SIO等,8255,8155,8279等這些"巨獸"可是那個時代的杰作呀. 雖然8031需要外擴(kuò)273/373/573做地址鎖存器,但它確實節(jié)約了8個管腳而能訪問64KB的空間. 它最成功的可能就是人們現(xiàn)在也改變不了習(xí)慣的"位操作",并以此作為衡量其他MCU"好用的標(biāo)準(zhǔn)". 再就是它那"美麗的準(zhǔn)雙向IO",雖然"射程不遠(yuǎn)",但確能與幾乎所有的IO對接. 51不敗自有它的道理,因為它確實很偉大.雖然本人已經(jīng)請他老人家"退居二線"了,但我想10年恐怕還要被人們返聘. 它真是一架B-52... |
|
| 67樓: | >>參與討論 |
| 作者: 南方的老樹 于 2006/1/24 1:23:00 發(fā)布:
申請給hotpower加酷 直到90年代初期俺畢業(yè)呆的那個研究所還有人在Z80的單板機(jī)上干活,并專門上門討論Z80與51孰優(yōu)孰劣... |
|
| 68樓: | >>參與討論 |
| 作者: elelab 于 2006/1/24 13:03:00 發(fā)布:
北工大TP-801加清華周明德先生的教程,z80就那樣統(tǒng)一了大陸 后來如前樓所說,51是第一個單片概念機(jī)。再后來ATMEL用FLASH技術(shù)換了INTEL的51內(nèi)核又推51了一把,51那個布爾處理器、剛忘掉又想起,這樣的片子也難怪長壽 AVR后起之秀,資源的豐富多樣導(dǎo)致入門門檻相對高些,屬于開始不用、用了不換那種片型。成本壓力太大干脆找義隆,性能壓力太大上ARM,再不行了上PC,好象現(xiàn)在是這樣了 |
|
| 69樓: | >>參與討論 |
| 作者: hujian0522 于 2006/1/24 13:59:00 發(fā)布:
現(xiàn)今單片機(jī)的種類很多! 現(xiàn)今單片機(jī)的種類很多!都各有其利弊,我想我們應(yīng)該“對癥下藥”。 |
|
| 70樓: | >>參與討論 |
| 作者: AIRWILL 于 2006/1/24 14:03:00 發(fā)布:
按 elelab 說,那moto和pic沒有上場機(jī)會啦? 事實上, moto 的HC08 HC12 和 pic 的量也還是很大的. 而51和avr 卻只能算是它們的補充,因為前者似乎不太注意小批量的零散市場. |
|
| 71樓: | >>參與討論 |
| 作者: elelab 于 2006/1/24 21:10:00 發(fā)布:
樓上說得是 至少我碰到的二手引進(jìn)設(shè)備全是moto的,所以對51比較偏見態(tài)度 PIC的出貨量很大,型號多到都象定制的似的、方便優(yōu)化成本。只試過6PIN的FLASH型號、沒做過具體應(yīng)用不敢多說 |
|
| 72樓: | >>參與討論 |
| 作者: shaozh 于 2006/1/25 14:16:00 發(fā)布:
看你用什么編譯器了,cvavr就帶位操作 看你用什么編譯器了,cvavr就帶位操作,如:#define BUZZ PORTD.7 BUZZ=1; BUZZ=0; |
|
| 73樓: | >>參與討論 |
| 作者: AIRWILL 于 2006/1/25 16:00:00 發(fā)布:
位操作不是編譯器的問題 而是指令系統(tǒng)的問題哪 |
|
| 74樓: | >>參與討論 |
| 作者: e8098 于 2006/2/4 10:52:00 發(fā)布:
HOHO,AVR速度快,資源多 與51相比,AVR的資源非常豐富了,片內(nèi)FLASH也很大。因此AVR如果用匯編的話要比C差很多。而用C的話又不必關(guān)心位操作的具體執(zhí)行方式了。lwtlwt兄說得很對啊 |
|
| 75樓: | >>參與討論 |
| 作者: ny88 于 2006/2/4 14:26:00 發(fā)布:
fainting |
|
| 76樓: | >>參與討論 |
| 作者: sdqdhx 于 2006/2/9 18:08:00 發(fā)布:
大家用的是C還是匯編? |
|
| 77樓: | >>參與討論 |
| 作者: NE5532 于 2006/2/9 18:55:00 發(fā)布:
AVR總的來說還可以 關(guān)鍵是ATMEL,不像MAXIM、NATIONAL之類給人以踏實的感覺。AVR的型號頻繁停產(chǎn)、更換,特別是AT90S8515出現(xiàn)的錯誤簡直不能容忍,F(xiàn)在的MEGA要好多了。 |
|
| 78樓: | >>參與討論 |
| 作者: jinguanxin 于 2006/2/12 15:29:00 發(fā)布:
其實你用的不多,用多了你會發(fā)現(xiàn)是自己的誤解 |
|
| 79樓: | >>參與討論 |
| 作者: qjy_dali 于 2006/2/12 17:40:00 發(fā)布:
一個位操作不能說是AVR的最大缺陷 |
|
| 80樓: | >>參與討論 |
| 作者: 19wangbo82 于 2006/2/12 20:20:00 發(fā)布:
挺好用的嗎。 |
|
| 81樓: | >>參與討論 |
| 作者: dengzhenli 于 2006/3/20 17:44:00 發(fā)布:
其實51系列已經(jīng)是很好的了 |
|
| 82樓: | >>參與討論 |
| 作者: BitFu 于 2006/3/20 18:08:00 發(fā)布:
用C吧,AVR也建議使用C語言 那樣就不存在位操作的問題了。 |
|
| 83樓: | >>參與討論 |
| 作者: louguofa 于 2006/3/23 22:04:00 發(fā)布:
同意lwtlwt 我用過DSP,51和AVR都剛開始用,相對來講,感覺51是垃圾(個人觀點)。 |
|
| 84樓: | >>參與討論 |
| 作者: hotpower 于 2006/3/23 22:07:00 發(fā)布:
哈哈... |
|
| 85樓: | >>參與討論 |
| 作者: elecier 于 2006/3/24 10:40:00 發(fā)布:
FLASH相對有點小 像M8,M16這么強勁的片子,可以完成好多事情,要是FLASH再大些就不用選更高端的了 |
|
| 86樓: | >>參與討論 |
| 作者: AVRx007 于 2006/3/24 18:50:00 發(fā)布:
elecier,還有M32/M64/M128/M256的. elecier,還有M32/M64/M128/M256的. 不過要是更高端的,還是小ARM7好。 |
|
| 87樓: | >>參與討論 |
| 作者: AIRWILL 于 2006/3/24 23:13:00 發(fā)布:
這一貼這么熱啊 |
|
| 88樓: | >>參與討論 |
| 作者: jouden 于 2006/3/25 17:45:00 發(fā)布:
其實MEGA128還有個缺陷,掛FLASH時的問題 MEGA128本身帶了4K BYTES的內(nèi)存,如果在上面掛FLASH就知道好Q煩。 他不像許多其他代了內(nèi)存的CPU一樣,當(dāng)使用了內(nèi)部的內(nèi)存后還能在外部同樣的地址空間接其他存儲器,并通過內(nèi)部的控制位來控制使用哪個存儲器。也就是,不能做到兩個部分存儲器同時使用。 按照DATASHEET的方法也可以讀,但前4K地址空間的讀寫速度無法配置,如果掛接了FLASH又想使用片載的內(nèi)存時,FLASH擦除等操作時過快,命令地址在前4K空間里邊的扇區(qū)都不能用,好鬼煩,浪費一半。 |
|
| 89樓: | >>參與討論 |
| 作者: laidaihua 于 2006/3/25 19:46:00 發(fā)布:
我來說幾句…… 1. 非常不贊同“比如ARM, XSCALE, 都是采用這種方式控制位操作的,當(dāng)然,只學(xué)過51的人是不會體會到的”這一說法。在我看來,51、AVR、ARM各有利弊,所以把它們攪在一起說孰優(yōu)孰劣是很愚蠢的,由市場來說話才是最站得住腳的,畢竟,在經(jīng)濟(jì)市場上,才是真正的物競天擇。何況,樓主的意思是指出AVR的一些不足之處,并且這也確實是其不足,沒必要拿別的系列的一些缺陷來證明這個缺陷比別的某些系列略強一點(盡管對于是否略強一點我都表示懷疑),而認(rèn)為這是優(yōu)點。。 2. “基準(zhǔn)源最主要的指標(biāo)是溫度飄移,而不是初始精度”——此言差矣,眾所周知,基準(zhǔn)源的最主要功能是提供電壓“基準(zhǔn)”。何謂“基準(zhǔn)”,相信受過基本教育的人沒有誰會不明白,那么,說溫漂(請注意漂字應(yīng)該怎么寫的)是其最主要指標(biāo)實在是太過牽強。。但我這么指正一下,并不表示我認(rèn)同樓主關(guān)于AVR內(nèi)置基準(zhǔn)和ADC的評論,畢竟,人家的芯片確實是便宜啊,你要性能好,當(dāng)然就只能是額外付出一些了,要么用外置基準(zhǔn),要么換芯片。畢竟,在這一點上AVR系列是在價格和性能上進(jìn)行折衷的結(jié)果。。 |
|
| 90樓: | >>參與討論 |
| 作者: web110 于 2006/3/25 22:31:00 發(fā)布:
基準(zhǔn)電壓源的選擇 基準(zhǔn)電壓源的選擇: 1,如果系統(tǒng)不校準(zhǔn),那么初始精度很重要 2,如果系統(tǒng)校準(zhǔn),初始精度就不那么重要了, 重要的而是溫漂以及穩(wěn)定性(這個名詞忘了, 意思既是:隨著時間的推移,基準(zhǔn)會漂的。 一般用PPM/SQRT(Y)表示,有的片子在 初始1000個小時內(nèi)會有100PPM,不得了。 |
|
| 91樓: | >>參與討論 |
| 作者: 小魚兒 于 2006/3/26 2:13:00 發(fā)布:
編個除法程序 編個除法程序,看看51快,還是AVR快。 |
|
| 92樓: | >>參與討論 |
| 作者: yulye 于 2006/3/29 21:35:00 發(fā)布:
回帖表示想多了解 |
|
| 93樓: | >>參與討論 |
| 作者: 我影我子 于 2006/3/30 10:03:00 發(fā)布:
最大的缺點 程序空間太小了。 |
|
| 94樓: | >>參與討論 |
| 作者: wangshujun 于 2006/3/30 23:12:00 發(fā)布:
io寄存器復(fù)雜時確實,但是帶來的好處是51遠(yuǎn)遠(yuǎn)達(dá)不到的 1、io上拉可選,51不可選,對于很多場合來說要便利很多 2、方向控制,帶來的好處是可以輸出強高電平,使得功率元件的驅(qū)動變得靈活很多,配合方向控制和上拉模式選擇可以向下兼容51的操作模式。 這種模式的io配置在新的處理器當(dāng)中非常常見,而51的模式基本被淘汰。感覺樓主是在拿著優(yōu)點當(dāng)缺點說。 |
|
| 95樓: | >>參與討論 |
| 作者: hotpower 于 2006/3/30 23:16:00 發(fā)布:
AVR的IO優(yōu)勢很大,比一般的ARM要上拉好得多 |
|
| 96樓: | >>參與討論 |
| 作者: AVRx007 于 2006/3/30 23:24:00 發(fā)布:
我影我子是按什么標(biāo)準(zhǔn)來衡量8位機(jī)的? 如果連AVR現(xiàn)時最大的256KB還嫌小的話,8位機(jī)要多大的程序空間才夠呢? |
|
| 97樓: | >>參與討論 |
| 作者: CUB_WOLF 于 2006/3/31 13:35:00 發(fā)布:
動輒說xxxx是個大bug,大問題之前,首先看看自己是否搞明白了 |
|
| 98樓: | >>參與討論 |
| 作者: qzwfeng 于 2006/4/6 18:53:00 發(fā)布:
呵呵,我倒是越用越順手了 同意lwtlwt的看法, 51與AVR根本不是一個檔次!關(guān)鍵是用的人怎么去學(xué)會用,而不是不知道怎么用就懷疑它的設(shè)計 |
|
| 99樓: | >>參與討論 |
| 作者: tsb0574 于 2006/4/6 22:43:00 發(fā)布:
在這里使用是方便了,以后移植就頭大了! |
|
| 100樓: | >>參與討論 |
| 作者: junson 于 2006/4/6 23:06:00 發(fā)布:
請問為什么沒有Make.EXE文件 我最近下載了一WinAVR-20060125-install可我用了后總是出現(xiàn) > "make.exe" all > Failed to create PROCESS: 系統(tǒng)找不到指定的文件。 > PROCESS Exit Code: 0 > Time Taken: 00:00 后來我在TOOLS>options 中看不到MAKE.EXE文件。不知道是不是這原因。 可是我重新打開一個 Plain TEXT窗口再看TOOLS> options又有make.exe文件。 這是為什么?請問誰知道此問題? |
|
|
|
| 免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |