版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p> 《單片機原理及接口技術(shù)》</p><p><b> 課程設(shè)計</b></p><p> 題 目:單片機電子時鐘的設(shè)計與實現(xiàn)</p><p> 設(shè)計人員: </p><p> 學 號: </p><p> 班
2、 級: </p><p> 指導老師: </p><p> 日 期: </p><p><b> 目 錄</b></p><p> 一、設(shè)計要求 …………………………………………2</p><p
3、> 二、設(shè)計方案和論證 …………………………………2</p><p> (一)總設(shè)計原理圖 ………………………………… 2</p><p> ?。ǘ┰O(shè)計方案的選擇 ………………………………2</p><p> 硬件部分 ………………………………………4</p><p> 軟件部分 ………………………………………8<
4、/p><p> 三、設(shè)計總結(jié)…………………………………………26</p><p> 四、參考文獻…………………………………………26</p><p><b> 一、設(shè)計要求</b></p><p> 1、準確計時,以數(shù)字形式顯示時、分、秒的時間。</p><p> 2、小時以24小時計時形式
5、,分秒計時為60進位。 </p><p> 3、校正時間功能,即能隨意設(shè)定走時時間。</p><p> 4、鬧鐘功能,一旦走時到該時間,能以聲或光的形式告警提示。</p><p> 5、設(shè)計5V直流電源,系統(tǒng)時鐘電路、復位電路。 </p><p><b> 二、設(shè)計方案和論證</b></p><
6、;p> 本次設(shè)計時鐘電路,使用了ATC89C51單片機芯片控制電路,單片機控制電路簡單且省去了很多復雜的線路,使得電路簡明易懂,使用鍵盤鍵上的按鍵來調(diào)整時鐘的時、分、秒,用一揚聲器來進行定時提醒,同時使用匯編語言程序來控制整個時鐘顯示,使得編程變得更容易,這樣通過四個模塊:鍵盤、芯片、揚聲器、LED顯示即可滿足設(shè)計要求。</p><p> ?。ㄒ唬?總設(shè)計原理框圖如下圖所示:</p><
7、;p> ?。ǘ┰O(shè)計方案的選擇</p><p><b> 1.計時方案</b></p><p> 方案1:采用實時時鐘芯片</p><p> 現(xiàn)在市場上有很多實時時鐘集成電路,如DS1287、DS12887、DS1302等。這些實時時鐘芯片具備年、月、日、時、分、秒計時功能和多點定時功能,計時數(shù)據(jù)的更新每秒自動進行一次,不需要程序干
8、預。因此,在工業(yè)實時測控系統(tǒng)中多采用這一類專用芯片來實現(xiàn)實時時鐘功能。</p><p> 方案2:使用單片機內(nèi)部的可編程定時器。</p><p> 利用單片機內(nèi)部的定時計數(shù)器進行中端定時,配合軟件延時實現(xiàn)時、分、秒的計時。該方案節(jié)省硬件成本,但程序設(shè)計較為復雜。</p><p><b> 2.顯示方案</b></p><
9、;p> 對于實時時鐘而言,顯示顯然是另一個重要的環(huán)節(jié)。通常LED顯示有兩種方式:動態(tài)顯示和靜態(tài)顯示。</p><p> 靜態(tài)顯示的優(yōu)點是程序簡單、顯示亮度有保證、單片機CPU的開銷小,節(jié)約CPU的工作時間。但占有I/O口線多,每一個LED都要占有一個I/O口,硬件開銷大,電路復雜。需要幾個LED就必須占有幾個并行口,比較適用于LED數(shù)量較少的場合。當然當LED數(shù)量較多的時候,可以使用單片機的串行口通過移
10、位寄存器的方式加以解決,但程序編寫比較麻煩。</p><p> LED動態(tài)顯示硬件連接簡單,但動態(tài)掃描的顯示方式需要占有CPU較多的時間,在單片機沒有太多實時測控任務的情況下可以采用。</p><p> 本系統(tǒng)需要采用6位LED數(shù)碼管來分別顯示時、分、秒,因數(shù)碼管個數(shù)較多,故本系統(tǒng)選擇動態(tài)顯示方式。</p><p><b> (三)硬件部分</
11、b></p><p> 1、STC89C51單片機介紹</p><p> STC89C51單片機是由深圳宏晶公司代理銷售的一款MCU,是由美國設(shè)計生產(chǎn)的一種低電壓、高性能CMOS 8位單片機,片內(nèi)含8kbytes的可反復寫的FlashROM和128bytes的RAM,2個16位定時計數(shù)器[5]。 </p><p> STC89C51單片機內(nèi)部主要包括累加
12、器ACC(有時也簡稱為A)、程序狀態(tài)字PSW、地址指示器DPTR、只讀存儲器ROM、隨機存取存儲器RAM、寄存器、并行I/O接口P0~P3、定時器/計數(shù)器、串行I/O接口以及定時控制邏輯電路等。這些部件通過內(nèi)部總線聯(lián)接起來,構(gòu)成一個完整的微型計算機。其管腳圖如圖所示。</p><p> STC89C51單片機管腳結(jié)構(gòu)圖</p><p><b> VCC:電源。</b&g
13、t;</p><p><b> GND:接地。</b></p><p> P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程 序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時,P0 口作為原碼輸入口,當FIASH進行校驗時,P0輸出原碼,此時P0外部必須被拉高。
14、</p><p> P1口:P1口是一個內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作 輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接收。 </p><p> P2口:P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL
15、門電流,當P2口被寫“1”時,其管腳被內(nèi)部上拉電阻 拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當用于外部程序存儲器或16位地址外部數(shù)據(jù)存 儲器進行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當對外部八位地址數(shù)據(jù)存儲器進行讀寫時,P2口輸出其特殊功能寄存器 的內(nèi)容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。</p>&l
16、t;p> P3口:P3口管腳是8個帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。</p><p> P3口也可作為AT89C51的一些特殊功能口,如下表所示:</p><p><b> 口管腳 備選功能</b>
17、</p><p> P3.0 RXD(串行輸入口)</p><p> P3.1 TXD(串行輸出口)</p><p> P3.2 /INT0(外部中斷0)</p><p> P3.3 /INT1(外部中斷1)</p><p> P3.4 T0(記時器0外部輸入)</p><p> P
18、3.5 T1(記時器1外部輸入)</p><p> P3.6 /WR(外部數(shù)據(jù)存儲器寫選通)</p><p> P3.7 /RD(外部數(shù)據(jù)存儲器讀選通)</p><p> P3口同時為閃爍編程和編程校驗接收一些控制信號。</p><p> RST:復位輸入。當振蕩器復位器件時,要保持RST腳兩個機器周期的高電平時間。</p>
19、;<p> ALE/PROG:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE 端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當用作外部數(shù)據(jù)存儲器 時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時, ALE只有在執(zhí)行MOVX,MOVC指令
20、是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。</p><p> PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/PSEN信號將不出現(xiàn)。</p><p> EA/VPP:當/EA保持低電平時,則在此期間外部程序存儲(0000H-FFFFH),不管是否有內(nèi)部
21、程序存儲器。注意加密方式1時, /EA將內(nèi)部鎖定為RESET;當/EA端保持高電平時,此間內(nèi)部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。</p><p> 2、上電按鈕復位電路</p><p> 本設(shè)計采用上電按鈕復位電路:首先經(jīng)過上電復位,當按下按鍵時,RST直接與VCC相連,為高電平形成復位,同時電解電容被電路放電;按鍵松開時,VCC對電容充電,充
22、電電流在電阻上,RST依然為高電平,仍然是復位,充電完成后,電容相當于開路,RST為低電平,單片機芯片正常工作。其中電阻R2決定了電容充電的時間,R2越大則充電時間長,復位信號從VCC回落到0V的時間也長。</p><p><b> 3、晶振電路</b></p><p> 本設(shè)計晶振電路采用12M的晶振。晶振的作用是給單片機正常工作提供穩(wěn)定的時鐘信號。單片機的晶振
23、并不是只能用12M,只要不超過20M就行,在準許的范圍內(nèi),晶振越大,單片機運行越快,還有用12M的就是好算時間,因為一個機器周期為1/12時鐘周期,所以這樣用12M的話,一個時鐘周期為12us,那么定時器計一次數(shù)就是1us了,電容范圍在20-40pF之間,這里連接的是30pF的電容。</p><p> 機器周期=10*晶振周期=12*系統(tǒng)時鐘周期</p><p><b> 4
24、.下載端口</b></p><p> 設(shè)計用到的STC89C52單片機芯片的ISP下載線是通過單片機的TXD,RXD引腳把程序燒進去的。管腳TXD和RXD用于異步串行通信。其實STC89C52單片機的ISP下載線就是一個max232芯片連接STC和計算機的串行通信口。計算機把程序從九針串口送到max232芯片,電平轉(zhuǎn)換后送進單片機的串行口,也就是TXD和RXD。然后單片機的串行模塊把數(shù)據(jù)送到程序區(qū)。
25、</p><p><b> 5、顯示電路 </b></p><p> 就時鐘而言,通??刹捎靡壕э@示或數(shù)碼管顯示。由于一般的段式液晶屏,需要專門的驅(qū)動電路,而且液晶顯示作為一種被動顯示,可視性相對較差;對于具有驅(qū)動電路和微處理器接口的液晶顯示模塊(字符或點陣),一般多采用并行接口,對微處理器的接口要求較高,占用資源多。另外,89C2051本身無專門的液晶驅(qū)動接口,
26、因此,本時鐘采用數(shù)碼管顯示方式。數(shù)碼管作為一種主動顯示器件,具有亮度高、價格便宜等優(yōu)點,而且市場上也有專門的時鐘顯示組合數(shù)碼管。</p><p> 對于實時時鐘而言,顯示顯然是另一個重要的環(huán)節(jié)。通常LED顯示有兩種方式:動態(tài)顯示和靜態(tài)顯示。</p><p> 靜態(tài)顯示的優(yōu)點是程序簡單、顯示亮度有保證、單片機CPU的開銷小,節(jié)約CPU的工作時間。但占有I/O口線多,每一個LED都要占有一
27、個I/O口,硬件開銷大,電路復雜。需要幾個LED就必須占有幾個并行口,比較適用于LED數(shù)量較少的場合。當然當LED數(shù)量較多的時候,可以使用單片機的串行口通過移位寄存器的方式加以解決,但程序編寫比較麻煩。</p><p> LED動態(tài)顯示硬件連接簡單,但動態(tài)掃描的顯示方式需要占有CPU較多的時間,在單片機沒有太多實時測控任務的情況下可以采用。</p><p> 本系統(tǒng)需要采用6位LED數(shù)
28、碼管來分別顯示時、分、秒,因數(shù)碼管個數(shù)較多,故本系統(tǒng)選擇動態(tài)顯示方式。</p><p><b> 時鐘顯示校正電路</b></p><p> 本設(shè)計利用按鍵開關(guān)來校正時鐘顯示的數(shù)字。當按鈕按下時,將在相應的端口輸入一個低電平,通過相應的程序來改變時鐘顯示。其中S1按鍵開關(guān)用來選擇要修改的數(shù)字;S2按鍵用來增加所選數(shù)字的數(shù)值;S3按鍵用來減少所選數(shù)字的數(shù)值。<
29、/p><p><b> 7、總電路原理圖</b></p><p><b> (五) 軟件部分</b></p><p> 根據(jù)上述電子時鐘的工作流程,軟件設(shè)計可分為以下幾個功能模塊:</p><p> (1)主程序模塊。主程序主要用于系統(tǒng)初始化:設(shè)置計時緩沖區(qū)的位置及初值,設(shè)置8155的工作方式、
30、定時器的工作方式和計數(shù)初值等參數(shù)。主程序流程如下圖所示。</p><p><b> 開始</b></p><p><b> 定義堆棧區(qū)</b></p><p> T0、數(shù)據(jù)緩沖區(qū)、標志位初始化</p><p><b> 調(diào)用鍵盤掃描程序</b></p>&
31、lt;p><b> 否</b></p><p> 是C/R鍵? </p><p><b> 是</b></p><p> 地址指針指向計時緩沖區(qū)</p><p><b> 調(diào)用時間設(shè)置程序</b></p><p><b&
32、gt; 主程序流程圖</b></p><p> (2)計時模塊。即定時器0中斷子程序,完成刷新計時緩沖區(qū)的功能。</p><p> 系統(tǒng)使用6MHz的晶振,假設(shè)定時器0工作在方式1,則定時器的最大定時時間為65.536ms,這個值遠遠小于1s。因此本系統(tǒng)采用定時器與軟件循環(huán)相結(jié)合的定時方法。設(shè)定時器0工作在方式1,每隔50ms溢出中斷一次,則循環(huán)中斷20次延時時間是1s,
33、上述過程重復60次為1分,分計時60次為1小時,小時計時24次則時間重新回到00:00:00。</p><p> 因定時器0工作在方式1,則50ms定時對應的定時器初值為:65536-50ms/2us=40536=9E58H,即TH0=9EH,TH0=58H。</p><p> 但應當指出:CPU從響應T0中斷到完成定時器初值重裝這段時間,定時器T0并不停止工作,而是繼續(xù)計數(shù)。因此,為
34、了確保T0能準確定時50ms,重裝的定時器初值必須加以修正,修正的定時器初值必須考慮到從原定時器初值中扣除計數(shù)器多計的脈沖個數(shù)。由于定時器計數(shù)脈沖的周期恰好和機器周期吻合,因此修正量等于CPU從響應中斷到重裝完TL0為止所用的機器周期數(shù)。CPU響應中斷通常要3~8個機器周期。經(jīng)過測試,定時器0重裝的計數(shù)初值設(shè)為9E5FH~9E67H,可以滿足精度要求。另外,MCS-51單片機只有二進制加法指令,而時間是按十進制遞增,因此用加法指令后必須
35、進行二-十進制轉(zhuǎn)換。</p><p> 計時模塊流程圖如下圖所示。</p><p><b> 保護現(xiàn)場</b></p><p><b> 重裝定時器初值</b></p><p><b> 循環(huán)次數(shù)減1</b></p><p><b>
36、 否</b></p><p><b> 滿20次?</b></p><p><b> 是</b></p><p><b> 秒單元加1</b></p><p><b> 否</b></p><p><b&g
37、t; 60s到?</b></p><p><b> 是</b></p><p> 秒單元清0,分單元加1</p><p><b> 否</b></p><p><b> 60分到?</b></p><p><b> 是&
38、lt;/b></p><p> 分單元清0,時單元加1</p><p><b> 否</b></p><p><b> 24小時到?</b></p><p><b> 是</b></p><p><b> 時單元清0</b
39、></p><p><b> 恢復現(xiàn)場</b></p><p><b> 返回</b></p><p><b> 計時模塊流程圖</b></p><p> (3)時間設(shè)置模塊。模塊由鍵盤輸入相應的數(shù)據(jù)來設(shè)置當前時間。程序通過調(diào)用一個鍵盤設(shè)置子程序通過鍵盤掃描將鍵入
40、的6位時間值送入顯示緩沖區(qū)。 </p><p> ?。?)顯示模塊。該模塊完成時分秒6位LED的動態(tài)顯示。因為顯示為6位,二計時是3個字節(jié)單元,為此,必須將3字節(jié)計時緩沖區(qū)中的時分秒壓縮BCD碼拆分為6字節(jié)BCD碼,并送入顯示緩沖區(qū)中。</p><p><b> 程序:</b></p><p&g
41、t; S_SET BIT P1.0</p><p> M_SET BIT P1.1</p><p> H_SET BIT P1.2</p><p> RESET BIT P1.3</p><p><b> ;</b></p><p> SECOND EQU 30H</p>
42、<p> MINUTE EQU 31H</p><p> HOUR EQU 32H</p><p> TCNT EQU 33H</p><p> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; </p><p><b> ORG 00H</b></
43、p><p> SJMP START </p><p><b> ORG 0BH</b></p><p> LJMP INT_T0</p><p><b> START:</b></p><p> MOV DPTR,#TABLE</p><p&g
44、t; MOV HOUR,#0</p><p> MOV MINUTE,#0</p><p> MOV SECOND ,#0</p><p> ;;;;;;;;;;;;;;; </p><p> MOV TCNT,#0</p><p> MOV TMOD,#01H</p><p&
45、gt; MOV TH0,#(65536-50000)/256</p><p> MOV TL0,#(65536-50000)MOD 256</p><p> MOV IE,#82H</p><p><b> SETB TR0</b></p><p> ;;;;判斷是否有按鍵按下,若有,是哪一個鍵按下
46、 ,</p><p><b> A1:</b></p><p> LCALL DISPLAY</p><p> ;MOV P1,0FFH</p><p> JNB S_SET,S1</p><p> JNB M_SET,S2</p><p> JNB H
47、_SET,S3</p><p> JNB RESET,START</p><p><b> SJMP A1</b></p><p><b> S1: </b></p><p> LCALL DELAY ;去抖動</p><p> JB S_SET,A1
48、</p><p> INC SECOND ;;秒加1</p><p> LCALL DISPLAY</p><p> MOV A,SECOND</p><p> CJNE A,#60,J0 ;判斷是否加到60s</p><p> MOV SECOND,#0</p><p>&
49、lt;b> LJMP K1</b></p><p><b> S2:</b></p><p> LCALL DELAY</p><p> JB M_SET,A1</p><p><b> K1:</b></p><p> INC MINUTE
50、 ;分鐘加1</p><p> MOV A,MINUTE</p><p> CJNE A,#60,J1 ;判斷是否加到60min</p><p> MOV MINUTE,#0</p><p><b> LJMP K2</b></p><p><b> S3:</b&g
51、t;</p><p> LCALL DELAY </p><p> JB H_SET,A1</p><p><b> K2:</b></p><p> INC HOUR ;小時值加1</p><p> MOV A,HOUR</p><p> CJNE
52、 A,#24,J2 ;判斷是否加到24h</p><p> MOV HOUR,#0</p><p> MOV MINUTE,#0</p><p> MOV SECOND,#0</p><p><b> LJMP A1</b></p><p> ;;;;;;;;;;;;;;;;;;;;;
53、;;;;;;;;;;;;;;;;;;;;;; </p><p><b> ;等待按鍵抬起</b></p><p> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</p><p><b> J0:</b></p><p> JB S_SET,A1&
54、lt;/p><p> LCALL DISPLAY</p><p><b> SJMP J0</b></p><p><b> J1:</b></p><p> JB M_SET,A1</p><p> LCALL DISPLAY</p><p>
55、<b> SJMP J1</b></p><p><b> J2:</b></p><p> JB H_SET,A1</p><p> LCALL DISPLAY</p><p><b> SJMP J2</b></p><p> ;;;;
56、;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; </p><p> ;定時器中斷服務程序,對秒、分鐘和小時的計數(shù)</p><p> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;INT_T0:</p><p> INT_T0: </p><p> MOV
57、TH0,(65536-50000)/256</p><p> MOV TL0,(65536-50000)MOD 256</p><p><b> INC TCNT</b></p><p> MOV A,TCNT</p><p> CJNE A,#20,RETURE ;計1秒</p><p&g
58、t; MOV TCNT,#0</p><p> INC SECOND</p><p> MOV A,SECOND</p><p> CJNE A,#60,RETURE</p><p> MOV SECOND,#0</p><p> INC MINUTE</p><p> MOV A
59、,MINUTE</p><p> CJNE A,#60,RETURE</p><p> MOV MINUTE,#0</p><p><b> INC HOUR</b></p><p> MOV A,HOUR</p><p> CJNE A,#24,RETURE</p>&l
60、t;p> MOV HOUR,#0</p><p> MOV MINUTE,#0</p><p> MOV SECOND,#0</p><p> MOV TCNT,#0</p><p><b> RETURE:</b></p><p><b> RETI </b
61、></p><p> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</p><p><b> ;顯示控制子程序</b></p><p> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</p><p
62、><b> DISPLAY:</b></p><p> MOV A,SECOND ;顯示秒</p><p><b> MOV B,#10</b></p><p><b> DIV AB</b></p><p><b> CLR P3.6</b
63、></p><p> MOVC A,@A+DPTR</p><p><b> MOV P0, A</b></p><p> LCALL DELAY</p><p><b> SETB P3.6</b></p><p><b> ;;;;;;;<
64、/b></p><p><b> MOV A,B</b></p><p><b> CLR P3.7</b></p><p> MOVC A,@A+DPTR</p><p> MOV P0 ,A </p><p> LCALL DELAY</p&g
65、t;<p><b> SETB P3.7</b></p><p> ;;;;;;;;;;;;;;;;;;;;;</p><p> CLR P3.5 ;;顯示分隔符</p><p> MOV P0,#40H</p><p> LCALL DELAY</p><p&g
66、t;<b> SETB P3.5</b></p><p> ;;;;;;;;;;;;;;;;;;;;; </p><p> MOV A,MINUTE ;;顯示分鐘</p><p> MOV B,#10 </p><p><b> DIV AB</b></p><p&
67、gt;<b> CLR P3.3</b></p><p> MOVC A,@A+DPTR</p><p><b> MOV P0 ,A</b></p><p> LCALL DELAY</p><p><b> SETB P3.3</b></p><
68、;p><b> ;;;;;;;</b></p><p><b> MOV A,B</b></p><p><b> CLR P3.4</b></p><p> MOVC A,@A+DPTR</p><p><b> MOV P0 ,A</b>
69、;</p><p> LCALL DELAY</p><p><b> SETB P3.4</b></p><p> ;;;;;;;;;;;;;;;;;;;;;</p><p> CLR P3.2 ;;;顯示分隔符</p><p> MOV P0,#40H</p&
70、gt;<p> LCALL DELAY</p><p><b> SETB P3.2</b></p><p> ;;;;;;;;;;;;;;;;;;;</p><p> MOV A,HOUR ;顯示小時</p><p><b> MOV B,#10</b><
71、/p><p><b> DIV AB</b></p><p><b> CLR P3.0</b></p><p> MOVC A,@A+DPTR</p><p><b> MOV P0 ,A</b></p><p> LCALL DELAY<
72、/p><p><b> SETB P3.0</b></p><p><b> ;;;;;;;</b></p><p><b> MOV A,B</b></p><p><b> CLR P3.1</b></p><p> MO
73、VC A,@A+DPTR</p><p><b> MOV P0 ,A</b></p><p> LCALL DELAY</p><p><b> SETB P3.1</b></p><p> ;;;;;;;;;;;;;;;;;;;;; </p><p> ;;;
74、;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</p><p><b> TABLE:</b></p><p> DB 3FH,06H,5BH,4FH,66H ;0 1 2 3 4 共陰型</p><p> DB 6DH,7DH,07H,7FH,6FH ;5 6 7
75、 8 9</p><p> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</p><p> DELAY: ;延時1+5(1+250* +2)us</p><p><b> MOV R6,#5</b></p><p> D1: MOV R7,
76、#250</p><p><b> DJNZ R7,$</b></p><p> DJNZ R6,D1</p><p><b> RET</b></p><p><b> END</b></p><p><b> 設(shè)計總結(jié)</b
77、></p><p> 做了兩周的課程設(shè)計,有很多的心得體會,有關(guān)于單片機的,也有關(guān)于模電數(shù)電等基礎(chǔ)科目的。</p><p> 因為單片機已經(jīng)很久沒復習,剛拿到題目,不知道從哪入手,后來通過對書本的回顧,加深了對單片機的記憶。有些知識會遷移和聯(lián)系模電數(shù)電。課堂教學考慮到大多數(shù)同學的需求,主要強調(diào)“基本”——基本知識、基本理論、基本方法、基本技能。而這次設(shè)計正是為我們提供了一個深入學
78、習、探索的機會,成為課堂教學的有益補充。我們正面臨就業(yè)問題,這次課設(shè)給了我們一個機會去試驗。</p><p> 單片機理論的學習是為課程的設(shè)計作準備的,但有時學習的理論也解決不了實踐中的問題。實踐中獲得的知識能讓我對單片機的知識有更好的認識和理解。雖然這次的課程設(shè)計我參考了一些文獻資料,沒有做到創(chuàng)新,但在對程序的讀寫過程中我明白了許多。這次課程設(shè)計的最大收獲是只有把理論用到實踐中我們才能真正掌握好所學知識。&l
79、t;/p><p><b> 四、參考文獻</b></p><p> [1] 謝自美.電子線路設(shè)計·實驗·測試[M].武漢:華中理工大學出版社,1992.</p><p> [2] 何立民.單片機應用系統(tǒng)設(shè)計[M].北京:北京航空航天大學出版社,1993.</p><p> [3] 樓然笛.單片機開
80、發(fā)[M].北京:人民郵電出版社,1994.[4] 付家才.單片機控制工程實踐技術(shù)[M].北京:化學工業(yè)出版社 2004.3.[5] 李光才.單片機課程設(shè)計實例指導[M].北京:北京航空航天大學出版社 2004.</p><p> [6] 朱定華.單片機原理及接口技術(shù)實驗[M].北京:北方交通大學出版社2002.11.</p><p> [7] 劉湘濤.江世明.單片機原理與應用[M]
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機課程設(shè)計--- 單片機電子時鐘設(shè)計
- 單片機課程設(shè)計--單片機電子時鐘的設(shè)計與實現(xiàn)
- 單片機課程設(shè)計---單片機電子時鐘的設(shè)計
- 單片機電子時鐘的設(shè)計 單片機課程設(shè)計
- 單片機課程設(shè)計-單片機課程設(shè)計---電子時鐘
- 單片機電子時鐘課程設(shè)計
- 單片機電子時鐘課程設(shè)計
- 單片機電子時鐘課程設(shè)計
- 單片機原理與應用課程設(shè)計---單片機電子時鐘的設(shè)計與實現(xiàn)
- 單片機電子時鐘課程設(shè)計
- 課程設(shè)計----單片機電子時鐘
- 單片機課程設(shè)計--單片機模擬電子時鐘設(shè)計
- 單片機課程設(shè)計--單片機模擬電子時鐘設(shè)計
- 電子時鐘單片機課程設(shè)計
- 單片機課程設(shè)計---電子時鐘
- 單片機課程設(shè)計——電子時鐘
- 單片機課程設(shè)計——電子時鐘
- 單片機課程設(shè)計--電子時鐘
- 單片機電子時鐘課程設(shè)計報告
- 單片機電子時鐘課程設(shè)計報告
評論
0/150
提交評論