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

下載本文檔

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

文檔簡介

1、<p>  單片機技術(shù)課程設(shè)計說明書</p><p><b>  數(shù) 字 電 子 鐘</b></p><p><b>  摘 要</b></p><p>  電子鐘在生活中應(yīng)用非常廣泛,而一種簡單方便的數(shù)字電子鐘則更能受到人們的歡迎。所以設(shè)計一個簡易數(shù)字電子鐘很有必要。本電子鐘采用ATMEL公司的AT89S52

2、單片機為核心,使用12MHz 晶振與單片機AT89S52 相連接,通過軟件編程的方法實現(xiàn)以24小時為一個周期,同時8位8段LED數(shù)碼管(兩個四位一體數(shù)碼管)顯示小時、分鐘和秒的要求,并在計時過程中具有定時功能,當(dāng)時間到達提前定好的時間進行蜂鳴報時。該電子鐘設(shè)有四個按鍵S1、S2、S3和S4鍵,進行相應(yīng)的操作就可實現(xiàn)校時、定時、復(fù)位功能。具有時間顯示、整點報時、校正等功能。走時準(zhǔn)確、顯示直觀、運行穩(wěn)定等優(yōu)點。具有極高的推廣應(yīng)用價值。<

3、;/p><p>  關(guān)鍵詞 電子鐘;AT89S52;硬件設(shè)計;軟件設(shè)計</p><p><b>  ABSTRACT</b></p><p>  Clock is widely used in life, and a simple digital clock is more welcomed by people. So to design a s

4、imple digital electronic clock is necessary.The system use a single chip AT89S52 of ATMEL’s as its core to control The crystal oscillator clock,using of E-12MHz is connected with the microcontroller AT89S52, through the

5、software programming method to achieve a 24-hour cycle, and eight 8-segment LED digital tube (two four in one digital tube) displays hours, minutes and seconds requirements, and i</p><p>  顯示對應(yīng)的拉丁字符的拼音</p

6、><p>  字典 - 查看字典詳細內(nèi)容</p><p>  Key words electronic clock;AT89S52;hardware design;software design</p><p><b>  目 錄</b></p><p>  設(shè)計課題任務(wù)、功能要求說明及方案介紹…………………………………

7、……1</p><p>  設(shè)計課題任務(wù) ………………………………………………………………1</p><p>  功能要求說明 ………………………………………………………………1</p><p>  設(shè)計總體方案介紹及原理說明 ……………………………………………1</p><p>  設(shè)計課題硬件系統(tǒng)的設(shè)計 …………………………………………

8、……………2</p><p>  設(shè)計課題硬件系統(tǒng)各模塊功能簡要介紹 …………………………………2</p><p>  設(shè)計課題電路原理圖、PCB圖、元器件布局圖…………………………2</p><p>  設(shè)計課題元器件清單 ………………………………………………………3</p><p>  設(shè)計課題軟件系統(tǒng)的設(shè)計………………………………………

9、…………………4</p><p>  設(shè)計課題使用單片機資源的情況 …………………………………………4</p><p>  設(shè)計課題軟件系統(tǒng)各模塊功能簡要介紹 …………………………………4</p><p>  設(shè)計課題軟件系統(tǒng)程序流程框圖 …………………………………………5</p><p>  設(shè)計課題軟件系統(tǒng)程序清單 ……………………………

10、…………………8</p><p>  設(shè)計結(jié)論、仿真結(jié)果、誤差分析、教學(xué)建議 …………………………………19</p><p>  設(shè)計課題的設(shè)計結(jié)論及使用說明…………………………………………19</p><p>  設(shè)計課題的仿真結(jié)果………………………………………………………19</p><p>  設(shè)計課題的誤差分析………………………………

11、………………………20</p><p>  設(shè)計體會……………………………………………………………………20</p><p>  教學(xué)建議……………………………………………………………………20</p><p>  結(jié) 束 語 ……………………………………………………………………………21</p><p>  致 謝 …………………

12、…………………………………………………………22</p><p>  參考文獻 ……………………………………………………………………………23</p><p>  附 錄A …………………………………………………………………………24</p><p>  附 錄B …………………………………………………………………………25</p>

