新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于ISP 的簡約型51單片機實驗板的設計

基于ISP 的簡約型51單片機實驗板的設計

作者: 時間:2012-01-07 來源:網(wǎng)絡 收藏

0 引言

現(xiàn)在市面上通用的51內(nèi)核單片機主要有ATMEL公司的AT89S51、AT89S52系列,飛利浦公司的P89C51RXX系列和P89LPC900系列。其中AT公司的52系列是51系列的增強版本,飛利浦公司的P89C51RXX系列的內(nèi)部功能跟AT89S51基本相同,都是增強型51內(nèi)核。通過比較選擇飛利浦公司的P89C51RA2BN單片機,該單片機內(nèi)部有8K的FLASH ROM程序存儲器,可以滿足大部分的實驗和小系統(tǒng)設計。而且該單片機跟AT89S52相比,還有內(nèi)部PCA(可編程計數(shù)器陣列),和512字節(jié)的數(shù)據(jù)存儲器,7個中斷源和集成內(nèi)部硬件看門狗。該單片機的引腳和普通51單片機完全兼容,可以做為51單片機的代換產(chǎn)品。另外該型號單片機的P1口還有第二功能,有12時鐘和6時鐘工作模式,其中6時鐘工作方式的速度是普通51單片機的2倍。

一、 系統(tǒng)設計

本系統(tǒng)的設計框圖如下:

其中下載電路的設計如下:

飛利浦P89C51RA2BN單片機通過P3.0和P3.1口(也就是串行口)下載程序到片內(nèi)FLASH ROM,其電路為:

從上面的電路圖中可以看到,單片機的下載電路其實就是一個串行通信電路,這樣就可以實現(xiàn)一個電路既用來下載程序也可以用來做串行口通信的實驗,一舉兩得。圖中的PORT1是一個USB接口插座,用其來連接一個DB9的母頭到PC機串行口輸出端下載程序和一個USB插頭到PC機的USB接口供電。因為PC機的USB口可以提供5伏500毫安的直流電壓,剛好為我們設計的單片機系統(tǒng)供電。

二、單元電路設計

2.1系統(tǒng)開關(guān)信號輸入電路的設計

開關(guān)信號可以由鍵盤產(chǎn)生,也可以由方波振蕩電路產(chǎn)生。由于一個方波振蕩

也不復雜,可以由555電路構(gòu)成,所以我們的實驗板加上一個方波振蕩電路。鍵盤電路因為要兼顧易用性,所以采用簡單鍵盤電路。

方波振蕩器的振蕩頻率大概是1000Hz左右,從NE555的3腳輸出,利用這個電路可以做一個頻率計的實驗,通過單片機檢測輸出方波的頻率在顯示部分顯示出來。簡單鍵盤電路可以接到單片機的外部中斷引腳,用來產(chǎn)生中斷信號,可以用來做中斷的實驗和普通鍵盤程序的實驗。

2.2系統(tǒng)模擬量輸入電路的設計

模擬量輸入電路可以采用并行的AD轉(zhuǎn)換電路也可以采用串行的AD轉(zhuǎn)換電

路,并行AD的優(yōu)點就是傳輸速率高,一次性可以一個字節(jié),缺點是要占用太多的IO口,而且控制信號多。串行AD剛好相反,只要很少的幾個引腳就可以完成控制功能,但是傳輸速率較低。并行的AD可以采用ADC0809實現(xiàn),該芯片可以完成8路模擬量的輸入采集。

實驗板串行AD轉(zhuǎn)換可以使10位的單通道AD轉(zhuǎn)換芯片TLC1549,使用該芯片有較高的性價比,而且使用10位的串行AD轉(zhuǎn)換可以達到較高的分辯率和使用較少的I/O口的效果。

由于該型號的芯片內(nèi)部有采樣保持電路,所以外部電路設計簡單,只需接上電源還有MCU接口的相應連線就可以正常工作,只用根控制線與MPU接口就可以控制該器件了。

2.3人機交互電路的設計

人機交互電路是單片機系統(tǒng)和人交換作息的一個主要通道,其中上面提到的鍵盤輸入就是一個輸入通道的人機交互電路,本節(jié)主要介紹顯示部分。

