2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩24頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  單片機(jī)原理及應(yīng)用課程設(shè)計(jì)報(bào)告</p><p>  ---基于Proteus和Keil C</p><p>  設(shè)計(jì)題目:4位數(shù)碼塊動(dòng)態(tài)顯示驅(qū)動(dòng)電路設(shè)計(jì)</p><p>  專業(yè)班級(jí): 10級(jí)通信技術(shù)(1)班 </p><p>  參與人員: </p&g

2、t;<p>  指導(dǎo)老師: </p><p>  完成日期: 2012年5月21日至27日 </p><p><b>  摘要</b></p><p>  本電路應(yīng)用了AT89C51芯片作為譯碼器實(shí)現(xiàn)了LED動(dòng)靜態(tài)顯示的基本原理,電路原理簡(jiǎn)單,價(jià)格低廉,可用于多位LED

3、顯示。</p><p>  四段LED顯示器也叫數(shù)碼管,它是由發(fā)光二極管組成的一個(gè)陣列,常用的LED顯示器用共陽(yáng)極和共陰極兩種結(jié)構(gòu)。為了使顯示器能發(fā)光,并且顯示數(shù)碼,需要加譯碼驅(qū)動(dòng)電路,常用的譯碼驅(qū)動(dòng)電路有靜態(tài)譯碼顯示和動(dòng)態(tài)譯碼顯示。靜態(tài)譯碼顯示是指一個(gè)譯碼驅(qū)動(dòng)電路驅(qū)動(dòng)一個(gè)四段顯示器進(jìn)行數(shù)碼顯示。動(dòng)態(tài)譯碼顯示是指多個(gè)七段顯示器共用一個(gè)譯碼驅(qū)動(dòng)電路,由掃描電路控制每個(gè)顯示器分時(shí)進(jìn)行顯示,每個(gè)顯示器按不同的時(shí)間輪流使

4、用譯碼驅(qū)動(dòng)電路。從而使顯示電路更加簡(jiǎn)單。</p><p>  數(shù)碼管的顯示分為動(dòng)態(tài)顯示和靜態(tài)顯示兩種工作方式。在靜態(tài)顯示控制中,只要驅(qū)動(dòng)器的設(shè)計(jì)能力與顯示器的工作電流想匹配就可以。而且,只需考慮段驅(qū)動(dòng),位驅(qū)動(dòng)按照所選用的數(shù)碼塊,共陰則將公共端接地,共陽(yáng)則將公共端接電源即可。在動(dòng)態(tài)顯示驅(qū)動(dòng)設(shè)計(jì)中,由于數(shù)碼管的實(shí)現(xiàn)是由段和位選信號(hào)共同配合完成的,因此,必須同時(shí)考慮和位的驅(qū)動(dòng)能力。段驅(qū)動(dòng)電流以脈沖形式輸出,其峰值電流并

5、不一定反映二極管的顯示亮度,一般需要提高驅(qū)動(dòng)電流,才能達(dá)到要求,并且采用獨(dú)立運(yùn)行的實(shí)時(shí)時(shí)鐘,就可避免不少麻煩,同時(shí)配合相關(guān)軟件就可以有效地完成所要達(dá)到的目的。</p><p><b>  目錄</b></p><p>  1.主要器件簡(jiǎn)介..................................................................

6、......................5</p><p>  1.1 AT89C51.........................................................................................5</p><p>  1.2 DS1302........................................

7、....................................................6</p><p>  2.系統(tǒng)方案選擇和論證7</p><p>  2.1 設(shè)計(jì)要求7</p><p>  2.2 各模塊方案選擇和論證7</p><p>  2.2.1 主控模塊的選擇和說(shuō)明....................

8、...................................7</p><p>  2.2.2 時(shí)鐘芯片的選擇和說(shuō)明.......................................................8</p><p>  2.2.3 顯示模塊的選擇和說(shuō)明..................................................

9、.....8</p><p>  2.3 最終選擇方案...............................................................................9</p><p>  3.系統(tǒng)硬件設(shè)計(jì)9</p><p><b>  3.1工作原理9</b></p><p

10、>  3.2 硬件電路10</p><p>  3.3 程序設(shè)計(jì)11</p><p>  4.系統(tǒng)硬件設(shè)計(jì)調(diào)試與分析15</p><p>  4.1 調(diào)試步驟15</p><p>  4.1.1 軟件調(diào)試...............................................................

11、..............15</p><p>  4.1.2 硬件調(diào)試..............................................................................16</p><p>  4.2 性能分析16</p><p><b>  5.設(shè)計(jì)心得18</b></p

12、><p><b>  參考文獻(xiàn)20</b></p><p>  附錄.......................................................................................................21</p><p>  附錄1 系統(tǒng)硬件電路圖21</p>

13、<p>  附錄 2 電路板實(shí)物圖......................................................................22</p><p>  附錄3 程序PCB圖..........................................................................23</p><

14、;p>  附錄4 程序清單23</p><p><b>  1主要器件簡(jiǎn)介</b></p><p>  1 AT89C51</p><p>  AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低電壓,高性能CMO

15、S8位微處理器,俗稱單片機(jī)。AT89C2051是一種帶2K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器的單片機(jī)。單片機(jī)的可擦除只讀存儲(chǔ)器可以反復(fù)擦除100次。該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATMEL的AT89C51是一種高效微控制器,AT89C2051是它的一種精簡(jiǎn)版本。AT89C單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉

