基于單片機的6位led顯示設計報告._第1頁
基于單片機的6位led顯示設計報告._第2頁
基于單片機的6位led顯示設計報告._第3頁
基于單片機的6位led顯示設計報告._第4頁
基于單片機的6位led顯示設計報告._第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、設計題目:用單片機控制 6 位數(shù)字顯示摘要 :單片微型計算機( single chip microcomputer )簡稱單片機,它是為各類專用 控制器而設計的通用或專用微型計算機系統(tǒng), 高密度集成了普通計算機微處理器, 一定容量 的RAM和ROM以及輸入/輸出接口,定時器等電路于一塊芯片上構成的。單片機自 20 世紀 70 年代問世以來, 以極其高的性價比受到人們的重視和關注, 所以應用很 廣,發(fā)展很快。單片機的優(yōu)點是體積小、重量輕、抗干擾能力強,對環(huán)境要求不高,價格低 廉,可靠性高,靈活性好,開發(fā)較為容易。在現(xiàn)代工業(yè)控制和一些智能化儀器儀表中,越來 越多的場所需要用點陣圖形顯示器顯示漢字,

2、 漢字顯示屏也廣泛應用到汽車報站器, 廣告屏 等。所以研究LED顯示有實用的意義。關鍵詞:單片機、AT89C51、74HC245驅動電路、LED數(shù)碼管論文提綱:收集相關資料并仔細研讀和思考。 對設計方案進行分析,通過相關數(shù)學推導和計算,確定相關元器件的參數(shù)和型號。 硬件電路的設計與調試。整體連調及測試性能。 整理資料,編寫設計論文。E 1.1設計目的:1 、進一步學習、掌握 MCS-51 系列單片機指令系統(tǒng)2、掌握單片機循環(huán)程序、子程序的設計方法3、掌握單片機與數(shù)碼管的接口電路及顯示程序設計4、了解單片機查表程序的設計方法E 1.2設計內容:利用單片機控制七段 LED數(shù)碼管顯示“ 654321

