久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標(biāo)題: 單片機(jī)入門必讀(2) [打印本頁]

作者: admin    時(shí)間: 2008-7-3 19:09
標(biāo)題: 單片機(jī)入門必讀(2)


第六章:51單片機(jī)實(shí)驗(yàn)板原理與功能簡介

     現(xiàn)在市面上單片機(jī)實(shí)驗(yàn)板種類繁多,有的非常簡陋,有的相對高級,價(jià)格與外圍器件擴(kuò)展的程度正相關(guān)。我設(shè)計(jì)的這一款實(shí)驗(yàn)板個(gè)人認(rèn)為不算簡陋但也稱不上高級,和網(wǎng)上的各種普及型實(shí)驗(yàn)板都差不多,市售價(jià)格在100元左右,非常適合初學(xué)者使用。能夠把這款實(shí)驗(yàn)板的所有功能都開發(fā)出來的話,你的單片機(jī)開發(fā)水平就相當(dāng)可以了。由于電路原理非常簡單,電路原理圖與PCB圖我將免費(fèi)公布,以利于廣大初學(xué)者自制,需要者請聯(lián)系向我索要。你也可以參考我板子的硬件結(jié)構(gòu),根據(jù)自己的要求自行設(shè)計(jì)。

     請參照你手里的51教材中列出的單片機(jī)管腳,我將詳細(xì)說明本實(shí)驗(yàn)板的硬件結(jié)構(gòu)。

1、P0口通過74LS244(單方向8位總線驅(qū)動器)驅(qū)動8位LED發(fā)光二極管。可以實(shí)現(xiàn)廣告燈、跑馬燈、交通燈等相關(guān)實(shí)驗(yàn)。

2、P0同時(shí)通過74LS244驅(qū)動4位LED數(shù)碼管的段選,與8位LED切換通過一只開關(guān)完成。位選由P2口前4位通過4只NPN三極管驅(qū)動完成。可以實(shí)現(xiàn)時(shí)間顯示、秒表與計(jì)數(shù)顯示等與數(shù)碼管有關(guān)的實(shí)驗(yàn)。

3、P1.5通過一只PNP三極管驅(qū)動一只自震蕩的蜂鳴器。自震

蕩的意思是加上一定直流電壓,蜂鳴器即可發(fā)出一定頻率的聲音。如果想改變頻率,可以使用PWM(脈寬調(diào)制,就是改變脈沖占空比)方式通過音頻調(diào)制驅(qū)動。如果想實(shí)現(xiàn)音樂編程,更換為一般的蜂鳴器(就是音樂賀卡里的壓電片)即可。可以完成與音樂發(fā)生有關(guān)的實(shí)驗(yàn),也可作為報(bào)警信號輸出。

4、P1.6與P1.7腳連接IIC器件,板載一只8腳DIP插座,可選AT24C02,它是一只256B的EEPROM(電可擦寫存儲器)。可以實(shí)現(xiàn)電子密碼鎖等需要保存數(shù)據(jù)的實(shí)驗(yàn),通過實(shí)驗(yàn)也可以對IIC技術(shù)有個(gè)基本的了解與掌握。

5、P3.2——P3.5是51的4個(gè)中斷的外部輸入端,這四個(gè)管腳連接4只按鍵開關(guān)到地,按下按鍵將該管腳接地。選擇P3工作于第一功能,則按鍵開關(guān)工作于查詢方式。如果選擇第二功能,就工作于中斷方式。可以完成按鍵和中斷的相關(guān)實(shí)驗(yàn)。此處解釋一下查詢與中斷,如果你在睡午覺,為了防止遲到,你每隔5分鐘就睜眼看一下鬧鐘(假設(shè)你能夠準(zhǔn)時(shí)醒來),這就是查詢方式,使用鬧鐘叫你就是中斷方式了。它們的區(qū)別很顯然,選擇查詢方式CPU就不能干別的工作了(就像你無法連續(xù)的睡覺),選擇中斷的話CPU可以去做其他工作,直到中斷來臨,CPU再去做中斷要求的工作。

6、P3.0與P3.1是單片機(jī)的串口接收與發(fā)送數(shù)據(jù)線,它們通過MAX232轉(zhuǎn)換為RS-232(一種串口通訊協(xié)議)標(biāo)準(zhǔn)電平,以便與PC機(jī)的串口通訊。因?yàn)?1單片機(jī)與PC機(jī)的串口電平標(biāo)準(zhǔn)不同,所以用MAX232進(jìn)行一個(gè)電平轉(zhuǎn)換工作,僅此而已,你不需要準(zhǔn)確的知道RS-232的協(xié)議標(biāo)準(zhǔn)。這就如同英制與公制的轉(zhuǎn)換,對于你來說1M的長度對一個(gè)英國人來說就是3.28英尺。這個(gè)串口可以實(shí)現(xiàn)單片機(jī)與PC或者其他具備RS-232接口的單片機(jī)的通訊實(shí)驗(yàn),更為重要的是,ISP編程就是通過這個(gè)串口將程序從PC機(jī)下載到單片機(jī)的ROM里面的。對于具有ISP功能的單片機(jī),必須有這個(gè)電平轉(zhuǎn)換部分(最小系統(tǒng)組成部分之一),否則無法進(jìn)行編程。

