數(shù)碼管的控制器的設(shè)計與實現(xiàn)_第1頁
數(shù)碼管的控制器的設(shè)計與實現(xiàn)_第2頁
數(shù)碼管的控制器的設(shè)計與實現(xiàn)_第3頁
數(shù)碼管的控制器的設(shè)計與實現(xiàn)_第4頁
數(shù)碼管的控制器的設(shè)計與實現(xiàn)_第5頁
已閱讀5頁,還剩16頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、課程設(shè)計任務(wù)書學(xué)生姓名:謝斌 專業(yè)班級:通信1002 指導(dǎo)教師:黃秋元 工作單位:信息學(xué)院 題 目: 數(shù)碼管顯示控制器的設(shè)計與實現(xiàn) 初始條件:Keil軟件Proteus軟件單片機的相關(guān)知識要求完成的主要任務(wù): (包括課程設(shè)計工作量及其技術(shù)要求,以及說明書撰寫等具體要求)能自動一次顯示出數(shù)字 0、1、2、3、4、5、6、7、8、9(自然數(shù)列),1、3、5、7、9(奇數(shù)列), 0、2、4、6、8(偶數(shù)列),0、1、2、3、4、5、6、7、0、1(音樂符號序列);然后再從頭循環(huán);打開電源自動復(fù)位,從自然數(shù)列開始顯示。時間安排:序號階段內(nèi)容所需時間1選題,原理方案設(shè)計2天2電路原理圖、印刷版圖設(shè)計、電

2、路的仿真、實物制作3天3撰寫報告1天4答辯1天合計7天指導(dǎo)教師簽名: 2012 年 7 月 日系主任(或責(zé)任教師)簽名: 2012年 7 月 日目 錄摘 要3Abstract41引言52設(shè)計方案62.1方案一基本門電路法62.2方案二單片機法62.3方案比較63硬件電路設(shè)計73.1芯片及元器件介紹73.1.1 AT89C51單片機介紹7數(shù)碼管介紹83.2硬件電路9單片機最小系統(tǒng)9整體電路圖104單片機程序114.1部分程序代碼11數(shù)碼管段選編碼11數(shù)碼管片選編碼11定時器的設(shè)定114.2總程序代碼115仿真結(jié)果166總結(jié)18參考文獻19附錄1:元件清單20附錄221摘 要 本次設(shè)計的數(shù)碼管顯示

3、控制器是可以循環(huán)顯示:(1) 0、1、2、3、4、5、6、7、8、9(自然數(shù)列),1、3、5、7、9(奇數(shù)列), 0、2、4、6、8(偶數(shù)列),0、1、2、3、4、5、6、7、0、1(音樂符號序列);開機啟動時先顯示自然數(shù)列。采用單片機對數(shù)碼管進行控制,以單片機為核心。本系統(tǒng)大部分功能由軟件來實現(xiàn),吸收了硬件軟件化的思想,大部分功能通過軟件來實現(xiàn),使電路簡單明了,系統(tǒng)穩(wěn)定性大大提高。應(yīng)用定時器對數(shù)碼管顯示時間進行精確控制。其中應(yīng)用Keil軟件進行編程,Proteus搭建仿真電路并且和Keil進行連調(diào)。關(guān)鍵詞:單片機,Keil,ProteusAbstractThe design of the d

4、igital tube display controller can cycle show: (1)0,1,2,3,4,5,6,7,8,9( the natural numbers ),1,3,5,7,9( odd columns ),0,2,4,6,8( even-numbered ),0,1,2,3,4,5,6,7,0,1( music symbol sequence ); boot when the first display of nature series.The application of single-chip microcomputer in digital tube con

5、trol, with the single-chip microcomputer as the core. This system most of the functions are realized by software, absorb the ideas of hardware and software, most of the functions by software, so that the circuit is simple, greatly improve the stability of the system. Application of the timer on the

