摘要:單片機又稱單片微控制器,它不是完成某一個邏輯功能的芯片,而是把-+0算機系統集成到一個芯片上。概括地講:一塊芯片就成了一臺計算機。它的體積小、質量輕、價格便宜,為學習、應用和開發提供了便利條件。
關鍵詞:單片機;硬件結構;課程設計
中圖分類號:R857.3 文獻標識碼:A
文章編號:1672—0407(201 1)09—040—05
緒論
1.1 單片機簡介
1.1.1 單片機的應用
單片機又稱單片微控制器,它不是完成某一個邏輯功能的芯片,而是把一個計算機系統集成到一個芯片上。概括地講:一塊芯片就成了一臺計算機。它的體積小、質量輕、價格便宜,為學習、應用和開發提供了便利條件。同時,學習使用單片機是了解計算機原理與結構的最佳選擇。
可以說,20世紀跨越了3個“電”的時代,即電氣時代、電子時代和現已進入的電腦時代。不過,這種電腦,通常是指個人計算機,簡稱PC機。它由主機、鍵盤、顯示器等組成。還有一類計算機,大多數人卻不怎么熟悉。這種計算機就是把智能賦予各種機械的單片機。顧名思義,這種計算機的最小系統只用了一片集成電路,即可進行簡單運算和控制。因為它體積小,通常都藏在被控機械的“肚子”里。它在整個裝置中,起著有如人類頭腦的作用,它出了毛病,整個裝置就癱瘓了。現在,這種單片機的使用領域已十分廣泛,如智能儀表、實時工控、通訊設備、導航系統、家用電器等。各種產品一旦用上了單片機,就能起到使產品升級換代的功效,常在產品名稱前冠以形容詞——“智能型”,如智能型洗衣機等。現在有些工廠的技術人員或其他業余電子開發者搞出來的某些產品,不是電路太復雜,就是功能太簡單且極易被仿制。究其原因,可能就卡在產品未使用單片機或其它可編程邏輯器件上。
在計算機出現以前,有不少能工巧匠做出了許多精巧的機械。進入電器時代后,人們借助電氣技術實現了自動控制機械,自動生產線甚至自動工廠,并且大大地發展了控制理論。然而,在一些大中型系統中自動化結果均不理想。只有在計算機出現后,人們才見到了希望的曙光。如今借助計算機逐漸實現了人類的夢想。但是,計算機出現后的相當長的時間里,計算機作為科學武器,在科學的神圣殿堂里默默地工作,而工業現場的測控領域并沒有得到真正的應用。只有在單片機(Microcontrollerl出現后,計算機才真正地從科學的神圣殿堂走入尋常百姓家,成為廣大工程技術人員現代化技術革新,技術革命的有利武器。目前,單片機在民用和工業測控領域得到最廣泛的應用。彩電、冰箱、空調、錄像機、VCD、遙控器、游戲機、電飯煲等無處不見單片機的影子,單片機早已深深地溶入我們每個人的生活之中。
單片機能大大地提高這些產品的智能性,易用性及節能性等主要性能指標,給我們的生活帶來舒適和方便的同時,在工農業生產上也極大地提高了生產效率和產品質量。
單片機按用途大體上可分為兩大類:
1——通用型單片機
2——專用型單片機
專用型單片機是指用途比較專一,出廠時程序已經一次性固化好,不能再修改的單片機。例如電子表里的單片機就是其中的一種,其生產成本很低。
通用型單片機的用途很廣泛,使用不同的接口電路及編制不同的應用程序就可完成不同的功能。小到家用電器儀器儀表,大到機器設備和整套生產線都可用單片機來實現自動化控制。
1.1.2 單片機的特點
(1)優異的性價比
(2)集成度高、體積小、可靠性高
(3)控制功能強
(4)低功耗、低電壓
(5)結構簡化
(6)易構成各種規模的應用系統
1.2 LED電子顯示屏概述
1.2.1 LED介紹及其特點
LED(Light Emitting Diode),即發光二極管,是一種可將電能轉換為光能的半導體發光器件,屬于固態光源。LED的心臟是一個半導體的晶片,晶片附在一個支架上,一端是負極,另一端連接電源的正極,整個晶片被環氧樹脂封裝起來。半導體晶片由兩部分組成,一部分是P型半導體,在它里面空穴占主導地位,另一端是N型半導體,在這邊主要是自由電子。這兩種半導體連接起來的時候,它們之間就形成一個“P-N結”。當電流通過導線作用于這個晶片的時候,電子就會被推向P區,在P區里電子跟空穴復合,然后就會以光子的形式發出能量,這就是LED發光的原理。而光的波長也就是光的顏色,是由形成P-N結的材料決定的。
LED的內在特征決定了它可以作為最理想的光源去代替傳統的光源,并有著廣泛的用途。
2.系統總體方案設計
2.1 基本要求
設計內容:在單片機開發板上完成以下幾點。
[1]了解SPI總線工作原理和74HC595的工作時序,并能夠用程序控制74HC595輸出。
[2]學會點陣LED的動態掃描過程。
[3]能夠顯示靜止的漢字或英文或圖像。
[4]能夠讓屏幕或上或下或左或右動起來。
2.2 系統的硬件結構
一個40×14漢字的示例電路,系統由CPU、數據鎖存器和掃描電路構成。由于使用的40×14點陣的漢字,51系列為8位機,每次只能處理8位二進制數,因此利用五片74H595輸出字模的第一行并加以鎖存,然后通過對列的變換逐行顯示,讓人看到幾個完整的字,再通過CPU發出移位的指令實現字符的移動,在不更改任何硬件電路的情況下,實現漢字的左移和右移。這種模塊化的掃描電路設計非常簡單,并且通過簡單的級聯就可以形成多個漢字的掃描電路,可以大大降低電路板的制作成本。
2.3 設計方案比較
從理論上講,不論顯示圖形還是文字,只要控制與組成這些圖形的或文字的各個點所在位置相對的LED器件發光,就可以得到我們想要的顯示結果,這種同時控制各個發光電亮滅的方法稱為靜態驅動顯示方式。5×7LED的點陣共有35個發光二極管,顯然單片機沒有這么多端口,因此在實際應用中的顯示屏幾乎都不采用這種設計,而采用另一種稱為動態掃描的顯示方式。
動態掃描的意思簡單地說就是逐行輪流點亮,這樣掃描驅動電路就可以實現多行(比如14行)的同名列共用一套列驅動器。具體就5×7的點陣來說,把所有同1行的發光管點亮熄滅的數據鎖存,然后選通第一行使其燃亮一定的時間,然后熄滅;再送出第二行的數據并鎖存,然后選通第二行使其燃亮的同時,然后燃滅……第16行之后,又從新燃亮第一行,反復輪回。當這樣輪回的速度足夠快(每秒24次以上),由于人眼的視覺暫留現象,就能看到顯示屏上穩定的圖形了。
采用掃描方式進行顯示時,每秒有一個行驅動器,各行的同名列共用一個列驅動器,顯示數據通常存儲在單片機的存儲器中,按8位一個字節的形式順序排放。顯示時要把一行中各列的數據都傳送到相應的列驅動器上去,這就存在一個顯示數據傳輸的問題。從控制電路到列驅動電路的數據傳輸可以采用并行方式或串行方式。顯然,采用并行方式時,從控制電路到列驅動器的線路數量大,相應的硬件數目多。當列數很多時,并行傳輸的方案是不可取的。
采用串行傳輸方式,控制電路可以只用一根信號線,將列數據一位一位傳往列驅動器,在硬件方面無疑是十分經濟的。
2.4 漢字字模的生成
由于需要顯示的內容千差萬別,如果完全依靠用戶自己構建漢字字模,將是一件非常艱巨甚至是不可能的工作。并且在漢字的顯示過程中,又經常需要實現漢字的水平移動、垂直移動或對角線移動。如果完全依靠單片機完成字模的創建和顯示控制,則由于單片機的運算能力有限,基本上無法實現漢字的實時顯示。為此可以利用Pc機的強大運算功能,預先生成顯示漢字的所需的字模。
行字模的生成通常可以利用字模軟件構造需要顯示的字模的位置。而字模的長度則是由用于顯示的LED點陣長度決定的,由于采用的是40×14點陣,一個漢字字模需要16×14/8=28個字節。因此從字模的開始依次讀取28個字節就可以得到該漢字16×14的字模(行字模)。
2.5 漢字顯示的控制
通常字模的移動主要包括按行平移,按列平移和按對角線移動3種,其他的移動形式都可以在這3種運動的基礎上改造而成。下面以按列向左平移為例介紹字模移動的控制思想。由于點陣屏只能按列進行動態顯示,且每次只能顯示一列,同時為了保證所顯示的內容不出現閃爍,還需要對屏幕顯示的內容進行多次刷新,因此字模顯示的控制可以分為移動和刷新的控制。所謂的字模平移其實質就是相鄰的兩屏顯示內容在位置上平行移動了一列,而原先處于顯示邊緣的顯示內容(第一列或最后一列)則被移出顯示屏。據此原理稍加修改就可以實現任意形式的平移。為了保證顯示內容不出現閃爍,還需要進行屏幕的刷新,每次刷屏操作所顯示的內容是相同的。因此可以預先保存好本屏顯示字模的首地址,當完成一次刷屏操作后,恢復顯示字模的首地址,重復字模按列輸出操作即可。
3.硬件設計
3.1 設計目的
[1]學會使用點陣LED管。
[2]掌握漢字字模軟件的使用。
[3]掌握用點陣LED顯示漢字的控制方法。
3.2 各元器件的功能介紹
3.2.1 ULN2003
概述與特點
ULN2003是高耐壓、大電流達林頓陳列,由七個硅NPN達林頓管組成。
該電路的特點如下:
ULN2003的每一對達林頓都串聯一個2.7K的基極電阻,在5V的工作電壓下它能與TTL和CMOS電路直接相連,可以直接處理原先需要標準邏輯緩沖器來處理的數據。
ULN2003工作電壓高,工作電流大,灌電流可達500mA,并且能夠在關態時承受50V的電壓,輸出還可以在高負載電流并行運行。
ULN2003采用DIP-16或SOP-16塑料封裝。
該電路的特點如下:
ULN2003的每一對達林頓都串聯一個2.7K的基極電阻,在5V的工作電壓下它能與TTL和CMOS電路直接相連,可以直接處理原先需要標準邏輯緩沖器來處理的數據。ULN2003工作電壓高,工作電流大,灌電流可達500mA,并且能夠在關態時承受50V的電壓,輸出還可以在高負載電流并行運行。
3.2.2 74HC595
1.描述74HC595是硅結構的CMOS器件,兼容低電壓TTL電路,遵守JEDEC標準。74HC595是具有8位移位寄存器和一個存儲器,三態輸出功能。移位寄存器和存儲器是分別的時鐘。數據在SCHep的上升沿輸入,在STep的上升沿進入的存儲寄存器中去。如果兩個時鐘連在一起,則移位寄存器總是比存儲寄存器早一個脈沖。移位寄存器有一個串行移位輸入(DS),和一個串行輸出(Q7’),和一個異步的低電平復位,存儲寄存器有一個并行8位的,具備三態的總線輸出,當使能OE時(為低電平),存儲寄存器的數據輸出到總線。
2.特點:8位串行輸入/8位串行或并行輸出存儲狀態寄存器,三種狀態輸出寄存器可以直接清除100MHz的移位頻率。
3.輸出能力:并行輸出,總線驅動;串行輸出;標準中等規模集成電路595移位寄存器有一個串行移位輸入(Ds),和一個串行輸出(Q7’),和一個異步的低電平復位,存儲寄存器有一個并行8位的,具備三態的總線輸出,當使能OE時(為低電平),存儲寄存器的數據輸出到總線。
4.功能表
輸入輸出功能
SHCPSTCPOE MRDSQ7’Qn
××L↓×L NC MR為低電平時僅僅影響移位寄存器。
×↑ LL×LL空移位寄存器到輸出寄存器
××HL×LZ清空移位寄存器,并行輸出為高阻狀態。
↑×L H H Q6 NC邏輯高電平移入移位寄存器狀態0,包含所有的移位寄存器狀態移入,例如,以前的狀態6(內部Q6’)出現在串行輸出位。
×↑ LH×NC Qn’移位寄存器的內容到達保持寄存器并從并口輸出。
↑ ↑ L H×Q6’Qn’移位寄存器內容移入,先前的移位寄存器的內容到達保持寄存器并出。
5.引腳說明
符號引腳描述
Q0……Q7 15,1,7并行數據輸出
GND 8地
Q7’9串行數據輸出
MR 10主復位(低電平)
SHCP 11移位寄存器時鐘輸入
STCP 12存儲寄存器時鐘輸入
OE 13輸出有效(低電平)
DS 14串行數據輸入
VCC 16電源
3.2.3 STC89C51芯片介紹
STC89C51單片機的特點:
1.增強型6時鐘/機器周期,12時鐘/機器周期8051 CPU。
2.工作電壓:5.5V-3.4V(5V單片機)/3.8V-2.0V(3V單片機)。
3.工作頻率范圍:0-40 MHz,相當于普通8051的0-80MHz,實際工作頻率可達48MHz,
4.用戶直再程序空間4K/8K/13K/16K/20K/32K/64K字節。
5.片上集成1280字節/512字節RAM。
6.通用I/O口(32/36個),復位后為:P1/P2/P3/P4是準雙向口/弱上拉(普通8051傳統I/O口)。
P0口是開漏輸出,作為總線擴展用時,不用加上拉電阻,作為I/O口用時,需加上拉電阻。
7.ISP(在系統可編程)/IAP(在應用可編程),無需專用編程器/仿真器可通過串口(P3.0/P3.1)直接下載用戶程序,8K程序3秒即可完成一片。
8.EEPROM功能
9.看門狗
10.內部集成MAX810專用復位電路(D版本才有),外部晶體20M以下時,可省外部復位電路。
11.共3個16位定時器/計數器,其中定時器0還可以當成2個8位定時器使用。
12.外部中斷4路,下降沿中斷或低電平觸發中斷,Power Down模式可由外部中斷低電平觸發中斷方式喚醒。
13.通用異步串行口(UART),還可用定時器軟件實現多個UART。
14.212作溫度范圍:0℃-75℃/-40~C~+85℃。
15.封裝:PDIP-40,PLCC-44,PQFP-44。
3.3 單片機外圍電路的設計
LED漢字顯示系統。該系統利用低成本的單片機系統實現漢字的固定顯示水平移動、垂直移動。顯示模塊采用模塊化設計,在負載范圍內,只需通過簡單的級聯就可以對顯示屏進行擴展,是一種成本低廉的漢字顯示方案。同時也使用過的模塊有再利用的價值。
40×14的點陣模塊在許多LED同時工作的情況下需要很大的電流,89C51單片機的驅動能力不能滿足需要,在眾多的驅動芯片中既要選擇滿足實際需要而且性價要較高,抗干擾能力強,質量穩定,這樣才能做到經濟實惠又不浪費。
通過對系統總體方案的設計我們選用逐行掃描的方式實現LED點陣的漢字顯示。在掃描第一行的同時,其余行都是熄滅的,在很短的一段時間內完成每行的掃描,只要掃描的速度合適人眼是分辨不出來的,我們看到的是一個完整的字。
設計中采用的是共陰極的點陣,掃描其中一行時其余加在陰極上的電位必須為高電位,在電路中加上UN2003,可以簡化列的控制,只要CPU給出相應列的值,CPU主要的工作就是控制行的輸出,從而實現單片機對點陣的控制。
3.4 SPI總線應
SPI是一個環形總線結構,由ss(cs)、sck、sdi、sdo構成,其時序其實很簡單,主要是在sck的控制下,兩個雙向移位寄存器進行數據交換。
假設下面的8位寄存器裝的是待發送的數據10101010,上升沿發送、下降沿接收、高位先發送。那么第一個上升沿來的時候,數據將會是sdo=1;寄存器=0101010x。下降沿到來的時候,sdi上的電平將所存到寄存器中去,那么這時寄存器=0101010sdi,這樣在8個時鐘脈沖以后,兩個寄存器的內容互相交換一次。這樣就完成里一個spi時序。
其中ss引腳作為主機的時候,從機可以把它拉底被動選為從機,作為從機的是時候,可以作為片選腳用。根據以上分析,一個完整的傳送周期是16位,即兩個字節,因為,首先主機要發送命令過去,然后從機根據主機的名準備數據,主機在下一個8位時鐘周期才把數據讀回來!
4.總結與展望
文章給出的示例電路只能完成漢字的左右平移或上下移動,對此電路的字模輸出部分稍加修改就可以完成漢字任意形式的顯示(如上下平移、左右平移)。在該系統的基礎上添加通訊模塊,就可以實現PC機遠程控制顯示內容。目前,有科學家已經在此原理基礎上開發出實用的低成本大屏幕漢字顯示系統。
本次設計創新點在于提出了以成本較低的單片機控制系統為核心的大屏幕漢字顯示系統,該系統可以實現漢字平行移動、垂直移動和對角線移動,系統采用了模塊化設計,可以通過簡單的級聯地對系統的顯示模塊和掃描模塊進行擴展。作為課程設計中應用比較合適,同時在課程設計中要想創新就要從看別人的程序做起然后進行模仿,經過自己實際動手操作以后逐步進行改進,只有不斷的通過實踐才能更好的掌握51單片機的匯編語言,才能談到創新。
51單片機的開發不僅需要對5 1單片機的了解更需要扎實的數電與模電知識,在設計中才會得心應手,從這次課程設計中可以看出,平時對一些基本模塊要進行保存以便在編程時直接調用,省去不必要的時間,開發較大的項目時我們需要高級編程語言才能更加快速的完成設計。
4.1 低功耗CMOS化
MCS-51系列的8031推出時的功耗達630mW,而現在的單片機普遍都在100mW左右,隨著對單片機功耗要求越來越低,現在的各個單片機制造商基本都采用了CMOS(互補金屬氧化物半導體工藝)。像80C5 1就采用了HMOS f即高密度金屬氧化物半導體工藝)和CHMOS(互補高密度金屬氧化物半導體工藝)。CMOS雖然功耗較低,但由于其物理特征決定其工作速度不夠高,而CHMOS則具備了高速和低功耗的特點,這些特征,更適合于在要求低功耗象電池供電的應用場合。所以這種工藝將是今后一段時期單片機發展的主要途徑。
4.2 微型單片化
現在常規的單片機普遍都是將中央處理器(cPU)、隨機存取數據存儲(RAM)、只讀程序存儲器(ROM)、并行和串行通信接口,中斷系統、定時電路、時鐘電路集成在一塊單一的芯片上,增強型的單片機集成了如A/D轉換器、PMW(脈寬調制電路)、WDT(看門狗1、有些單片機將LCD(液晶)驅動電路都集成在單一的芯片上,這樣單片機包含的單元電路就更多,功能就越強大。甚至單片機廠商還可以根據用戶的要求量身定做,制造出具有自己特色的單片機芯片。
此外,現在的產品普遍要求體積小、重量輕,這就要求單片機除了功能強和功耗低外,還要求其體積要小。現在的許多單片機都具有多種封裝形式,其中SMD(表面封裝)越來越受歡迎,使得由單片機構成的系統正朝微型化方向發展。
4.3 主流與多品種共存
現在雖然單片機的品種繁多,各具特色,但仍以80C51為核心的單片機占主流,兼容其結構和指令系統的有PHILIPS公司的產品,ATMEL公司的產品和中國臺灣的Winbond系列單片機。所以C8051為核心的單片機占據了半壁江山。而Microchip公司的PIC精簡指令集(RISC)也有著強勁的發展勢頭,中國臺灣的HOLTEK公司近年的單片機產量與日俱增,與其低價質優的優勢,占據一定的市場分額。此外還有MOTOROLA公司的產品,日本幾大公司的專用單片機。在一定的時期內,這種情形將得以延續,將不存在某個單片機一統天下的壟斷局面,走的是依存互補,相輔相成、共同發展的道路。