16、的方案。</p><p>  外形及引腳排列如圖所示:</p><p>  1.2 DS1302</p><p>  DS1302是美國(guó)DALLAS公司推出的一種高性能、低功耗的實(shí)時(shí)時(shí)鐘日歷芯片,附加31字節(jié)靜態(tài)RAM,采用SPI三線接口與CPU進(jìn)行同步通信,并可采用突發(fā)方式一次傳送多個(gè)字節(jié)的時(shí)鐘信號(hào)和RAM數(shù)據(jù)。實(shí)時(shí)時(shí)鐘可提供秒、分、時(shí)、日、星期、月和年,一個(gè)月

17、小于31天時(shí)可以自動(dòng)調(diào)整,且具有閏年補(bǔ)償功能。工作電壓寬達(dá)2.5~5.5V。采用雙電源供電(主電源和備用電源),可設(shè)置備用電源充電方式,提供了對(duì)后備電源進(jìn)行涓細(xì)電流充電的能力。有主電源和備份電源雙引腳,而且備份電源可由大容量電容(>1F)來(lái)替代。需要強(qiáng)調(diào)的是,DS1302需要使用32.768KHz的晶振。</p><p>  DS1302芯片引腳圖</p><p>  DS1302引腳功能

18、說(shuō)明 </p><p>  2 系統(tǒng)方案選擇和論證</p><p><b>  2.1 設(shè)計(jì)要求</b></p><p>  電子時(shí)鐘主要是利用電子技術(shù)將時(shí)鐘電子化、數(shù)字化,擁有時(shí)間精確、體積小、界面友好、可擴(kuò)展性能強(qiáng)等特點(diǎn),被廣泛應(yīng)用于生活和工作當(dāng)中。當(dāng)今市場(chǎng)上的電子時(shí)鐘品類繁多,外形小巧別致。也有體型較大的,諸如公共場(chǎng)所的大型電子報(bào)時(shí)器等。

19、電子時(shí)鐘首先是數(shù)字化了的時(shí)間顯示或報(bào)時(shí)器,在此基礎(chǔ)上,人們可以根據(jù)不同場(chǎng)合的要求,在時(shí)鐘上加置其他功能,比如定時(shí)鬧鈴,萬(wàn)年歷,環(huán)境溫度、濕度檢測(cè),環(huán)境空氣質(zhì)量檢測(cè),USB擴(kuò)展口功能等。</p><p>  2.2 各模塊方案選擇和論證</p><p>  2.2.1 主控模塊的選擇和說(shuō)明</p><p>  目前在單片機(jī)系統(tǒng)中,應(yīng)用比較廣泛的微處理器芯片主要為8XC

20、5X系列單片機(jī)。該系列單片機(jī)均采用標(biāo)準(zhǔn)MCS-51內(nèi)核,硬件資源相互兼容,品類齊全,功能完善,性能穩(wěn)定,體積小,價(jià)格低廉,貨源充足,調(diào)試和編程方便,所以應(yīng)用極為廣泛。</p><p>  AT89C2051單片機(jī),帶有2KB Flash可編程、可擦除只讀存儲(chǔ)器(E2PROM)的低壓、高性能8位CMOS微型計(jì)算機(jī)。擁有15條可編程I/O引腳,2個(gè)16位定時(shí)器/計(jì)數(shù)器,6個(gè)中斷源,可編程串行UART通道,并能直接驅(qū)動(dòng)

21、LED輸出。</p><p>  為了完成時(shí)鐘設(shè)計(jì),應(yīng)用AT89C2051單片機(jī)完全可以實(shí)現(xiàn)。</p><p>  2.2.2 時(shí)鐘芯片的選擇和說(shuō)明</p><p>  在電子時(shí)鐘設(shè)計(jì)中,常用的實(shí)時(shí)時(shí)鐘芯片有DS12887、DS1216、DS1643、DS1302。每種芯片的主要時(shí)鐘功能基本相同,只是在引腳數(shù)量、備用電池的安裝方式、計(jì)時(shí)精度和擴(kuò)展功能等方面略有不同。

22、DS12887與DS1216芯片都有內(nèi)嵌式鋰電池作為備用電池; X1203引腳少,沒有嵌入式鋰電池,跟DS1302芯片功能相似,只是相比較之下,X1203與STC89C52搭配使用時(shí)占用I/O口較多。DS1643為帶有全功能實(shí)時(shí)時(shí)鐘的8K×8非易失性SRAM,集成了非易失性SRAM、實(shí)時(shí)時(shí)鐘、晶振、電源掉電控制電路和鋰電池電源,BCD碼表示的年、月、日、星期、時(shí)、分、秒,帶閏年補(bǔ)償。同樣,DS1643擁有28只管腳,硬件連接起

23、來(lái)占用微處理器I/O口較多,不方便系統(tǒng)功能拓展和維護(hù)。故而從性價(jià)比和貨源上考慮,本設(shè)計(jì)采用實(shí)時(shí)時(shí)鐘日歷芯片DS1302。</p><p>  2.2.3 顯示模塊的選擇和說(shuō)明</p><p>  本實(shí)驗(yàn)中要顯示的信息比較多,選擇數(shù)碼管顯示的話需要的數(shù)碼管數(shù)量將會(huì)很多,將是線路復(fù)雜,PCB布線混亂,因此選擇7SE-MPX4-CA作為顯示模塊。</p><p>  2.