6、digital tube display time to carry on the accuracy control. The application of Keil software programming, Proteus building simulation circuit and Keil sandhi.Key words: SCM, Keil, Proteus1引言現(xiàn)如今,電氣化領(lǐng)域滲透到我們的生活的內(nèi)容已經(jīng)越來越寬泛了,對我們的影響也越來越大了,所以,學(xué)好有關(guān)“電”的知識對我們的未來有很大的幫助。我們作為通信工程專業(yè)的學(xué)生,更應(yīng)該好好學(xué)習(xí)有關(guān)模電和數(shù)電的知識,因為它們是相輔相成的

7、。然而,要想學(xué)好這兩門課程單靠看書本的內(nèi)容是很難學(xué)好的,有效的學(xué)習(xí)方法應(yīng)該是理論與實踐的結(jié)合。所以,我們必須要認(rèn)真對待所有的實驗設(shè)計練習(xí),在實際的設(shè)計實踐中發(fā)現(xiàn)自己的不足并克服各種困難從而提高自己的能力。我經(jīng)過不斷的探討與合作研究后,終于親手完成了我的設(shè)計,對單片機有了更深刻的認(rèn)識,我感到無比的高興。2設(shè)計方案2.1方案一基本門電路法本控制器主要由四部分構(gòu)成1) 包括一個30進制計數(shù)器,負(fù)責(zé)產(chǎn)生0到29這三十個數(shù),并循環(huán);2) 一個譯碼后再編碼成三十個要求的四位二進制數(shù)(0 1 2 3 4 5 6 7 8 9 (自然數(shù)列),1 3 5 7 9 (奇數(shù)數(shù)列),0 2 4 6 8 (偶數(shù)數(shù)列),0

8、 1 2 3 4 5 6 7 0 1 (音樂符號數(shù)列);3) 一個BCD八段顯示譯碼器,負(fù)責(zé)將編碼譯碼電路產(chǎn)生的四位二進制數(shù)譯碼4) 八段數(shù)碼管由譯碼器驅(qū)動進行顯示。30選1數(shù)據(jù)選擇器30進制計數(shù)器(循環(huán)作用)七段譯碼器(進行譯碼)數(shù)碼管(顯示需要的數(shù)字) 圖門電路法原理框圖2.2方案二單片機法本控制器主要由兩部分構(gòu)成硬件:1)AT89C51單片機最小系統(tǒng);2)數(shù)碼管與單片機的輸出端呂進行連接。軟件:對單片機進行編程以達(dá)到設(shè)計要求(0 1 2 3 4 5 6 7 8 9 (自然數(shù)列),1 3 5 7 9 (奇數(shù)數(shù)列),0 2 4 6 8 (偶數(shù)數(shù)列),0 1 2 3 4 5 6 7 0 1 (

9、音樂符號數(shù)列),數(shù)碼管進行動態(tài)顯示,其中要用定時器來對顯示時間進行準(zhǔn)確的控制。2.3方案比較通過比較方案一與方案二,可知方案二的電路簡單、易實現(xiàn),且是由單片機來控制數(shù)碼管的顯示,時間精確。所以本人決定采用方案二來實現(xiàn)數(shù)碼管顯示的控制設(shè)計。3硬件電路設(shè)計3.1芯片及元器件介紹3.1.1 AT89C51單片機介紹AT89C51是一種低功耗、高性能的片內(nèi)含有4KB快閃可編程/擦除只讀存儲器(FPEROM-Flash Programmable and Eraseable Read Only Memory)的8位CMOS微控制器,使用高密度、非易失存儲技術(shù)制造,并且與80C51引腳和指令系統(tǒng)完全兼容。主

10、要性能:與MCS-51 微控制器產(chǎn)品系列兼容。片內(nèi)有4KB可在線重復(fù)編程的快閃擦寫存儲器存儲數(shù)據(jù)保存時間為10年全靜態(tài)工作:可從0Hz至16MHz程序存儲器具有3級加密保護128*8位內(nèi)部RAM32條可編程I/O線兩個16位定時器/計數(shù)器中斷結(jié)構(gòu)具有5個中斷源和2個優(yōu)先級可編程全雙工串行通道空閑狀態(tài)維持低功耗和掉電狀態(tài)保存存儲內(nèi)容存貯器為64K,前4K/8K20K在CPU內(nèi)部,其它程序在EPR0M27512中。數(shù)據(jù)存貯器為32K(62256),地址為8000FFFFH。/O擴展8155,片內(nèi)RAM地址200O-20FFH8155命令口地址為2100HA口地址21O1H B口地址:2102H C

11、口地址:2103HT低八位2104H T高八位2105HA/D采用精高度,速度快(25us)的AD574,并在其轉(zhuǎn)換前對信號作了采樣保持處理。AD574啟動地址為:4000H 高八位地址為4002H低四位地址為:4003H多路模擬開關(guān)的使用IN0P1=0F8H IN4P1=0FCH IN1P1=0F9H IN5:P1=OFDHIN2P1=0FAH IN5:P1=0FEH IN3P1=0FBH IN7:P1=0FFHP1.0按CD4051的C,P1.1按CD4051的B腳(10)、P1.2按CD4051的A腳(11)。D/A采用0832輸出,地址為6000H-6FFFH鍵盤顯示(CZ2)采用82

12、79,地址為:7FFEH-7FFFH日歷時鐘芯片DS12887,命令寄存器為5000H-500DH,不掉電數(shù)據(jù)存貯器為500EH-507FH控制板160x1O9(mm) 供電+5V300mA +12V100mA -12V100mA 圖3.1.1.1AT89C51實物圖 圖3.1.1.2AT89C51引角圖3.1.2數(shù)碼管介紹數(shù)碼管按段數(shù)分為七段數(shù)碼管和八段數(shù)碼管,八段數(shù)碼管比七段數(shù)碼管多一個發(fā)光二極管單元(多一個小數(shù)點顯示);按能顯示多少個“8”可分為1位、2位、4位等等數(shù)碼管; 按發(fā)光二極管單元連接方式分為共陽極數(shù)碼管和共陰極數(shù)碼管。共陽數(shù)碼管是指將所有發(fā)光二極管的陽極接到一起形成公共陽極(

13、COM)的數(shù)碼管,共陽數(shù)碼管在應(yīng)用時應(yīng)將公共極COM接到+5V,當(dāng)某一字段發(fā)光二極管的陰極為低電平時,相應(yīng)字段就點亮,當(dāng)某一字段的陰極為高電平時,相應(yīng)字段就不亮。共陰數(shù)碼管是指將所有發(fā)光二極管的陰極接到一起形成公共陰極(COM)的數(shù)碼管,共陰數(shù)碼管在應(yīng)用時應(yīng)將公共極COM接到地線GND上,當(dāng)某一字段發(fā)光二極管的陽極為高電平時,相應(yīng)字段就點亮,當(dāng)某一字段的陽極為低電平時,相應(yīng)字段就不亮。 編輯本段結(jié)構(gòu) led數(shù)碼管(LED Segment Displays)是由多個發(fā)光二極管封裝在一起組成“8”字型的器件,引線已在內(nèi)部連接完成,只需引出它們的各個筆劃,公共電極。led數(shù)碼管常用段數(shù)一般為7段有的

14、另加一個小數(shù)點,還有一種是類似于3位“+1”型。位數(shù)有半位,1,2,3,4,5,6,8,10位等等.,led數(shù)碼管根據(jù)LED的接法不同分為共陰和共陽兩類,了解LED的這些特性,對編程是很重要的,因為不同類型的數(shù)碼管,除了它們的硬件電路有差異外,編程方法也是不同的。圖2是共陰和共陽極數(shù)碼管的內(nèi)部電路,它們的發(fā)光原理是一樣的,只是它們的電源極性不同而已。顏色有紅,綠,藍(lán),黃等幾種。led數(shù)碼管廣泛用于儀表,時鐘,車站,家電等場合。選用時要注意產(chǎn)品尺寸顏色,功耗,亮度,波長等。下面將介紹常用LED數(shù)碼管內(nèi)部引腳圖片,圖 這是一個7段兩位帶小數(shù)點10引腳的LED數(shù)碼管 圖3.1.4 引腳定義每一筆劃都

15、是對應(yīng)一個字母表示 DP是小數(shù)點. 圖3.1.2.3 10引腳的LED數(shù)碼管 圖3.1.2.4 LED數(shù)碼管引腳定義數(shù)碼管要正常顯示,就要用驅(qū)動電路來驅(qū)動數(shù)碼管的各個段碼,從而顯示出我們要的數(shù)字,因此根據(jù)數(shù)碼管的驅(qū)動方式的不同,可以分為靜態(tài)式和動態(tài)式兩類。 靜態(tài)顯示驅(qū)動靜態(tài)驅(qū)動也稱直流驅(qū)動。靜態(tài)驅(qū)動是指每個數(shù)碼管的每一個段碼都由一個單片機的I/O端口進行驅(qū)動,或者使用如BCD碼二-十進制譯碼器譯碼進行驅(qū)動。靜態(tài)驅(qū)動的優(yōu)點是編程簡單,顯示亮度高,缺點是占用I/O端口多,如驅(qū)動5個數(shù)碼管靜態(tài)顯示則需要5×8=40根I/O端口來驅(qū)動,要知道一個89S51單片機可用的I/O端口才32個呢:)

