版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p> 畢 業(yè) 論 文(設 計)</p><p> 論文(設計)題目:基于單片機的電鈴系統(tǒng)的設計與實現(xiàn) </p><p><b> 所屬系別 </b></p><p><b> 專業(yè)班級 </b></p><p> 姓 名 </p>
2、<p><b> 學 號 </b></p><p> 指導教師 </p><p> 撰寫日期 2012 年 5 月</p><p><b> 摘 要</b></p><p> 本文介紹了以AT89C51單片機為控制核心的自動打鈴器產品,AT89C51
3、是一種帶4K字節(jié)閃存可編程可擦除只讀存儲器的低電壓、高性能CMOS 8位微處理器,俗稱單片機。該電路具有時鐘功能,可通過產品上的設置鍵對要報警的時間點逐個的設置進去,打鈴器只要走到設置好的時間就能報警。利用單片機及定時器設計的時鐘,在每次加1的過程中,都與規(guī)定的時間作比較,如果相等就進行開關電鈴,不等則返回,24小時累加為一天,如果天數大于5天時,電鈴也不打鈴。要求按學生上下課響鈴次序,周六周日不打鈴,輸出效果由報警模塊與顯示模塊組成,
4、顯示模塊主要采用數碼管來顯示時間,讓人們可以看到自動打鈴器的時間是否與我們生活的時間一致,如果有誤差則可以通過按鍵對時間進行調整。該打鈴器是一種電路比較簡單,功能完善,而且比較實用的自動打鈴器。它不但適用于學校及企業(yè)工廠等場所。 </p><p> 關鍵詞:AT89C51,定時器,數碼管顯示 </p><p><b> Take to</b></p>
5、<p> This paper introduces the AT89C51 MCU as the control core of the automatic bell products, AT89C51 is a 4K flash programmable and erasable read only memory of the low voltage, high performance CMOS 8 bit micr
6、oprocessor, commonly known as the single chip microcomputer. The circuit has a clock function, through the product set key to alarm time point by setting in, ring a bell just walk to set up good time can alarm. Using sin
7、gle chip computer and a timer design of the clock, in each plus 1 of the </p><p> Key words: SCM, timer, digital display</p><p><b> 目 錄</b></p><p><b> 1 設計目的5
8、</b></p><p><b> 2 設計要求5</b></p><p> 3 總體設計方案5</p><p> 3.1 設計思路5</p><p> 3.2 關鍵芯片介紹5</p><p> 3.3 總體電路方框流程圖6</p><p>
9、 3.4 總程序流程圖7</p><p> 3.5 效時程序流程圖8</p><p> 3.6 效分及顯示流程圖9</p><p> 4 個部分電路設計10</p><p> 4.1 效時與定時電路11</p><p> 4.2 振蕩電路12</p><p> 5 整體
10、電路圖12</p><p> 6 設計程序清單13</p><p><b> 7 設計總結22</b></p><p><b> 8 參考文獻24</b></p><p><b> 致謝25</b></p><p><b>
11、 引 言</b></p><p><b> 1 設計目的</b></p><p> 根據設計要求做出一個電子打鈴器,熟悉單片機的程序,在其過程中培養(yǎng)學生的動手能力。</p><p><b> 2 設計要求</b></p><p> 要求按學生上下課鈴響鈴次序設計電子打鈴器,周
12、六周日不打鈴。</p><p><b> 1 總體設計方案</b></p><p><b> 1.1 設計思路</b></p><p> 利用單片機及定時器設計的一個時鐘,在每次加1的過程中,都與規(guī)定的時間作比較,如果相等就進行開關電鈴,不等則返回,24小時累加為一天,如果天數大于5天時,電鈴也不打鈴。</p&
13、gt;<p> 1.2 關鍵芯片介紹</p><p> AT89C51是一種帶4K字節(jié)閃存可編程可擦除只讀存儲器(FPEROM---Flash Programmable and Erasable read Only Memory)的低電壓、高性能CMOS 8位微處理器,俗稱單片機。AT89C51是一種帶2K字節(jié)閃存可編程可擦除只讀存儲器的單片機。單片機可擦除只讀存儲器可以反復查除1000次。該器
14、件采用ATMEL高密度非易失存儲器制造技術制造,與工業(yè)標準的MCS—51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器,AT89C2051是他的一種精簡版本。AT89C51單片機為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。外形及引腳排列如圖所示:</p><p> 圖1.2—1 AT89C51封裝及管腳排列</p>
15、<p> 1.3 總體電路設計方框圖</p><p> 圖1.3—2 總體電路系統(tǒng)框圖</p><p> 1.4 總程序流程圖</p><p> 圖1.4—3 總程序流程圖</p><p> 總程序流程圖的定時器首先設定一個時間,執(zhí)行程序時及進入記時程序。通過加以比較程序與設定的計時程序進行比較,如果不到計時時間執(zhí)行
16、中斷返回指令。在此時如果效時鍵啟動時可進行校時作用。而LED顯示器也通過8051控制程序實時傳來的數據進行顯示工作。LED也是動態(tài)的顯示方式。</p><p> 1.5 校時程序流程圖</p><p> 圖1.5—4 校時程序流程圖</p><p> 首先進入校時顯示模式,此時K1如果有按下,校時程序即可執(zhí)行。此時如果K2手工操作下被按下則計時加一,達到與想
17、要的結果一致即可停止K2的操作,如果計時結束在現(xiàn)在時間之前則可一直按下直到到達24小時一個循環(huán)時候,然后再次按下達到想要的計時結果。而24小時也是校時循環(huán)終點。此時指示燈也有所變化??梢宰鳛閳?zhí)行程序效果的參考。而校分流程圖也對整體軟件流程圖產生影響,最終達到時間的精確。小時和分鐘的實時顯示是定時的基礎。</p><p> 1.6 校分及顯示流程圖</p><p> 圖1.6—5 校分
18、及顯示流程圖</p><p> 首先進入進如入校時模式時看K1是否按下,如果按下則看K3是否按下,如果有則分鐘加一,此便起到修改分鐘的作用,如果分鐘修改到達60分鐘則分鐘全部清零,分鐘計時重新開始。如果K1鍵沒按下,則小時和分鐘數據進入顯示緩存器,然后進入顯示器顯示,此時看K1鍵是否還在斷開狀態(tài),如果沒有按下則時間還是顯示而不做變化,如果K1鍵按下則此時進入定時器工作狀態(tài),因此K1鍵是程序運行的關鍵所在,在K1
19、鍵進入工作狀態(tài)的同時修改小時和分鐘及定時器的工作程序才能進行。</p><p><b> 2 各部分電路設計</b></p><p> 2.1 校時與定時電路圖</p><p> 圖4.1—1 校時與定時電路圖</p><p> 按下K1(模式選擇鍵),將模式選擇為校時模式(模式指示燈黃燈亮),K2,K3,K4
20、分別為時鐘加一鍵,分鐘加一鍵,秒鐘加一鍵,K5無用。按下K1(模式選擇鍵),將模式選擇為定時模式(模式指示燈綠燈亮),K2為定時器組選擇(本裝置有24組定時器)鍵,K3,K4分別為定時器時鐘加一鍵和定時器分鐘加一鍵,K5為定時器狀態(tài)選擇鍵,每按K5一次,此組的定時器狀態(tài)改變一次,并將此組數據存入片內數據存儲器中按下K1(模式選擇鍵),將模式選擇為工作模式(模式指示燈紅燈亮),K2,K3,K4,K5無用。此模式為正常工作模式。</p
21、><p><b> 2.2 振蕩電路</b></p><p> 圖4.2—2 振蕩電路(為單片機提供時鐘信號)</p><p><b> 3 整體電路圖</b></p><p> 圖3—1 整體電路圖</p><p><b> 6 程序清單</b&g
22、t;</p><p> READ EQU 0</p><p> WRITE EQU 2</p><p> EWEN EQU 4</p><p> EWDS EQU 6</p><p> ADR46 EQU 21H</p><p> THIGH EQU 0F8H<
23、/p><p> TLOW EQU 5FH</p><p> TIMEN EQU 30</p><p> CS BIT P3.7 ;93C46 CS</p><p> CLK BIT P3.6</p><p> DI BIT P3.5</p><p> DO
24、 BIT P3.4</p><p> ORG 0000H</p><p> AJMP START</p><p> ORG 000BH ;TIMER0中斷起始地址</p><p> AJMP TIM0 ;跳至TIMER0中斷子程序</p>&
25、lt;p> START:MOV SP,#60H ;設置堆棧在60H</p><p> MOV 28H,#00 ;顯示寄存器初值為00</p><p> MOV R6,#12H ;?時?寄存器值為12H</p><p> MOV R5,#00H
26、 ;"分"寄存器值為00H</p><p> MOV R4,#00H ;"秒"寄存器值為00H</p><p> MOV TMOD,#01H ;設TIMER0為MODE1</p><p> MOV TH0,#THIGH ;計時中斷為40
27、00微秒</p><p> MOV TL0,#TLOW</p><p> MOV IE,#82 ;TIMER中斷使能</p><p> MOV R2,#250 ;中斷250次</p><p> SETB TR0 ;啟動TIMER
28、0</p><p><b> ;鍵值處理程序:</b></p><p> LOOP: SETB P0.5 ;工作模式</p><p><b> CLR P0.6</b></p><p><b> CLR P0.7</b></p&
29、gt;<p> JB P0.0,N1 ;K1(模式選擇鍵)按了?不是則跳至N1</p><p> ACALL DELAY ;消除抖動</p><p> JNB P0.0,$ ;K1(模式選擇鍵)放開了?</p><p> ACALL DELAY ;消除抖
30、動</p><p> AJMP SET ;轉到定時模式SET</p><p> N1: MOV 2FH,R6 ;將時鐘數據載入2FH中</p><p> MOV 2EH,R5 ;將分鐘數據載入2EH中</p><p> MOV ADR46,#00
31、 ;把93C46地址置0</p><p> SETB RS0 ;將工作寄存器組選擇1區(qū)</p><p> LOOP1:MOV A,#READ ;讀93C46</p><p> ACALL TO93c46</p><p> MOV A,R3 ;取出
32、定時器的狀態(tài)</p><p> ANL A,#01H</p><p> CJNE A,#01H,N2 ;定時器為關閉,則跳轉至N2</p><p> MOV A,R4 ;取出定時器分鐘數據</p><p> CJNE A,2FH,N2 ;定時器分鐘數據與時鐘分鐘不同則轉至N2<
33、;/p><p> MOV A,R5 ;取出定時器時鐘數據</p><p> CJNE A,2EH,N2 ;定時器時鐘數據與時鐘時鐘不同則轉至N2</p><p> SETB P2.1 ;定時器時間到,打鈴</p><p> MOV A,ADR46
34、 ;將93C46地址載入A中</p><p> N2: CJNE A,#1EH,N3 ;到定時器數據表表尾?沒到轉至N3</p><p> MOV ADR46,#00 ;到表尾,置93C46地址為表頭</p><p> AJMP LOOP1 ;轉至LOOP1</p><p&g
35、t; N3: INC ADR46 ;93C46地址加2</p><p> INC ADR46</p><p> AJMP LOOP1 ;轉至LOOP1</p><p> SET: CLR P0.5 ;校時模式</p><
36、;p> SETB p0.6</p><p><b> CLR P0.7</b></p><p> LOOPS:JB P0.0,N11 ;K1(模式選擇鍵)按了?不是則跳至N11</p><p> ACALL DELAY ;消除抖動</p><p>
37、; JNB P0.0,$ ;K1(模式選擇鍵)放開了?</p><p> ACALL DELAY ;消除抖動</p><p> AJMP SETTIME ;轉至SETTIME</p><p> N11: JB P0.1,N13 ;
38、K2(時鐘加1鍵)按了?不是則跳至N13</p><p> ACALL DELAY ;消除抖動</p><p> MOV A,R6 ;將時寄存器的值載入A</p><p> ADD A,#01H ;A內容加1</p><p> DA
39、 A ;做十進制調整</p><p> MOV R6,A ;將A的值存入時寄存器</p><p> CJNE A,#24H,N12 ;是否超過24時?不是則跳至N12</p><p> MOV R6,#00H ;是則清除時寄存器的值為0
40、0</p><p> N12: JNB P0.1,$ ;K2(時鐘加1鍵)放開了?</p><p> ACALL DELAY ;消除抖動</p><p> N13: JB P0.2,N15 ;K3(分鐘加1鍵)按了?不是則跳至N15</p>
41、<p> ACALL DELAY ;消除抖動</p><p> MOV A,R5 ;將分寄存器的值載入A</p><p> ADD A,#01 ;A內容加1</p><p> DA A ;做十進制調整&l
42、t;/p><p> MOV R5,A ;將A的值存入分寄存器</p><p> CJNE A,#60H,N14 ;是否超過60分?不是則跳至N14</p><p> MOV R5,#00H ;是則清除分寄存器的值為00</p><p> N14: JN
43、B P0.2,$ ;K3(分鐘加1鍵)放開了?</p><p> ACALL DELAY ;消除抖動</p><p> N15: JB P0.3,N17 ;K4(秒鐘加1鍵)按了?不是則跳至N17</p><p> ACALL DELAY
44、 ;消除抖動</p><p> MOV A,R4 ;將秒寄存器的值載入A</p><p> ADD A,#01 ;A內容加1</p><p> DA A ;做十進制調整</p><p> MOV R4,A
45、 ;將A的值存入秒寄存器</p><p> CJNE A,#60H,N16 ;是否超過60秒?不是則跳至N16</p><p> MOV R4,#00 ;是則清除分寄存器的值為00</p><p> N16: JNB P0.3,$ ;K4(秒鐘加1鍵)放開了?
46、</p><p> ACALL DELAY ;消除抖動</p><p> N17: AJMP LOOPS ;轉至LOOPS</p><p> SETTIME:CLR P0.5 ;定時模式</p><p><b> CLR P0.6&l
47、t;/b></p><p> SETB P0.7</p><p> MOV ADR46,#00H</p><p> MOV A,#READ ;讀93C46地址為ADR46中的數據</p><p> ACALL To93c46</p><p> LOOPB:ACALL DI
48、SP ;調用DISP</p><p> JB P0.0,N21 ;K1(模式選擇鍵)按了?不是則跳至N21</p><p> ACALL DELAY ;消除抖動</p><p> JNB P0.0,$ ;K1(模式選擇鍵)放開了?</p&
49、gt;<p> ACALL DELAY ;消除抖動</p><p> AJMP LOOP ;轉至LOOP</p><p> N21: JB P0.1,N22 ;K2(定時器組加1鍵)按了?不是則跳至N22</p><p> ACALL DELAY
50、 ;消除抖動</p><p> MOV A,ADR46 ;將地址載入A</p><p> CLR C ;清除進位位</p><p> RRC A ;A右移1位</p><p> ADD A,#01H
51、 ;地址加1</p><p> MOV R6,A ;將A存入R6</p><p> CLR C ;清除進位位</p><p> RLC A ;A左移1位</p><p> MOV ADR46,A
52、 ;將A中地址存入ADR46</p><p> MOV A,#READ ;讀93C46地址為ADR46中的數據</p><p> ACALL TO93c46</p><p> JNB P0.1,$ ;K2(定時器組加1鍵)放開了?</p><p> ACALL DELAY
53、 ;消除抖動</p><p> N22:JB P0.2,N24 ;K3(定時器分鐘加1鍵)按了?不是則跳至N24</p><p> ACALL DELAY ;消除抖動</p><p> MOV A,R4 ;將定時器分寄存器的值載入A</p><
54、p> ADD A,#01 ;A內容加1</p><p> DA A ;做十進制調整</p><p> MOV R4,A ;將A的值存入定時器分寄存器</p><p> CJNE A,#60H,N23 ;是否超過60分?不是則跳至N16&
55、lt;/p><p> MOV R4,#00H ;是則清除分寄存器的值為00</p><p> N23:JNB P0.2,$ ;K3(定時器分鐘加1鍵)放開了?</p><p> ACALL DELAY ;消除抖動</p><p> N24:JB P0.3,N26
56、 ;K4(定時器時鐘加1鍵)按了?不是則跳至N26</p><p> ACALL DELAY ;消除抖動</p><p> MOV A,R5 ;將定時器時寄存器的值載入A</p><p> ADD A,#01H ;A內容加1</p>
57、<p> DA A ;做十進制調整</p><p> MOV R5,A ;將A的值存入定時器時寄存器</p><p> CJNE A,#24H,N25 ;是否超過24時?不是則跳至N25</p><p> MOV R5,#00 ;是則清除分寄存器的值
58、為00</p><p> N25:JNB P0.3,$ ;K4(定時器時鐘加1鍵)放開了?</p><p> ACALL DELAY ;消除抖動</p><p> N26:JB P0.4,N27 ;K5(改變定時器狀態(tài)存儲鍵)按了?不是則跳至N27</p><p&g
59、t; ACALL DELAY ;消除抖動</p><p> INC R3 ;改變R3最低位的值 )</p><p> MOV A,#WRITE ;將A的值寫入93C46地址為ADR46中</p><p> ACALL TO93c46</p><p> JNB P
60、0.4,$ ;K5(改變定時器狀態(tài)存儲鍵)放開了?</p><p> ACALL DELAY ;消除抖動</p><p> N27:AJMP LOOPB ;轉至LOOPB</p><p> ;讀寫93C46程序:</p><p> TO93c46:SETB CS
61、 ;CS=1</p><p> SETB DI ;DI=1</p><p> SETB CLK ;CLK=1</p><p> ACALL DELAY</p><p> CLR CLK ;CLK=0</p><p
62、> ACALL DELAY</p><p> MOV DPTR,#JPTBL46</p><p> JMP @A+DPTR;</p><p> JPTBL46:AJMP SREAD ;讀</p><p> AJMP SWRITE ;寫</p><p&g
63、t; AJMP SEWEN ;寫使能</p><p> AJMP SEWDS ;寫禁止</p><p> SREAD:MOV A,ADR46 ;地址載入A</p><p> ADD A,#80H ;10XXXX讀指令</p><p>
64、ACALL SDT46 ;讀入地址</p><p> ACALL RDT46 ;讀定時器時鐘數據</p><p> MOV R5,A ;存入R5</p><p> ACALL RDT46 ;讀定時器分鐘數據</p><p> MOV
65、R4,A ;存入R4</p><p> INC ADR46 ;地址加1</p><p> MOV A,ADR46 ;地址載入A</p><p> ADD A,#80H ;10XXXX讀指令</p><p> ACALL SDT46
66、 ;讀入地址</p><p> ACALL RDT46 ;讀定時器狀態(tài)數據</p><p> ACALL RDT46</p><p> DEC ADR46</p><p> MOV R3,A ;存入R3</p><p> AJMP EX9346&l
67、t;/p><p> SWRITE:MOV A,ADR46 ;寫入地址載入A</p><p> ADD A,#40H ;01XXXX寫指令</p><p> ACALL SDT46 ; 載入地址</p><
68、;p> MOV A,R5 ;載入定時器時鐘數據</p><p> ACALL SDT46 ;寫入定時器時鐘數據</p><p> MOV A,R4 ;載入定時器分鐘數據</p><p> ACALL SD
69、T46 ;寫入定時器分鐘數據</p><p> INC ADR46 ;地址加1</p><p> MOV A,ADR46 ;寫入地址載入A</p><p> ADD A,#40H ;
70、01XXXX寫指令</p><p> ACALL SDT46 ;載入地址</p><p> MOV A,R3 ;載入定時器狀態(tài)數據</p><p> DEC ADR46 ;地址減1</p><p&
71、gt; ACALL ADR46 ;寫入定時器狀態(tài)數據</p><p> AJMP EX9346 ;轉至EX9346</p><p> SEWEN:MOV A,#30H ;0011XXXX寫使能指令</p><p
72、> ACALL SDT46</p><p> AJMP EX9346</p><p> SEWDS:CLR A ;0000XXXX寫禁止指令</p><p> ACALL SDT46</p><p> EX9346:CLR CS
73、 ;CS=0</p><p><b> RET</b></p><p> SDT46:MOV R2,#8 ;寫入8位數據</p><p> SD1: RLC A</p><p><b> MOV DI,C</b>
74、;</p><p> SETB CLK</p><p> ACALL DELAY</p><p><b> CLR CLK</b></p><p> ACALL DELAY</p><p> DJNZ R2,SD1</p><p><b&g
75、t; RET</b></p><p> RDT46:MOV R2,#8 ;讀出8位數據</p><p> RD1: SETB CLK</p><p> ACALL DELAY</p><p><b> CLR CLK</b&g
76、t;</p><p> ACALL DELAY</p><p><b> MOV C,DO</b></p><p><b> RLC A</b></p><p> DJNZ R2,RD1</p><p><b> RET</b></p&
77、gt;<p> DELAY:MOV R7,#0FH ;</p><p> DJNZ R7,$</p><p><b> RET</b></p><p> TIM0:MOV TH0,#THIGH ;重設計時4000微秒</p><p> M
78、OV TL0,#TLOW</p><p> PUSH ACC ;將A的值存入堆棧</p><p> PUSH PSW ;將PSW的值存入堆棧</p><p> CLR RS0 ;設置工作寄存器為0區(qū)</p><p> DJNZ R
79、2,X2 ;計時1秒</p><p> MOV R2,#250</p><p> ACALL CLOCK ;調用計時子程序CLOCK</p><p> ACALL DISP ;調用顯示子程序</p><p> X2:ACALL SCAN
80、 ;調用掃描子程序</p><p><b> POP PSW</b></p><p><b> POP ACC</b></p><p><b> RETI</b></p><p><b> ;顯示器驅動程序:</b><
81、/p><p> SCAN:MOV R0,#28H ;(28H)為掃描指針</p><p> INC @R0 ;掃描指針加1</p><p> CJNE @R0,#6,X3 ;掃描完6個顯示器?不是跳至X3</p><p> MOV @R0,#00
82、 ;是則掃描指針為0</p><p> X3:MOV A,@R0 ;掃描指針載入A</p><p> ADD A,#20 ;A加常數20H(顯示寄存器地址)=各時間顯示區(qū)地址</p><p> ;存入R1=各時間顯示地址</p><p> MOV R1,A
83、 ;掃描指針存入A</p><p> MOV A,@R0 ;將A高低4位交換 (P1高4位為掃描值,</p><p> SWAP A ;低4位為顯示數據值)</p><p> ORL A,@R1 ;掃描值+顯示值</p><
84、;p> MOV R1,A ;輸出至P1</p><p><b> RET</b></p><p><b> ;計時程序:</b></p><p> CLOCK:MOV A,R4 ;R4為秒寄存器</p><p> ADD A,#01
85、 ;加1</p><p> DA A ;做十進制調整</p><p> MOV R4,A ;存入秒 寄存器</p><p> CJNE A,#TIMEN,X4 ;是否超過打零連續(xù)時間?不是則跳至X4</p><p>
86、CLR P2.0 ;關鈴</p><p> X4:CJNE A,#60H,X5 ;是否超過60秒?不是則跳至X5</p><p> MOV R4,#00 ;是則清除為0</p><p> MOV A,R5 ;R5為分寄存器</p>&
87、lt;p> ADD A,#01 ;加1</p><p> DA A ;做十進制調整</p><p> MOV R5,A ;存入分寄存器</p><p> CJNE A,#60H,X5 ;是否超過60分?不是則跳至X5</p&
88、gt;<p> MOV R5,#00 ;是則清除為0</p><p> MOV A,R6 ;R6為時寄存器</p><p> ADD A,#01 ;加1</p><p> DA A ;做十進制調整</p>&l
89、t;p> MOV R6,A ;存入時寄存器</p><p> CJNE A,#60H,X5 ;是否超過24時?不是則跳至X5</p><p> MOV R6,#00 ;是則清除為0</p><p><b> X5:RET</b></p><p
90、><b> ;顯示程序:</b></p><p> DISP:MOV R1,#20 ;(20H)為顯示寄存器,R1=20H</p><p> MOV A,R6 ;將時寄存器的內容存入A</p><p> MOV B,#01H ;設B累加器的值為10H</
91、p><p> DIV AB ;A/B,商 (十位數)存入A,余數 (個位數)存入B</p><p> MOV @R1,B ;將B的內容存入 (20H)</p><p> INC R1 ;R1=21H</p><p> MOV @R1,A
92、 ;將A的內容存入 (21H)</p><p> INC R1 ;R1=22H</p><p> MOV A,R5 ;將分寄存器的內容存入A</p><p> MOV B,#01H ;設B累加器的值為10H</p><p> DIV AB
93、 ;A/B,商 (十位數)存入A,余數 (個位數)存入B</p><p> MOV @R1,B ;將B的內容存入 (22H)</p><p> INC R1 ;R1=23H</p><p> MOV @R1,A ;將A的內容存入 (23H)</p><
94、;p> INC R1 ;R1=24H</p><p> MOV A,R4 ;將秒寄存器的內容存入A</p><p> MOV B,#01H ;設B累加器的值為10H</p><p> DIV AB ;A/B,商 (十位數)存入A,余數 (個位數)
95、存入B</p><p> MOV @R1,B ;將B的內容存入 (24H)</p><p> INC R1 ;R1=25H</p><p> MOV @R1,A ;將A的內容存入 (25H)</p><p><b> RET</b>&l
96、t;/p><p><b> END</b></p><p> 硬件實物調測
97、</p><p><b> 4 設計總結</b></p><p> ?。?)程序書寫不熟練,很多指令都不明所以,通過查閱課本及圖書館館藏資料,并積極想學習好的同學請教,使我明白了很多,這隨我之后的設計和編程有了很大的幫助。在課程設計中有好多的器件都不是很熟悉,通過參閱這些資料對器件的功能和接線圖的描述,使我有了進一步的認識:更使我在電路圖的設計及繪制中有了充分發(fā)展自
98、己設計思想的空間而顯得得心應手。</p><p> ?。?)電路圖的設計使我們使我們的第一大難點,我和搭檔通過仔細閱讀并充分分析課程設計的要求,結合我們的所學一步一步的畫了又改,改了又畫,直到思路最終確定下來,才把電路圖畫了下來。</p><p><b> 參考文獻</b></p><p> [1] 李廣弟,單片機基礎【M】.北京:北京航空
99、航天大學出版社,2008</p><p> [2]張毅剛,單片機原理及接口技術【M】.哈爾濱:哈爾濱工業(yè)大學出版社,2010</p><p> [3]譚浩強,單片機課程設計【M】.北京:清華大學出版社,2009</p><p> [4]韓全立,趙德申,微控制技術及應用【M】.北京:機械工業(yè)出版社,2008</p><p> [5]楊恢
100、先 黃恢先,單片機原理及應用【M】.北京:人民郵電出版社,2009</p><p><b> 致 謝</b></p><p> 大學三年的學習生涯和美好時光即將結束,在這三年學生生涯過程中,我真的學會了很多、很多、、、、、、</p><p> 也使我慢慢的成長起來,懂得了很多很多、、、、、、</p><p> 在
101、此,我要衷心的感謝我的輔導員xx老師,何老師在這三年中教會了我如何做人。翟老師教會了我許多專業(yè)知識,并且他為我完成這篇論文提供了很大的幫助,使我得以順利完成這篇論文;還要感謝各位任課老師,他們用淵博的知識教會了我許多專業(yè)技能,也讓我知道了怎樣接觸社會,了解社會,進而能夠在社會上立住腳。同時也感謝那些幫助我的同學,謝謝你們的關心,使我的大學三年生活不再孤單。</p><p> 向我的老師同學們由衷的說一句:謝謝!
102、謝謝你們!</p><p><b> …</b></p><p><b> xx</b></p><p> 畢業(yè)設計(論文)任務書</p><p> 設計(論文)題目 基于單片機的電鈴系統(tǒng)的設計與實現(xiàn) </p><p> 學 院
103、 </p><p> 專 業(yè) 電子信息工程技術 </p><p> 班 級 09大專電子信息工程技術2班 </p><p> 學 號 </p><p> 姓 名 </p><p> 2011年 11 月 22 日&
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機電梯控制畢業(yè)論文
- 畢業(yè)論文--單片機電風扇控制系統(tǒng)
- 單片機電子時鐘畢業(yè)論文
- 單片機電子時鐘畢業(yè)論文
- 單片機電子時鐘畢業(yè)論文
- 單片機電子時鐘畢業(yè)論文
- 單片機電子時鐘畢業(yè)論文設計
- 單片機電子時鐘畢業(yè)論文設計
- 單片機電子時鐘畢業(yè)論文設計
- 畢業(yè)論文——應用單片機電子鬧鐘設計
- 單片機電子時鐘畢業(yè)論文 (2)
- 畢業(yè)論文范文——單片機電子秒表
- 單片機電子時鐘畢業(yè)論文設計
- 單片機電子時鐘畢業(yè)論文設計
- 單片機電子時鐘畢業(yè)論文設計
- 單片機電子時鐘畢業(yè)論文設計 (2)
- 單片機應用系統(tǒng)畢業(yè)論文
- 基于單片機電子密碼鎖設計畢業(yè)論文
- 畢業(yè)論文--基于單片機電子時鐘的設計
- 單片機畢業(yè)論文
評論
0/150
提交評論