7、其他沒有使用的管腳可以作為系統(tǒng)擴(kuò)展使用。P0口外接上拉電阻。同時(shí)引出全部IO口線、ALE口線以及5V電源線和地線,便于擴(kuò)展。晶振使用12M,選擇12個(gè)時(shí)鐘周期方式,機(jī)器周期為1US,選擇6個(gè)時(shí)鐘周期方式,機(jī)器周期為0.5US,這是飛利浦單片機(jī)的特殊功能。在ZLGISP軟件編程時(shí),點(diǎn)擊設(shè)置,在6CLOCK前打勾即可選擇6個(gè)時(shí)鐘周期方式。這個(gè)方式比12個(gè)時(shí)鐘周期方式速度提高不少,但是對于精確延時(shí)程序?qū)⒂杏绊懀掖蠖?1教材都是針對12個(gè)時(shí)鐘周期所寫,所以不推薦初學(xué)者使用。

8、單片機(jī)非常害怕電源極性顛倒,所以電源插口后邊安裝了一只全橋作為“防呆開關(guān)”(原理簡單而巧妙,請自行研究),無論電源極性如何都可以直接輸入,但是輸入電壓不得低于8.5V,也不可太高,否則穩(wěn)壓塊LM7805功耗過大容易發(fā)熱。可以使用市售收音機(jī)直流電源,推薦使用9V。至于復(fù)位開關(guān),編程選擇開關(guān),電源穩(wěn)壓部分就不再贅述了。

     以上簡介了實(shí)驗(yàn)板的硬件結(jié)構(gòu),實(shí)驗(yàn)請參見下文設(shè)計(jì)。

第七章:51單片機(jī)常見問題解答

     關(guān)于51單片機(jī)的硬件,你手里任何一本教材都寫得很清楚,我沒有必要重新COPY一份,但是我很少看到能夠不費(fèi)力氣就看得懂的51教材。對于初學(xué)者來說,一堆術(shù)語加上一堆嚴(yán)密得讓人頭痛的邏輯推導(dǎo)不啻為一種災(zāi)難,有時(shí)候明明很簡單的原理非要被描述得艱澀異常。科學(xué)的精神在于把復(fù)雜的東西表述得簡單,但是我們很多教材編寫者卻反其道而行之,完全違背了真正的科學(xué)精神,實(shí)在是面目可憎,行而不遠(yuǎn)。這也是我花費(fèi)時(shí)間撰寫本教材的原因之一。下面就針對幾個(gè)被教材解釋得一塌糊涂的常見問題做一下通俗的解釋。

1、處理能力的概念。51單片機(jī)屬于8位機(jī),8位是個(gè)什么意思呢?就是CPU處理的數(shù)據(jù)是8位的。位數(shù)的高低體現(xiàn)了CPU處理能力的強(qiáng)弱。4位的處理器已經(jīng)基本淘汰了,8位的處理器占據(jù)了低端單片機(jī)的大部分市場,32位處理器是現(xiàn)在興起的嵌入式系統(tǒng)的主流配置,我們常用的電腦大多都是32位,64位的處理器也有,但是市場份額比較少,價(jià)格也較高。所以我們學(xué)習(xí)的51單片機(jī)屬于比較低級的單片機(jī),會逐漸被新興的嵌入式處理器所淘汰,但是51單片機(jī)成本低,學(xué)習(xí)資源最豐富,上手容易,對于初學(xué)者來說是很理想的用于學(xué)習(xí)的單片機(jī)。