16、,實際應(yīng)用時必須增加譯碼驅(qū)動器進行驅(qū)動,增加了硬件電路的復(fù)雜性。 動態(tài)顯示驅(qū)動數(shù)碼管動態(tài)顯示接口是單片機中應(yīng)用最為廣泛的一種顯示方式之一,動態(tài)驅(qū)動是將所有數(shù)碼管的8個顯示筆劃"a,b,c,d,e,f,g,dp"的同名端連在一起,另外為每個數(shù)碼管的公共極COM增加位選通控制電路,位選通由各自獨立的I/O線控制,當(dāng)單片機輸出字形碼時,所有數(shù)碼管都接收到相同的字形碼,但究竟是那個數(shù)碼管會顯示出字形,取決于單片機對位選通COM端電路的控制,所以我們只要將需要顯示的數(shù)碼管的選通控制打開,該位就顯示出字形,沒有選通的數(shù)碼管就不會亮。通過分時輪流控制各個數(shù)碼管的的COM端,就使各個數(shù)碼管

17、輪流受控顯示,這就是動態(tài)驅(qū)動。在輪流顯示過程中,每位數(shù)碼管的點亮?xí)r間為12ms,由于人的視覺暫留現(xiàn)象及發(fā)光二極管的余輝效應(yīng),盡管實際上各位數(shù)碼管并非同時點亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù),不會有閃爍感,動態(tài)顯示的效果和靜態(tài)顯示是一樣的,能夠節(jié)省大量的I/O端口,而且功耗更低。3.2硬件電路3.2.1單片機最小系統(tǒng)在Proteus當(dāng)中構(gòu)建單片機最小系統(tǒng)電路,晶振為12MHz,如圖所示圖單片機最小系統(tǒng)3.2.2整體電路圖選用共陽數(shù)碼管的段選接在單片機的P1端口,十個數(shù)碼管的片選通過增益接在P2端口和P3.1,P3.2引角構(gòu)成的電路圖如圖所示圖總電路圖4單片機程序4.1部