3、 ” 6位數(shù)字E 1.3設計的組成:1 、 ( 1 )晶體振蕩器2、復位電路3、數(shù)碼管數(shù)碼管通常有發(fā)光二極管(LED)數(shù)碼管和液晶(LCD數(shù)碼管,本設計提供的為LED數(shù)碼管4、控制部分1.4 設計的工作原理(1):輸入 /輸出口線P0.0-P0.7P0口8 位雙向口線P1.0-P1.7P1口8位雙向口線P2.0-P2.7P2口8 位雙向口線P3.0-P3.7P3口8 位雙向口本設計用到的是P0 口和P2 口(2):地址鎖存控制信號 ALE在系統(tǒng)擴展時,ALE用于控制把P0 口輸出地低8位地址送入鎖存器鎖存起來,以實 現(xiàn)低位地址和數(shù)據(jù)的分時傳送。 此外由于ALE是以1/6晶振頻率的固定頻率輸出的

4、正脈沖, 因此,可作為外部時鐘或外部定時脈沖使用。(3) :外部程序存儲器讀選通信號PSEN在外部ROM時PSEN有效(低電平),以實現(xiàn)外部 ROM單元的讀操作。(4):訪問程序存儲器控制信號 EA當EA信號為低電平時,對ROM的讀操作是針對尾部程序存儲器的;而當EA信號為高電平時,對ROM的讀操作時從內部程序存儲器開始,并可延續(xù)至外部程序存儲器。(5):復位信號RST當輸入的復位信號延續(xù) 2個機器周期以上高電平時即為有效,用于完成單片機的復位 操作。(6) :外接晶體引線端 XTAL1和XTAL2當使用芯片內部時鐘時,XTAL1和XTAL2用于 外接石英晶體諧振器和微調電容;當使用外部時鐘時

5、,用于接入外部時鐘脈沖信號(7):地線 Vss(8): +5V 電源 Vcc七段LED數(shù)碼管是一種常用的數(shù)字顯示原件,將 a、b、c、d、e、f、g七只發(fā)光二 極管做成條狀,按圖所示排列而成,除顯示數(shù)字的七段之外還有一個小數(shù)點dp,實為八段顯示。通過七段發(fā)光段的不同組合,可以顯示 09、AF燈數(shù)字和字符。根據(jù)內部發(fā)光二極管的連接方式,可分為共陰極型與共陽極型兩種。(1 )、共陽極連接如圖所示,把發(fā)光二極管的陰極連在一起構成公共端COM,使用時公共端接地,這樣陽極端輸入高電平的端就導通點亮,而輸入低電平的則不點亮。(2 )、共陽極連接如圖所示,把二極管的陽極連接在一起構成公共端COM。使用時公共

6、端接+5V。這樣陰極端輸入低電平的端就導通點亮,而輸入高電平的則不點亮。共陽極T段數(shù)碼管圖一單片機動作七段LED數(shù)碼管顯示數(shù)字,必須提供段選碼。段選碼又稱字形碼,是ag、dp八個電平的取值組合。例如,采用共陰極連接,若要顯示數(shù)字7,則a、b、c端接高電平, 其余端接低電平。七段發(fā)光二極管,再加上一個小數(shù)點位, 共計八段,因此可將單片機的一個 8位并行口 與七段LED數(shù)碼管的八段對應相連(如 P0.7P0.0分別對應著八個筆畫段 dp、ga), 8位 并行口輸出不同的段選碼, 便可驅動數(shù)碼管的不同段發(fā)光了, 從而顯示不同的數(shù)字。 用七段 LED數(shù)碼管顯示十六進制數(shù)的字形碼見表 1表字形共陰極代碼

7、共陽極代碼字形共陰極代碼共陽極代碼03FHC0HA77H88H106HF9HB7CH83H25BHA4HC39HC6H34FHB0HD5EHA1H466H99HE79H86H56DH92HF71H8EH67D82HP73H8CH707HF8H40H0BFH87FH80H滅00HFFH96FH90HE 1.5硬件電路設計方案E 1.51硬件電路七段LED數(shù)碼管要正常顯示,需用驅動電路來驅動七段LED數(shù)碼管的各段碼,從而顯示我們要的數(shù)字。根據(jù)七段LED數(shù)碼管驅動方式的不同,可以分為靜態(tài)式和動態(tài)式兩類。1、靜態(tài)顯示驅動靜態(tài)驅動是指每個七段 LED數(shù)碼管的每一個段碼都由一個單片機的 I/O端口進行驅動

8、。靜 態(tài)驅動的優(yōu)點是編程簡單,顯示亮度高,缺點是占用I/O 口端口多,如驅動 6個七段LED數(shù)碼管靜態(tài)顯示,則需要 6X 8=48根I/O端口來驅動,而一個 80C51系列單片機可用的I/O 端口才32個!實際應用時必須增加譯碼驅動器進行驅動,增加了硬件電路的復雜性。2、動態(tài)顯示驅動七段LED數(shù)碼管動態(tài)顯示是單片機中應用最為廣泛的顯示方式之一,動態(tài)驅動是將所 有七段LED數(shù)碼管的8個顯示筆畫a、b、c、d、e f、g、dp的同名端連在一起,另外為 每個數(shù)碼管的公共極 COM增加位選通控制電路,位選通由各自獨立的I/O端口控制,當單片機輸出字形碼時所有數(shù)碼管都接收到相同的字形碼,但究竟是哪個LE

9、D七段數(shù)碼管會顯示出字形,取決于單片機對位選通COM端電路的控制,所以只要將需要顯示的七段LED數(shù)碼管的位選通控制打開,該位就顯示出字形,沒有選通的數(shù)碼管就不會亮。通過分時輪流 控制各數(shù)碼管的 COM端,就使各個七段 LED數(shù)碼管輪流受控顯示,這就是動態(tài)驅動。在 輪流顯示過程中,每位數(shù)碼管的點亮時間為 12ms,由于人的視覺暫留現(xiàn)象及發(fā)光二極管的 余暉效應,盡管各位七段LED數(shù)碼管并非同時點亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù),不會有閃爍感。動態(tài)顯示能夠節(jié)省大量的I/O端口,而且功耗更低。圖二為單片機控制 6為七段LED數(shù)碼管的動態(tài)顯示電路fiHCMFC BF口i 呵

10、P1.WPl.MDifl113一Hz.=.a:TpFraBJKta p a;m4-111.L丄 転t 圖二考慮到所有的段電流居流過位選線,因此位驅動電路的驅動能力應為段驅動能力的8倍。圖中74HC245芯片的作用為段驅動,74HC245-1芯片的作用為位驅動。1.5 . 2使用的幾種芯片的介紹:74hc245 - 74HC245芯片原理說明總線收發(fā)器(bus transceiver ),典型的CMOS三態(tài)緩沖門電路。由于單片機或CPU的數(shù)據(jù)/地址/控制總線端口都有一定的負載能力,如果負載超過其負載能力,一般應加驅動器。另外,也可以使用 74HC244等其他電路,74HC244比74HC245多