13、<p>  附 錄C …………………………………………………………………………27</p><p>  1 設(shè)計課題任務(wù)、功能要求說明及方案介紹</p><p>  1.1 設(shè)計課題任務(wù)</p><p>  設(shè)計一個具有特定功能的電子鐘。具有時間顯示、報時等功能。并有時間設(shè)定,時間調(diào)整功能。</p><p>  1.2

14、 功能要求說明</p><p>  設(shè)計一個具有特定功能的電子鐘。該電子鐘上電或按鍵復(fù)位后能自動顯示系統(tǒng)提示符“P.”, 進入時鐘準(zhǔn)備狀態(tài);第一次按電子鐘啟動/調(diào)整鍵,電子鐘從0時0分0秒開始運行,進入時鐘運行狀態(tài);再次按電子鐘啟動/調(diào)整鍵,則電子鐘進入時鐘調(diào)整狀態(tài),此時可利用各調(diào)整鍵調(diào)整時間,調(diào)整結(jié)束后可按啟動/調(diào)整鍵再次進入時鐘運行狀態(tài)。</p><p>  1.3 設(shè)計課題總體方案

15、介紹及工作原理說明</p><p>  本電子鐘主要由單片機、獨立鍵盤、顯示接口電路和復(fù)位電路構(gòu)成,設(shè)計課題的總體方案如圖1所示: </p><p>  圖1 總體設(shè)計方案圖</p><p>  本電子鐘的所有的軟件、參數(shù)均存放在AT89S52的Flash ROM和內(nèi)部RAM中,減少了芯片的使用數(shù)量簡化了整體電路也降低了整機的工作電流。鍵盤采用動態(tài)掃描方式。利用單

16、片機定時器及計數(shù)器產(chǎn)生定時效果通過編程形成數(shù)字鐘效果,再利用數(shù)碼管動態(tài)掃描顯示單片機內(nèi)部處理的數(shù)據(jù),同時通過端口讀入當(dāng)前外部控制狀態(tài)來改變程序的不同狀態(tài),實現(xiàn)不同功能。</p><p>  2 設(shè)計課題硬件系統(tǒng)的設(shè)計</p><p>  設(shè)計課題硬件系統(tǒng)各模塊功能簡要介紹</p><p>  本設(shè)計的硬件系統(tǒng)主要采用以下基本模塊來實現(xiàn),單片機最小系統(tǒng)模塊,輸入模塊

17、、輸出模塊、電源模塊。</p><p> ?。?)單片機最小系統(tǒng)模塊:包括低功耗、高性能CMOS8位微控制器AT89S52;復(fù)位電路;晶振電路。本本模塊AT89S52系統(tǒng)控制核心,單片機系統(tǒng)復(fù)位由復(fù)位電路完成,單片機內(nèi)部有一個高增益、反相放大器,其輸入端為芯片引腳XTAL1,其輸出端位位引腳XTAL2。通過這兩個引腳在芯片外并接石英晶體振蕩器和兩只電容。這樣就構(gòu)成一個穩(wěn)定的自激振蕩器。 </p>&

18、lt;p>  (2)輸入模塊:本模塊共用到了5個按鍵,1個電源開關(guān),1個復(fù)位鍵,單片機運行期間,利用按鍵完成復(fù)位操作。3個按鍵獨立式鍵盤,S1鍵控制電子鐘的啟動\調(diào)整狀態(tài),S2鍵為加1鍵,S3鍵為減1鍵。且S1、S2、S3任一鍵都獨自連一個I/O(P1.0、P1.1、P1.2)口線,說明它們可以獨立實現(xiàn)相應(yīng)的電子鐘功能。</p><p>  (3)輸出模塊:本次設(shè)計顯示為8位,采用兩個四位一體數(shù)碼管(共陽極

19、)作為顯示窗口,既可以節(jié)約成本又能簡化電路。數(shù)碼管用8個PNP三極管驅(qū)動。</p><p> ?。?)電源模塊:現(xiàn)在市面上銷售的編程器有很多都是由PC機的USB口直接供電為了降低本設(shè)計的成本及節(jié)省設(shè)計時間,沒有另外設(shè)計編程器,而直接購買了市場上的USB供電及下載器。</p><p>  2.1設(shè)計課題電路原理圖、PCB圖、元器件布局圖</p><p>  電路原理圖