2、存儲器問題。51單片機(jī)有兩類存儲器,一類是程序存儲器ROM,它斷電以后數(shù)據(jù)不丟失,但是必須用編程器擦除和寫入程序;另一類是數(shù)據(jù)存儲器RAM,它斷電以后數(shù)據(jù)會丟失,但是可以用程序改寫內(nèi)容。以AT89C51為例,因?yàn)樗?6條地址線(P0和P2),所以它可以訪問64K存儲器空間(2的16次方是65535),它的ROM和RAM都是分內(nèi)外的,外部存儲器都需要擴(kuò)展,擴(kuò)展方法參見教材。但是ROM和RAM的內(nèi)外執(zhí)行方式不同,ROM的內(nèi)外切換要用EA腳(31腳)的電平選擇,而RAM的切換可以直接用不同指令MOV和MOVX分開同時(shí)訪問。例如AT89C51有4K內(nèi)部ROM,64K外部ROM,如果EA=1,則從內(nèi)部ROM開始執(zhí)行,當(dāng)超出4K之后,跳轉(zhuǎn)到片外4K以上的空間運(yùn)行;如果EA=0,則完全在外部ROM中運(yùn)行,內(nèi)部ROM不再起作用。什么意思呢?就是要么運(yùn)行內(nèi)部4KROM要么運(yùn)行外部4KROM,內(nèi)外ROM的前4K不能同時(shí)運(yùn)行,必須用EA切換。所以一般在沒有外部ROM的情況下,EA必須接電源正極,否則程序不能運(yùn)行。我曾經(jīng)因?yàn)镋A懸空造成程序無法運(yùn)行,苦苦思索一周才找到原因,期間因?yàn)槊つ繙y試導(dǎo)致3塊AT89C51損壞,教訓(xùn)十分慘痛,望后來者吸取教訓(xùn)。RAM就不同了,AT89C51有128B內(nèi)部RAM,可以擴(kuò)展64K外部RAM,這兩個(gè)部分的RAM可以同時(shí)被訪問,注意選擇不同指令即可,訪問內(nèi)部用MOV,訪問外部用MOVX,外部RAM擴(kuò)展方法參見教材。ROM的種類除了常見的PROM(可編程ROM),還有MASK   ROM、FLASH   ROM 和EEPROM等種類。MASK   ROM是掩模存儲器,掩模的意思就是工廠把程序直接做在芯片上了,適于不需要反復(fù)修改的大批量產(chǎn)品生產(chǎn),成本非常低,但是用戶不能更改程序,8051里就是這種ROM。我最初接觸單片機(jī)的時(shí)候,去電子市場買8051,結(jié)果商家真的賣給我了一塊,回家一看,里面全都是程序,根本無法修改,現(xiàn)在回想起來,自己簡直是個(gè)傻瓜,哪有買掩模ROM的單片機(jī)做學(xué)習(xí)和開發(fā)的?!商家也不告訴我已經(jīng)燒好的程序可以干什么,害的我只能拿它當(dāng)8031使了!這個(gè)教訓(xùn)真是好笑,希望大家一定要搞明白ROM的種類區(qū)分。PROM有OTP(一次性編程)和允許反復(fù)擦寫(用紫外線照射擦除)兩種,87C51系列就是OTP的ROM;就現(xiàn)在的形勢看,ROM有普及FLASH之勢,那些用紫外線擦除的垃圾看來是要被淘汰了。FLASH   ROM可以電擦寫,但必須整塊擦除,寫入速度快,擦寫次數(shù)在1000到10萬次之間(視不同類型芯片而定),事實(shí)上89C51系列的ROM就是FLASH   ROM,U盤內(nèi)的ROM也是,一種NAND FLASH現(xiàn)在廣泛用于嵌入式系統(tǒng)中,它的存儲容量大,成本低,可以實(shí)現(xiàn)固態(tài)硬盤的功能;EEPROM是電可擦寫存儲器,它是按位擦寫的,可以擦寫10萬次以上,但擦寫速度較FLASH ROM要慢,AT24C02就是EEPROM,我們用的很多智能IC卡也是。RAM的種類有靜態(tài)SRAM,動態(tài)DRAM和SDRAM之分。SRAM只要寫入一次,有電數(shù)據(jù)就可以保持,單片機(jī)里就是SRAM,但是它的缺點(diǎn)就是太貴,所以單片機(jī)里的RAM都很小。DRAM一次寫入數(shù)據(jù)之后只能保持一瞬間,必須不斷重寫,叫做刷新,這個(gè)過程還需要相應(yīng)的邏輯電路支持,很麻煩但是很便宜。SDRAM叫做具有靜態(tài)特性的動態(tài)RAM,它把邏輯刷新電路和DRAM做到了一起,它的工作方式本質(zhì)是動態(tài)的,但是從外部看相當(dāng)于一個(gè)SRAM,這樣就不但具有靜態(tài)特性而且價(jià)格便宜,我們電腦里的內(nèi)存條都是SDRAM。我自己的理解是這樣的,就像爬山比賽,能力強(qiáng)的人呢,爬上去就不會滑下來。但是能力不行的人站不住,只好滑下來再爬上去,反復(fù)這樣,頻率高了給人的感覺就好像他在山上一樣。呵呵,反正能力強(qiáng)的東西總是更貴一些的。