24、3 最終選擇方案</p><p>  經(jīng)過(guò)方案比較和論證,選擇STC89C51作為主控芯片,時(shí)鐘芯片選擇DS1302,顯示模塊用7SEG-MPX4-CA,用四個(gè)獨(dú)立式鍵盤。</p><p><b>  3 系統(tǒng)軟件設(shè)計(jì)</b></p><p><b>  3.1 工作原理</b></p><p>&

25、lt;b>  數(shù)碼管的驅(qū)動(dòng)方式:</b></p><p>  數(shù)碼管要正常顯示,就要用驅(qū)動(dòng)電路來(lái)驅(qū)動(dòng)數(shù)碼管的各個(gè)段碼,從而顯示出我們要的數(shù)字,因此根據(jù)數(shù)碼管的驅(qū)動(dòng)方式的不同,可以分為靜態(tài)式和動(dòng)態(tài)式兩類。 ① 靜態(tài)顯示驅(qū)動(dòng):靜態(tài)驅(qū)動(dòng)也稱直流驅(qū)動(dòng)。靜態(tài)驅(qū)動(dòng)是指每個(gè)數(shù)碼管的每一個(gè)段碼都由一個(gè)單片機(jī)的I/O端口進(jìn)行驅(qū)動(dòng),或者使用如BCD碼二-十進(jìn)制譯碼器譯碼進(jìn)行驅(qū)動(dòng)。靜態(tài)驅(qū)動(dòng)的優(yōu)點(diǎn)是編程簡(jiǎn)單,顯示亮度

26、高,缺點(diǎn)是占用I/O端口多,如驅(qū)動(dòng)5個(gè)數(shù)碼管靜態(tài)顯示則需要5×8=40根I/O端口來(lái)驅(qū)動(dòng),要知道一個(gè)89S51單片機(jī)可用的I/O端口才32個(gè)呢:),實(shí)際應(yīng)用時(shí)必須增加譯碼驅(qū)動(dòng)器進(jìn)行驅(qū)動(dòng),增加了硬件電路的復(fù)雜性。 ② 動(dòng)態(tài)顯示驅(qū)動(dòng):數(shù)碼管動(dòng)態(tài)顯示接口是單片機(jī)中應(yīng)用最為廣泛的一種顯示方式之一,動(dòng)態(tài)驅(qū)動(dòng)是將所有數(shù)碼管的8個(gè)顯示筆劃"a,b,c,d,e,f,g,dp"的同名端連在一起,另外為每個(gè)數(shù)碼管的公共極CO

27、M增加位選通控制電路,位選通由各自獨(dú)立的I/O線控制,當(dāng)單片機(jī)輸出字形碼時(shí),所有數(shù)碼管都接收到相同的字形碼,但究竟是那個(gè)數(shù)碼管會(huì)顯示出字形,取決于單片機(jī)對(duì)位選通COM端電路的控制,所以我們只要將需要顯示的數(shù)碼管的選通控制打開,該位就顯示出字形,沒有選通的</p><p><b>  3.2 硬件電路</b></p><p>  單片機(jī)電子鐘仿真電路</p>

28、<p><b>  3.3 程序設(shè)計(jì)</b></p><p><b>  ORG 0000H</b></p><p>  START:LJMP MAIN</p><p><b>  ORG 0030H</b></p><p>  MAIN:MOV SP,#5FH&

29、lt;/p><p>  MOV R0,#30H</p><p>  MOV R2,#30H</p><p>  MOV A,#00H</p><p>  LP0:MOV @R0,A</p><p><b>  INC R0</b></p><p>  DJNZ R2,LP0&l

30、t;/p><p>  LCALL DISPLAY</p><p>  ;SJMP MAIN</p><p>  MOV 41H,#00H </p><p>  LCALL START1302</p><p>  MOV 42H,#46H </p><p>  MOV 43H,#1

31、3H </p><p>  MOV 44H,#01H </p><p>  MOV 45H,#06H </p><p>  MOV 46H,#05H </p><p>  MOV 47H,#12H </p><p>  MOV 52H,#00H</p><

32、;p>  MOV 53H,#00H</p><p><b>  CLR 30H</b></p><p><b>  SETB 31H</b></p><p>  ; LCALL Set1302</p><p>  LCALL DISPLAY</p><p>  LP1:

33、 LCALL Get1302</p><p>  MOV 40H,41H</p><p>  LP11: LCALL DISPLAY</p><p>  LCALL GET1302</p><p><b>  MOV A,41H</b></p><p>  CJNE A,40H,LP2</

34、p><p><b>  LJMP LP21</b></p><p>  LP2: CPL 30H</p><p>  MOV 40H,41H</p><p>  ; LJMP LP11</p><p>  LP21: JB 31H,LP22 </p><p> 

35、 LCALL DSBJ</p><p>  LCALL DISPLAY</p><p>  LP22: LCALL KEYSCAN</p><p>  MOV DPTR,#TAB</p><p><b>  MOV A,30H</b></p><p><b>  RL A</b&g