20、見附錄A,PCB附錄B,元器件布局圖見附錄C</p><p><b>  設(shè)計課題元器件清單</b></p><p>  設(shè)計課題元器件清單如表1所示。</p><p>  表1 設(shè)計所用元器件清單</p><p>  3 設(shè)計課題軟件系統(tǒng)的設(shè)計</p><p>  3.1 設(shè)計課題使用單片

21、機資源的情況</p><p>  設(shè)計課題使用單片機資源的情況如下:</p><p>  P0口輸出數(shù)碼管段選信號,P3口輸出數(shù)碼管位選信號;晶振12MHz;調(diào)整選擇鍵SET_KEY:P1.0;通過選擇鍵選擇調(diào)整位,選中位閃爍;增加鍵ADD_KEY:P1.1;按一次使選中位加1;減少鍵DEC_KEY:P1.2;按一次使選中位減1;P2.1為蜂鳴器發(fā)聲報時;50H-5FH;16個寄存器單元作

22、為顯示單元; </p><p>  50H 用于控制秒基準(zhǔn)時鐘源的產(chǎn)生;51H 清零秒寄存器;</p><p>  52H 清零分寄存器;53H 清零時寄存器;</p><p>  5FH 用于秒個位;5EH 用于秒十位;</p><p>  5DH 用于分個位;5CH 用于分十位;</p><p>  5BH 用于時

23、個位;5AH 用于時十位;</p><p>  54H 用于控制調(diào)時閃爍;堆棧棧底:70H。</p><p>  設(shè)計課題軟件系統(tǒng)個模塊功能簡要介紹</p><p>  本設(shè)計的軟件系統(tǒng)主要采用以下基本模塊來實現(xiàn),主程序、中斷服務(wù)程序、鍵盤輸入程序模塊、數(shù)碼管及其驅(qū)動模塊和延時模塊。</p><p>  主程序:主要是用于對輸入信號的處理、輸

24、出信號的控制和對各個功能程序模塊的運用及其控制。</p><p>  中斷服務(wù)程序:主要是用于電子鐘的準(zhǔn)確運行、數(shù)據(jù)輸入過程中的閃爍。</p><p>  鍵盤輸入程序模塊:主要是用于確定按鍵并得到特定的鍵碼值。</p><p>  數(shù)碼管及其驅(qū)動模塊:主要是用于驅(qū)動數(shù)碼管及利用數(shù)碼管顯示時間。</p><p>  延時模塊:程序中有兩種延時

25、子程序,一種是短延時用于判鍵按下等,一種是長延時。</p><p>  3.3 設(shè)計課題軟件系統(tǒng)程序流程框圖</p><p>  系統(tǒng)軟件采用匯編語言按模塊化方式進行設(shè)計,然后通過Keil軟件開發(fā)平臺將程</p><p>  序轉(zhuǎn)變成十六進制程序語言,接著使用Proteus 進行仿真,讀出顯示數(shù)據(jù)。</p><p>  主程序流程框圖如圖1

26、所示;加1子程序如圖2所示;</p><p>  中斷服務(wù)程序程序如圖3所示;</p><p>  鍵盤掃描子程序框圖如圖4所示;</p><p>  顯示子程序框圖如圖5所示;</p><p>  圖2 主程序流程框圖</p><p>  圖3 加1子程序流程框圖</p><p>  圖4

27、 中斷子程序流程框圖</p><p>  圖5 鍵盤掃描子程序流程框圖</p><p>  圖6 顯示子程序流程框圖</p><p>  3.4設(shè)計課題軟件系統(tǒng)程序清單</p><p>  ;***********************************************************************<

28、/p><p>  ;項目名稱:電子鐘的設(shè)計</p><p><b>  ;設(shè)計者:游天樂</b></p><p>  ;設(shè)計日期:2011年12月24日</p><p>  ;***********************************************************************<

29、/p><p><b>  ;堆棧棧底7FH;</b></p><p>  ;***********************************************************************</p><p>  ;LED數(shù)碼管顯示器設(shè)定;</p><p>  ;P0.7---P0.0段控線,接LE