11、了鎖存器。ntFrIEkr匕LdHdEi111 TW g a?dMpato a MjuIM Ib- Vn- p4 vWN CAh AM |d斗 IvEff戸 U HpljtS KQPX d TUBPC74HC245實物圖:74hc245 -引腳定義:第1腳DIR,為輸入輸出端口轉換用,DIR= “ 1 ”高電平時信號由“ A”端輸入“ B”端輸出,DIR= “0”低電平時信號由“ B”端輸入“ A”端輸出。第29腳“A”信號輸入輸出端, A仁B1、A8=B8, A1與B1是一組,如果 DI r=“1” OE=“ 0”則A1輸入B1輸出,其它類同。如果 DIR= “ 0” OE“ 0”則B1輸入

12、A1輸 出,其它類同。第1118腳“ B信號輸入輸出端,功能與“ A”端一樣,不再描述。第19腳OE使能端,若該腳為“ 1” A/B端的信號將不導通,只有為“ 0”時A/B端才 被啟用,該腳也就是起到開關的作用。第10腳GND電源地。第20腳VCC電源正極。TRUTH TABLED 值表Cont In puts 控制 Operati on 運行輸入GDIRB數(shù)據(jù)到A總LL線A數(shù)據(jù)到B總LH線HX隔開H=高電平L=低電平X =不定Absolute Maximum Rat ings絕對取大額疋值Supply Voltage 電源電壓(VCC)-0.5 to -7.0VDC In put Volta

13、ge DIR and G pins (VIN)直流輸入電壓方向和 G引腳(輸入電壓)-1.5 to VCC -1.5VDC Input/Output V oltage (VIN, VOUT)直流輸入 /輸出電壓-0.5 to VCC -0.5VClamp Diode Current 鉗位二極管電流(ICD) 20 mADC Output Current直流輸出電流,每個引腳(輸出) 35 mADC VCC or GND Curre nt, per pin (ICC) 70 mAStorage Temperature Range 儲存溫度范圍(TSTG)-65 C to -150 CPower

14、Dissipation (PD)功耗(Note 3)600 mWS.O. Package only500 mW第1腳DIR,為輸入輸出端口轉換用,DIR= “ 1”高電平時信號由“ A”端輸入“ B”端輸出,DIR= “ 0”低電平時信號由“ B”端輸入“ A”端輸出。第29腳“A”信號輸入輸出 端,A仁B1A8=B8, A1與B1是一組,如果DIR= “1” G=“0”貝U A1輸入B1輸出,其它類同。如果 DIR= “0” G=“0”則B1輸入A1輸出,其它類同。第1118腳“ B”信號輸入輸出端,功能與“ A端一樣,不在描述。第19腳G使能端,若該腳為“ 1” A/B端的信號將不導通,只

15、有為“ 0”時A/B端才被啟用,該腳也就是起到開關的作用第10腳GND電源地。第20腳VCC電源正極。AT89C51AT89C51 是一種帶 4K 字節(jié) FLASH 存儲器(FPEROMFlash Programmable and Erasable Read Only Memory )的低電壓、高性能 CMOS 8位微處理器,俗稱單片機。AT89C2051是一種帶2K字節(jié)閃存可編程可擦除只讀存儲器的單片機。單片機的可擦除只讀存儲器可以反 復擦除1000次。該器件采用ATMEL高密度非易失存儲器制造技術制造,與工業(yè)標準的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在

16、單個芯片中,ATMEL的AT89C51是一種高效微控制器,AT89C2051是它的一種精簡版本。AT89C51單片機為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案?,F(xiàn)在 AT89S51/52 已經(jīng)取代了 AT89C51/52。主要特性與MCS-51兼容4K字節(jié)可編程FLASH存儲器壽命:1000寫/擦循環(huán)數(shù)據(jù)保留時間:10年全靜態(tài)工作:0Hz-24MHz三級程序存儲器鎖定128X 8位內部RAM32可編程I/O線兩個16位定時器/計數(shù)器5個中斷源可編程串行通道低功耗的閑置和掉電模式片內振蕩器和時鐘電路特性概述AT89C51提供以下標準功能:4k字節(jié)Flash閃速存儲器,128字節(jié)內部RAM