36、t;</p><p><b>  ADD A,30H</b></p><p>  JMP @A+DPTR</p><p>  TAB: LJMP LP11 </p><p>  LJMP TSSZ </p><p>  LJMP SJY </p><p>  

37、LJMP FJY </p><p>  LJMP RQXS </p><p>  TSSZ: CPL 31H</p><p>  TSSZ0: JB P1.4,TSSZ1</p><p>  LCALL TSDISPLAY</p><p>  SJMP TSSZ0</p><p>  T

38、SSZ1: JNB 31H,TSSZ00 </p><p>  LCALL DISPLAY</p><p><b>  LJMP LP11</b></p><p>  TSSZ00:MOV 51,#20H</p><p>  TSSZ10:MOV 50H,#00H</p><p>  TSSZ1

39、1:JB P1.5,TSSZ3 </p><p><b>  MOV A,53H</b></p><p>  ADD A,#01H</p><p><b>  DA A</b></p><p>  CJNE A,#24H,TSSZ2</p><p>  MOV A,#

40、00H</p><p>  TSSZ2: MOV 53H,A</p><p>  TSS1: LCALL TSDISPLAY</p><p>  JNB P1.5,TSS1</p><p>  TSSZ3: LCALL TSDISPLAY </p><p>  JB P1.4,TSSZ11</p>

41、<p>  JNB P1.4,$</p><p>  MOV 51H,#20H</p><p>  TSSZF0:MOV 50H,#00H</p><p>  TSSZF1:JB P1.6,TSSZF3 </p><p><b>  MOV A,52H</b></p><p> 

42、 ADD A,#01H</p><p><b>  DA A</b></p><p>  CJNE A,#60H,TSSZF2</p><p>  MOV A,#00H</p><p>  TSSZF2: MOV 52H,A</p><p>  TSF1: LCALL TSDISPLAY<

43、;/p><p>  JNB P1.6,TSF1</p><p>  TSSZF3: LCALL TSDISPLAY</p><p>  JB P1.4,TSSZF1</p><p>  JNB P1.4,$</p><p>  LCALL TSDISPLAY</p><p><b>  L

44、JMP LP11</b></p><p>  DSBJ: MOV A,53H</p><p>  CJNE A,43H,DSBJ1</p><p><b>  MOV A,52H</b></p><p>  CJNE A, 42H,DSBJ1</p><p>  MOV 50H,#0

45、6H</p><p>  DSBJ0: CLR P1.3</p><p>  LCALL DISPLAY</p><p><b>  SETB P1.3</b></p><p>  LCALL D2MS</p><p>  DJNZ 50H,DSBJ0</p><p>  

46、; SETB 31H</p><p>  DSBJ1: RET</p><p>  SJY: MOV A,43H </p><p>  ADD A,#01H</p><p><b>  DA A</b></p><p>  CJNE A,#24H,SJY0</p>

47、<p>  MOV A,#00H</p><p>  SJY0: MOV 43H,A</p><p>  LCALL SET1302</p><p>  SJY1: JB P1.5,SJY2</p><p>  LCALL DISPLAY</p><p><b>  SJMP SJY1</b&

48、gt;</p><p>  SJY2: LJMP LP11</p><p>  FJY: MOV A,42H </p><p>  ADD A,#01H</p><p><b>  DA A</b></p><p>  CJNE A,#60H,FJY0</p><

49、;p>  MOV A,#00H</p><p>  FJY0: MOV 42H,A</p><p>  LCALL SET1302</p><p>  FJY1:JB P1.6,FJY2</p><p>  LCALL DISPLAY</p><p><b>  SJMP FJY1</b>&

50、lt;/p><p>  FJY2:LJMP LP11</p><p>  RQXS:LCALL RQDISPLAY</p><p>  RQXS1:JB P1.7,RQXS2</p><p>  LCALL RQDISPLAY</p><p>  SJMP RQXS1</p><p>  RQXS2

51、:MOV R3,#00H</p><p>  RQXS3:LCALL RQDISPLAY</p><p>  LCALL RQDISPLAY</p><p>  DJNZ R3,RQXS3</p><p>  LCALL DISPLAY</p><p><b>  LJMP LP11</b><

52、;/p><p>  KEYSCAN:PUSH ACC</p><p>  MOV 30H,#00H</p><p>  ORL P1,#0F0H</p><p><b>  MOV A,P1</b></p><p><b>  SWAP A</b></p><

53、p>  ANL A,#0FH</p><p>  JB ACC.0,K1</p><p>  MOV 30H,#01H</p><p>  SJMP KEYEND</p><p>  K1: JB ACC.1,K2</p><p>  MOV 30H,#02H</p><p>  SJMP

54、 KEYEND</p><p>  K2: JB ACC.2,K3</p><p>  MOV 30H,#03H</p><p>  SJMP KEYEND</p><p>  K3: JB ACC.3,KEYEND</p><p>  MOV 30H,#04H</p><p>  KEYEND

55、: POP ACC</p><p><b>  RET</b></p><p>  KEYPLAY:MOV R5,#04H</p><p>  MOV R0,#52H </p><p>  MOV R3,#08H</p><p>  DIS2:MOV DPTR,#TABLE</p>

56、;<p><b>  MOV A,@R0</b></p><p>  ANL A,#0FH</p><p>  MOVC A,@A+DPTR</p><p><b>  MOV P0,A</b></p><p><b>  MOV A,R3</b></p&g