30、D的顯示段dp,g,f,e,d,c,b,a</p><p>  ;P2.7---P2.0位控線,從左至右(LED7,LED6,LED5,LED4,LED3,LED2,LED1,LED0)</p><p>  ;顯示緩沖區(qū)設(shè)定從左至右依次為7FH,7EH,7DH,7CH,7BH,7AH,79H,78H(LED7,LED6,LED5,LED4,LED3,LED2,LED1,LED0)</

31、p><p>  ;***********************************************************************</p><p><b>  ;獨立式鍵盤設(shè)定;</b></p><p>  ;8個按鍵S2至S9分別依次接在P1.0至P1.7口線; </p><p>  ;***

32、******************************************************************** </p><p><b>  ;子程序;</b></p><p>  ;DISP(數(shù)碼管顯示子程序)</p><p>  ;DL(1毫秒延時子程序,晶振頻率12MHz)</p><p>

33、;  ;***********************************************************************</p><p><b>  ;常數(shù)表格;</b></p><p>  ;TAB(共陽數(shù)碼管字型代碼表)</p><p>  ;DISBH(系統(tǒng)提示符P.字型代碼序號表)</p>&

34、lt;p>  ;***********************************************************************</p><p><b>  ;中斷服務(wù)程序;</b></p><p>  ;****************************************************************

35、*******</p><p><b>  ;鍵功能程序;</b></p><p>  ;***********************************************************************</p><p>  ;數(shù)據(jù)存儲器變量及常量單元定義;</p><p>  ;******

36、*****************************************************************</p><p>  ;偽指令定義區(qū) </p><p>  ;***********************************************************************</p><p>  ;系統(tǒng)起

37、始程序區(qū) </p><p>  ORG 0000H</p><p>  START: LJMP MAIN</p><p>  ;***********************************************************************</p><p>  ;系統(tǒng)監(jiān)控

38、程序區(qū) </p><p>  ORG 000BH</p><p>  LJMP PIT0</p><p>  ORG 0100H;</p><p>  MAIN: MOV SP, #7FH ;確立堆棧區(qū)</p><p>  MOV R0,

39、 #78H ;顯示緩沖區(qū)首址</p><p>  MOV R7, #08H ;顯示位數(shù) </p><p>  ML1: MOV @R0, #00H ;時鐘顯示緩沖單元清0</p><p>  INC R0;</p><p>  DJNZ R7,

40、 ML1</p><p>  MOV 7AH, #12H</p><p>  MOV 7DH, #12H</p><p>  MOV TMOD, #01H ;設(shè)置T/C0工作方式1</p><p>  MOV TL0, #0DCH ;裝載計數(shù)初值<

41、/p><p>  MOV TH0, #0BH;</p><p>  SETB EA;</p><p>  SETB ET0 </p><p>  CLR TR0;</p><p>  MOV 30H, #14H ;計數(shù)溢出次數(shù),即循環(huán)次數(shù) </p>

42、<p>  ML0: LCALL GEXING</p><p>  LCALL DISP ;調(diào)顯示子程序</p><p>  LCALL KEY ;調(diào)鍵掃描子程序</p><p>  ML3: LCALL ANJIANG;</p><p>  

43、ML2: JNB TR0, PARK</p><p>  LCALL DISP </p><p>  FFT: SJMP ML0</p><p>  ;***********************************************************************</p&

44、gt;<p><b>  ;獨立式鍵盤設(shè)定;</b></p><p>  ANJIANG:JB 20H.0, KEYAA ;是KEYA鍵,轉(zhuǎn)KEYAA執(zhí)行</p><p>  JB 20H.1, KEYBB ;是KEYB鍵,轉(zhuǎn)KEYBB執(zhí)行 </p><p>  JB

45、20H.2, KEYCC;</p><p>  JB 20H.3, KEYDD</p><p><b>  RET</b></p><p>  ;**********************************************************************</p><p>

46、<b>  ;鍵功能程序;</b></p><p>  KEYAA: MOV R0, #75H ;給加一子程序賦初值 </p><p>  LCALL DADD1 ;時加一</p><p>  MOV 25H, 75H ;時的十