3、IO口問題。P0口是集電極開路,所以我的實(shí)驗(yàn)板上給它加了上拉電阻。上拉電阻的作用就是在基本沒有電流輸出的情況下將管腳電位拉到5V,這樣對于外部來說是邏輯1,如果沒有這個(gè)電阻,管腳電位就是0。為什么?假如三極管關(guān)閉的情況下C-E間電阻為100M,如果上拉電阻為10K,則分壓的結(jié)果是幾乎接近5V,這就是上拉的原理。IO口的驅(qū)動能力有限,AT89C51也就不到20MA(8051連這些都沒有),可以直接驅(qū)動LED(電流流入方式),但是驅(qū)動別的大電流外部設(shè)備必須加驅(qū)動電路,否則會燒毀IO口,務(wù)必注意。迄今為止,我一共燒毀了7塊AT89C51,損失了一把銀子之后我終于找到了原因:一個(gè)是電源問題,電源電壓超過5V或者極性顛倒都會導(dǎo)致芯片燒毀;另一個(gè)問題就是我在單片機(jī)供電的情況下測量P0.0腳(39腳)電位時(shí)表筆不小心連通了電源正極(40腳),而此時(shí)剛好P0.0內(nèi)部MOS管開通(也就是輸出0),結(jié)果直接燒毀了輸出MOS管。因?yàn)镻0口是數(shù)據(jù)線,結(jié)果導(dǎo)致編程時(shí)數(shù)據(jù)無法寫入。這個(gè)教訓(xùn)最慘痛了,務(wù)必牢記。單片機(jī)的一種絕對保密技術(shù)就是利用了這種方法,編程之后燒毀一只閑置的數(shù)據(jù)或地址管腳的輸出管,造成數(shù)據(jù)無法讀出,達(dá)到絕對保密的目的。還有一點(diǎn)需要注意,如果要讀入管腳的狀態(tài),必須先向該管腳寫1,然后再讀該管腳方能得到正確輸入。使用P3的第二功能之前,也要先向P3口寫1,目的都是讓IO口輸出管關(guān)閉。IO口詳細(xì)構(gòu)造請閱讀51教材相關(guān)部分。

4、有關(guān)尋址方式。相關(guān)教材中的尋址部分純粹是找別扭,我都可以用51開發(fā)產(chǎn)品了,可是我現(xiàn)在重讀這部分教材依然一頭霧水,無法理解。不理解很好,說明你大腦正常,不用去管教材所說的尋址方式到底是什么意思,你學(xué)會如何使用就行了。其實(shí)就是對數(shù)字操作(所謂立即尋址)、對寄存器操作(所謂寄存器尋址)、對地址操作(所謂直接尋址)、對指針操作(有專用指針也有寄存器作為指針)和對位操作5種情況。尋址方式就是告訴你一個(gè)操作什么東西的問題,沒有什么高深的。如果還是不明白就不要看這部分內(nèi)容了,直接學(xué)習(xí)指令進(jìn)行編程,當(dāng)你編程很熟練之后,你會發(fā)現(xiàn),其實(shí)它那些怪里怪氣的尋址方式命名是很可笑的。

5、對中斷概念的理解。我最開始看了一個(gè)使用中斷的程序之后,想了好幾個(gè)晚上也沒有理解什么叫中斷。這個(gè)程序的注釋竟然說中斷服務(wù)程序是這個(gè)程序的核心部分,我當(dāng)時(shí)就茫然了——那主函數(shù)是什么?垃圾嗎?在我的認(rèn)識里,主函數(shù)才應(yīng)該是一個(gè)程序的核心。忘了過了多少日子,我終于明白了中斷的含義。假如你設(shè)置一只鬧鐘6點(diǎn)叫你,如果你6點(diǎn)準(zhǔn)時(shí)爬起來看鬧鐘是不是叫你的話,那就不叫鬧鐘了,你成了鬧鐘的鬧鐘了。初學(xué)者很容易不明白為什么主函數(shù)里并沒有跳轉(zhuǎn)到中斷服務(wù)函數(shù)的指令,怎么中斷服務(wù)程序就自己自動執(zhí)行了呢?沒錯(cuò),中斷不需要什么指令來啟動,它會自己啟動,就像定時(shí)炸彈到點(diǎn)就會自動爆炸一樣。什么時(shí)候啟動由定時(shí)器、計(jì)數(shù)器或者外部中斷決定,這是一個(gè)前臺運(yùn)行過程(誰表演誰就是前臺嘛),你在后臺看不到,后臺是個(gè)設(shè)置中斷的過程,決定什么情況下中斷會叫你。比如你在車站等你女朋友,你無法準(zhǔn)確知道她什么時(shí)候來,所以后臺函數(shù)是個(gè)循環(huán)——你來回踱步,焦急的等待。當(dāng)你女朋友出現(xiàn)的時(shí)候,她要求你停止踱步,和她去商店買衣服——這是中斷服務(wù)函數(shù)。如果你女朋友還沒來,你就自己跑到商店里了,那就不叫中斷了。如果她來了你還在踱步——很不幸,系統(tǒng)不是跑飛就是崩潰了,呵呵。有關(guān)中斷的具體操作與設(shè)置方法,請仔細(xì)閱讀51教材相關(guān)部分。中斷是單片機(jī)一個(gè)的難點(diǎn),也是一個(gè)有特色之處,沒有中斷的話單片機(jī)就失去了全部的靈活性與實(shí)時(shí)性,變成一塊用于順序控制的數(shù)字電路了。

