版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、北 京 科 技 大 學微機原理課程設計說明書題目: 家用電風扇的控制設計 學院: 計算機與通信工程學院 專業(yè): 通信1003 姓名: 張三 學號: 4100000 指導教師: 2012年 8月 24 日目錄前言.11注釋清單說明.22芯片介紹.3 2.18253芯片.3 2.28255芯片.43設計過程.6 3.1總體設計.6 3.2硬件設計.6 3.3軟件設計.6 3.3.1風速設計 .7 3.3.2類型設計 .73.3.3轉(zhuǎn)頭設計.74硬件框圖及說明 .85軟件模塊及流程說明.9 5.1軟件框圖.9 5.2程序代碼.10參考文獻.17 總結(jié)體會.18前言 隨著物聯(lián)網(wǎng)時代的到來,芯片越來越顯
2、示其重要的價值,而如何將物聯(lián)網(wǎng)引入普通家庭,讓普通老百姓感受到他們的實惠,針對這個問題我設計了一個簡易的電風扇程序其概況如下:一.課程設計的題目是家用風扇控制器,用微機中硬件與軟件相結(jié)合的方法設計出一個電風扇的控制器.二.控制器有四個按鈕,分別為風速,類型,轉(zhuǎn)頭和停止鍵; 三個LED指示燈用于指示風速強、中、弱;另外三個LED指示燈用于指示類型為睡眠、自然和正常,還有一個直流電機控制是否轉(zhuǎn)頭.功能如下:1. 電扇處于停轉(zhuǎn)狀態(tài)時,所有指示燈不亮,只有按下“風速”鍵時電扇才會旋轉(zhuǎn)。電扇在任何狀態(tài),只要按下“停止”鍵,則進入停轉(zhuǎn)狀態(tài)。2. 風速的強、中、弱分別對應于電扇轉(zhuǎn)動的快速、中速和慢速.3.
3、初始狀態(tài)為:風速“弱”,類型“正?!?4. 按“風速”鍵,狀態(tài)由“弱”“中”“強”“弱” 往復循環(huán)改變,每按一下按鍵改變一次狀態(tài);5. 按“類型”鍵,其狀態(tài)由“正?!薄八摺薄白匀弧薄罢!?往復循環(huán)改變;1) 正常電扇連續(xù)運轉(zhuǎn);2) 自然電扇模擬自然風,即轉(zhuǎn)2s,停4s;3) 睡眠電扇慢轉(zhuǎn),產(chǎn)生輕柔的微風,運轉(zhuǎn) 2s,停轉(zhuǎn)6s.6. 當按下K3搖頭鍵的時候會搖頭,再按會停止搖頭,可以手動選擇是否搖頭.三.本設計主要用到的芯片是8086,8253A和8255A. 1注釋說明清單下文中所表示的字母的意思如下: K1:風速鍵,用來控制風速,風速包括弱風,中風,強風三種.每按一次K1鍵風速就循環(huán)改變
4、一次. K2:類型鍵,用來控制風的類型,類型包括正常風,睡眠風,自然風,每按一次K2鍵風種將會循環(huán)改變一次.K3:轉(zhuǎn)頭鍵,只要系統(tǒng)啟動后按此鍵,風扇就會在轉(zhuǎn)頭與不轉(zhuǎn)頭之間切換. K4:停止鍵,一旦風扇運行按停止鍵就會關閉.L1:弱風指示燈L2:中風指示燈L3:強風指示燈L5:正常風指示燈L6:睡眠風指示燈L7:自然風指示燈2芯片介紹2.1 8253芯片8253是Intel公司生產(chǎn)的可編程間隔定時器。8253具有以下基本功能: (1) 有3個獨立的16位計數(shù)器; (2) 每個計數(shù)器可按二進制或十進制(BCD)計數(shù); (3) 每個計數(shù)器可編程工作于6種不同工作方式; (4) 8254每個計數(shù)器允許
5、的最高計數(shù)頻率為10MHz(8253為2MHz); (5) 8254有讀回命令(8253沒有),除了可以讀出當前計數(shù)單元的內(nèi)容外,還可以讀出狀態(tài)寄存器的內(nèi)容。 (6) 計數(shù)脈沖可以是有規(guī)律的時鐘信號,也可以是隨機信號。計數(shù)初值公式為n=fCLKi÷fOUTi、其中fCLKi是輸入時鐘脈沖的頻率,fOUTi是輸出波形的頻率。 圖14-1是8254的內(nèi)部結(jié)構(gòu)框圖和引腳圖,它是由與CPU的接口、內(nèi)部控制電路和三個計數(shù)器組成。8254的工作方式如下述: (1) 方式0:計數(shù)到0結(jié)束輸出正躍變信號方式。 (2) 方式1:硬件可重觸發(fā)單穩(wěn)方式。 (3) 方式2:頻率發(fā)生器方式。 (4) 方式3:
6、方波發(fā)生器。 (5) 方式4:軟件觸發(fā)選通方式。 (6) 方式5:硬件觸發(fā)選通方式。 圖14-1 8254的內(nèi)部接口和引腳 8253的控制字有兩個:一個用來設置計數(shù)器的工作方式,稱為方式控制字;另一個用來設置讀回命令,稱為讀回控制字。這兩個控制字共用一個地址,由標識位來區(qū)分??刂谱指袷饺绫?4-1所示。讀回控制字格式如表14-2所示。當讀回控制字的D4位為0時,由該讀回控制字D1D2位指定的計數(shù)器的狀態(tài)寄存器內(nèi)容將被鎖存到狀態(tài)寄存器中。狀態(tài)字格式如表14-3所示。 表14-1 8253的方式控制字格式 D7D6D5D4D3D2D1D0計數(shù)器選擇讀/寫格式選擇工作方式選擇計數(shù)碼制選擇00計數(shù)器0
7、01計數(shù)器110計數(shù)器211讀出控制字標志00鎖存計數(shù)值01讀/寫低8位10讀/寫高8位11先讀/寫低8位,再讀/寫高8位000方式0001方式1010方式2011方式3100方式4101方式50二進制數(shù)1十進制數(shù) 表142 8253讀出控制字格式D7D6D5D4D3D2D1D0110鎖存計數(shù)值0鎖存狀態(tài)信息計數(shù)器選擇(同方式控制字)0表143 8253狀態(tài)字格式D7D6D5D4D3D2D1D0OUT引腳現(xiàn)行狀態(tài)1高電平 2低電平計數(shù)初值是否裝入1無效 2計數(shù)有效計數(shù)器方式(同方式控制字)2.2 8255芯片 8255可編程外圍接口芯片是Intel公司生產(chǎn)的通用并行I/O接口芯片,它具有A、B
8、、C三個并行接口,用+5V單電源供電,能在以下三種方式下工作:方式0 基本輸入/出方式;方式1 選通輸入/出方式;方式2 雙向選通工作方式。8255的內(nèi)部結(jié)構(gòu)及引腳如圖12-1所示,8255工作方式控制字和C口按位置位/復位控制字格式如圖12-2所示。 圖12-1 8255的內(nèi)部結(jié)構(gòu)及引腳 圖12-2 8255控制字格式3設計過程3.1總體設計:根據(jù)題目要求,其基本功能是用四個按鍵來控制風速、類型,轉(zhuǎn)頭以及停止這四個狀態(tài)的變換。當風速鍵按下時實現(xiàn)風速強、中、弱三種狀態(tài)依次循環(huán)切換,由于電機控制芯片沒找好,所以用三個LED指示燈來顯示;當類型鍵按下時實現(xiàn)類型正常、睡眠、自然三種狀態(tài)的依次循環(huán)切換
9、,并用三個LED指示燈來顯示。題目中類型鍵要求自然狀態(tài)轉(zhuǎn)2秒,停4秒;睡眠狀態(tài)轉(zhuǎn)2秒,停轉(zhuǎn)6秒,這個涉及到時間問題,可以通過硬件或者軟件來實現(xiàn),我們選擇通過軟件來實現(xiàn)。綜上所述,可以采用硬件與軟件結(jié)合的設計方法來實現(xiàn)基本功能。3.2硬件設計:本次實驗除利用了PC機本身資源外(如中斷資源),還利用了平臺上的8255并行接口單元,8253計數(shù)器,LED指示燈電路,直流電機,便構(gòu)成家用風扇控制電路.本次實驗硬件部分主要是用可編程并行通信接口8255A來實現(xiàn)的。四個按鍵是輸入,用8255A的其中一個端口作為輸入,這里選擇用端口A作為輸入;六個LED指示燈用作輸出,這里選擇用端口B和端口C作為輸出。82
10、55A是有多種功能的可編程并行接口電路芯片,8255A分3個端口:端口A、端口B和端口C,每個端口都是8位,共24個外設引腳,共三種輸入輸出工作方式。1)方式0基本輸入輸出方式, 適用于無條件傳送和查詢方式的接口電路。2)方式1選通輸入輸出方式, 適用于查詢和中斷方式的接口電路。3)方式2雙向選通傳送方式, 適用于與雙向傳送數(shù)據(jù)的外設; 適用于查詢和中斷方式的接口電路。本次實驗我們選擇方式0,只實現(xiàn)基本的輸入、輸出即可。8253A有3個計數(shù)器,這里我們選擇計數(shù)器0進行計數(shù),CLK0鏈接系統(tǒng)時鐘信號,計數(shù)器0選擇工作方式3工作,GATE0接PC0端口,然后將兩路接入直流電機的正負極。3.3軟件設
11、計: 本設計通過編程對8255A的端口A讀入的鍵值進行判斷,再轉(zhuǎn)入到相應的子程序進行狀態(tài)改變。最后通過端口B進行輸出顯示。控制系統(tǒng)分四個功能模塊,主要包含風速設置、類型設置、默認狀態(tài)顯示和退出系統(tǒng)。風速設置 這個模塊中風速的三個狀態(tài)強、中、弱之間的循環(huán)切換是通過將端口A的鍵值逐次加1(初始值為0,每按下一次風速鍵寄存器值加1),然后對3求余,取其余數(shù)分別代表這三個狀態(tài)來實現(xiàn)的。由于對3求余的余數(shù)只有0、1、2三個值,分別代表強、中、弱,將其余數(shù)保存到寄存器中,根據(jù)寄存器中是0、1、2來判斷強、中、弱風三個狀態(tài)。類型設置風的類型有:正常、自然、睡眠三種。a) 正常 電扇連續(xù)運轉(zhuǎn)。b) 自然 電扇
12、模擬自然風,即轉(zhuǎn)2s,停4s。c) 睡眠 電扇慢轉(zhuǎn),產(chǎn)生輕柔的微風,運轉(zhuǎn) 2s,停轉(zhuǎn)6s。自然狀態(tài)和睡眠狀態(tài)時間的控制是通過調(diào)用延時子程序來實現(xiàn)的,由于一個機器周期是10-6秒,延時程序是通過循環(huán)來實現(xiàn)的,讓指令執(zhí)行106次來實現(xiàn)1秒。不是很精確。3.3.3轉(zhuǎn)頭設置 這個模塊利用8255和8253來完成,該模塊有兩種狀態(tài)即轉(zhuǎn)頭和不轉(zhuǎn)頭,8255的PC2端口實現(xiàn)狀態(tài)的輸入,PC0端口輸出到8253的GATE0端口來控制8253工作,然后通過8253來控制直流電機工作。用按的次數(shù)除以2取余數(shù)來判斷是轉(zhuǎn)頭還是停止。4硬件系統(tǒng)框圖及說明L7K4K3K2K1L6L5L31L21L11系統(tǒng)總線D0 PA0
13、D1 PA1D2 PA2D3 PA3D4 PA4D5 PA5D6 PA6D7 PA78255APB0 CS PB1 PB2PB3A0 PB4A1 PB5PB6PB7RDWRPC0PC1PC2PC3RESET PC4PC5PC6PC7 正極D0 CLK0D1 GATE0D2 OUT0D3 D4D5D6D7 CLK1 GATE1 OUT18253WR CLK2RD GATE2 OUT2A0A1CS直流電機負極5軟件模塊主要流程圖及說明由于要寫出具體的試驗程序邏輯復雜,就簡要的寫出了匯編程序的設計流程。5.1軟件框圖系統(tǒng)初始化等待按鍵選擇還回DOSYYNNYNK1鍵?風速選擇類型選擇K2鍵?K4鍵?
14、轉(zhuǎn)頭設置開始5.2程序代碼DATAS SEGMENT ;此處輸入數(shù)據(jù)段代碼 T8255A EQU 200H T8255B EQU 201H T8255C EQU 202H COUNT0 EQU 204H CONTROL EQU 207H T8255MODE EQU 203H TEMPK1 DB 0F8H KEY1 DB 00H KEY2 DB 00H KEY3 DB 00H KEY1_YUSHU DB 00H KEY2_YUSHU DB 00H KEY3_YUSHU DB 00H THREE DB 03H TWO DB 00H FREE_START DB 00H SHANGCI_START D
15、B 00H DANGQIAN_START DB 00H DATAS ENDS STACKS SEGMENT;此處輸入堆棧段代碼 DW 100H DUO(0) STACKS ENDS CODES SEGMENT ASSUME CS:CODES,DS:DATAS,SS:STACKS START: MOV AX,DATAS MOV DS,AX ;此處輸入代碼段代碼;8253芯片初始化 MOV DX,CONTROL MOV AL,00110110B OUT DX,AL MOV DX,COUNT0 ;置初值1000H MOV AL,00H OUT DX,AL MOV AH,10H ; OUT DX,AL
16、 MOV DX,T8255MODE ;模式字輸入 MOV AL,90H ;端口A作為輸入,端口B作為輸出 OUT DX,AL MOV DX,T8255B ;對燈清零 MOV AL,0FFH OUT DX,AL MOV DX,T8255C ;對電機進行清零; MOV AL,OFFH OUT DX,AL JMP L1 READ: MOV DX,T8255A ;讀取端口A的鍵值 IN AL,DX MOV BX,00H MOV BL,TEMPK1 MOV TEMPK1,AL XOR BL ,AL CMP BL,01H ;判斷風速鍵是否按下 JZ ADD_K1 CMP BL,02H ;判斷類型鍵是否按下
17、 JZ ADD_K2 CMP BL,03H JZ ADD_K3 CMP BL,04H ;判斷停止鍵是否按下 JZ L10 MOV BL,SHANGCI_START ;如果沒有按鍵按下,判斷上次狀態(tài) CMP BL,01H JZ L1 CMP BL,02H JZ L2 CMP BL,03H JZ L3 CMP BL,04H JZ L4 CMP BL,05H JZ L5 CMP BL,06H JZ L6 CMP BL,07H JZ L7 CMP BL,08H JZ L8 CMP BL,09H JZ L9 CMP BL,0AH JZ L10 ADD_K1: INC KEY1 MOV AL,KEY1 M
18、OV AH,00H DIV THREE MOV KEY1_YUSHU,AH JMP CONNEC ADD_K2: INC KEY2 MOV AL,KEY2 MOV AH,00H DIV THREE MOV KEY2_YUSHU,AH JMP CONNECT ADD_K3: INC KEY3 MOV AL,KEY3 MOV AH,00H DIV TWO MOV KEY3_YUSHU,AH JMP CONNECT CONNECT: MOV CL,FREE_START MOV AH,KEY1_YUSHU MOV AL,KEY2_YUSHU MOV BL,KEY3_YUSHU CMP BL,00H J
19、Z STOP CMP BL,01H JZ START A1: CMP AX,0000H JZ L1 CMP AX,0001H JZ L2 CMP AX,0002H JZ L3 CMP AX,0100H JZ L4 CMP AX,0101H JZ L5 CMP AX ,0102H JZ L6 CMP AX ,0200H JZ L7 CMP AX , 0201H JZ L8 CMP AX , 0202H JZ L9 STOP: PUSH DX PUSH AX MOV DX,T8255C MOV AL,00H OUT DX,AL POP AX POP DX JMP A1 START: PUSH DX
20、 PUSH AX MOV DX,T8255C MOV AL,01H OUT DX,AL POP AX POP DX JMP A1 L1: MOV SHANGCI_START,01H MOV AL, 36H ; 弱風正常 JMP SHOW L2: MOV SHANGCI_START,02H MOV AL,2EH ;弱風睡眠 MOV FREE_START,CL MOV DX,T8255B OUT DX, AL CALL DELAY CALL DELAY MOV AL,3EH MOV DX,T8255B OUT DX,AL CALL DELAY CALL DELAY CALL DELAY CALL
21、DELAY CALL DELAY CALL DELAY JMP READ L3: MOV SHANGCI_START,03H MOV AL,1EH ;弱風自然 MOV FREE_START,CL MOV DX,T8255B OUT DX, AL CALL DELAY CALL DELAY MOV AL,3EH MOV DX,T8255B OUT DX,AL CALL DELAY CALL DELAY CALL DELAY CALL DELAY JMP READ L4: MOV SHANGCI_START,04H MOV AL,35H ;中風正常 JMP SHOW L5: MOV SHANGCI
22、_START,05H MOV AL,2DH ;中風睡眠 MOV FREE_START,CL MOV DX,T8255B OUT DX,AL CALL DELAY CALL DELAY MOV AL,3DH MOV DX,T8255B OUT DX,AL CALL DELAY CALL DELAY CALL DELAY CALL DELAY CALL DELAY CALL DELAY JMP READ L6: MOV SHANGCI_START,06H MOV AL,1DH ;中風自然 MOV FREE_START,CL MOV DX,T8255B OUT DX, AL CALL DELAY C
23、ALL DELAY MOV AL,3DH MOV DX,T8255B OUT DX,AL CALL DELAY CALL DELAY CALL DELAY CALL DELAY JMP READ L7: MOV SHANGCI_START,07H MOV AL,33H ;強風正常 JMP SHOW L8: MOV SHANGCI_START,08H MOV AL ,2BH ;強風睡眠 MOV FREE_START,CL MOV DX,T8255B OUT DX, AL CALL DELAY CALL DELAY MOV AL,3BH MOV DX,T8255B OUT DX,AL CALL D
24、ELAY CALL DELAY CALL DELAY CALL DELAY CALL DELAY CALL DELAY JMP READ L9: MOV SHANGCI_START,09H MOV AL,1BH ;強風自然 MOV FREE_START,CL MOV DX,T8255B OUT DX, AL CALL DELAY CALL DELAY MOV AL,3BH MOV DX,T8255B OUT DX,AL CALL DELAY CALL DELAY CALL DELAY CALL DELAY JMP READ L10: MOV SHANGCI_START,0AH MOV AL,0
25、FFH ;停止 MOV DX,T8255B OUT DX, AL JMP READ SHOW: MOV FREE_START,CL CALL DELAY MOV DX,T8255B OUT DX, AL JMP READ QUIT: MOV AX,4CH INT 21H DELAY PROC PUSH BX PUSH CX MOV CX,07FFH D1: MOV BX,0FFFFH D2: DEC BX JNZ D2 LOOP D1 POP BX POP CX RET DELAY ENDP DELAY6 PROC PUSH CX PUSH AX MOV CX,06H D3: CALL DELAY LOOP D3 POP AX POP CX RET DELAY6 ENDP CODES ENDS END START參考文獻1 權 微型計算機技術及應用(第四版) 清華大學出版社 2 汪志宏 江敏 微機原理與接口技術課程設計 機械工業(yè)出版社3微機原理與接口技
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 小學一年級數(shù)學口算練習題大全
- 江西婺源茶業(yè)職業(yè)學院《高效焊接技術》2023-2024學年第一學期期末試卷
- 華北理工大學輕工學院《中學美術課程標準與教材分析》2023-2024學年第一學期期末試卷
- 湖北工程職業(yè)學院《放射性三廢處理與處置》2023-2024學年第一學期期末試卷
- 周口文理職業(yè)學院《智能自動化與控制網(wǎng)絡實訓》2023-2024學年第一學期期末試卷
- 重慶理工大學《機器人工程數(shù)學(2)》2023-2024學年第一學期期末試卷
- 浙江水利水電學院《區(qū)塊鏈技術及運用》2023-2024學年第一學期期末試卷
- 鄭州信息工程職業(yè)學院《Office高級應用》2023-2024學年第一學期期末試卷
- 長江職業(yè)學院《動物分子與細胞生物學導論》2023-2024學年第一學期期末試卷
- 云南財經(jīng)職業(yè)學院《國畫基礎(I)》2023-2024學年第一學期期末試卷
- 企業(yè)供應鏈管理軟件使用合同
- 碳排放管理員 (碳排放核查員) 理論知識考核要素細目表三級
- 中考化學酸堿鹽知識點性質(zhì)歸納
- 新教科版四上科學3.5《運動與摩擦力》教案(新課標)
- 四川省綿陽市2023-2024學年高一上學期期末檢測英語試題(解析版)
- 2024年中國電科集團春季招聘公開引進高層次人才和急需緊缺人才筆試參考題庫(共500題)答案詳解版
- 綠化養(yǎng)護服務整體養(yǎng)護方案
- 醫(yī)院護理培訓課件:《壓力性損傷(壓瘡)的分期及預防》
- 小說訓練-景物描寫的作用-高考語文二輪復習訓練
- 手術室標本管理
- 高速公路的歷史發(fā)展
評論
0/150
提交評論