47、位送位單元</p><p>  MOV 26H, 74H ;時的個位送位單元</p><p>  JB 25H.1, LOOP7 ;判斷十位是否加到2 </p><p>  LJMP ML2 ;</p><p>  KEYBB: MOV R0,

48、 #73H ;給加一子程序賦初值</p><p>  LCALL DADD1 ;分加一 </p><p>  MOV 24H, 73H ;分的十位送位單元</p><p>  JB 24H.2, LOOP5 ;判斷是否為6</p>

49、<p>  LJMP ML2</p><p>  KEYCC: SETB TR0 ;開始按鍵</p><p>  LJMP ML2 ;</p><p>  KEYDD: CLR TR0 ;停止按鍵</p><p>  LJMP ML2

50、 ; </p><p>  PARK : MOV P2, #0FEH ;顯示P.</p><p>  MOV P0, #0CH ;</p><p>  LCALL KEY </p><p>  AJMP ML3</p><p> 

51、 LOOP5: JB 24H.1, LOOP6 ;判斷是否為6 ,分到達60,轉(zhuǎn)LOOP6分清零</p><p>  LJMP ML2 ;</p><p>  LOOP6: MOV 73H, #00H ;分清零</p><p>  MOV 72H , #00H;</p&g

52、t;<p>  LJMP ML2</p><p>  LOOP7 : JB 26H.2, LOOP8 ;判斷個位是否加到4 ,時到達24 轉(zhuǎn)LOOP8,讓時清零</p><p>  LJMP ML2 ;</p><p>  LOOP8: MOV 75H, #00H ;

53、時清零</p><p>  MOV 74H, #00H;</p><p>  LJMP ML2 ;</p><p>  ;**********************************************************************</p><p><b>  ;鍵盤掃描子程

54、序</b></p><p>  KEY: LCALL KEYCHULI ;調(diào)P1口數(shù)據(jù)處理子程序</p><p>  JZ EXIT ;沒有鍵按下,轉(zhuǎn)返回</p><p>  LCALL DISP ;調(diào)顯示子程序去抖動<

55、;/p><p>  LCALL DISP</p><p>  LCALL KEYCHULI ;調(diào)P1口數(shù)據(jù)處理子程序</p><p>  JZ EXIT ;沒有鍵按下,轉(zhuǎn)返回</p><p>  MOV B, 20H

56、;保存取反后的鍵值</p><p>  KEYSF: LCALL KEYCHULI ;調(diào)P1口數(shù)據(jù)處理子程序</p><p>  JZ KEY1 ;鍵釋放,轉(zhuǎn)恢復(fù)鍵值</p><p>  LCALL DISP ;調(diào)顯示子程序延時</p><p>  LJMP

57、KEYSF ;等待鍵釋放</p><p>  KEY1: MOV 20H, B ;鍵值送20H保存 </p><p>  EXIT: RET </p><p>  KEYCHULI: PUSH PSW ;保護現(xiàn)場 </p><p> 

58、 MOV P1 ,#0FFH ;先向P1口寫1 </p><p>  MOV A, P1 ;讀P1口數(shù)據(jù)</p><p>  CPL A ;P1口數(shù)據(jù)取反</p><p>  ANL A, #0FFH;</p><p&

59、gt;  MOV 20H , A </p><p>  POP PSW ;恢復(fù)現(xiàn)場</p><p>  RET ;子程序返回</p><p>  ;*****************************************************************

60、******</p><p><b>  ;常數(shù)表格區(qū)</b></p><p>  ;系統(tǒng)初始化后提示符“P.”字符代碼表</p><p>  DISBH:DB 10H,10H,10H,10H,10H,10H,10H,11H ;提示符“P.”字符序號</p><p>  ;顯示字符段選碼表(共陽極代碼)

61、</p><p>  TAB:DB 0C0H, 0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H ;0-8</p><p>  DB 90H, 88H,83H,0C6H,0A1H,86H,8EH,0FFH,0CH,0BFH ;9,A,B,C,D,E,F,滅,</p><p>  ;*******************************

62、****************************************</p><p><b>  ;中斷服務(wù)程序;</b></p><p>  PIT0: PUSH PSW ;現(xiàn)場保護</p><p>  PUSH ACC;</p><p>  MOV A,