57、t;<p><b>  MOV P2,A</b></p><p>  LCALL D2MS</p><p><b>  MOV A,@R0</b></p><p>  ANL A,#0F0H</p><p><b>  SWAP A</b></p>

58、<p>  MOVC A,@A+DPTR</p><p><b>  MOV P0,A</b></p><p><b>  MOV A,R3</b></p><p><b>  RR A</b></p><p><b>  MOV R3,A</b>

59、;</p><p><b>  MOV P2,A</b></p><p><b>  INC R0</b></p><p><b>  MOV A,R3</b></p><p><b>  RR A</b></p><p><

60、b>  MOV R3,A</b></p><p>  LCALL D2MS</p><p>  DJNZ R5,DIS2</p><p><b>  CLR P2.0</b></p><p><b>  RET</b></p><p>  DISPLAY:P

61、USH ACC</p><p><b>  PUSH PSW</b></p><p>  MOV DPTR,#TABLE</p><p>  MOV R1,#42H</p><p><b>  MOV A,@R1</b></p><p>  ANL A,#0FH</p&

62、gt;<p>  MOVC A,@A+DPTR</p><p>  MOV C,31H </p><p>  MOV ACC.7,C</p><p><b>  MOV P0,A</b></p><p>  MOV P2,#0FEH </p><p>  ;MOV

63、 P2,#08H </p><p>  LCALL D2MS</p><p>  MOV P2,#00H</p><p><b>  MOV A,@R1</b></p><p><b>  SWAP A</b></p><p>  ANL A,#0FH</p&g

64、t;<p>  MOVC A,@A+DPTR</p><p><b>  MOV P0,A</b></p><p>  MOV P2,#0FDH</p><p>  ;MOV P2,#04H</p><p>  LCALL D2MS</p><p>  MOV P2,#00H<

65、/p><p>  MOV R1,#43H</p><p><b>  MOV A,@R1</b></p><p>  ANL A,#0FH</p><p>  MOVC A,@A+DPTR</p><p><b>  MOV C,30H</b></p><p&

66、gt;  MOV ACC.7,C</p><p><b>  MOV P0,A</b></p><p>  MOV P2,#0FBH</p><p>  ; MOV P2,#02H</p><p>  LCALL D2MS</p><p>  MOV P2,#00H</p><

67、p><b>  MOV A,@R1</b></p><p><b>  SWAP A</b></p><p>  ANL A,#0FH</p><p>  MOVC A,@A+DPTR</p><p><b>  MOV P0,A</b></p><p

68、>  MOV P2,#0F7H</p><p>  ; MOV P2,#01H</p><p>  LCALL D2MS</p><p>  MOV P2,#00H</p><p><b>  POP PSW</b></p><p><b>  POP ACC</b>&

69、lt;/p><p><b>  RET</b></p><p>  RQDISPLAY:PUSH ACC </p><p><b>  PUSH PSW</b></p><p>  MOV DPTR,#TABLE</p><p>  MOV R1,#44H<

70、;/p><p><b>  MOV A,@R1</b></p><p>  ANL A,#0FH</p><p>  MOVC A,@A+DPTR</p><p><b>  MOV P0,A</b></p><p>  MOV P2,#0FEH </p>&l

71、t;p>  ;MOV P2,#08H </p><p>  LCALL D2MS</p><p>  MOV P2,#00H</p><p><b>  MOV A,@R1</b></p><p><b>  SWAP A</b></p><p>  ANL A

72、,#0FH</p><p>  MOVC A,@A+DPTR</p><p><b>  MOV P0,A</b></p><p>  MOV P2,#0FDH</p><p>  ;MOV P2,#04H</p><p>  LCALL D2MS</p><p>  MO

73、V P2,#00H</p><p>  MOV R1,#45H</p><p><b>  MOV A,@R1</b></p><p>  ANL A,#0FH</p><p>  MOVC A,@A+DPTR</p><p><b>  MOV P0,A</b></p

74、><p>  MOV P2,#0FBH</p><p>  ; MOV P2,#02H</p><p>  LCALL D2MS</p><p>  MOV P2,#00H</p><p><b>  MOV A,@R1</b></p><p><b>  SWAP

75、A</b></p><p>  ANL A,#0FH</p><p>  MOVC A,@A+DPTR</p><p><b>  MOV P0,A</b></p><p>  MOV P2,#0F7H</p><p>  ; MOV P2,#01H</p><p&

76、gt;  LCALL D2MS</p><p>  MOV P2,#00H</p><p><b>  POP PSW</b></p><p><b>  POP ACC</b></p><p><b>  RET</b></p><p>  TSDIS

77、PLAY:PUSH ACC </p><p><b>  PUSH PSW</b></p><p>  MOV DPTR,#TABLE</p><p>  MOV R1,#52H</p><p><b>  MOV A,@R1</b></p><p>  ANL

78、 A,#0FH</p><p>  MOVC A,@A+DPTR</p><p><b>  MOV P0,A</b></p><p>  MOV P2,#0FEH </p><p>  ;MOV P2,#08H </p><p>  LCALL D2MS</p><

79、;p>  MOV P2,#00H</p><p><b>  MOV A,@R1</b></p><p><b>  SWAP A</b></p><p>  ANL A,#0FH</p><p>  MOVC A,@A+DPTR</p><p><b>  