18、分程序代碼4.1.1數(shù)碼管段選編碼 數(shù)碼管選用的是共陽數(shù)碼管,當(dāng)給高電平時所選的段會亮,根據(jù)數(shù)碼的引角及與單片機引角連接的方式可以得到數(shù)碼管的顯示編碼(0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f)(0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E)4.1.2數(shù)碼管片選編碼有八個數(shù)碼管和P2口相連,根據(jù)其給低電平選中編寫編碼0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F4.1.3定時器的設(shè)定設(shè)置TMOD寄存器中的M1M0位來進行工作方式

19、選擇,本次設(shè)計選用定時器0的工作方式1。即TMOD=0X01。時鐘頻率為12MHz,12個時鐘周期為一個機器周期,那么此時機器周期就是1us,計滿TH0和TL0就需要2exp16-1個數(shù),再來一個脈沖計數(shù)器溢出,隨即向CPU申請中斷。如果我們要定時50ms的話,那么就需要先給TH0和 TL0裝一個初值,在這個初值的基礎(chǔ)上計50000個數(shù)后,定時器溢出,此時剛好就是50ms中斷一次,當(dāng)需要1s時,我們寫程序時當(dāng)產(chǎn)生20次50ms的定時中斷后便認(rèn)為是1s,這樣便可精確控制定時時間。需要計數(shù)的個數(shù)N,裝入THX 和TLX中的數(shù)值為THX=(65536-N)/256 ()TLX=(65536-N)%2