63、 #40H;</p><p>  MOV TL0, #0DCH ;裝載計數(shù)初值</p><p>  MOV TH0, #0BH </p><p>  SETB PSW.3 ;選第1組通用寄存器</p><p>  MOV A, 30H ;循環(huán)次數(shù)減1&l

64、t;/p><p>  DEC A;</p><p>  MOV 30H, A;</p><p>  JNZ RET0 ;不滿20次,轉(zhuǎn)RET0返回</p><p>  MOV 30H, #14H ;滿20次,開始計時操作</p><p>  MOV

65、 R0, #71H ;秒十位顯示緩沖單元地址</p><p>  ACALL DADD1 ;秒加1</p><p>  MOV A, R2 ;加1后秒值在R2中</p><p>  XRL A, #60H ;判是否到60秒</p><p> 

66、 JNZ RET0 ;不到,轉(zhuǎn)RET0返回</p><p>  ACALL CLR0 ;到60秒,秒顯示緩沖單元清0</p><p>  MOV R0, #73H ;分十位顯示緩沖單元地址</p><p>  ACALL DADD1 ;分加1</p&g

67、t;<p>  MOV A, R2 ;加1后分值在R2中</p><p>  XRL A, #60H ;判是否到60分</p><p>  JNZ RET0 ;不到,轉(zhuǎn)RET0返回</p><p>  ACALL CLR0 ;到60分,分

68、顯示緩沖單元清0</p><p>  MOV R0, #75H ;時十位顯示緩沖單元地址</p><p>  ACALL DADD1 ;時加1</p><p>  MOV A, R2 ;加1后時值在R2中</p><p>  XRL A, #24H

69、 ;判是否到24小時</p><p>  JNZ RET0 ;不到,轉(zhuǎn)RET0返回</p><p>  ACALL CLR0; </p><p>  RET0: POP ACC ;現(xiàn)場恢復(fù)</p><p>  POP PSW;</p&

70、gt;<p><b>  RETI</b></p><p>  ;***********************************************************************</p><p><b>  ;子程序區(qū);</b></p><p>  ;數(shù)碼管顯示子程序DISP&l

71、t;/p><p>  7FH,7EH,7DH,7CH,7BH,7AH,79H,78H(LED7,LED6,LED5,LED4,LED3,LED2,LED1,LED0)</p><p>  DISP: PUSHDPH</p><p><b>  PUSHDPL</b></p><p><b>  PUSHAC

72、C</b></p><p><b>  PUSHPSW</b></p><p>  CLR RS1 ;改變當(dāng)前寄存器組為組1</p><p>  SETB RS0</p><p>  MOV R1, #78H ;顯示緩沖存儲單元首地址<

73、/p><p>  MOV R2, #0FEH ;從右至左顯示</p><p>  MOV R5, #08H ;循環(huán)次數(shù),即驅(qū)動數(shù)碼管的位數(shù)</p><p>  DISP1: MOV A, @R1</p><p>  MOVDPTR, #TAB</p>&l

74、t;p>  MOVC A, @A+DPTR</p><p>  MOVP0, A;送段控</p><p>  MOVP2, R2 ;送位控</p><p>  LCALLDL ;延時1毫秒</p><p>  MOVA, R2

75、 ;位控碼送A</p><p>  RLA;獲得新的位控碼</p><p>  MOV R2, A;保存新的位控碼</p><p>  INCR1;獲得新的顯示緩沖單元地址</p><p>  DJNZ R5, DISP1;循環(huán)沒有結(jié)束則繼續(xù)</p><p&

76、gt;  DISP2: POPPSW ;恢復(fù)當(dāng)前寄存器組的組號</p><p><b>  POPACC</b></p><p><b>  POPDPL</b></p><p><b>  POPDPH</b></p><p>

77、<b>  RET</b></p><p>  ;延時1ms子程序(晶振頻率12MHz)DL</p><p>  DL: MOVR7, #02H</p><p>  DL1:MOV R6, #0FFH</p><p>  DL2:DJNZ R6, DL2<

78、/p><p>  DJNZ R7, DL1</p><p><b>  RET;</b></p><p>  ;***********************************************************************</p><p>  ;更新緩沖區(qū)內(nèi)容子程序</

