8051單片機的常見(jiàn)問(wèn)題
1、MCS8051是什么東西?
本文引用地址:http://dyxdggzs.com/article/201611/316241.htm答:最開(kāi)始,MCS8051是指INTEL公司出品的MCS51系列的單片機芯片,由于后來(lái)很多廠(chǎng)家的8051其指令集兼容INTEL公司的,所以,MCS8051又指8051基本指令集。
2、市面上有哪些常見(jiàn)的MCS8051兼容芯片?
答:INTEL的MCS8051內核轉讓過(guò)很多廠(chǎng)家。目前用的比較多的,最常見(jiàn)的廠(chǎng)家有:
(1)ATMEL公司的AT 89C51 /AT89C52/AT89C55、AT 89S51 /AT89S52/AT89S53等。這些芯片可以反復編程1000次,常見(jiàn)的封裝是40引腳的PDIP。其中AT 89C51 已經(jīng)停產(chǎn)。AT代表ATMEL公司,C的意思就是該芯片使用CMOS工藝。S的意思就是該芯片具有ISP功能。C系列的換代產(chǎn)品是S系列,其最明顯的特點(diǎn)是加入了ISP功能,即In System Programeable(在系統編程),這使得只要有根ISP下載線(xiàn)就能在單片機應用系統板上進(jìn)行編程,無(wú)須拔下芯片插入編程器,在現場(chǎng)改變程序時(shí)比較方便。
(2)ATMEL公司的AT89C2051和AT89C4051等。這些芯片都只有20引腳,芯片上資源較少,一般做些簡(jiǎn)單的玩具和儀表。
(3)SST公司的SST89C54/C55。這兩種芯片在國內有個(gè)很重要的用途,就是制作8051系統的仿真器。在西門(mén)子的手冊上說(shuō),SST89C54和SST89C58可以反復編程1萬(wàn)次~10萬(wàn)次(新出的)。所以凡是用這兩者芯片做仿真CPU的仿真器,到了一定時(shí)間后都要更換寫(xiě)壞了的芯片。因此在購買(mǎi)所謂的8051 FLASH仿真器時(shí)一定要注意這個(gè)問(wèn)題。
3、AT89C51/AT89S51和基本MCS8051的相同點(diǎn)和不同點(diǎn)各是什么?
答:在A(yíng)TMEL公司出的手冊上說(shuō),AT89C51和AT89S51都是片內4K字節的FLASH程序 存儲器,128字節的片內RAM,2個(gè)定時(shí)器/計數器,6個(gè)中斷源,5個(gè)在手冊上可用中斷,2個(gè)中斷級別。都支持掉電模式和空閑模式,都是MSC8051指令集。這兩種芯片與INTEL的8051芯片相比,多了些東西,比如6個(gè)中斷源就比書(shū)上MCS8051的5個(gè)中斷多1個(gè),這個(gè)中斷源用于芯片的編程。另外多了所謂的空閑模式和掉電模式。
二、AT89C51/AT89S51的問(wèn)題
1、為什么要采用這兩種芯片做8051基本實(shí)驗和設計?
答:答案很簡(jiǎn)單,因為這兩種芯片容易買(mǎi)的到,價(jià)格也便宜,一般在10元以下。特別是AT89C51已經(jīng)停產(chǎn)后,其換代產(chǎn)品AT89S51在價(jià)格基本不變的條件下,多了ISP功能,利用一條ISP下載線(xiàn)+國人編寫(xiě)免費的EASYISP軟件或者ISPDOWN軟件,在現場(chǎng)編程很方便。在保護自己的程序方面,這些芯片都有3級保護位,一旦寫(xiě)入保護,破譯芯片中的內容會(huì )變的非常困難。
2、AT89C51/AT89S51的掉電模式怎么用?
答:雖然AT89C51已經(jīng)停產(chǎn),但市面上還是有很多存貨的。而AT89S51在這方面與其兼容。在A(yíng)TMEL手冊上說(shuō),掉電模式下,芯片時(shí)鐘停止,調用掉電模式的指令是最后執行的指令。從掉電模式中恢復后,片內RAM的數據不丟失。復位時(shí)特殊功能寄存器被復位,但其它內部RAM的內容不改變。在VCC電源沒(méi)有達到正常電壓之前,復位不會(huì )發(fā)生。復位時(shí)芯片會(huì )自己等晶振的工作恢復正常。 進(jìn)入掉電模式時(shí),軟件將位于片內數據RAM的87H地址的PCON的PCON.1,即PD位置1,此時(shí)ALE引腳和/PSEN引腳都會(huì )置為0,這是標志。在使用內部程序存儲器時(shí),P0口~P3口都會(huì )是數據。在使用外部程序存儲器時(shí),P0口會(huì )浮空,P1~P3口都是數據。
3、AT89C51/AT89S51的空閑模式怎么用?
答:ATMEL手冊上說(shuō),空閑模式下CPU內核進(jìn)入休眠,功耗下降,芯片內部的周邊設備-即定時(shí)器中斷、計數器中斷、外部中斷、串口中斷仍然工作。該模式與掉電模式不同的是,空閑模式由軟件調用。芯片上的RAM和特殊功能寄存器在該模式下保持原來(lái)的值??臻e模式可以由任何中斷或者硬件復位來(lái)喚醒。 值得注意的是,當空閑模式由硬件復位來(lái)喚醒的時(shí)候,設備正常地從程序停止的地方恢復運行,內部運算器運行前要過(guò)2個(gè)機器周期。在該事件中,芯片上的硬件控制內部RAM的存取。當空閑模式被硬件喚醒時(shí),要排除不希望的端口的寫(xiě)操作。在調用空閑模式的指令后面的第1條指令不能是寫(xiě)端口引腳或者是寫(xiě)外部?jì)却妗?進(jìn)入空閑模式時(shí),軟件將位于片內數據RAM的87H地址的PCON的PCON.0,即IDL位置1,此時(shí)ALE引腳和/PSEN都會(huì )置被為0,這是標志。在使用內部程序存儲器時(shí),P0口~P3口都是數據。在使用外部程序存儲器時(shí),P0口浮空,P1~P3口都是數據。
4、這兩款芯片有什么具體不同的地方?
答:有無(wú)ISP功能、特殊功能寄存器和不同的極限工作頻率。AT89S51不但多了ISP功能,還有一個(gè)很好用的內部看門(mén)狗??撮T(mén)狗是直譯的說(shuō)法,即一個(gè)不斷自己工作的定時(shí)器,如果不不斷地“喂”它(不斷地復位它,表示程序自己沒(méi)有死機),過(guò)一段時(shí)間,它就會(huì )計數溢出,MCU就復位,以避免程序卡死后沒(méi)人管。 AT89S51的內部看門(mén)狗叫做WDTRST寄存器,14位長(cháng)度,最大計數值16383,即3FFFH,用來(lái)替代原來(lái)AT89C51要使用外部看門(mén)狗。其位置在內部數據RAM的十六進(jìn)制地址0A6H。激活該看門(mén)狗的方法是先向該地址寫(xiě)01EH,然后寫(xiě)0E1H即可。此看門(mén)狗在晶振工作時(shí)工作!在CPU掉電模式下,該功能失效。如果晶振工作,每個(gè)機器周期,該定時(shí)器加1,直到自己復位(喂狗)或者溢出。
AT89C51最高可以使用的晶振頻率時(shí)24MHz,AT89S51可以使用的晶振頻率更高,達33MHz。
5、如何選擇合適的晶振電容?
答:任何一個(gè)8051系統都需要一個(gè)時(shí)鐘來(lái)指導MCU芯片工作。很多書(shū)上說(shuō)AT89C51/AT89S51使用的晶振配合的兩個(gè)電容C1和C2選25pF的陶瓷電容,取得是下限。 實(shí)際上,AT89C51/AT89SS51的這兩個(gè)電容的取值范圍如下:如果使用的是晶振,可取30pF±10pF。如果使用的是陶瓷振蕩器,那么電容就要取40±10pF。本人就買(mǎi)35pF的陶瓷電容,反正不管是配合使用什么振蕩器,都可以用。
三、學(xué)習設計中的問(wèn)題
1、如何開(kāi)始我的第1個(gè)設計?
答:記得學(xué)C語(yǔ)言的時(shí)候,第1個(gè)例子就是“Hello,World!”,不知道激起了多少程序員的夢(mèng)想。在單片機學(xué)習中,一般第1個(gè)例子就是流水燈,也有人把它叫做跑馬燈的。從這個(gè)例子入門(mén)后,你可以想想看看,怎么反向流動(dòng)?怎么象霓虹燈那樣閃爍?等等。在設計中學(xué)習一直是我向學(xué)生提倡的方法,因為這樣,學(xué)的實(shí)在、學(xué)的不會(huì )忘記。而且基本上一開(kāi)始,就可以接觸比較復雜點(diǎn)的東西了。
2、一個(gè)正規的設計要做哪幾步?答:除開(kāi)為了火燒眉毛趕交導師作業(yè)的人以外(開(kāi)個(gè)玩笑)。首先不要急,要寫(xiě)出設計的指標,比如要完成什么功能、使用多少伏特的電源、是交流供電還是直流供電、等等。然后選擇要使用什么芯片。分析一下這些芯片具體運算能力是多少,有沒(méi)有可能完成需要的運算任務(wù)等。要學(xué)會(huì )一邊設計、一邊寫(xiě)設計說(shuō)明書(shū),這點(diǎn)非常重要。一個(gè)設計投入工作之日不等于設計者就可以撒手不管了。而是不斷地改進(jìn)設計,完成更加完善的功能。平常的時(shí)候還多看看相關(guān)的書(shū)本、雜志,上相應的網(wǎng)站收集些資料,在虛擬社區中同那些工程師們討論些問(wèn)題,虛心向高手學(xué)習、認真做好學(xué)習記錄,你的設計就一定會(huì )不斷進(jìn)步的。
3、我怎么才能靠單片機賺錢(qián)?
答:這大概是最重要的問(wèn)題之一了。這個(gè)問(wèn)題不但困惑著(zhù)你,也困惑著(zhù)我的學(xué)生(笑)。這其實(shí)并不困難,關(guān)鍵在于你要觀(guān)查周?chē)说男枰?,善于觀(guān)察,善于分析,善于移植。比方作個(gè)金魚(yú)缸的溫度控制,實(shí)驗成功后,可以移植成工業(yè)上恒溫箱的控制,可以賣(mài)設備、可以賣(mài)設計,不都是錢(qián)嗎?還可以象我一樣,把經(jīng)驗總結出來(lái),一起討論一下,可以交到朋友。他有活干的時(shí)候,自然也會(huì )叫上你。條條道路通羅馬,路就在腳下
4、你說(shuō)的這些芯片上的標號我看不懂,有什么意義?
答:這個(gè)問(wèn)題問(wèn)得很?chē)乐?。知道這些標號就不會(huì )被奸商欺騙。以AT 89S51 為例,有很多不同的型號,如下表:
芯片編號 | 最高工作頻率 | 供電電壓范圍 | 封裝形式 | 芯片級別 |
AT89S51-24AC | 24MHz | 4.0V — 5.5V | 44 腳 TQFP | 商用(0 ~ 70 ℃) |
AT89S51-24JC | 24MHz | 4.0V — 5.5V | 44 腳 PLCC | 商用(0 ~ 70 ℃) |
AT89S51-24PC | 24MHz | 4.0V — 5.5V | 40 腳 DIP | 商用(0 ~ 70 ℃) |
AT89S51-24PI | 24MHz | 4.0V — 5.5V | 40 腳 DIP | 工業(yè)級(0 ~ 85 ℃) |
評論