6、編程語言問題。你可以用匯編編程,也可以用C51語言編程。它們各有各的強(qiáng)項(xiàng)和弱點(diǎn),選擇哪種語言要根據(jù)你的基礎(chǔ)和具體任務(wù)確定。有個(gè)老兄這樣說:匯編挺好啊,不過你用著用著就想用C51了;C51嘛,也挺好啊,不過你用著用著就想用匯編了。呵呵,真的是這樣。我個(gè)人的理解是:匯編好寫不好看,C語言好看不好寫。去看別人一段沒有注釋的匯編語言是一件很困難的事情,看不懂并不說明你編程水平差。這種情況下先不要看別人的例程,根據(jù)你自己的思路編寫即可,到了關(guān)鍵部分或是遇到障礙再看看例程,效果很好。別人寫的C語言比較好理解,因?yàn)镃語言本質(zhì)上就是各種各樣的函數(shù)調(diào)來調(diào)去的過程,看懂了函數(shù),程序基本就明白了。下面說說匯編和C各自的特點(diǎn):匯編是個(gè)事必躬親的戰(zhàn)術(shù)語言,要干什么就直接干什么,什么事情都要直接操作硬件,所以累啊——系統(tǒng)倒不累,你累啊,呵呵,累死你換來的好處就是代碼比較小,而且工作準(zhǔn)確,操作決不會馬馬虎虎。C語言就不同了,是個(gè)戰(zhàn)略語言,只抓大局,一堆基層工作全給INCLUDE了,夠狠,要干什么不好好干,非要拐彎抹角——比如重新運(yùn)行不讓用跳轉(zhuǎn)(封殺GOTO語句),非要設(shè)計(jì)一個(gè)巧妙的循環(huán),匯編就沒這么不老實(shí)。這次你不累了,但是如果智商不夠就慘了,一句都寫不下去,不像匯編——就算我笨,能編多少時(shí)多少,編一點(diǎn)是一點(diǎn)。當(dāng)甩手掌柜自然不錯(cuò),但是缺點(diǎn)也很明顯:一來代碼要大不少,系統(tǒng)資源一下就被搞緊張了;二來涉及到對硬件的具體操作就它就沒招了,還得求人家匯編,呵呵。所以匯編和C你都要掌握,大局由C定,幾處需要準(zhǔn)確處理硬件的工作交給匯編,屬于瞎子背瘸子的組合,呵呵。兩手抓,兩手都要硬,互相滲透,結(jié)合使用,這就是學(xué)習(xí)單片機(jī)語言的基本原則。說了一頓,和具體編程一點(diǎn)關(guān)系都沒有,但是原則你要把握。匯編語言我就不說了,教材都會詳細(xì)說明指令的意義和使用方法,下面我說一下C51。C語言的具體結(jié)構(gòu)和編寫方法你明白了嗎?沒明白趕緊看書。C51與通用C語言的區(qū)別我理解主要有兩點(diǎn):一是中斷函數(shù)的聲明與使用,二是如何在單片機(jī)里進(jìn)行位操作,我的理解就這一點(diǎn)點(diǎn),當(dāng)然這與我水平比較菜有很大關(guān)系。那么C語言如何能夠認(rèn)識那些單片機(jī)的寄存器呢?難道每寫一個(gè)程序都先要鋪天蓋地的定義一番?!這個(gè)我們不怕也不用管,KEIL里有自帶的包含文件來解決這個(gè)問題。你在KEIL里寫C51程序的話,上來先寫一個(gè)#INCLUDE<AT89C51.H>,這一堆問題就解決了,下面你可以直接寫P0=0X00,或者SCON=0X00之類,反正C語言可以認(rèn)識,還能正確編譯,怎么樣?戰(zhàn)略語言確實(shí)不得了,臟活全讓<AT89C51.H>這個(gè)文件做了。當(dāng)然想舒服就得付出資源的代價(jià),C代碼肯定比匯編大,不信你編寫一個(gè)同樣的匯編程序試試看。想學(xué)習(xí)C51的話,可以找一本教材,但是如果你基本明白C了,買教材就有點(diǎn)浪費(fèi)了,因?yàn)榇蠖鄶?shù)C51教材都花上很大篇幅講C的規(guī)則,什么數(shù)據(jù)類型,什么控制語句,簡直是浪費(fèi)白紙,所以你借一本教材看看C51和通用C不同的地方就可以了,買一本實(shí)在不值得。借不到也可以到網(wǎng)絡(luò)上搜索一下,有更通俗的教材,這里推薦明浩寫的那個(gè)基于KEIL軟件的C51教材,雖然只有幾課內(nèi)容,很簡單,但是非常容易理解,也很實(shí)用,同時(shí)還說明了KEIL的使用方法。

     常見問題就談這么多,都是一些概括性的介紹,具體問題你要自己去解決。

 
    第八章:實(shí)驗(yàn)設(shè)計(jì)

     你一定很著急知道學(xué)習(xí)多長時(shí)間才具有開發(fā)產(chǎn)品的能力,這個(gè)過程很快,一般連續(xù)學(xué)習(xí)半年以上(注意不是三天打魚兩天曬網(wǎng))即可開發(fā)簡單的產(chǎn)品。你必須嚴(yán)格進(jìn)行一系列實(shí)驗(yàn),通過實(shí)現(xiàn)單片機(jī)的所有功能達(dá)到提高開發(fā)能力的目的。下面列出我自己認(rèn)為需要完成的實(shí)驗(yàn)的名稱以及實(shí)驗(yàn)項(xiàng)目的說明。