80、MOV P0,A</b></p><p>  MOV P2,#0FDH</p><p>  ;MOV P2,#04H</p><p>  LCALL D2MS</p><p>  MOV P2,#00H</p><p>  MOV R1,#53H</p><p><b> 

81、 MOV A,@R1</b></p><p>  ANL A,#0FH</p><p>  MOVC A,@A+DPTR</p><p><b>  MOV P0,A</b></p><p>  MOV P2,#0FBH</p><p>  ; MOV P2,#02H</p>

82、;<p>  LCALL D2MS</p><p>  MOV P2,#00H</p><p><b>  MOV A,@R1</b></p><p><b>  SWAP A</b></p><p>  ANL A,#0FH</p><p>  MOVC A,

83、@A+DPTR</p><p><b>  MOV P0,A</b></p><p>  MOV P2,#0F7H</p><p>  ; MOV P2,#01H</p><p>  LCALL D2MS</p><p>  MOV P2,#00H</p><p><

84、b>  POP PSW</b></p><p><b>  POP ACC</b></p><p><b>  RET</b></p><p>  D2MS: MOV R6,#02H</p><p>  DL1: MOV R5,#249</p><p>&l

85、t;b>  DL2: NOP</b></p><p><b>  NOP</b></p><p>  DJNZ R5,DL2</p><p><b>  NOP</b></p><p>  DJNZ R6,DL1</p><p><b>  RET

86、</b></p><p>  TABLE: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH</p><p>  T_CLK Bit P1.0 </p><p>  T_IO Bit P1.1

87、 </p><p>  T_RST Bit P1.2 </p><p>  Second data 41H</p><p>  Set1302: CLR T_RST</p><p>  CLR T_CLK</p><

88、p>  SETB T_RST</p><p>  MOV B, #8EH </p><p>  LCALL RTInputByte</p><p>  MOV B, #00H </p><p>  LCALL RTInputByte</p><p>  

89、SETB T_CLK</p><p>  CLR T_RST</p><p>  MOV R0, #Second </p><p>  MOV R7, #7 </p><p>  MOV R2, #80H </p><p>  Set1302

90、1: CLR T_RST</p><p>  CLR T_CLK</p><p>  SETB T_RST</p><p>  MOV B, R2 </p><p>  LCALL RTInputByte</p><p>  MOV A, @R0

91、 </p><p>  MOV B, A</p><p>  LCALL RTInputByte</p><p><b>  INC R0</b></p><p><b>  INC R2</b></p><p><b>  INC

92、 R2</b></p><p>  SETB T_CLK</p><p>  CLR T_RST</p><p>  DJNZ R7, Set13021</p><p>  CLR T_RST</p><p>  CLR T_CLK</p><p> 

93、 SETB T_RST</p><p>  MOV B, #8EH </p><p>  LCALL RTInputByte</p><p>  MOV B, #80H </p><p>  LCALL RTInputByte</p><p>  SETB

94、 T_CLK</p><p>  CLR T_RST</p><p><b>  RET</b></p><p>  Get1302: PUSH ACC</p><p><b>  PUSH PSW</b></p><p>  ; SETB PSW.4</p&g

95、t;<p>  ; SETB PSW.3</p><p>  MOV R0, #Second</p><p>  MOV R7, #3</p><p>  MOV R2, #81H </p><p>  Get1: CLR T_RST</p><p>  CLR

96、T_CLK</p><p>  SETB T_RST</p><p>  MOV B, R2 </p><p>  LCALL RTInputByte</p><p><b>  NOP</b></p><p>  LCALL RTOutputByte</p>

97、;<p>  MOV @R0,A </p><p><b>  INC R0</b></p><p><b>  INC R2</b></p><p><b>  INC R2</b></p><p>  SETB T_

98、CLK</p><p>  CLR T_RST</p><p>  LCALL DISPLAY</p><p>  DJNZ R7,Get1</p><p>  ; CLR PSW.3</p><p>  ; CLR PSW.4</p><p><b>  POP PSW&

99、lt;/b></p><p><b>  POP ACC</b></p><p><b>  RET</b></p><p>  Get13021: PUSH ACC</p><p><b>  PUSH PSW</b></p><p>  ;

100、SETB PSW.4</p><p>  ; SETB PSW.3</p><p>  MOV R0, #51H;</p><p>  MOV R7, #01</p><p>  MOV R2, #81H </p><p>  Get2: CLR T_RST</p>&

101、lt;p>  CLR T_CLK</p><p>  SETB T_RST</p><p>  MOV B, R2 </p><p>  LCALL RTInputByte</p><p><b>  NOP</b></p><p>  LCALL RTOu

102、tputByte</p><p>  MOV @R0,A </p><p><b>  INC R0</b></p><p><b>  INC R2</b></p><p><b>  INC R2</b></p><

103、;p>  SETB T_CLK</p><p>  CLR T_RST</p><p>  LCALL DISPLAY</p><p>  DJNZ R7,Get2</p><p>  ; CLR PSW.3</p><p>  ; CLR PSW.4</p><p>&l

104、t;b>  POP PSW</b></p><p><b>  POP ACC</b></p><p><b>  RET</b></p><p>  START1302:</p><p>  CLR T_RST</p><p>  CLR T_