17、 32個 I/O 口線,兩個16位定時/計數(shù)器,一個5向量兩級中斷結構,一個全雙工串行通信口,片內振蕩器及時鐘電路。同時,AT89C51可降至OHz的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式??臻e方式停止CPU的工作,但允許 RAM定時/計數(shù)器,串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存 RAM中的內容,但振蕩器停止工作并禁止其它所有部件工作直 到下一個硬件復位。管腳說明VCC:供電電壓。GND:接地。P0 口: P0 口為一個8位漏級開路雙向I/O 口,每腳可吸收8TTL門電流。當P0 口的管 腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的

18、低八位。在 FIASH編程時,P0 口作為原碼輸入口,當 FIASH進行校驗時,P0 輸出原碼,此時 P0外部必須接上拉電阻。P1 口: P1 口是一個內部提供上拉電阻的8位雙向I/O 口,P1 口緩沖器能接收輸出 4TTL門電流。P1 口管腳寫入1后,被內部上拉為高,可用作輸入,P1 口被外部下拉為低電平時, 將輸出電流,這是由于內部上拉的緣故。在FLASH編程和校驗時,P1 口作為低八位地址接收。P2 口: P2 口為一個內部上拉電阻的 8位雙向I/O 口,P2 口緩沖器可接收,輸出 4個 TTL門電流,當P2 口被寫“時”其管腳被內部上拉電阻拉高,且作為輸入。并因此作為輸 入時,P2 口

19、的管腳被外部拉低,將輸出電流。這是由于內部上拉的緣故。P2 口當用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進行存取時,P2 口輸出地址的高八位。在給出地址“時,它利用內部上拉優(yōu)勢,當對外部八位地址數(shù)據(jù)存儲器進行讀寫時,P2 口輸出其特殊功能寄存器的內容。P2 口在FLASH編程和校驗時接收高八位地址信號和控制信號。P3 口: P3 口管腳是8個帶內部上拉電阻的雙向I/O 口,可接收輸出4個TTL門電流。當P3 口寫入“1后,它們被內部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低 電平,P3 口將輸出電流(ILL )這是由于上拉的緣故。P3 口也可作為 AT89C51的一些特殊功能口,

20、如下表所示:口管腳備選功能P3.0 RXD (串行輸入口)P3.1 TXD (串行輸出口)P3.2 /INTO (外部中斷 0)P3.3 /INT1 (外部中斷1)P3.4 T0 (計時器0外部輸入)P3.5 T1 (計時器1外部輸入)P3.6 /WR (外部數(shù)據(jù)存儲器寫選通)P3.7 /RD (外部數(shù)據(jù)存儲器讀選通)P3 口同時為閃爍編程和編程校驗接收一些控制信號。RST:復位輸入。當振蕩器復位器件時,要保持RST腳兩個機器周期的高電平時間。ALE/PROG:當訪問外部存儲器時, 地址鎖存允許的輸出電平用于鎖存地址的低位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不

21、變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當用作外部數(shù)據(jù)存儲器時,將跳過一個ALE脈沖。如想禁止 ALE的輸出可在SFR8EH地址上置0。此時,ALE只有在執(zhí)行 MOVX, MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。/PSEN :外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/PSEN信號將不出現(xiàn)。/EA/VPP :當/EA保持低電平時,則在此期間外部程序存儲器(0000H-FFFF

22、H ),不管是否有內部程序存儲器。注意加密方式1時,/EA將內部鎖定為 RESET;當/EA端保持高電平時,此間內部程序存儲器。 在FLASH編程期間,此引腳也用于施加 12V編程電源(VPP)。XTAL1 :反向振蕩放大器的輸入及內部時鐘工作電路的輸入。XTAL2來自反向振蕩器的輸出。E 1.6材料清單本設計所需的材料清單如表所示序號名稱型號、規(guī)格單位數(shù)量備注1U1AT89C51(AT89S51)片1DIP封裝2OSC6MHZ只1晶振3C1、C230PF只2陶瓷電容4C322Uf/25v只1電解電容5R12K Q只1碳膜6R2200 Q只1碳膜7R3R10270 Q只8碳膜8RS104只1排