79、p><p>  GEXING:MOV 78H, 70H</p><p>  MOV 79H, 71H</p><p>  MOV 7BH, 72H</p><p>  MOV 7CH, 73H</p><p>  MOV 7E

80、H, 74H</p><p>  MOV 7FH, 75H</p><p><b>  RET </b></p><p>  ;***********************************************************************</p><p><

81、;b>  ;加一子程序</b></p><p>  DADD1: MOV A, @R0 ;十位數(shù)送A</p><p>  DEC R0</p><p>  SWAP A ;十位數(shù)占高4位</p><p>  ORL

82、 A, @R0 ;個位數(shù)占低4位</p><p>  ADD A, #01H ;加1</p><p>  DA A ;十進制調(diào)整</p><p>  MOV R2, A ;全值暫存R2中</p><p&g

83、t;  ANL A, #0FH ;屏蔽十位數(shù),取出個位數(shù)</p><p>  MOV @R0, A ;個位值送顯示緩沖單元</p><p>  MOV A, R2;</p><p>  INC R0;</p><p>  ANL

84、 A, #0F0H ;屏蔽個位數(shù),取出十位數(shù)</p><p>  SWAP A ;使十位數(shù)占低4位</p><p>  MOV @R0, A ;十位值送顯示緩沖單元</p><p>  RET ;子程序返回</p><

85、;p>  ;***********************************************************************</p><p>  CLR0: CLR A </p><p>  MOV @R0, A ;十位數(shù)緩沖單元清0</p><p><b>  DEC R0<

86、;/b></p><p>  MOV @R0, A ;個位數(shù)緩沖單元清0</p><p><b>  RET</b></p><p><b>  END</b></p><p>  4 設(shè)計結(jié)論、仿真結(jié)果、誤差分析、教學(xué)建議</p><p>  

87、4.1 設(shè)計課題的設(shè)計結(jié)論及使用說明</p><p>  本設(shè)計為基于單片機的電子鐘的設(shè)計。剛開始,我們很多地方理不清頭緒,無從下手,但通過認(rèn)真研究設(shè)計課題,找書上網(wǎng)查資料買元件,確定基本設(shè)計方案,對所用芯片功能進行查找、調(diào)試,然后畫電路圖制PCB板、打孔、溶銅、焊接等,真的經(jīng)歷了許多困難,卻積累了很多寶貴的經(jīng)驗,本設(shè)計用2個四位一體的共陽數(shù)碼管做為顯示器,它顯示時間值;設(shè)計中有三個按鍵,其中S1為啟動/選擇調(diào)

88、整位置,S2為加控制鍵 S3為減控制鍵,當(dāng)整點時間到時,蜂鳴器報警。這樣的結(jié)果與設(shè)計要求完全相符,本設(shè)計成功。完成了設(shè)計任務(wù)。</p><p>  4.2 設(shè)計課題的仿真結(jié)果</p><p>  在Proteus ISIS的Debug菜單中選擇Execute,運行程序,系統(tǒng)仿真結(jié)果如圖4.1與4.2所示。</p><p><b>  實現(xiàn)功能:</

89、b></p><p>  可調(diào)整運行的電子鐘具有三種工作狀態(tài):“P.”狀態(tài)、運行狀態(tài)、調(diào)整狀態(tài)。</p><p>  (1)、“P.”狀態(tài),依靠上電或按復(fù)位鍵進入,在此狀態(tài)下,按S2、S3鍵均無效,</p><p>  按S1鍵有效,進入運行狀態(tài);</p><p> ?。?)、運行狀態(tài),在此狀態(tài)下,按S2、S3鍵均無效,只有按S1鍵有效

90、,按下S1鍵后,退出運行狀態(tài),進入調(diào)整狀態(tài);</p><p> ?。?)、調(diào)整狀態(tài),按S1鍵進入時、分、秒的閃爍,在此狀態(tài)下,按S2(+1鍵)、</p><p>  S3(-1鍵)鍵均有效;調(diào)整結(jié)束后必須按S1鍵,即可退出調(diào)整狀態(tài),進入</p><p>  運行狀態(tài)。在調(diào)整狀態(tài)時長按S2、S3時可以連加及連減。</p><p>  時間顯示格

