




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、學校作息時間控制系統設計學校作息時間控制系統一、設計任務利用單片機設計1個作息時間控制系統。實現方式是當前時間與預先存在6116中的作息時間表進行比較,若時間相同則輸出相應的控制碼到8255的PA口上,因PA口連接不同的外部設備,所以控制碼不同,外設的動作也相應不同,從而完成作息時間的控制。舉個控制的例子:作息時間表中8點00分00秒時,控制碼為0FEH,當前時間如果達到8點00分00秒,則單片機給8255PA口輸出經取反后的控制碼,即01H,此時PA.0為高電平,與它相連的電鈴接通,產生上課鈴聲;8點00分10秒時,單片機查得控制碼為0FDH,取反后得02H,數據送到8255PA口時,PA.
2、1口為高電平,控制電鈴的關閉。二、設計要求1、24小時制時鐘的設計:利用單片機的定時器產生工作方式1產生50ms的定時器中斷,中斷子程序判斷滿20次即產生1秒信號,1秒信號累加到秒寄存器,若秒寄存器超過60則進位到分寄存器,若分寄存器超過60秒則進位到小時寄存器,若小時寄存器超過24則將秒、分、時寄存去分別清零,以上過程即可完成24小時計時時鐘。2、時間的比較設計:先將作息時間表初始化到6116外部數據存儲器中,然后采用循環方式,每循環一次就完成當前時間與1個作息時間的判斷。3、控制碼輸出設計:利用8255可編程并行口芯片,令PA口為工作方式0輸出。PA口連接電鈴,廣播等外設。只要給PA口相應
3、的控制碼,就能控制外設的動作三、 芯片介紹及接線方式1、芯片簡介1、 74LS373。74LS373是帶有三態門的八D鎖存器,當使能信號線OE為低電平時,三態門處于導通狀態,允許1Q-8Q輸出到OUT1-OUT8,當OE端為高電平時,輸出三態門斷開,輸出線OUT1-OUT8處于浮空狀態。G稱為數據打入線,當74LS373用作地址鎖存器時,首先應使三態門的使能信號OE為低電平,這時,當G端輸入端為高電平時,鎖存器輸出(1Q-8Q)狀態和輸入端(1D-8D)狀態相同;當G端從高電平返回到低電平(下降沿)時,輸入端(1D-8D)的數據鎖入1Q-8Q的八位鎖存器中。當用74LS373作為地址鎖存器時,
4、它們的G端可直接與單片機的鎖存控制信號端ALE相連,在ALE下降沿進行地址鎖存。2、 74LS138。3-8譯碼器. 當一個選通端(E3)為高電平,另兩個選通端(E1)和/(E2)為低電平時,可將地址端(A、B、C)的二進制編碼在一個對應的輸出端以低電平譯出3、 74LS241,8同相輸出三態緩沖器/線驅動器。本方案用于段碼驅動。4、 ULN2803。位碼驅動。8個NPN達林頓晶體管,連接在陣列非常適合邏輯接口電平數字電路(例如TTL,CMOS或PMOS上/ NMOS)和較高的電流/電壓,如電燈,電磁閥,繼電器,打印錘或其他類似的負載,廣泛的使用范圍:計算機,工業和消費應用。所有設備功能由集電
5、極輸出和鉗位二極管瞬態抑制。 該ULN2803是專為符合標準TTL。該電路為反向輸出型,即輸入低電平電壓,輸出端才能導通工作。引腳如下:1-8引腳:輸入端 ;11-18引腳:輸出端;9引腳:地端;10引腳:電源 集電極最大輸出電流為500mA,足夠滿足驅動8位led的動態顯示(設一段數碼管5mA,8段數碼管就是40mA,動態驅動時電流大約是40mA*8=320mA)Rating 參數Symbol 符號Value 數值Unit 單位 Outputvoltage 輸出電壓VO 50 V Inputvoltage (Except ULN2801) 輸入電壓(除ULN2801 )VI 30 V Col
6、lector Current Continuous 集電極電流-連續IC 500 mA Base Current Continuous 基極電流-連續IB 25 mA Operating Ambient Temperature Range 操作環境溫度范圍TA 0 to +70 Storage Temperature Range 儲存溫度范圍Tstg 55 to +150 Junction Temperature 結溫TJ 125 5、 6116。6116是2K*8位靜態隨機存儲器芯片,采用CMOS工藝制造,單一+5V供電,額定功耗160mW,典型存取時間200ns,24線雙列直插式封裝。A0
7、-A10為地址線;CE是片選線;OE是讀允許線;WE是寫允許線控制邏輯如下表所示:CEOEWE方式D0-D7H*未選中高阻LLH讀DoutLHL寫DinLLL寫Din8、8255。8255共有40個引腳,采用雙列直插式封裝,各引腳功能如下: D0-D7:三態雙向數據線,與單片機數據總線連接,用來傳送數據信息。CS:片選信號線,低電平有效,表示芯片被選中。RD:讀出信號線,低電平有效,控制數據的讀出。WR:寫入信號線,低電平有效,控制數據的寫入。Vcc:+5V電源。PA0-PA7:A口輸入/輸出線。PB0-PB7:B口輸入/輸出線。PC0-PC7:C口輸入/輸出線。RESET:復位信號線。A1、
8、A0:地址線,用來選擇8255內部端口。GND:地線。8255內部包括三個并行數據輸入/輸出端口,兩個工作方式控制電路,一個讀/寫控制邏輯電路和8位總線緩沖器。各部分功能概括如下:(1)端口A、B、CA口:是一個8位數據輸出鎖存器/緩沖器和一個8位數據輸入鎖存器。B口:是一個8位數據輸入/輸出鎖存器/緩沖器和一個8位數據輸入鎖存器。C口:是一個8位數據輸出鎖存器/緩沖器和一個8位數據輸入緩沖器(輸入不鎖存)。通常A口、B口作為數據輸入/輸出端口。C口作為控制/狀態信息端口,它在“方式控制字”的控制下可分為兩個4位端口,每個端口有一個4位鎖存器,分別與A口、B口配合使用,作為控制信號輸出或狀態信
9、息輸入端口。(2)工作方式控制電路工作方式控制電路有兩個,一個是A組控制電路,另一個是B組控制電路。這兩組控制電路具有一個控制命令寄存器,用來接受中央處理器發來的控制字,以決定兩組端口的工作方式,也可根據控制字的要求對C口按位清“0”或者按位置“1”。A組控制電路用來控制A口和C口的上半部分(PC7-PC4)。B組控制電路用來控制B口和C口的下半部分(PC3-PC0)。(3)總線數據緩沖器總線數據緩沖器是一個三態雙向8位緩沖器,作為8255與系統總線之間的接口,用來傳送數據、指令、控制命令以及外部狀態信息。(4)讀/寫控制邏輯電路讀/寫控制邏輯電路接受CPU發來的控制信號RD、WR、RESET
10、、地址信號A1-A0等,然后根據控制信號的要求,將端口數據讀出,發往CPU,或者將CPU送來的數據寫入端口。控制邏輯為:A1A0RDWRCS工作狀態00010A口數據-數據總線01010B口數據-數據總線10010C口數據-數據總線00100總線數據-A口01100總線數據-B口10100總線數據-C口11100總線數據-控制字寄存器*1數據總線-三態11010非法狀態*110數據總線-三態工作方式控制字:D0端口C(下半部) 1:輸入 0:輸出B組D1端口B 1:輸入 0:輸出D2方式選擇 0:方式0 1:方式1D3端口C(上半部) 1:輸入 0:輸出A組D4端口A 1:輸入 0:輸出D5D
11、6方式選擇 00:方式0 10:方式1 *1:方式2D7置方式標志 1:有效C口按位操作控制字:D0位:置位/復位 1:置位 0:復位D3D2D1000001010011100101110111COC1C2C3C4C5C6C7D4無關D5D6D7位:置位/復位標志 0:有效四、 設計過程1、 根據設計任務和要求,選用合適的芯片并連接電路。本課程設計用到的芯片有(括號中為主要作用):80C51(MCU),8255(可編程并行接口芯片),74LS373(鎖存器),74LS138(3-8譯碼器),74LS241(三態輸出驅動),ULN2803(達林頓結構晶體管陣列).2、 根據畫好的電路圖再設計程序
12、流程圖3、 根據程序流程圖用匯編語言編寫程序4、 利用Labcenter公司的Proteus軟件仿真并通過軟件及硬件的調試2、程序流程圖初始化程序定義內部RAM初始化作息時間表主程序:時間比較子程序調用鍵按下子程序調用鍵掃描子程序輸出控制碼時、分、秒均相等YN調用顯示子程序循環往復50ms中斷子程序 時間比較子程序 保護現場及斷點取當前時間加一60秒中斷20次取作息時間表時間 N60分加一Y比較是否相等 NN 加一 Y24小時輸出控制碼恢復現場及斷點 N Y返回相應位清0 Y返回 Q鍵按下子程序 鍵掃描子程序顯示子程序指向顯示ram第一位行掃描讀P1口輸出段碼讀鍵值P1=0FHN輸出位碼鍵值分
13、析返回Y返回延時子程序循環滿8次 N Y返回3、程序清單 ORG 0000HMSTART: AJMP MAINORG 000BHAJMP WATCHORG 0013HLJMP INTT0ORG 0100HMAIN: MOV SP,#44HMOV 21H,#77H ;調時間時從第8位開始MOV 24H,#00HMOV 25H,#00HMOV 26H,#00H ;時分秒存儲MOV DPTR,#2003HMOV A,#10000000B;A口輸出B口輸出c口輸出MOVX DPTR,AMOV DPTR,#2000H ;段控MOV A,#0C0HMOVX DPTR,AMOV DPTR,#2001HMOV
14、 A,#07FH ;位控MOVX DPTR,AMOV DPTR,#4003H ;8255iiMOV A,#10000000BMOVX DPTR,AMOV DPTR,#4000HMOV A,#00H MOVX DPTR,A MOV R0,#50HMOV R1,#113D;存8*14+1個字節的數據MOV R2,#00HMOV 30H,#50HMOV 31H,#00HMM:MOV DPTR,#TABTIMEMOV A,R2MOVC A,A+DPTR;把內存數據存到外存MOV DPL,30HMOV DPH,31HMOVX DPTR,AINC DPTRMOV 30H, DPLMOV 31H ,DPHI
15、NC R2DJNZ R1,MM ;初始化作息時間表MOV DPTR,#00C0HMOVX A,DPTRMOV R0,#70HMOV R7,#08HCLR F0MOV P1,#0F0HMA1:MOV A,#00HMOV R0,AINC R0DJNZ R7,MA1 ;清0MOV R1,#75HMOV R1,#0AHMOV R1,#72HMOV R1,#0AH MOV TMOD,#01HMOV TL0,#0DCH ;0DCHMOV TH0,#0BH;0BHMOV TCON,#00010000B ; 定時開始MOV IE,#10000010B ;開中斷MOV 40H,#10H ;50ms*20=1sK
16、EY:NOP ;主循環LOOP1:MOV DPTR,#50HMOV 2DH,DPLMOV 2EH,DPHLOOP2:MOV DPL,2DHMOV DPH,2EH;存地址MOVX A,DPTR;存控制碼MOV 2AH,A;判斷開始時存控制碼MOV R3,#03HMOV R4,#00HMOV R1,#24HMOV 2BH,#00HLOOP3:INC DPTRMOVX A,DPTR;讀作息時間表小時字節MOV 7BH,AMOV A,R1;CJNE A,7BH,LOOP4;不相等則直接下一數據塊SETB 2BH.2LOOP4: INC R1INC DPTR;指向分MOVX A,DPTR;讀作息分MOV
17、 7BH,AMOV A,R1;CJNE A,7BH,LOOP5;SETB 2BH.1LOOP5: INC R1INC DPTR;指向秒MOVX A,DPTR;讀作息秒MOV 7BH,AMOV A,R1CJNE A,7BH,LOOP6SETB 2BH.0LOOP6:INC DPTRMOV 2DH,DPLMOV 2EH,DPHMOVX A,DPTRJZ LOOP8 ;到數據區邊緣,則重新開始LOOP7:ACALL KSACALL SHOW0 ACALL KSJB F0, KEY1; 有鍵按下,調用lk1子程序AJMP NEXT1KEY1:ACALL LK1NEXT1:ACALL SHOW0MOV
18、A,2BHCJNE A,#07H,LOOP2;不等則LOOP2MOV DPTR,#4000HMOV A,2AHCPL AMOVX DPTR,ALOOP8:AJMP KEYLK1:ACALL SHOW0 ;消除抖動ACALL KSJB F0,LK2; 有鍵按下RETLK2:MOV R6,#7FH;行賦值MOV R7,#00H; 第3行LK3: MOV A,R6MOV P1,A ;R6 TO P1NOPMOV A,P1JB ACC.3, LONEMOV A,#00HAJMP LKPLONE:JB ACC.2 ,LTWO ;第3列MOV A,#4HAJMP LKPLTWO: JB ACC.1 ,LT
19、REE ;第2列MOV A,#8HAJMP LKPLTREE:JB ACC.0 ,NEXT ;第1列MOV A,#0CH ;算鍵碼LKP:ADD A,R7;保護鍵碼PUSH ACC ;去抖動LK4:ACALL SHOW0 ;按鍵松開ACALL SHOW0ACALL KSJB F0, LK4POP ACC;INC AMOV 20H,A ;鍵碼送20hMOV A,21H ;#77HMOV R0,AMOV A,20HMOV R0,A ;顯示完成MOV A,21HDEC AMOV 21H,ASUBB A,#70H ;若下一位為0 JZ LK8LK6:RETLK8:MOV 21H,#77HSJMP LK
20、6NEXT:INC R7MOV A,R6JNB ACC.4,KNDRR AMOV R6,AAJMP LK3KND:RETINTT0:RETIWATCH:MOV TL0,#0DCH ;0DCHMOV TH0,#0BH ;0BHPUSH PSW ;保護現場和斷點PUSH ACCPUSH 00HPUSH 01HPUSH 02HPUSH 03HPUSH 04HPUSH 05HPUSH 06HPUSH 07HMOV A,40HDEC AMOV 40H,A ; 40H-1JNZ REVIVE ;如過A不為0則跳出中斷MOV 40H,#10HMOV R0,#71HACALL INCR0 ;秒+1MOV A,
21、R4XRL A,#60HJNZ REVIVE ;JUMP ACALL CLR0MOV R0,#74HACALL INCR0;分+1MOV A,R4XRL A,#60HJNZ REVIVEACALL CLR0MOV R0,#77HACALL INCR0;小時+1 MOV A,R4 XRL A,#24HJNZ REVIVEACALL CLR0 REVIVE:POP 07H POP 06H POP 05HPOP 04HPOP 03HPOP 02HPOP 01HPOP 00H POP ACC POP PSWRETIINCR0: MOV A,R0;+1子程序 DEC R0SWAP AORL A,R0AD
22、D A,#01H;A+1DA AMOV R4,AANL A,#0FHMOV R0,AMOV A,R4INC R0ANL A,#0F0HSWAP AMOV R0,ARETCLR0: CLR A ;清0子程序 MOV R0,ADEC R0MOV R0,ARETKS: CLR F0 ;判斷是否有按鍵子程序MOV P1,#0F0HMOV A,P1CJNE A,#0F0H,KS1RETKS1: SETB F0RETSHOW0:MOV R0,#71H ;顯示子程序MOV A,R0DEC R0SWAP A ;十位存高字節ORL A,R0;個位存低字節DA AMOV 26H,A;秒高位+低位MOV R0,#7
23、4HMOV A,R0DEC R0SWAP AORL A,R0DA AMOV 25H,A ;分高位+低位MOV R0,#77HMOV A,R0DEC R0SWAP AORL A,R0DA AMOV 24H,A;時高位+低位MOV R0,#70HMOV R3,#7fHMOV R1,#72H ;賦值點MOV R1,#0AHMOV R1,#75HMOV R1,#0AH ;賦值點MOV A,R3SHOW1: MOV DPTR,#2001H ;位控MOVX DPTR,AMOV DPTR,#TABMOV A,R0MOVC A,A+DPTR MOV DPTR,#2000HMOVX DPTR,A ;段控ACAL
24、L DELAY0INC R0MOV A,R3JNB ACC.0,LD0RR AMOV R3,AAJMP SHOW1LD0:RETDELAY0: MOV R4,#09H ;延時子程序DLOOP1: MOV R5,#0AHDLOOP2: NOPNOPDJNZ R5,DLOOP2DJNZ R4,DLOOP1RETTAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,7FH,0A1H,89H,0F6H,0EFH,8CH ;ANODE; 0, 1, 2, 3, 4 , 5,6, 7, 8, 9 , ., /DIV,*MUL,= , -, +TABTIME
25、:DB 0FEH,08H,00H,00H,0FDH,08H,00H,10H ;1 作息時間表DB 0FEH,08H,50H,00H,0FDH,08H,50H,10H ;2DB 0FEH,09H,00H,00H,0FDH,09H,00H,10H ;3DB 0FEH,09H,50H,00H,0FDH,09H,50H,10H ;4DB 07EH,09H,52H,00H,0FDH,10H,05H,00H ;5DB 0FEH,10H,10H,00H,0FDH,10H,10H,10H ;6DB 0FEH,11H,00H,00H,0FDH,11H,00H,10H ;7DB 0FEH,11H,10H,00H,0FDH,11H,10H,10H ;8DB 0
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 團員代表青年聲音的重要性試題及答案
- 外語水平測試常見難題試題及答案集
- 消防安全文化環境營造方法試題及答案
- 足浴培訓協議合同協議
- 實現目標2025年入團試題及答案
- 配送醫療設備合同協議
- 2025年建筑法規實務試題及答案
- 車輛入股協議書范本合同
- 暫停供暖協議書
- 有償保密協議書
- 馬克思主義新聞觀教程 第二版 課件 第十章 劉少奇論社會主義條件下的新聞工作
- 加油站清明節節前安全教育培訓
- 【CMMI】8. TS、PI、VV、PR 訪談問題-編碼和測試 -(含答案)
- 06J403-1 樓梯、欄桿、欄板圖集
- 教科版六年級科學下冊全冊課件(2024年春季版)
- 提香-西方美術史-
- 歷年撫恤金表傷殘軍人撫恤金
- 明亞保險經紀人考試題庫答案
- 干部選拔任用程序
- 機械制造技術-機械加工工藝
- 供貨組織措施及供貨方案
評論
0/150
提交評論