



版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、湖南工程學院課程設計課程名稱微機原理與應用課題名稱單片機作息時間控制器湖南工程學院課 程 設 計 任 務 書課程名稱微機原理與應用課題單片機作息時間控制器專業班級自動化 0702 學生姓名羅 琦學號200701020216 指導老師王迎旭、李曉秀、林國漢審批任務書下達日期2010年6 月7 日任 務 完 成 日 期2010年6 月20 日設 計 內 容 與 設 計 要 求主要設計條件設計內容:本課題要求以單片機為核心,設計一個具有定時和計數功能的智能化作息時間控制器。該控制器要求有以下功能:1、按作息時間接通 / 斷開電鈴;2、課間接通 / 斷開播放音樂設備;3、時鐘顯示。設計要求:1)確定系
2、統設計方案;2)進行系統的硬件設計;3)完成必要的參數計算與元器件選擇;4)完成應用程序設計;*5)進行部分單元電路幾應用程序的調試;作息時間控制器常用于學校教學樓的時間控制,利用單片機內部定時器實現時間基準定時,并配合“啟動”、 “復位”等按鍵的操作完成鈴聲、音樂的開/ 停控制,顯示的內容要求有時、分、秒各兩位。說明書格式1. 課程設計任務書2. 目錄3. 系統總體方案選擇與說明4. 系統結構框圖與工作原理5. 各單元硬件設計說明及計算方法6. 軟件設計與說明(包括流程圖)7. 調試結果與必要的調試說明8. 使用說明9. 程序清單10 、總結11 、參考文獻附錄附錄 A 系統原理圖附錄 B
3、程序清單評分表進度安排設計時間兩周第一周:星期一講課,布置課題任務,借閱有關資料;星期二上午:講課及課題介紹;下午:分組進行總體方案討論,初步確定設計方案;星期三上午:方案論證與檢查;下午:分組進行總體設計,硬、軟件功能分配;星期四硬、軟件流程設計與計算;星期五小系統焊接與調試;第二周:星期一分單元調試調試;星期二寫說明書初稿;星期三檢查設計情況,修改說明書;星期四整理資料,準備答辯;星期五交設計資料,答辯。參考文獻參考文獻1張迎新 .單片微型計算機原理、應用及接口技術.國防工業出版社2房小翠 .單片機實用系統設計技術. 國防工業出版社3何立民 .單片機應用系統設計 .北航出版社4王迎旭 .單
4、片機原理及及應用 .機械工業出版社 .2004 年、目 錄第一章引 言7 1.1簡介及技術要求7 1.2計時方案7 1.3鍵盤/ 顯示方案7 第二章硬件設計8 2.1 電路原理圖82.2 系統工作流程9 2.3 系統使用說明10 第三章系統軟件設計10 3.1 軟件設計10 3.2 系統工作流程11 第四章程序模塊設計 . 15 4.1主程序模塊16 4.2定時中斷服務程序模塊18 4.3掃描顯示模塊22 4.4鍵掃描子程序23 4.5鍵值處理子程序27 4.6移位鍵處理程序模塊30 第五章調試及分析32第六章課程總結33 參考文獻34 附錄35 第 1 章引言因為單片機的種類多,而型號雜,也
5、是我們學習中的困難,所以就MCS 51 系列的產品來說,就是一個典型的學習方法。對于類似匯編的單片機編程過程,也是一個十分有趣的過程。為了更好的說明,我以上介紹先從應用電路切入, 同時介紹它們的使用方法, 以便能快速掌握它們的應用。1.1 簡介及技術要求校園作息時間控制系統主要用于學校,對一些以24 小時為周期的開關量進行自動控制。 如上下課打鈴及擴音設備的開與關、教學樓照明的定時開與關、學生宿舍燈及校園路燈的定時開關的控制。技術要求如下:(1) 定時準確,月誤差 =10% 。(2) 有顯示和校時功能。(3) 具備到時響鈴功能。1.2 計時方案采用軟件控制利用MCS-51 系列單片機內部的定時
6、 / 計數器進行中數年定時,配合軟件延時實現時、分、秒的計時。該方案節省硬件成本,且能夠使讀者在定時 / 計數器的使用、中數年及程序設計方面得到鍛煉與提高,因此本系統將采用軟件方法實現計時。1.3 鍵盤 / 顯示方案對于實時時鐘而言,顯示顯然是另一個重要的環節。如前所述,通常有兩種顯示方式:動態顯示和靜態顯示。直接利用 MC51 單片機的 P0 和 P2 口,LED 動態顯示。該方案硬件連接簡單, 但動態掃描的顯示方式需占用CPU 較多的時間,在單片機沒有太多實時測控任務的情況下可以采用。第 2 章硬件設計考慮到在停電時本機仍需正常走時,故單片機選用 COMS 低功耗產品如 MCS51 ,由于
7、 LED 顯示電路耗電量較大,可將其電源與單片機電源分開,從而使得在停電時蓄電池僅對單片機供電,而不對顯示電路供電,延長電池的供電時間。選用典型的并口掃描顯示輸出。用 MCS51的 P0 口和 P2 口作為段碼和位碼輸出口,并由2 片ULN2003作為每個端口的反相驅動。利用 P1 口的低六位作為 6 個功能鍵的鍵盤線, P3 口部分口作為冬季或夏季作息時間的選擇線、臨時報時處理設置線和打鈴輸出控制(輸出部分加光電隔離)。2.1 電路原理框圖報時鐘電路的核心是MCS51 單片機, 其內部帶有 4KB 的程序 ROM ,無須外擴程序存儲器。電腦時鐘沒有大量的運算和暫存數據,現有的128B 片內
8、RAM 已能滿足要求,也不必外擴片RAM 。系統配備 5 位LED 顯示和 6*1 鍵盤,用 P1 口作為鍵盤接口電路, P2 口作為 5 位LED 顯示的位選通口, P0 口則作為字形碼輸出口。 采用共陰極 LED數碼管,P0 口、P2 口和數碼管之間串接了反相驅動芯片ULN2003 ,因此 P2 口輸出高電平選中相應的位, 而 P0 口輸出低電平點亮相應的段。P3。2 接用戶自設定報時 / 作息時間報時的選擇開關,開關閉合(P3。2 為低電平)時,僅對用戶自設定的時間點進行報時;開關斷開時,則進行固定的作息時間表報時。P3。3 端口接夏令 / 冬令作息時間表, P3。3=1 時選擇擇冬令作
9、息時間表。P3。4 端口外接光電隔離器,驅動擴音機電源的控制開關,低電平有效。圖 2.1 單片機原理框圖2.2 系統工作流程本單片機報時控制系統具備以下功能:時鐘顯示。 5 位 LED 從左到右依次顯示時、分,采用24H 計時。鍵盤部分顯示部分單片機控制部分響鈴及擴音部分圖 2.2 時間顯示圖(4) 鍵盤功能。采用 4 個獨立按鍵,包括:移位鍵、加1 鍵、減 1鍵、校時置入鍵。(5) 移位鍵:(P1。0=0 )每按動移位鍵一次,小數點從左向右移動 1 位。(6) 加 1 鍵: (P1。1=0 )對小數點所在位的數什進行十進制加1。(7) 減 1 鍵: (P1。2=0 )對小數點所在位的數值進行
10、十進制減1。(8) 校時置入鍵:(P1。3=0 )將顯示的時間值置入實時時鐘的計時緩沖區。圖 2.3 鍵盤功能(9) 揚聲器驅動電路:圖 2.4 揚聲器驅動電路2.3 系統的使用說明(1) 時間顯示。通電后,系統自動進入時鐘顯示,從00:00 :00 :開始計時,此時可以設定當前時間。(2) 時間校對。按下“移位”鍵,小數點從左向右移動,每按動1次,小數點便移動1 位;要修改設置哪一位,只需將小數點移到該位,便可用“加 1 鍵”或“減 1 鍵”對該位進行數字設定;時間的校對設定一共有5 位, 從左到右依次為星期、 小時十位、小時個位、他的十位、分的個位。設置正確后“校時置入鍵”,時間校正便設置
11、完成,報時鐘開始按新設置的時間值開始走時和顯示。(3) 用戶報時時間設置 / 顯示。用戶可以自行設定10 組報時時間點,這時 LED顯示的最高位定義為組編號其他位定義不變;按下“報時設定鍵” ,系統根據“組編號”將用記設定的報時時間點(小時和分)存入內部RAM 相應存儲單元中,用戶如需修改和檢查這些報時時間。如需修改,可用“移位鍵”、 “加1 鍵”,“減 1 鍵”來重新設定,然后用“報時設定鍵”來轉入并結束顯示。(4) 報時輸出的驅動過程。在報時處理程序上中,一旦當前時間與作息時間表中的某一時間點(時、分值)相同時,則建立F0報時標志,建立 F1 放音標志,擴音機播放報時音樂, 并在 26H中
12、設置放音時間, 放音時間到, 則關閉驅動及清除F1 標志位,完成 1 次報時驅動 . 第 3 章軟件設計3.1 系統資源分配(1)為方便閱讀程序,先對系統的資源分配加以說明。1)定時器。 定時器 0 用作時鐘定時,按方式 1 工作, 每隔 100MS溢出中斷 1 次。2)片內 RAM 及標志位的分配與定義見表1 表 1: 地址功能名稱初始化值2FH2BH 顯示緩沖區,星期、小時、分(高位在前)DISP0DISP4 00H 24H20H 計時緩沖區,星期、時、分、秒、100ms WEEK,HOUR,MIN,SEC,MSEC 00H 40H53H 用戶報時時間值寄存區(時、分)AHOUR 、AMI
13、N 00H 61H7FH 堆棧區00H F0H 報時開始標志位F0H 0 F1H 放音開始標志位F1H 0 F3H 分鐘值變更標志位F3H 0 F4H 鍵處理標志位F4H 0 25H 擴音機預熱時間25H 00H 26H 播放報時音樂時間26H 00H (2)軟件流程。 根據上述工作流程, 軟件設計可分為以下幾個功能模塊:1)主程序:初始化與鍵盤監控。2)計時:為定時器0 中斷服務子程序,完成刷新計時緩沖區的功能。3)時間設置與報時設置:由鍵盤輸入設置當前時間與定時啟閉時間。4)顯示:完成 5 位 LED 動態顯示。5)鍵盤掃描:判斷是否有鍵按下,并求取鍵號。開始I/O 端口初始化設置棧指針軟
14、件陷阱處理RAM 區清零定時器、 中斷初始化報時處理子程序調用鍵掃描子程序鍵掃描處理子程序調用顯示子程序如有鍵則進行鍵處理判斷是否有 F3 標志返回主程序入口6)定時比較:判斷報時時間到否,如時間到,則啟動報時處理程序。7)其他輔助功能程序,如鍵盤設置、拆字、合字、冬季或夏季時間表選擇及假日停止報時等。第 4 章程序模塊設計程序的模塊設計非常重要,有很多功能的程序,列表如表2 表 2 :主程序程序的主體,調用其他子程序定時中斷服務程序進行秒,分,時的累計計數,到時間到時,驅動蜂鳴器及繼電器顯示模塊P0 口作為段碼,P2 口作為位碼輸出,控制數碼管。鍵掃描子程序檢測 P1 口,判斷是否有鍵按下,
15、如有鍵按下,進進行延時去抖動并讀取鍵值,存入 A 中鍵值處理子程序判斷 A 中的值,根據 A 來選擇調用哪個子程序4.1 主程序模塊( MAIN )在主程序模塊中,先對各端口進行初始化,對內部 RAM 區清零,設置堆棧和定時器初值,關閉顯示器,啟動定時及其中斷。然后檢測時鐘分值變更標志位F3 是否建立 ,如果已建立 ,則進行報時處理 ,否則再檢測有無按鍵按下 ,若有則進行按鍵處理 ,無則返回循環點。ORG 0000H START : AJMP MAIN ;跳轉入主程序 0030H ORG 000BH AJMP CTCINT ;跳轉到定時器 T0 的中斷服務程序入口ORG 0030H MAIN
16、: NOP ;主程序入口地址 :0030H NOP NOP MOV A ,#OFFH ;關閉各輸出口MOV P0,A ;P0 口為字形口 ,低電平有效MOV P1,A ;P1 口作為 6 個鍵輸入口MOV P2,A ;P2 口是字位口 ,低電平有效MOV P3,A ;P3 口報時方式控制和驅動輸出口SETB T0 ;關閉報時音樂輸出 (T0=1) SETB T1 ;關閉報時擴音機電源 (T1=1) CJNE SP,#07H ,NOT1 MOV R0 ,#7FH MOV R1,#7DH ;否則 RAM 清零初始化CLR A LOOP0 : MOV R0,A DEC R0 DJNZ R1, LOO
17、P0 ;從內部 RAM 區 03H 到 7FH均清零NOT1 :MOV SP,#60H ;設置棧指針MOV IP,#02H; 設置定時器 T0 為最高中斷優先級MOV IE ,#82H; 定時器 T0 開中斷MOV TMOD ,#01H; 設置定時器 T0 為方式 1 MOV TL0 ,#0B0H; 設置定時器 T0 初值MOV TH0 ,#3CH SETB TR0; 啟動定時NOP NEXTT : NOP MOV SP,#60H ;重置堆棧底位置LCALL DISP ;調用顯示子程序NOP ;檢測標志是否出現 ,F3 為定時分鐘值變化的標志位JNB 0F3H ,NEXT1 ;F3=0, 則轉
18、鍵掃描 ,判斷有無鍵按下NOP ;F3=1, 調用報時處理子程序SETB INT0 JNB INT0 ,USERS; 如 INTO=0, 則調用用戶自設定報時點LCALL TIMERA;INTO=1,調用 TIMERA, 按作息時間表報時USERS : NOP LCALL TIMERB;TIMERB為用戶自設定報時點報時NOP NEXT1 :LCALL CHECKEY; 調用按鍵掃描子程序 ,判斷有無鍵按下JZ NEXTT; 無鍵按下 ,返回重新掃描NOP LCALL KEYACC; 有鍵按下 ,調用按鍵處理子程序NOP SJMP NEXTT NOP NOP 4.2定時中斷服務程序模塊該多好模
19、塊完成下述工作:對100毫秒(20H ) 、秒( 21H ) 、分( 22H ) 、小時( 23H )進行累計計數,如果分值有計數變化并且無鍵按下,則將小時和分鐘送顯示緩沖區更新顯示目錄;如有報是處理標志, 則對報時擴音機電源和報時音樂輸出分別進行定時控制。CTCINT :NOP;T0 的中斷服務子程序MOV TL0 ,#0B4H; 設置定時器 T0 初值MOV TH0 ,#3CH PUSH ACC; 保護主程序現場數據PUSH PSW NOP SETB RS0; 選擇新的工作寄存器區 (1 區) CLR RS1;SELECT 1 AREA INC 20H;0.1S單元加 1 MOV A,20
20、H JB OF4H , LCA;(F4H) 為鍵處理標志位 ,在鍵處理過程中不顯示秒點CJNE A,#05H ,CTNUC CTNUC : JC LC2; 小于 0.4S 則秒點閃亮 ,大于 0.4S 則秒點熄滅CLR 6CH SJMP LCA LC2 : SETB 6CH LCA: CJNE A,#0EH ,RTNH; 未計滿 1S 則退出中斷MOV 20H ,#00H; 毫秒計數單元清零JNB 0F0H,NEXTE;F0H=1為報時擴音機預熱延時標志位MOV A,25H;(25H) 中存放報時擴音機預熱延時時間值JNZ NEXTF CLR OFOH CLR OFOH SETB OF1H M
21、OV 26H ,#1OH ;(26H) 中存放報時放音的延時時間值CLR TO NEXTE : JNB OF1H ,NEXTF ;(F1H=1) 為報時放音的延時標志位MOV A,26H DEC A MOV 26H ,A JNZ NEXTF ;判斷報時放音延時是否結束CLR OF1H ;延時時間到 ,清除報時放音標志位 ,關閉報時電源SETB T1 SETB T2 SETB TO SETB TO NOP NEXTF : NOP MOV A,21H ;對秒計數單元 (21H) 進行累計計數ADD A,#01H DA A MOV 21H ,A CJNE A,#06H ,RTNH ;判斷分計數是否計
22、滿CLR A MOV 21H ,A SETB 0F3H ;(F3H) 為分值有變更標志位NEXT :MOV A,22H ;對分(22H) 進行累計計數ADD A,#01H ;DA A MOV 22H ,A CJNE A,#60H ,RTDN MOV 22H ,#00H MOV A,23H ADD A,#01H ;時單元加 1 DA A MOV 23H ,A ;對時(23H) 進行累計計數CJNE A ,#24H ,TRND MOV 23H ,#00H MOV A,24H ADD A,#01H ;星期計數單元 (24H) 加 1 DA A MOV 24H ,A CJNE A,#07H ,RTDN
23、 MOV 24H ,#00H RTDN :NOP JNB OF3H ,RTDH ;確認(F3=0) 分值無變更 ,則返回JB OF4H ,RTNH ;確認(F4=0) 正在鍵處理 ,則返回LDDA :NOP ;將當前的時間值顯示緩沖區NOP MOV R0 , #24H ;(24H 、 23H 、22H 、 )送(2FH2BH )MOV R1,#2FH MOV R2,#02H MOV A,R0 ANL A,#0FH MOV R1,A DEC R0 DEC R1 LD1 : MOV A,R0 ;將 1 字節壓縮的BCD 碼拆成兩個字節 ,數數值存放在低字節內ANL A,#OF0H SWAP A M
24、OV R1,A DEC R1 MOV A ,R0 ANL A ,#0FH MOV R1,A DEC R0 DEC R1 DJNZ R2,LD1 NOP RTNH :NOP ;中斷返回 ,并恢復現場數據NOP POP PSW POP ACC RETI 4.3 掃描顯示模塊該模塊為 5 位 LED 掃描顯示模塊。 P0 口為字形碼輸出口,低電平有效;P2 口為字位碼輸出口,高電平有。顯示緩沖區為 2FH2BH等 5 個字節,2FH 存放顯示的星期數, 2EH 、2DH 存放顯示的小時數,2CH 、 2BH 存放顯示的分鐘數,其數值范圍在 00H0FH內時不顯示該位的小數點,在10H1FH時則顯示小
25、數點。DISP :NOP ;DISP 為顯示子程序NOP MOV A,#00H ;關閉顯示MOV P2,A ;P2 口為字位碼輸出口MOV A,#0FFH MOV P0,A ;P0 口為字形碼輸出口NOP NOP MOV R0 ,#2FH ;顯示子程序NOP MOV R1 ,#10H ;位控制字LOOP1 : MOV A ,R1 NOP MOV P2,A ;輸出位控制字MOV P2,A MOV DPTR ,#TABLE MOV A,R0 ;取顯示緩沖區中的顯示字符數MOVC A, A+DPTR ;查表轉換成字型代碼CPL A MOV P0,A ;輸出字形碼MOV R2 ,#00H LOOP2
26、: DJNZ R2,LOOP2 ;延時 2MS DEC R0 ;顯示下一個字符MOV A,R1 CLR C RRC A MOV R1 ,A JNZ LOOP1 ;判斷 5 位掃描顯示一遍是否完成RET NOP NOP TABLE :DB 7FH ,6FH ,77H ,7CH ,39H ,5EH ,79H ,71H DB 0BFH ,86H ,0DBH ,0CFH ,0E6H ,0EDH ,0FDH ,87H ;帶小數點時的字符顯示字形表DB 0FFH ,0EFH 、0F7H ,0FCH ,0B9H ,0F9H ,0F1H NOP 4.4 鍵掃描子程序檢測 P1 口,判斷是否有鍵按下,如有鍵按下
27、,進進行延時去抖動并讀取鍵值,存入A 中。CHECKEYA :NOP ;鍵掃描子程序NOP NOP MOV P1,#0FFH MOV A,P1 ;判斷是否有鍵按下CPL A ANL A,#3FH JZ RETX LCALL DISP ;延時去抖動LCALL DISP MOV A,P1 CPL A ANL A,#3FH JZ RETX MOV R6,A ;當前值存放在 R6 中K1 :LCALL DISP ;等待釋放按鍵MOV A,P1 CPL A ANL A,#3FH JNZ K1 MOV A,R6 NOP NOP RETX :RET NOP i.用戶自設定報時時間點置入鍵程序模塊。將顯示緩沖
28、區2FH2BH中的內容壓縮后存入40H 為首地址的片內RAM 中,其中 2FH 為定時時間點的編號, 2EH 、2DH 為小時值, 2CH 、2BH 為分鐘數值。USESET :NOP MOV R0 ,#2FH MOV R1 ,#40H ;本次用戶設定報時點首址為 40H MOV A,R0 ANL A,#OFH RL A ADD A,R1 ;報時點編號乘2 加首址 ,為本次存放的實際地址MOV R1 ,A DEC R0 NOP ;定時設定時間置入子程序NOP MOV R2 ,#02H LDD : MOV A,R0 ; ANL A,#0FH SWAP A MOV R7 ,A DEC R0 MOV
29、 A,R0 ANL A,#0FH ADD A,R7 MOV R1,A DEC R0 INC R1 DJNZ R2 ,LDD NOP CLR 0F4H NOP RET NOP ii.減 1 鍵處理。在小數點點亮的對應位上進行十進制減1 處理。SUBONE : NOP NOP JNB 7CH ,SCH74 MOV R0 ,#2FH SJMP SUB1 SCH74 : NOP JNB 74H ,SCH6C MOV R0 ,#2EH SJMP SUB1 SCH6C :NOP JNB 6CH ,SCH64 MOV R0 ,#2DH SJMP SUB1 SCH5C : NOP JNB 64H ,SCH5C
30、 MOV RO ,#2CH SJMP SUB1 SCH5C : NOP JNB 5CH ,ERR1 MOV R0 ,#2BH SJMP SUB1 NOP NOP ERR1 :RET NOP SUB1 :NOP MOV A,R0 ADD A ,#99H DA A XCHD A ,R0 RET iii.用戶自設定報時時間點顯示鍵處理模塊。由(2FH )指定的用戶自設定報時點編號, 計算其在 RAM 中存放的地址, 再根據此地址找出該報時時間點的2 個字節碼,將其 4 個半字節分別存入2EH2BH單元低半字中。DSPUSE :NOP MOV R0 , #2FH ;自設定報時點編號由 (2FH)指定M
31、OV R1 ,#40H ;用戶設定報時點首址為40H MOV A,R0 ANL A,#0FH RL A ADD A,R1 ;報時點編號乘 2 加首址 ,為其存放的實際地址MOV R1 ,A DEC R0 NOP ;取定時設定時間并置入顯示緩沖區NOP MOV R2 ,#02H LDR : MOV A, R1 ;將小時和分鐘值解壓縮后裝入相應顯示單元中SWAP A XCHD A,R0 DEC R0 INC R1 DJNZ R2,LDR NOP CLR 0F4H NOP RET NOP 4.5 鍵值處理子程序KEYACC : NOP ;鍵值處理子程序NOP ;按鍵處理子程序JB ACC 0,SHI
32、FTP ;是移位功能鍵轉SHIFTP JB ACC 1,ADDONE ;是加 1 鍵,轉ADDONE JB ACC 2,SUBONE ;是減 1 鍵,轉SUBONE JB ACC 3, TIMSET ;是時鐘校對鍵轉TIMSET JB ACC ,USESET ;設置用戶定時時間點JB ACC 5,DSPUSE ;顯示用戶定時時間點NOP NOP NOP RET NOP iv. 加 1 鍵處理程序。在小數點點亮的對應位上進行十進制加1 處理。ADDONE :NOP NOP JNB 7CH ,SECH74 MOV R0 ,#2FH SJMP ADD1 SECH74 :NOP JNB 74H ,SE
33、CH6C MOV R0 ,#2EH SJMP ADD1 SECH64C :NOP JNP 6CH ,SECH64 MOV R0 ,#2BH SJMP ADD1 NOP NOP ERR2 :RET NOP ADD1 :NOP MOV A ,R0 ADD A ,#01H DA A XCHD A ,R0 RET v.校時時間置入程序模塊。 將設定的時間值置入相應的時間計數單元,并以該時間為起點開始計時。TIMSET :NOP ;校時時間置入程序段NOP MOV R0 ,#2FH MOV R1 ,#24H MOV R2 ,#02H MOV A,R0 ANL A,#0FH MOV R1,A DEC R0
34、 DEC R1 LD1 : MOV A, R0 ANL A,#0FH SWAP A MOV R7 ,A DEC R0 MOV A,R0 ANL A,0FH ADD A,R7 MOV R1,A DEC R0 DEC R1 DJNZ R2,LD1 MOV 21H ,#00H CLR 0F4H RET NOP NOP 4.6 移位鍵處理程序模塊將小數點從左向右依次移動1 位。 小數點移動哪一位,那一位便可用加1 或減 1 鍵進行修改數值。 小數點如移到最右邊 1 位,若再按 1 次移位鍵,小數點自動返回到最左邊一位上。SHIFTP :NOP JB 0F4H ,NXT ERR :SETB 0F4H S
35、ETB 5CH CLR 6CH NXT : NOP JNB 7CH ,CHK74 CLR 7CH SETB 74H RET CHK74 : NOP JNB 74H ,CHK6C CLR 74H SETB 74H SETB 6CH RET CHK6C : NOP JNB 6CH ,CHK64 CLR 6CH SETB 64H RET CHK64 : NOP JNB 64H ,CHK64 CLR 6CH SETB 5CH RET CHK5C : NOP JNB 5CH ,ERR CLR 5CH SETB 7CH RET 冬季和夏季的處息時間表區TABLE2 :DB 06H ,00H ,06H ,2
36、0H ,60H ,40H ,07H ,10H ,07H ,15H; 冬令DB 07H ,20H ,07H ,50H ,07H ,58H ,08H ,00H ,08H ,45H DB 08H ,53H ,08H ,55H ,09H ,40H ,09H ,55H ,09H ,58H DB 10H ,00H ,10H ,45H ,10H ,53H ,10H ,55H ,11H ,40H DB 13H ,00H ,13H ,13H ,13H ,15H ,14H ,00H ,14H ,13H DB 14H ,15H ,15H ,00H ,15H ,13H ,15H ,15H ,16H ,00H DB 1
37、7H ,30H ,18H ,15H ,19H ,00H ,19H ,35H ,19H ,40H DB 20H ,30H ,21H 、00H ,21H ,30H ,0FFH ,0FFH ,0FFH TABLE3 :DB 06H ,00H ,06H ,20H ,06H ,40H ,07H ,10H ,07H ,15H; 夏令DB 07H ,20H ,07H ,50H ,07H ,58H ,08H ,00H ,08H ,45H DB 08H ,53H ,08H ,55H ,09H ,40H ,09H ,55H ,09H ,58H DB 10H ,00H ,10H ,45H ,10H ,53H ,10
38、H ,55H ,11H ,40H DB 13H ,45H ,13H ,58H ,14H ,00H ,14H ,45H ,14H ,50H DB 14H ,58H ,15H ,00H ,15H ,45H ,15H ,53H ,15H ,55H DB 17H ,25H ,19H ,00H ,19H ,35H ,19H ,40H ,21H ,00H DB 21H ,30H ,22H ,00H ,0FFH ,0FFH ,0FFH ,0FFH 第 5 章調試及分析這里有兩個問題需要特別重視。第一,定時器溢出產生中斷請求,CPU 并不一定立即響應中煌,而可能需要延遲一定的中斷響應時間之后才能響應中斷,中斷
39、響應時間大約為38 個機器周期。 顯然,這將在定時時間中加入額外的延時時間,導致計時誤差。為了保證計時精度,必須采取措施進行補償。我們采用增大重裝的定時器 0 初值的方法來減少定時器0 定時時間。具體應調整為多大,一 般 需 要 通 過 調 試 來 確 定 。 經 測 試 , 定 時 器0重 裝 初 值 設 為3CB7H3CBFH。可以滿足精度要求。第二,時間是按十進制遞增, 而 MCS-51系列單片機只有二進制加法指令,因此用加法指令計時必須進行二一十進制轉換。第6章課程總結說實話,兩周的時間說長不長,說短也不短,兩周之前,我們對單片機僅停留在課本上, 在理論層面上,那些芯片的具體應用都不知
40、道怎么用,理論跟實際好像不能結合起來。通過本次的課程設計, 我學會了單片機的一般設計過程。雖然這一個系統參考了許多相關的文章, 但是我還是從中學到了許多知識,并且在該系統中融入了自己的想法。在設計系統時通常都要進行系統擴展與配置,因此,要完成一個單片機的設計工作,必須依次做到下述工作:1、硬件電路的設計、組裝與調試;2、應用軟件的編寫、調試;3、完整應用軟件的調試、固化和脫機運行。而在進行硬件系統設計時我們應當盡量做到:1、盡可能的選擇典型電路,并符合單片機的常規使用方法;2、在充分滿足系統功能要求前提下,留余地以便于二次開發;3、硬件結構設計應與軟件設計方案一并考慮;4、整個系統相關器件要力
41、求性能的匹配;5、硬件上要有可靠性與抗干擾設計;6、充分考慮單片機的帶載驅動能力。所以本人用單片機編寫了上面的程序,因為時間蒼促,如有錯誤之處, 還望老師理解, 并加以批改。 通過這次設計使我對單片機有了更深入的了解以培養我們的動手能力。經過這次的單片機課程設計, 我覺得我的動手能力得到了一個很大的提高,特別是對在芯片熟悉及認知方面,在這兩周的實習中,王老師給我們的幫助是很大的,我們不懂的地方總能得到王老師細心的指點,這里,我們衷心的感謝我們的王迎旭老師,是您讓我們在理論和實踐之間建立起了一座橋梁,謝謝老師了!參考文獻1 王迎旭 .單片機原理及及應用.北京:機械工業出版社 .2004 年2 任向民 .微機接口技術應用使用教程.北京:清華大學出版社 .2008年3 房小翠 .單片機實用系統設計技術.北京: 國防工業出版社4 何立民 .單片機應用系統設計.北京
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 小學美術學科培訓
- ICU護理學習文獻匯報
- 電梯安全知識教育
- 建筑企業質量安全月培訓
- 海關監管體系課件
- 個人舞蹈教室租賃合同模板
- 罐頭食品HACCP體系評估與優化合同
- 企業股權收購撤銷及利益分配合同
- 餐飲行業食品安全事故處理協議
- 知名餐飲品牌總經理任職及品牌推廣合同
- 國開學習網山東開大《行政復議法》形成性考核1-3答案
- (2024)湖北省公務員考試《行測》真題及答案解析
- 公益性公墓建設實施方案(3篇)
- 2023年貴州貴州賴茅酒業有限公司招聘考試真題
- 合并財務報表格式(2019版)
- 心臟射頻消融術
- 《商務郵件禮儀》課件
- 《配電自動化系統》課件
- 創業基礎理論與實務(寧波財經學院)知到智慧樹章節答案
- 《某飛機場物業管理服務方案》
- 《讓子彈飛》電影賞析
評論
0/150
提交評論