91、式為:時-分-秒; </p><p>  圖7 “P.”運行狀態(tài)仿真</p><p>  圖8 時鐘運行狀態(tài)仿真</p><p>  4.3 設(shè)計課題的誤差分析</p><p>  該電子鐘在運行中存在一定的誤差,誤差產(chǎn)生有三種可能,首先是采用的計時方案是軟件計時的,計時優(yōu)勢利用中斷來實現(xiàn)。而當(dāng)電子鐘運行時間1秒時,又得去執(zhí)行中斷程序,這

92、個過程是需要時間的,所以就產(chǎn)生了一定的誤差,當(dāng)然這個誤差是避免不了的,其次還有硬件系統(tǒng)也有一定的影響。第三,設(shè)計用到11.0592MHz的晶振,計算是滿20次為一秒鐘,但實際會慢很多。</p><p><b>  4.4 設(shè)計體會</b></p><p>  本次課程設(shè)計,讓我受益匪淺,認(rèn)識到了自己的許多缺點和不足,使我深深的感受到了理論聯(lián)系實際的必要性及其重要性。

93、在我們以往的學(xué)習(xí)過程中,我們刻意地去加強理論的基礎(chǔ),對于一個程序我們只求它在運行時沒有出錯,我們便以為我們的計劃成功了豈不知它能否在硬件結(jié)構(gòu)中得以實現(xiàn)則是另外一回事,這就要求我們的動手能力,如果無法使軟件與硬件實現(xiàn)有機的結(jié)合,那么再好的程序也只是一堆廢字符。</p><p><b>  4.5 教學(xué)建議</b></p><p>  經(jīng)過一個學(xué)期王韌老師教導(dǎo)的的單片機

94、學(xué)習(xí),我掌握了很多單片機學(xué)習(xí)的寶貴經(jīng)驗,尤其在編程的思路和PCB實物的制作上面。編程思路是整個程序的靈魂,沒有編程思路,程序就不會編出來,就失去了編程的意義。在開始編程之前,想好編程的思路,編程能力才會提高,編程的過程才會順暢,程序的質(zhì)量才會提高。</p><p>  在王韌老師的教學(xué)過程中,幽默輕松的教學(xué)方式常常讓課堂氣氛很活躍,幽默詼諧,授課內(nèi)容條理清晰,經(jīng)常運用各種實例,娓娓道來,給人印象深刻。王老師在課堂

95、上也十分注重和同學(xué)們的互動,經(jīng)常會用一些親身實踐的經(jīng)驗為例,讓同學(xué)們在基于事實的基礎(chǔ)上更好的理解相關(guān)理論,充分做到了理論與實際的結(jié)合,既形象生動,又豐富有趣。</p><p>  結(jié)合自己課堂的學(xué)習(xí)和單片機學(xué)習(xí)效果總結(jié)幾點教學(xué)建議希望老師接納:</p><p>  (1)、每一位學(xué)生都要發(fā)展,但不必求一樣的發(fā)展;每一位學(xué)生都要提高,但不必是同步的提高;每一位學(xué)生都要合格,但不必是相同的規(guī)格

96、;</p><p>  (2)、不能錯過學(xué)生的“過錯”;</p><p>  (3)、學(xué)生不會說的,您鼓勵他說;學(xué)生說不準(zhǔn)的,您引導(dǎo)他說。</p><p><b>  參考文獻</b></p><p>  [1] 李廣弟.單片機基礎(chǔ)[M],北京航空航天大學(xué)出版社,2006.7.</p><p> 

97、 Li Guangdi. Microcontroller based on [M], Beijing Aerospace University Press, 2006.7.</p><p><b>  致 謝</b></p><p>  通過不斷努力,終于完成了此次單片機的課程設(shè)計。在此,首先感謝王韌老師,正是他在萬忙之中還抽出寶貴的時間對我們進行精心的指導(dǎo),才使我

98、順利完成了此次單片機課程設(shè)計。同時也感謝各位同學(xué)和老師對我提供的幫助。使我在此次設(shè)計中學(xué)到了許多寶貴的知識和經(jīng)驗。在此,衷心地感謝你們!</p><p><b>  附 錄 A</b></p><p><b>  電路原理圖</b></p><p><b>  附 錄 B</b></p>

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論