20、56 ()初始化過程如下(1) 對TMOD賦值,以確定T0和T1的工作方式。(2) 計算初值,并將初值寫入TH0、TL0或TH1、TL1。(3) 中斷方式時,則對IE賦值,開放中斷。(4) 使TR0或TR1置位,啟動定時器/計數(shù)器定時或計數(shù)。 4.2總程序代碼#include<reg52.h>/聲明52系列頭文件#define uchar unsigned char/宏定義int code S_Data=0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82, /數(shù)碼管顯示編碼0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E;i

21、ntcode W0_Data=0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F; /P2口段選編碼intcode W1_Data=0x0E,0x0D; /P3口段選編碼void delay(uchar); /申明延時函數(shù)void display(uchar); /申明顯示函數(shù)uchar temp=0,num=0; /定義變量void main() /主函數(shù)TMOD=0X01;/設(shè)置定時器0為工作方式1TH0=(65536-50000)/256; /裝初值12M晶振定時50ms數(shù)為50000TL0=(65536-50000)%256; /開總中斷EA=1; /開定時

22、器0中斷ET0=1; /啟動定時器中斷0TR0=1;while(1)display(num); /數(shù)碼管顯示數(shù)字 void display(uchar num) /顯示函數(shù)if(num=0) /顯示(0 1 2 3 4 5 6 7 8 9)P2=W0_Data0;P3=0xFF;P1=S_Data0;delay(1);P2=W0_Data1;P1=S_Data1;delay(1);P2=W0_Data2;P1=S_Data2;delay(1);P2=W0_Data3;P1=S_Data3;delay(1);P2=W0_Data4;P1=S_Data4;delay(1);P2=W0_Data5;

23、P1=S_Data5;delay(1);P2=W0_Data6;P1=S_Data6;delay(1);P2=W0_Data7;P1=S_Data7;delay(1);P2=0xFF;P3=W1_Data0;P1=S_Data8;delay(1);P3=W1_Data1;P1=S_Data9;delay(1);if(num=1) /奇數(shù)列顯示(1 3 5 7 9)P2=W0_Data0;P3=0xFF;P1=S_Data1;delay(1);P2=W0_Data2;P1=S_Data3;delay(1);P2=W0_Data4;P1=S_Data5;delay(1);P2=W0_Data6;P

24、1=S_Data7;delay(1);P2=0xFF;P3=W1_Data0;P1=S_Data9;delay(1);if(num=2) /偶數(shù)列顯示(0 2 4 6 8)P2=W0_Data1;P3=0xFF;P1=S_Data0;delay(1);P2=W0_Data3;P1=S_Data2;delay(1);P2=W0_Data5;P1=S_Data4;delay(1);P2=W0_Data7;P1=S_Data6;delay(1);P2=0xFF;P3=W1_Data1;P1=S_Data8;delay(1);if(num=3) /顯示音樂符號序列(0 1 2 3 4 5 6 7 0

25、1)P2=W0_Data0;P3=0xFF;P1=S_Data0;delay(1);P2=W0_Data1;P1=S_Data1;delay(1);P2=W0_Data2;P1=S_Data2;delay(1);P2=W0_Data3;P1=S_Data3;delay(1);P2=W0_Data4;P1=S_Data4;delay(1);P2=W0_Data5;P1=S_Data5;delay(1);P2=W0_Data6;P1=S_Data6;delay(1);P2=W0_Data7;P1=S_Data7;delay(1);P2=0xFF;P3=W1_Data0;P1=S_Data0;delay(1);P3=W1_Data1;P1=S_Data1;delay(1); void T0_time() interrupt 1 /定時器0中斷函數(shù)temp+;TH0=(65536-50000)/256;TL0=(65536-50000)%256;if(temp=20) /如果到了20次,說明到了一秒temp=0; /

溫馨提示

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

最新文檔

評論

0/150

提交評論