23、阻9七段LED數(shù)碼管BS-18R-2只6咼亮度、紅色、共陰10SWTC-0102只1按鍵11U274HC245片1總線驅動12U374HC245-1片1反相驅動器E 2、程序設計思路根據(jù)前面對七段 LED數(shù)碼管的介紹,只要通過P0 口輸出“1”的字形碼,再通過P2.0 將該數(shù)碼管的COM端置低電平即可??紤]到圖只中采用的 74HC245-1為反相驅動器,因此 P2 口線上為1時,對應的七段 LED數(shù)碼管被選中。以下為僅 1位七段LED數(shù)碼管顯示的 程序。;LED_1BIT.ASM 1位七段LED數(shù)碼管靜態(tài)顯示程序ORG 0000HAJMP MAINORG 0100HMAIN: MOV P2 ,

24、 #01HMOV A,#01H;P2 口輸出位控信號;待顯示數(shù)送A中MOV DPTR,#TABLE ;字形碼表首地址送 DPTRMOVC A,A+DPTR ;查表取字形碼MOV P0 , ASJMP $;P0 口輸出字形碼;動態(tài)停機TABLE:DB 3FH,06H,5BH,4FH,66H,6DH,7DH; 1,2,3,4,5,6DB 07H,7FH,6FH,77H,7CH,39H; 7,8,9,A,B,CDB 5EH,79H,71H,73H,40H,00H; D,E,F(xiàn), P,滅END讀上述程序可知,單片機只要把顯示的字形代碼發(fā)送到接口電路,由于并行I/O端口具有鎖存功能,能夠保持其輸出不變,

25、這樣七段LED數(shù)碼管LED1上就一直顯示數(shù)字“ 1 ”,這 鐘顯示方式屬于靜態(tài)顯示。但若要顯示 6 位數(shù)字,就不會如此簡單了, 因為 6 只七段 LED 數(shù)碼管的同名端連在一起, 均與P0 口相連,這就需要根據(jù) P2 口輸出的位控制碼,輪流點亮各只數(shù)碼管,即動態(tài)顯示。 以下參考程序為單片機控制 6 位數(shù)字顯示程序。LEDBUF EQU 7AH ;定義顯示緩沖區(qū)首地址ORG 0000HAJMP MAINORG 0100HMAIN:MOV SP,#30H ;確立堆棧區(qū)MOV R0,#LEDBUF ;顯示緩沖區(qū)首地址送 R0MOV A,#1 ;第一個待顯示數(shù)給 AMOV R7,#6 ;設置循環(huán)次數(shù),

26、 6 個待顯示數(shù)送緩沖區(qū)NEXT: MOV R0,A ;待顯示數(shù)送顯示緩沖區(qū)INC R0 ;R0 中的內容加 1,指向下一個顯示緩沖區(qū)INC A ;A 中的內容加 1,準備下一個待顯示數(shù)DJNZ R7,NEXT ;直到送完 6 位待顯示數(shù)至緩沖區(qū)LOOP: LCALL DISPLAY ;調用顯示子程序 DISPLAYSJMP LOOP ;循環(huán)執(zhí)行主程序DISPLAY:PUSH ACC ;保護現(xiàn)場PUSH PSWSETB RS0 ;改變當前工作寄存器組MOV R0,#LEDBUF ;顯示緩沖區(qū)首地址送 R0MOV R7,#6 ;設置循環(huán)次數(shù),顯示 6 位數(shù)MOV DPTR,#TABLE ;字形表

27、首地址送 DPTRMOV R2,#0FEH ;位空碼初值,從 LED1 開始顯示LOOPDISP: MOV P2,R2 ;輸出位空碼MOV A,R0 ;從顯示緩沖區(qū)取待顯示的數(shù)MOVC A,A+DPTR ;查表取待顯示數(shù)的字形碼MOV P0,A ;字形碼送 P0 口輸出INC R0 ;R0 中的內容加 1,指向下一個顯示緩沖區(qū)MOV A,R2 ;重取位控碼RL A ;位控碼左移,指向下一只 LEDMOV R2,A ;位控碼送 R2 暫存MOV R3,#20 ;延時程序開始AA1:MOV R4,#100AA2:DJNZ R4,AA2DJNZ R3,AA1 ;延時程序結束DJNZ R7,LOOPDISP 直到 6 位全顯示完POP PSW ;恢復現(xiàn)場POP ACCRET;子程序返回TABLE:DB 3FH,06H,5BH,4FH,66H,6DH,7DH; 0, 1, 2, 3, 4, 5, 6DB 07H,7FH,6FH,77H,7CH,39H ; 7, 8, 9, A, B , CDB 5EH,79H,71H,73H,40H,00H ; D, E, F, P,滅ENDE 3 設計步驟(1)、收集資料,分析問題,編寫好本設計的程序。(2)、利用KEIL uvi

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論