實(shí)驗(yàn)1:跑馬燈左右循環(huán)移動的應(yīng)用

實(shí)驗(yàn)項(xiàng)目:

1、學(xué)習(xí)IO口的控制技巧,掌握各種數(shù)制的轉(zhuǎn)換方法。

2、第一次用取機(jī)器周期倍數(shù)的延時(shí)方法實(shí)現(xiàn)移動速度的設(shè)定。

3、第二次使用定時(shí)器中斷的方法實(shí)現(xiàn)移動速度的設(shè)定。

4、第三次使用DPTR取表的方式實(shí)現(xiàn)移動順序的設(shè)定。

實(shí)驗(yàn)2:中斷的應(yīng)用

實(shí)驗(yàn)項(xiàng)目:

1、第一次用多種模式實(shí)現(xiàn)兩個(gè)定時(shí)器中斷的功能,可以用LED閃爍顯示,也可以讓蜂鳴器發(fā)聲。

2、第二次設(shè)定四個(gè)中斷同時(shí)存在,兩個(gè)外部中斷,兩個(gè)計(jì)數(shù)器中斷,由四個(gè)按鍵作為外部輸入。四個(gè)按鍵設(shè)定兩個(gè)優(yōu)先級,完成五種任務(wù)(包括后臺的任務(wù)和四個(gè)中斷服務(wù)程序的任務(wù))。

實(shí)驗(yàn)3:布爾代數(shù)(一位機(jī))應(yīng)用

實(shí)驗(yàn)項(xiàng)目:

     類似可編程邏輯控制器的使用,選擇多個(gè)復(fù)雜的邏輯關(guān)系,使用指令中的邏輯語句完成相關(guān)的邏輯功能,使單片機(jī)成為一塊可以完成復(fù)雜邏輯的數(shù)字電路。這個(gè)實(shí)驗(yàn)主要用于工業(yè)配線以及順序生產(chǎn)過程。

實(shí)驗(yàn)4:串口應(yīng)用

實(shí)驗(yàn)項(xiàng)目:

1、UART通過74LS164和74LS166實(shí)現(xiàn)串行擴(kuò)展IO口輸入輸出功能。

2、兩個(gè)單片機(jī)做全雙工通訊實(shí)驗(yàn)。

3、單片機(jī)與PC機(jī)之間進(jìn)行全雙工通訊實(shí)驗(yàn)。

4、一個(gè)單片機(jī)與兩個(gè)以上單片機(jī)做全雙工主機(jī)從機(jī)通訊實(shí)驗(yàn)。

實(shí)驗(yàn)5:單片機(jī)音樂編程應(yīng)用

實(shí)驗(yàn)項(xiàng)目:

1、該實(shí)驗(yàn)可以用延時(shí)的方法也可以用定時(shí)器中斷的方法實(shí)現(xiàn),主要學(xué)習(xí)了如何通過對頻率和節(jié)拍編碼表的讀取進(jìn)行音樂編程。

2、在此基礎(chǔ)上,可以學(xué)習(xí)如何使用單片機(jī)產(chǎn)生雙音頻撥號音,完成單片機(jī)自動撥號實(shí)驗(yàn)。

實(shí)驗(yàn)6:直流電機(jī)與步進(jìn)電機(jī)控制應(yīng)用

實(shí)驗(yàn)項(xiàng)目:

1、了解直流電機(jī)驅(qū)動部分硬件原理。掌握單片機(jī)控制直流電機(jī)正反轉(zhuǎn)的方法,能夠使用PWM(脈寬調(diào)制)方式改變直流電機(jī)轉(zhuǎn)速。

2、了解步進(jìn)電機(jī)驅(qū)動部分硬件原理。掌握用脈沖分配的方法驅(qū)動步進(jìn)電機(jī)正反轉(zhuǎn),并且可以通過改變脈沖分配頻率來改變步進(jìn)電機(jī)轉(zhuǎn)速。

實(shí)驗(yàn)7:鍵盤與顯示器應(yīng)用

實(shí)驗(yàn)項(xiàng)目:

1、獨(dú)立按鍵識別操作方法,BCD碼轉(zhuǎn)盤的使用方法。

2、掃描式按鍵操作方法(結(jié)合中斷操作)。

3、串口擴(kuò)展IO口的鍵盤操作方法。

4、靜態(tài)LED顯示操作方法。

5、動態(tài)掃描LED顯示操作方法。

6、結(jié)合時(shí)鐘芯片(需要擴(kuò)展),設(shè)計(jì)一個(gè)電子表。