根據(jù)顯示的種類分有液晶顯示、LED數(shù)碼管顯示、LED點陣顯示。LED數(shù)碼管顯示器有顯示亮度高,操作簡單的特點,液晶顯示器有顯示內(nèi)容豐富、功率低的特點。LED點陣顯示則兼容了兩種顯示器的顯示亮度高和顯示內(nèi)容豐富的優(yōu)點。液晶顯示器又分為段碼和字符點陣、圖形點陣等種類,各種不同種類的液晶顯示器有不同的操作方法。

2.3.1數(shù)碼管顯示電路的設計

本系統(tǒng)綜合兩種主流顯示的特點把三種顯示器都集成到實驗板上。采用兩個三位的LED數(shù)碼管接成一個六位的LED數(shù)碼管顯示電路。這樣設計的思想是這個實驗板既可以做一般的顯示電路實驗,也可以做數(shù)字鐘的實驗(可以顯示時分秒)。由于單片機的IO口輸出驅(qū)動能力比較弱,所以每一位數(shù)字都采用了一個三極管9013來驅(qū)動。而且在接到P0口的那些LED數(shù)據(jù)口要在P0口加一個小阻值的電阻排,才可以讓P0口輸出的段碼驅(qū)動數(shù)碼管。

2.3.2 LED點陣電路的設計

LED點陣驅(qū)動電路的設計采用了單個16*16的LED點陣,因為LED點陣達到16*16的話就可以在點陣里面顯示分辯比較高的漢字的,這樣可以豐富LED的顯示效果。列驅(qū)動采用了兩個8位的移位寄存器74LS164接成了一個16位的移位寄存器,第一個74LS164的Q7輸出接到了第二個的數(shù)據(jù)輸入口,這樣經(jīng)過16個串行時鐘周期就可以將一個16位的顯示碼送到了列驅(qū)動器。采用串行的目的就是一可以增大每個線的驅(qū)動能力,還有就是節(jié)省IO口。經(jīng)過這樣的設計之后就可以只用兩個IO口就把顯示碼送到了列驅(qū)動器端。由于每一行有16個LED,設每個LED的驅(qū)動電流是5mA,那么最壞的情況就是一行的所有LED都亮,一共就有80mA的電流流過行驅(qū)動器的行選擇端,如果不加驅(qū)動的話用TTL集成電路就無法驅(qū)動該點陣。又因為行驅(qū)動器又選擇74LS164的移位方式的話,在送出顯示數(shù)據(jù)后再送行選擇碼的時候會讓相鄰行的LED也會點亮,出現(xiàn)顯示模糊的情況。所以行驅(qū)動器不用74LS164設計,在此選擇兩個74LS138接成一個四線譯十六線的譯碼器來選擇行。相應的行驅(qū)動電路如下圖:

從上圖可以看到,兩個138組成的一個4譯16線譯碼器的輸出經(jīng)過一個10K的電阻接到三極管9012的基極。三極管在此做為一個開關(guān)的驅(qū)動作用,當16線譯碼器輸出低電平時,對應的三極管會導通將電源接到點陣的輸入端,若對應的列驅(qū)動器輸出列是低電平時就會讓行和列交叉的那個發(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字符液晶顯示器兼容,所以驅(qū)動電路可以采用跟1602的驅(qū)動電路共用的方法。因為兩個液晶顯示器不同時使用,這樣一來可以節(jié)省元件,二來可以減少布線的難度,又可以完成兩種液晶顯示器的實驗。

2.4 開關(guān)信號輸出模塊的設計

2.4.1 開關(guān)信號輸出控制繼電器電路的設計

本設計的開關(guān)信號輸出是用單片機控制一個繼電器的動作,因為開關(guān)信號輸出一個最普遍的應用就是繼電器的控制。該部分的電路如下圖所示:

觀察上圖可以看到開關(guān)信號輸出模塊的電路圖,圖中的繼電器是一個通用的單刀雙擲開關(guān)5V繼電器。其1、2腳為輸入線圈,3、4腳為常開開關(guān)端,4、5腳為常閉開關(guān)端。因為繼電器的吸合電流比較大,不適合直接用單片機的IO口驅(qū)動,所以設計中采用了一個三極管9012來驅(qū)動。圖中的R55是三極管的基極限流電阻,可以防止Q2的電流過大。D25是一個續(xù)流二極管,可以吸收繼電器線圈釋放時的反向電動勢。因為當繼電器吸合的時候電流是從VCC經(jīng)過Q2、繼電器線圈到地的,D25反向截止。繼電器從吸合的狀態(tài)釋放時,線圈會產(chǎn)生一個反向的電動勢,此時Q2是截止的,線圈就通過D25構(gòu)成回路釋放能量。如果沒有D25,反向的電動勢有可能會使Q2擊穿損壞。圖中還有一個發(fā)光三極管D15,是用來指示繼電器的狀態(tài)的,當繼電器吸合的時候電流從VCC經(jīng)過Q2、R58、D15到GND,發(fā)光二極管得電發(fā)光。R58為發(fā)光二極管的限流電阻,防止發(fā)光二極管的電流過大損壞。

2.4.2 發(fā)光二極管組成的八路流水燈電路的設計

流水燈控制是單片機實驗板開關(guān)信號輸出控制的一個經(jīng)典電路,可以通過燈的亮滅來觀察單片機I/O口的狀態(tài),使實驗學習更加直觀。

各個發(fā)光二極管都是共陽接法的,因為51單片機的高電平輸出驅(qū)動能力不強,不可以驅(qū)動一個發(fā)光二極管發(fā)光。而51單片機的低電平輸出驅(qū)動能力卻比較大,這由51單片機的I/O口結(jié)構(gòu)決定的,所以采用共陽接法。

2.4.3 開關(guān)信號輸出控制蜂鳴器電路設計

蜂鳴器作為一個發(fā)聲器件,由于其控制電壓低,控制簡單等原因,常常用于各種電子儀器的報警信號,比如計算機主板上就有蜂鳴器提示計算機的工作狀態(tài)。本實驗板上的蜂鳴器采用5V的直流蜂鳴器,可以發(fā)出響亮的鳴叫聲,用來做聲音的實驗。

2.5 模擬信號輸出模塊的設計

模擬信號輸出就是把單片機機過的數(shù)字信號轉(zhuǎn)換成模塊信號輸出控制外部的設備,完成這一過程的元件就是DA轉(zhuǎn)換。為了保持本實驗板設計思想的一致性、簡化電路設計和節(jié)省IO口,還是采用串行DA轉(zhuǎn)換芯片 TLC5615。它有標準的SPI接口,一個數(shù)據(jù)線DATA、一個時鐘線SCLK和一個片選信號引腳CS。正是通過這個接口使該器件和單片機接口通信,所以采用串行的DA芯片可以大減少單片機IO口的使用。TLC5615的REFIN引腳是DA轉(zhuǎn)換參考電壓輸入端,通過電阻R1和R2的分壓提供參考電壓。OUT引腳是DA轉(zhuǎn)換后的模擬電壓輸出端口,可以把被控制的器件接到此端口上實現(xiàn)均勻控制,比如把一個發(fā)光二極管接到此端口,隨著輸出電壓的改變就可以看到發(fā)光二極管的亮度隨著改變。

三、結(jié)束語

基于下載的簡約型51單片機實驗板,在本校計算機04級學生中實驗完成。實際使用效果良好,系統(tǒng)的各項功能符合設計要求。整個實驗板的設計思想明確,各個模塊按照功能分類設計,設計過程清晰明了。設計過程中各個部分都是以串行取代并行為主要原則,操作簡單,在各個模塊中大多數(shù)的芯片都是采用串行接口為主。

參考文獻

1. 《新編單片機原理與應用》 /潘永雄 編著. --西安:西安電子科技大學出版社, 2003.2

2. 任曉榮 . 單片機系統(tǒng)可靠性設計 。 計算機測量與控制 ,2003,11(8):621-623

3. 《MCS-51系列單片機應用及接口技術(shù)》/徐建軍主編。--北京:人民郵電出版社,2003.6

4. 《MCS-51系列單片機應用及接口技術(shù)》/徐建軍主編。--北京:人民郵電出版社,2003.6

手機電池相關(guān)文章:手機電池修復


51單片機相關(guān)文章:51單片機教程


單片機相關(guān)文章:單片機教程


單片機相關(guān)文章:單片機視頻教程


單片機相關(guān)文章:單片機工作原理


led顯示器相關(guān)文章:led顯示器原理


蜂鳴器相關(guān)文章:蜂鳴器原理
雙控開關(guān)相關(guān)文章:雙控開關(guān)原理


評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