105、CLK</p><p>  SETB T_RST</p><p>  MOV B, #8EH </p><p>  LCALL RTInputByte</p><p>  MOV B, #00H </p><p>  LCALL RTInputByte</

106、p><p>  SETB T_CLK</p><p>  CLR T_RST</p><p>  MOV R0, #Second </p><p>  MOV R7, #01H </p><p>  MOV R2, #80H </p>

107、<p>  START13021: CLR T_RST</p><p>  CLR T_CLK</p><p>  SETB T_RST</p><p>  MOV B, R2 </p><p>  LCALL RTInputByte</p><p>  MOV

108、 A, @R0 </p><p>  MOV B, A</p><p>  LCALL RTInputByte</p><p><b>  INC R0</b></p><p><b>  INC R2</b></p><p&

109、gt;<b>  INC R2</b></p><p>  SETB T_CLK</p><p>  CLR T_RST</p><p>  DJNZ R7, START13021</p><p>  CLR T_RST</p><p>  CLR T_CLK<

110、;/p><p>  SETB T_RST</p><p>  MOV B,#8EH ;控制寄存器</p><p>  LCALL RTInputByte</p><p>  MOV B,#80H ;控制,WP=1,寫保護(hù)</p><p>  LCALL RTInputByte

111、</p><p>  SETB T_CLK</p><p>  CLR T_RST</p><p><b>  RET</b></p><p><b>  RAMWRITE:</b></p><p>  CLR T_RST</p><p&g

112、t;  CLR T_CLK</p><p>  SETB T_RST</p><p>  MOV B, #8EH </p><p>  LCALL RTInputByte</p><p>  MOV B, #00H </p><p>  LCALL RT

113、InputByte</p><p>  SETB T_CLK</p><p>  CLR T_RST</p><p>  ; MOV R0, #RAM8951 </p><p>  ; MOV R7, #COUNTER </p><p>  ; MOV R2,

114、 #RAM1302 </p><p>  RAMWRITE1: CLR T_RST</p><p>  CLR T_CLK</p><p>  SETB T_RST</p><p>  MOV B, R2 </p><p>  LCALL RTInput

115、Byte</p><p>  MOV A, @R0 </p><p>  MOV B, A</p><p>  LCALL RTInputByte</p><p><b>  INC R0</b></p><p><b>  INC

116、 R2</b></p><p><b>  INC R2</b></p><p>  LCALL DISPLAY</p><p>  SETB T_CLK</p><p>  CLR T_RST</p><p>  DJNZ R7, RAMWRITE1<

117、/p><p>  CLR T_RST</p><p>  CLR T_CLK</p><p>  SETB T_RST</p><p>  MOV B, #8EH </p><p>  LCALL RTInputByte</p><p>  MOV

118、B, #80H </p><p>  LCALL RTInputByte</p><p>  SETB T_CLK</p><p>  CLR T_RST</p><p><b>  RET</b></p><p>  RAM1302RD: PUSH ACC<

119、;/p><p><b>  PUSH PSW</b></p><p>  ; MOV R0, #RAM8951 </p><p>  ; MOV R7, #COUNTER</p><p>  ; MOV R2, #RAM1302 </p><p>  RAM1302RD1:

120、CLR T_RST</p><p>  CLR T_CLK</p><p>  SETB T_RST</p><p>  MOV B, R2 </p><p>  LCALL RTInputByte</p><p>  LCALL RTOutputByte</p>

121、<p>  MOV @R0,A </p><p><b>  INC R0</b></p><p><b>  INC R2</b></p><p><b>  INC R2</b></p><p>  SETB T_CLK

122、</p><p>  CLR T_RST</p><p>  DJNZ R7,RAM1302RD1</p><p><b>  POP PSW</b></p><p><b>  POP ACC</b></p><p><b>  RET</b>

123、;</p><p>  RTInputByte:</p><p>  MOV R4, #8</p><p>  Inbit1: MOV A, B</p><p><b>  RRC A</b></p><p>  MOV B, A</p>

124、;<p>  MOV T_IO, C</p><p>  SETB T_CLK</p><p>  CLR T_CLK</p><p>  DJNZ R4, Inbit1</p><p><b>  RET</b></p><p>  RTOutputByt

125、e:</p><p>  MOV R4,#8</p><p>  Outbit1: SETB T_IO</p><p>  MOV C,T_IO</p><p><b>  RRC A</b></p><p>  SETB T_CLK</p><p>

126、;  CLR T_CLK</p><p>  DJNZ R4, Outbit1</p><p><b>  RET</b></p><p><b>  LJMP MAIN</b></p><p><b>  END</b></p><p>

127、;  4 系統(tǒng)硬件設(shè)計(jì)調(diào)試與分析</p><p><b>  4.1 調(diào)試步驟</b></p><p><b>  4.1.1軟件調(diào)試</b></p><p>  軟件調(diào)試相對(duì)比較簡(jiǎn)單,但是要掌握仿真軟件的用法,首先在仿真軟件(Proteus)上建立仿真模型(電路圖),然后用Keil C編程序和Proteus進(jìn)行聯(lián)機(jī)仿真調(diào)