7、結(jié)合4*4鍵盤,設(shè)計(jì)一個(gè)計(jì)算器。

8、結(jié)合EEPROM,設(shè)計(jì)一個(gè)防掉電電子密碼鎖。

9、結(jié)合步進(jìn)電機(jī),設(shè)計(jì)一個(gè)可設(shè)定和顯示速度的步進(jìn)電機(jī)控制板。

實(shí)驗(yàn)8:其他顯示器件應(yīng)用

實(shí)驗(yàn)項(xiàng)目:

1、點(diǎn)矩陣LED顯示器應(yīng)用。使用4塊8*8矩陣LED作為大屏幕,滾動顯示中文字幕。

2、使用LCD顯示字符與圖形,掌握LCD驅(qū)動方法。

實(shí)驗(yàn)9:AD/DA轉(zhuǎn)換應(yīng)用

實(shí)驗(yàn)項(xiàng)目:

1、使用ADC0809和一種溫度探頭,結(jié)合LED顯示制作一只數(shù)字溫度計(jì)。如果溫度探頭成本過高,可以制作一只數(shù)字電壓表。

2、使用雙積分型A/D轉(zhuǎn)換電路ICL7135制作數(shù)字電壓表。

3、使用DAC0832制作一個(gè)多種波形的數(shù)控信號發(fā)生器。

4、使用ADC0809和DAC0832,外擴(kuò)RAM(可使用32K的62256)制作簡易數(shù)字錄音機(jī)(錄音時(shí)間為數(shù)秒鐘)。

實(shí)驗(yàn)10:外部傳感器輸入與數(shù)據(jù)采集應(yīng)用

實(shí)驗(yàn)項(xiàng)目:

1、利用光敏三極管采集光電信號。

2、利用紅外線對管構(gòu)成主動式紅外線光電信號采集。

3、利用熱釋電紅外線傳感器,結(jié)合驅(qū)動電路,構(gòu)成被動式紅外線光電信號采集。

4、利用駐極體話筒或壓電陶瓷片,結(jié)合音頻鎖相環(huán)技術(shù)(LM567),制作超聲波距離探測器,使用LED顯示距離。

5、利用霍爾元件,制作伺服電機(jī)轉(zhuǎn)速控制器,由鍵盤設(shè)定轉(zhuǎn)速,LED顯示。

6、利用壓力傳感器制作電子秤,鍵盤輸入,LED顯示。

實(shí)驗(yàn)11:單片機(jī)外圍擴(kuò)展IC應(yīng)用

實(shí)驗(yàn)項(xiàng)目:

1、8155原理與應(yīng)用。

2、8255原理與應(yīng)用。

3、8279原理與應(yīng)用。

4、利用時(shí)鐘芯片DS12887制作智能電子表。

5、利用ISD1420或者APR9600制作公共汽車報(bào)站器、漢語報(bào)時(shí)鐘或會說話的萬用表。

實(shí)驗(yàn)12:IIC技術(shù)應(yīng)用

實(shí)驗(yàn)項(xiàng)目:

1、電可擦寫存儲器AT24C02讀寫實(shí)驗(yàn)。

2、PCF8583驅(qū)動實(shí)驗(yàn),可制作電子表。

3、8位并行輸入輸出芯片PCF8574實(shí)驗(yàn)。

4、數(shù)模轉(zhuǎn)換芯片PCF8591實(shí)驗(yàn)。

     IIC技術(shù)可以節(jié)省單片機(jī)端口,有利于設(shè)計(jì)小型化和制作低成本化,但是實(shí)時(shí)性有所下降。以前的實(shí)驗(yàn)均可由相關(guān)IIC器件完成。

實(shí)驗(yàn)13:操作系統(tǒng)UCOS_II在單片機(jī)上的移植

實(shí)驗(yàn)項(xiàng)目:

     要求單片機(jī)ROM最少要8K,一般要14K以上,外部擴(kuò)展RAM最少要4K。完成在單片機(jī)上運(yùn)行多個(gè)任務(wù)的操作系統(tǒng)的移植

     如果你已經(jīng)成功做完以上所列的所有實(shí)驗(yàn),不要謙虛了,請刪除本教材,并收下我這個(gè)徒弟,可以說在51單片機(jī)開發(fā)方面你已經(jīng)走在我們這些菜鳥前面了。對于初學(xué)者,當(dāng)然不必因此而泄氣,能夠在每個(gè)方面都實(shí)現(xiàn)一個(gè)基本實(shí)驗(yàn)就相當(dāng)不錯(cuò)了,就算自己無法編出程序,把網(wǎng)上編好的程序拿來跑一跑也很不錯(cuò),起碼說明我們具有“移植”的能力,呵呵。別小看這個(gè)能力,復(fù)雜產(chǎn)品的開發(fā)基本都是這樣,試問誰能為了一個(gè)產(chǎn)品自己開發(fā)操作系統(tǒng)?要是能編出來還賣產(chǎn)品干嗎?直接賣操作系統(tǒng)就發(fā)財(cái)了,呵呵!所以初學(xué)者要量力而行,上述所列只不過給大家指出個(gè)學(xué)習(xí)方向,基本就這么多了,從簡單的開始,一步一步做下去。當(dāng)然還有一些比較高難的,比如單片機(jī)上網(wǎng),單片機(jī)控制藍(lán)牙模塊、GSM模塊、GPRS模塊乃至GPS全球定位系統(tǒng)模塊等等,這些暫時(shí)不是我們的學(xué)習(xí)內(nèi)容,等你成為高手以后再研究吧。

