基于ISP 的簡約型51單片機實驗板的設計
0 引言
現(xiàn)在市面上通用的51內核單片機主要有ATMEL公司的AT89S51、AT89S52系列,飛利浦公司的P89C51RXX系列和P89LPC900系列。其中AT公司的52系列是51系列的增強版本,飛利浦公司的P89C51RXX系列的內部功能跟AT89S51基本相同,都是增強型51內核。通過比較選擇飛利浦公司的P89C51RA2BN單片機,該單片機內部有8K的FLASH ROM程序存儲器,可以滿足大部分的實驗和小系統(tǒng)設計。而且該單片機跟AT89S52相比,還有內部PCA(可編程計數(shù)器陣列),和512字節(jié)的數(shù)據(jù)存儲器,7個中斷源和集成內部硬件看門狗。該單片機的引腳和普通51單片機完全兼容,可以做為51單片機的代換產(chǎn)品。另外該型號單片機的P1口還有第二功能,有12時鐘和6時鐘工作模式,其中6時鐘工作方式的速度是普通51單片機的2倍。
一、 系統(tǒng)設計
本系統(tǒng)的設計框圖如下:
其中ISP下載電路的設計如下:
飛利浦P89C51RA2BN單片機通過P3.0和P3.1口(也就是串行口)下載程序到片內FLASH ROM,其電路為:
從上面的電路圖中可以看到,單片機的下載電路其實就是一個串行通信電路,這樣就可以實現(xiàn)一個電路既用來下載程序也可以用來做串行口通信的實驗,一舉兩得。圖中的PORT1是一個USB接口插座,用其來連接一個DB9的母頭到PC機串行口輸出端下載程序和一個USB插頭到PC機的USB接口供電。因為PC機的USB口可以提供5伏500毫安的直流電壓,剛好為我們設計的單片機系統(tǒng)供電。
二、單元電路設計
2.1系統(tǒng)開關信號輸入電路的設計
開關信號可以由鍵盤產(chǎn)生,也可以由方波振蕩電路產(chǎn)生。由于一個方波振蕩
也不復雜,可以由555電路構成,所以我們的實驗板加上一個方波振蕩電路。鍵盤電路因為要兼顧易用性,所以采用簡單鍵盤電路。
方波振蕩器的振蕩頻率大概是1000Hz左右,從NE555的3腳輸出,利用這個電路可以做一個頻率計的實驗,通過單片機檢測輸出方波的頻率在顯示部分顯示出來。簡單鍵盤電路可以接到單片機的外部中斷引腳,用來產(chǎn)生中斷信號,可以用來做中斷的實驗和普通鍵盤程序的實驗。
2.2系統(tǒng)模擬量輸入電路的設計
模擬量輸入電路可以采用并行的AD轉換電路也可以采用串行的AD轉換電
路,并行AD的優(yōu)點就是傳輸速率高,一次性可以一個字節(jié),缺點是要占用太多的IO口,而且控制信號多。串行AD剛好相反,只要很少的幾個引腳就可以完成控制功能,但是傳輸速率較低。并行的AD可以采用ADC0809實現(xiàn),該芯片可以完成8路模擬量的輸入采集。
實驗板串行AD轉換可以使10位的單通道AD轉換芯片TLC1549,使用該芯片有較高的性價比,而且使用10位的串行AD轉換可以達到較高的分辯率和使用較少的I/O口的效果。
由于該型號的芯片內部有采樣保持電路,所以外部電路設計簡單,只需接上電源還有MCU接口的相應連線就可以正常工作,只用根控制線與MPU接口就可以控制該器件了。
2.3人機交互電路的設計
人機交互電路是單片機系統(tǒng)和人交換作息的一個主要通道,其中上面提到的鍵盤輸入就是一個輸入通道的人機交互電路,本節(jié)主要介紹顯示部分。
根據(jù)顯示的種類分有液晶顯示、LED數(shù)碼管顯示、LED點陣顯示。LED數(shù)碼管顯示器有顯示亮度高,操作簡單的特點,液晶顯示器有顯示內容豐富、功率低的特點。LED點陣顯示則兼容了兩種顯示器的顯示亮度高和顯示內容豐富的優(yōu)點。液晶顯示器又分為段碼和字符點陣、圖形點陣等種類,各種不同種類的液晶顯示器有不同的操作方法。
2.3.1數(shù)碼管顯示電路的設計
本系統(tǒng)綜合兩種主流顯示的特點把三種顯示器都集成到實驗板上。采用兩個三位的LED數(shù)碼管接成一個六位的LED數(shù)碼管顯示電路。這樣設計的思想是這個實驗板既可以做一般的顯示電路實驗,也可以做數(shù)字鐘的實驗(可以顯示時分秒)。由于單片機的IO口輸出驅動能力比較弱,所以每一位數(shù)字都采用了一個三極管9013來驅動。而且在接到P0口的那些LED數(shù)據(jù)口要在P0口加一個小阻值的電阻排,才可以讓P0口輸出的段碼驅動數(shù)碼管。
2.3.2 LED點陣電路的設計
LED點陣驅動電路的設計采用了單個16*16的LED點陣,因為LED點陣達到16*16的話就可以在點陣里面顯示分辯比較高的漢字的,這樣可以豐富LED的顯示效果。列驅動采用了兩個8位的移位寄存器74LS164接成了一個16位的移位寄存器,第一個74LS164的Q7輸出接到了第二個的數(shù)據(jù)輸入口,這樣經(jīng)過16個串行時鐘周期就可以將一個16位的顯示碼送到了列驅動器。采用串行的目的就是一可以增大每個線的驅動能力,還有就是節(jié)省IO口。經(jīng)過這樣的設計之后就可以只用兩個IO口就把顯示碼送到了列驅動器端。由于每一行有16個LED,設每個LED的驅動電流是5mA,那么最壞的情況就是一行的所有LED都亮,一共就有80mA的電流流過行驅動器的行選擇端,如果不加驅動的話用TTL集成電路就無法驅動該點陣。又因為行驅動器又選擇74LS164的移位方式的話,在送出顯示數(shù)據(jù)后再送行選擇碼的時候會讓相鄰行的LED也會點亮,出現(xiàn)顯示模糊的情況。所以行驅動器不用74LS164設計,在此選擇兩個74LS138接成一個四線譯十六線的譯碼器來選擇行。相應的行驅動電路如下圖:
從上圖可以看到,兩個138組成的一個4譯16線譯碼器的輸出經(jīng)過一個10K的電阻接到三極管9012的基極。三極管在此做為一個開關的驅動作用,當16線譯碼器輸出低電平時,對應的三極管會導通將電源接到點陣的輸入端,若對應的列驅動器輸出列是低電平時就會讓行和列交叉的那個發(fā)光二極管點亮。
2.3.3 液晶顯示電路的設計
液晶顯示電路采用 1602字符點陣液晶顯示和12864圖形點陣液晶顯示器。
該電路采用總線接法,這樣做的好處是可以把液晶顯示器當作一個外部的存儲單元來操作。 RW為讀寫控制線,高電平是讀低電平是寫,RS為命令和數(shù)據(jù)控制線,高電平是命令,低電平是數(shù)據(jù),E使能信號端,當E有一個高電平時液晶模塊使能。這樣要對液晶模塊訪問時,只要把RW、RS設置好再把數(shù)據(jù)或者命令送到外部RAM的任一個地址去就可以了,或者把外部RAM的任何地址的數(shù)讀進來。因為產(chǎn)生一次讀或者寫外部RAM都會使單片機RD、WR兩個引腳的其中之一產(chǎn)生一個低電平,經(jīng)過與非門74LS00后產(chǎn)生一個高電平使液晶顯示器使能。
12864圖形點陣液晶顯示器有20個引腳,而且引腳跟1602字符液晶顯示器兼容,所以驅動電路可以采用跟1602的驅動電路共用的方法。因為兩個液晶顯示器不同時使用,這樣一來可以節(jié)省元件,二來可以減少布線的難度,又可以完成兩種液晶顯示器的實驗。
2.4 開關信號輸出模塊的設計
2.4.1 開關信號輸出控制繼電器電路的設計
本設計的開關信號輸出是用單片機控制一個繼電器的動作,因為開關信號輸出一個最普遍的應用就是繼電器的控制。該部分的電路如下圖所示:
觀察上圖可以看到開關信號輸出模塊的電路圖,圖中的繼電器是一個通用的單刀雙擲開關5V繼電器。其1、2腳為輸入線圈,3、4腳為常開開關端,4、5腳為常閉開關端。因為繼電器的吸合電流比較大,不適合直接用單片機的IO口驅動,所以設計中采用了一個三極管9012來驅動。圖中的R55是三極管的基極限流電阻,可以防止Q2的電流過大。D25是一個續(xù)流二極管,可以吸收繼電器線圈釋放時的反向電動勢。因為當繼電器吸合的時候電流是從VCC經(jīng)過Q2、繼電器線圈到地的,D25反向截止。繼電器從吸合的狀態(tài)釋放時,線圈會產(chǎn)生一個反向的電動勢,此時Q2是截止的,線圈就通過D25構成回路釋放能量。如果沒有D25,反向的電動勢有可能會使Q2擊穿損壞。圖中還有一個發(fā)光三極管D15,是用來指示繼電器的狀態(tài)的,當繼電器吸合的時候電流從VCC經(jīng)過Q2、R58、D15到GND,發(fā)光二極管得電發(fā)光。R58為發(fā)光二極管的限流電阻,防止發(fā)光二極管的電流過大損壞。
2.4.2 發(fā)光二極管組成的八路流水燈電路的設計
流水燈控制是單片機實驗板開關信號輸出控制的一個經(jīng)典電路,可以通過燈的亮滅來觀察單片機I/O口的狀態(tài),使實驗學習更加直觀。
各個發(fā)光二極管都是共陽接法的,因為51單片機的高電平輸出驅動能力不強,不可以驅動一個發(fā)光二極管發(fā)光。而51單片機的低電平輸出驅動能力卻比較大,這由51單片機的I/O口結構決定的,所以采用共陽接法。
2.4.3 開關信號輸出控制蜂鳴器電路設計
蜂鳴器作為一個發(fā)聲器件,由于其控制電壓低,控制簡單等原因,常常用于各種電子儀器的報警信號,比如計算機主板上就有蜂鳴器提示計算機的工作狀態(tài)。本實驗板上的蜂鳴器采用5V的直流蜂鳴器,可以發(fā)出響亮的鳴叫聲,用來做聲音的實驗。
2.5 模擬信號輸出模塊的設計
模擬信號輸出就是把單片機機過的數(shù)字信號轉換成模塊信號輸出控制外部的設備,完成這一過程的元件就是DA轉換。為了保持本實驗板設計思想的一致性、簡化電路設計和節(jié)省IO口,還是采用串行DA轉換芯片 TLC5615。它有標準的SPI接口,一個數(shù)據(jù)線DATA、一個時鐘線SCLK和一個片選信號引腳CS。正是通過這個接口使該器件和單片機接口通信,所以采用串行的DA芯片可以大減少單片機IO口的使用。TLC5615的REFIN引腳是DA轉換參考電壓輸入端,通過電阻R1和R2的分壓提供參考電壓。OUT引腳是DA轉換后的模擬電壓輸出端口,可以把被控制的器件接到此端口上實現(xiàn)均勻控制,比如把一個發(fā)光二極管接到此端口,隨著輸出電壓的改變就可以看到發(fā)光二極管的亮度隨著改變。
三、結束語
基于ISP下載的簡約型51單片機實驗板,在本校計算機04級學生中實驗完成。實際使用效果良好,系統(tǒng)的各項功能符合設計要求。整個實驗板的設計思想明確,各個模塊按照功能分類設計,設計過程清晰明了。設計過程中各個部分都是以串行取代并行為主要原則,操作簡單,在各個模塊中大多數(shù)的芯片都是采用串行接口為主。
參考文獻
1. 《新編單片機原理與應用》 /潘永雄 編著. --西安:西安電子科技大學出版社, 2003.2
2. 任曉榮 . 單片機系統(tǒng)可靠性設計 。 計算機測量與控制 ,2003,11(8):621-623
3. 《MCS-51系列單片機應用及接口技術》/徐建軍主編。--北京:人民郵電出版社,2003.6
4. 《MCS-51系列單片機應用及接口技術》/徐建軍主編。--北京:人民郵電出版社,2003.6
手機電池相關文章:手機電池修復
51單片機相關文章:51單片機教程
單片機相關文章:單片機教程
單片機相關文章:單片機視頻教程
單片機相關文章:單片機工作原理
led顯示器相關文章:led顯示器原理
蜂鳴器相關文章:蜂鳴器原理 雙控開關相關文章:雙控開關原理
評論