128、試,分別對(duì)顯示、按鍵、時(shí)鐘等各個(gè)部分進(jìn)行調(diào)試,檢測(cè)電路原理圖的正確與否。</p><p><b>  4.1.2硬件調(diào)試</b></p><p>  單片機(jī)基礎(chǔ)電路包括電源、單片機(jī)、外部時(shí)鐘震蕩電路、復(fù)位電路和外部接口電路。調(diào)試過(guò)程需要注意以下幾點(diǎn):</p><p>  (1)檢查電源是否完好。</p><p>  (2

129、)單片機(jī)電源要連接正確,并且保證AT89C51的31號(hào)引腳接高電平。AT89C51的31號(hào)引腳是外部程序存儲(chǔ)器選擇信號(hào)端,當(dāng)該引腳為高電平時(shí),單片機(jī)會(huì)一直從片內(nèi)程序存儲(chǔ)器內(nèi)取指令。</p><p>  (3)如果使用P0口做I/O口,要接上拉電阻。</p><p>  (4)使用萬(wàn)用表排查電路中是否存在斷路或者短路情況。筆者在制作外部接口電路時(shí)使用的是排針,焊接時(shí)容易出現(xiàn)管腳之間短路,所以

130、在上電以前必須先排查電路。</p><p>  (5)編輯一個(gè)簡(jiǎn)單程序,上電運(yùn)行,檢查單片機(jī)是否正常工作,復(fù)位電路是否正確。</p><p>  4.2 性能分析 </p><p>  當(dāng)某一串聯(lián)支路上有一只LED品質(zhì)不良而短路時(shí),不管采用穩(wěn)壓式驅(qū)動(dòng)方式還是恒流式驅(qū)動(dòng)方式,通過(guò)該串聯(lián)電路的電流將增大,很容易損壞該串聯(lián)支路中的LED。大電流通過(guò)損壞

131、的這串LED后,由于通過(guò)的電流較大,多表現(xiàn)為斷路。斷開一個(gè)LED串聯(lián)支路后,如果采用穩(wěn)壓式驅(qū)動(dòng)方式,驅(qū)動(dòng)器的輸出電流將減小,而不影響余下的所有LED正常工作。</p><p>  如果采用恒流式LED驅(qū)動(dòng)方式,由于驅(qū)動(dòng)器的輸出電流保持不變,分配在余下的LED中的電流將增大,容易損壞所有的LED。解決辦法是盡量多并聯(lián)LED,這樣當(dāng)斷開某一只LED時(shí),分配在余下的LED中的電流不大,不至于影響余下的LED正常工作。&

132、lt;/p><p>  這種先串聯(lián)后并聯(lián)的線路的優(yōu)點(diǎn)是線路簡(jiǎn)單、亮度穩(wěn)定、可靠性高,并且對(duì)器件的一致性要求較低,不需要特別挑選器件,即使個(gè)別LED單管失效,對(duì)整個(gè)發(fā)光組件的影響也較小。在工作環(huán)境因素變化較大的情況下,使用這種連接形式的發(fā)光組件效果較為理想。</p><p>  先并后串混合連接構(gòu)成的發(fā)光組件的問(wèn)題主要是在單組并聯(lián)LED中,由于器件和使用條件的差別,單組中個(gè)別LED芯片可能喪失P

133、N結(jié)特性,出現(xiàn)短路。個(gè)別器件短路會(huì)使未失效的LED失去工作電流IF"‘導(dǎo)致整組LED熄滅,總電流全部從短路器件中通過(guò),而較長(zhǎng)時(shí)間的短路電流又會(huì)使器件內(nèi)部的鍵合金屬絲或其他部分燒毀,出現(xiàn)開路。這時(shí),未失效的LED重新獲得電流,恢復(fù)正常發(fā)光,只是工作電流IF較原來(lái)大一點(diǎn)。這就是這種連接形式的發(fā)光組件出現(xiàn)先是一組中幾只LED一起熄滅,一段時(shí)間后除其中一只LED不亮外,其他LED又恢復(fù)正常的原因。</p><p&g

134、t;  混聯(lián)方式還有另外一種接法,即是將LED平均分配后分組并聯(lián),再將每組串聯(lián)在一起。當(dāng)有一只LED品質(zhì)不良而短路時(shí),不管是采用穩(wěn)壓式驅(qū)動(dòng)方式還是恒流式驅(qū)動(dòng)方式,并聯(lián)在這一支路中的LED將全部不亮。如果采用恒流式LED驅(qū)動(dòng)方式,由于驅(qū)動(dòng)器的輸出電流保持不變,除了并聯(lián)在短路LED上的這一并聯(lián)支路外,其余的LED均正常工作。假設(shè)并聯(lián)的LED數(shù)量較多,驅(qū)動(dòng)器的驅(qū)動(dòng)電流較大,通過(guò)這只短路的LED的電流將增大。大電流通過(guò)這只短路的LED后,很容易

135、就變成斷路。由于并聯(lián)的LED較多,斷開一只LED后,平均分配電流變化不大,其余的LED依然可以正常工作,那么在整個(gè)LED燈中僅有一只LED不亮。</p><p><b>  5設(shè)計(jì)心得</b></p><p>  通過(guò)這次為期一個(gè)星期的單片機(jī)實(shí)驗(yàn),我們?nèi)齻€(gè)人基本掌握了Proteus和Keil的基本功能和使用方法,對(duì)80C51單片機(jī)系統(tǒng)有了一定的了解,使我們得到了一次用

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論