后記

     單片機(jī)的入門教材暫且寫到這里,如果以后有新的體會再繼續(xù)補(bǔ)充。每一個(gè)初學(xué)硬件技術(shù)的人都要明白,世界上的器件是無窮無盡的,有數(shù)以萬計(jì)的技術(shù)可能你還沒來得及接觸就被淘汰掉了,所以不要揪住一堆知識不放,或者幻想掌握所有器件的使用方法。培養(yǎng)一種思維方式是最重要的——有方法沒有知識隨時(shí)可以學(xué),有知識沒方法的話,知識最終也會被忘掉。我們現(xiàn)在學(xué)習(xí)51,如果我們在學(xué)習(xí)過程中培養(yǎng)出了解決方法的思維方式,一旦客觀需要我們使用AVR,很短的時(shí)間我們就可以搞定,哪怕我們對AVR一無所知。

     沒有萬能的知識,只有萬能的思維與能力。但愿每一個(gè)立志投身硬件工作的年輕人都能夠擁有這種認(rèn)識,為民族工業(yè)的發(fā)展與中華民族的偉大復(fù)興做出真正的貢獻(xiàn)!


作者: lidan1986    時(shí)間: 2008-7-6 15:10
我想買,怎么聯(lián)系你啊
作者: lidan1986    時(shí)間: 2008-7-6 15:11
我想買,怎么聯(lián)系你啊

作者: lidan1986    時(shí)間: 2008-7-6 15:15
ka看到了的話,可以加QQ305051187
我們聊下
作者: z158360    時(shí)間: 2008-7-6 19:00

謝您了!


作者: 電子應(yīng)用    時(shí)間: 2008-7-8 22:38
我會搞齊入門級所要的東西的。
作者: f66boy    時(shí)間: 2008-7-16 14:24

多謝指點(diǎn)


作者: ye269797168    時(shí)間: 2008-8-4 14:52
我想要原理圖,和更多的入門資料,我只是菜鳥,謝謝你咯,。QQ:269797168
作者: 紫衣顏若雪    時(shí)間: 2008-9-7 23:54
LZ我好崇拜你啊,你給迷途的羊羔指明了方向。。。。
菜鳥剛來就看見這么好的貼,真是幸運(yùn)啊。
作者: xiaozeng    時(shí)間: 2008-9-9 09:19











































































































































































































































































 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


作者: dpj    時(shí)間: 2008-11-16 15:39

是一位高人!


作者: 小禾    時(shí)間: 2008-12-17 18:55
強(qiáng)
作者: yuanjp    時(shí)間: 2008-12-19 01:41
沒有萬能的知識,只有萬能的思維與能力。樓主寫的好。佩服!
作者: 1391292562    時(shí)間: 2015-6-1 11:29
這才高手啊
作者: 1391292562    時(shí)間: 2015-6-1 11:30
沒有萬能的知識,只有萬能的思維與能力。
作者: 1391292562    時(shí)間: 2015-6-1 11:30
為民族工業(yè)的發(fā)展與中華民族的偉大復(fù)興做出真正的貢獻(xiàn)!




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 超碰人人人 | 欧美综合一区二区三区 | 9porny九色视频自拍 | 精品一区久久 | 国产精品久久久亚洲 | 亚洲精品久久久久久久久久久久久 | 成人美女免费网站视频 | 日韩一区二区在线视频 | 黄色欧美在线 | 久久久做| 二区三区av | 国产欧美精品一区二区三区 | 欧美一级免费 | 亚洲一区二区三区免费观看 | 成人免费在线电影 | 日韩美女一区二区三区在线观看 | 国产欧美日韩综合精品一区二区 | 一级黄色短片 | 欧美影院| 久久久久久久久久久丰满 | 欧美黄色大片在线观看 | 中文字幕高清 | xxxcom在线观看| 国产美女h视频 | 黄视频网站免费观看 | 日韩精品免费在线 | 亚洲国产精品99久久久久久久久 | 欧美成年黄网站色视频 | jizz在线免费观看 | 亚洲国产高清高潮精品美女 | 中文字幕爱爱视频 | 欧美日韩福利视频 | 91观看 | 一级高清 | 亚洲欧美视频在线观看 | 国产精品欧美一区二区三区不卡 | 久久精品国产99国产 | 久久草在线视频 | 亚洲精品九九 | 一级黄色日本片 | 欧美国产91 |