久久99精品久久久久久琪琪,久久人人爽人人爽人人片亞洲,熟妇人妻无码中文字幕,亚洲精品无码久久久久久久

微機原理課程設計——洗衣機控制系統

時間:2019-05-15 11:40:06下載本文作者:會員上傳
簡介:寫寫幫文庫小編為你整理了多篇相關的《微機原理課程設計——洗衣機控制系統》,但愿對你工作學習有幫助,當然你在寫寫幫文庫還可以找到更多《微機原理課程設計——洗衣機控制系統》。

第一篇:微機原理課程設計——洗衣機控制系統

微機原理與接口技術課程設計

設計題目:設計者:專業 : 班級 : 學號 :

洗衣機控制系統設計

電氣工程及其自動化 1

課程設計的意義

1.1 洗衣機的發展狀況概述

1.洗衣機的發展史

洗衣服是每個家庭都無法逃避的家庭勞動。洗衣機的出現給人們的生活帶來了相當大的方便,它的普及大大降低了大多數家庭的體力勞作。

1858年,美國人漢密爾頓·史密斯制成了第一臺洗衣機。1874年,美國人比爾·布萊克斯發明了第一臺人工攪動式洗衣機,使得“手洗時代”受到了挑戰。1910年美國人研制出了第一臺電動式洗衣機。1922年美國瑪塔依格公司生產出了第一臺攪拌式洗衣機。1932年美德克斯航空公司研制成功了第一臺前裝式滾筒式洗衣機,這臺機衣機能夠使洗滌、漂洗、脫水三個步驟在同一個滾中操作。與此同時,世界各地也相繼出現了洗衣機。洗衣機工業快速迅猛地發展起來。

1937年第一臺自動洗衣機問世。1955年日本研制出波輪式洗衣機。60年代日本出現了半自動洗衣機。70年代生產出了波輪式套桶全自動洗衣機。70年代后期以電腦控制的全自動洗衣機在日本問世。80年代“模糊控制”開始應用于洗衣機中,使得洗衣機能夠通過模糊控制使洗衣機操作更加簡單,實現智能化。近半個多世紀里,在工業發達國家,全自動洗衣機技術得到廣范的應用,其年總產量及社會普及率均以達到相當高的水平。

2.我國洗衣機的發展現狀

洗衣機在中國起步較晚,1978年才開始正式生產家用洗衣機。隨著改革開放的不斷深入,經濟的持續增長,人民生活水平的普遍提高,人們對于洗衣機的認識也在不斷發展,進入80年代后,中國洗衣機行業一直保持著旺盛的發展形勢。目前,洗衣機在我國城市甚至廣大農村已得到大范圍的普及。中國洗衣機市場正處于快速更新換代階段,市場潛力巨大,隨著家用電器的自動化、智能化發展,人們對于洗衣機的期望也越來越高。1983年,中國洗衣機產量由1978年的400臺增至365萬臺。此后全國各處都大規模的引進國外先進洗衣機技術。中國的洗衣機發展突飛猛進,先進技術的引進、吸收和創新,極大地促進了中國洗衣機的生產能力和產業質量。經過三十年的發展,我國的洗衣機年產量已位于世界第一,將近為世界總年產量的四分之一。

1.2課程設計的意義

課程設計進一步鍛煉同學們在微機原理應用方面的實際工作能力。計算機科學在應用上得到飛速發展,因此,學習這方面的知識必須緊密聯系實際:掌握這方面的知識更要強調解決實際問題的能力。學會面對一個實際問題,如何去自己收集資料,如何自己去學習新的知識,如何自己去制定解決問題的方案并通過實踐不斷地去分析和解決前進道路上的問題?!段C原理與接口技術》課程是我們電氣工程及其自動化專業本科生必修的一門技術基礎課程。通過該課程的學習使學生對微機系統有一個全面的了解、掌握常規芯片的使用方法、掌握簡單微型計算機應用系統軟硬的設計方法。

洗衣機控制系統的設計

2.1 設計內容

系統設計并建立一個由微機控制的洗衣機控制系統,并完成: 1.給水和排水的自動控制。2.用戶定時時間的設定。3.電機的正反轉。

4.各種定時和故障報警電路。5.定時開、關機的控制。6.三分鐘延時啟動的保護。

7.設計相應的A/D、D/A、鍵盤、顯示接口和傳感器測量水位電路,可在線鍵盤參數設置、定時檢測、顯示、報警,其中控制輸出部分采用模擬量或開關量進行控制。

8,寫出相應工作原理,編寫程序及程序流程圖。

希望實現的功能:智能檢測

待洗衣物的智能檢測是智能洗衣機能夠實現智能的關鍵技術之一。智能檢測利用了模糊控制原理,根據各類傳感器提供的洗滌物狀態和洗衣機運行參數進行模糊推理。通過各類傳感器對布量、布質、溫度、濁度的檢測來確定洗滌過程中的洗滌水位,洗滌時間,漂洗次數,排水時間,脫水時間等等。三

總體設計方案

3.1 洗衣機系統原理與設計思想

圖 1洗衣機示意圖

洗衣機的系統(1).滌脫水系統

它主要有盛水桶,洗滌桶和波輪組成。盛水桶又稱為外桶,主要用來盛放洗滌液。盛水桶固定在鋼制底板上,通過4根吊桿懸掛在洗衣機箱體上。電動機,離合器,排水閥等部件都裝在桶底下面。洗滌桶又稱為脫水桶或者離心桶,也稱為內桶,它的主要功能是用來盛放衣物,在洗滌或漂洗時配合波輪完成洗滌或漂洗功能,在脫水時便成為離心式的脫水桶。波輪是全自動洗衣機中對衣物產生機械作用的主要部件。按波輪的形狀來分,基本上有小波輪(直徑在160mm左右)的渦卷式水流和大波輪(直徑在300mm左右)新水流兩類。

(2).進水系統

波輪式全自動洗衣機的進排水系統都采用了電磁閥控制。為了對桶內的水位進行檢測和控制,洗衣機上都安裝有水位控制器(水位開關)。波輪式全自動套桶洗衣機使用最多的水位開關是空氣壓力式開關,主要有氣壓傳感器裝置,控制裝置及電觸點開關3部分組成,用來監視水位的高低。此外電磁閥分進水和排水電磁閥,進水電磁閥是洗衣機上的自動進水開關,它受水位開關動斷觸點的控制。而排水電磁閥是全自動洗衣機上的自動排水裝置,同時還起改變離合器工作狀態。進水、排水電磁閥是采用電流流過線圈形成磁場的原理,洗衣機電磁閥在進,排水時使用,220V交流電壓與電磁閥線圈接通,形成磁場,電磁線圈吸合。自

動打開香蕉閥門,洗衣機里的水就順著管道流出去了。斷電后,電磁閥線圈失去電流,磁場消失,電磁鐵松開,橡膠閥門自動關閉,洗衣機里的水就流不出去了。

(3).動機及傳動系統

波輪式全自動套桶洗衣機的電動機及傳動系統主要由電動機和離合器組成,離合器又有普通離合器和減速離合器兩種。其中普通離合器用在采用小波輪的套桶洗衣機上,這種洗衣機在洗滌或者漂洗時波輪的轉速和脫水時離心桶的轉速相同,目前各種大波輪新水流套桶洗衣機普遍采用減速離合器,它在洗滌,漂洗時波輪的轉速較慢,而脫水時離心桶的轉速較快。電動機同時作為洗滌和脫水時的動力源,普遍采用主,副繞組完全對稱的電容式電動機。

洗衣機的基本工作原理

洗衣機的洗滌原理是由模擬人工洗滌衣物發展而來的,即通過翻滾、摩擦、水的沖刷等機械作用以及洗滌劑的表面活化作用,將附著在衣物上的污垢除掉,以達到洗凈衣物的目的。現今,大多數的全自動洗衣機都使用以單片機為核心的控制電路來控制電動機、數碼顯示管、進水閥、排水閥及蜂鳴器的電壓輸出,使洗衣機根據程序運轉。而在設計全自動洗衣機的控制系統時,要把握好洗滌、漂洗和脫水的時間:

(1).洗滌時間

有人認為,洗滌時間越長,衣物就洗得越干凈。其實不然,如果洗滌時間超過一定的限度,衣物不但不會隨洗滌時間的延長而提高洗凈度,反而會加速衣物的磨損,還會造成能源的浪費。實驗證明,洗衣機(波輪式洗衣機)的最佳洗滌時間為5~10分鐘,最長也不應超過15分鐘。

(2).漂洗時間

在漂洗剛開始的3分鐘時間內,殘留在衣物上的表面活性劑脫落最快。此后,活性劑脫落趨緩,漂洗10分鐘后活性劑幾乎不再脫落。一般采用貯水方式漂洗,每次3分鐘,漂洗2~3次就可以了。

(3).脫水時間

電動機高速地轉動洗滌桶,水份就會由于離心力而脫離衣物被甩出去。脫水時間一般為2~3分鐘,時間太短會造成脫水不夠徹底,太長又可能會損壞衣物。

總體設計思想

首先構思系統的總體結構,根據設計要求確定好系統大致的硬件組成及其結構,其次根據系統的各個功能把軟件分為幾個不同的模塊。依次實現各個模塊的功能,最后把各個模塊組合起來已完成整個系統的功能。3.2 洗衣過程流程圖

3.3 設計流程圖

弄清系統的需求根據系統的需求設計出相應的硬件電路在確定系統硬件結構的基礎上,把軟件劃分為各個模塊調試各個模塊,并組成一個完整的系統

硬件設計

4.1 硬件設計概要

用Intel的8086作為控制芯片,配合其他接口電路及配套的芯片組成洗衣機的控制電路。主要用到8255串行通行芯片,74LS137三線八線譯碼器發出片選信號,AD0809以及DA0832模數、數模轉換芯片。用一個電位計和AD0809模擬水量信號,DA0832和LM324運放最和來控制直流電機的正反轉和停止。此外還用到了4*4掃描鍵盤作為輸入設備,兩個共陰數碼管作為顯示設備。詳情見各個芯片的介紹。

4.2 所用到的芯片及其各自功能說明 4.2.1芯片列表

8086,8284,74LS138,8255,AD0809,DA0832,74LS02,LM324 4.2.2 8086的功能簡介

Intel 8086是一個由Intel于1978年所設計的16位微處理器芯片,是x86架構的鼻祖。不久,Intel 8088就推出了,擁有一個外部的8位數據總線,允許便宜的芯片用途。它是以8080和8085(它與8080有組合語言上的原始碼兼容性)的設計為基礎,擁有類似的寄存器組,但是數據總線擴充為16位。總線界面單元(Bus Interface Unit)透過6字節預存(prefecth)的隊列(queue)喂指令給執行單元(Execution Unit),所以取指令和執行是同步的,8086 CPU有20條地址線,可直接尋址1MB的存儲空間,每一個存儲單元可以存放一個字節(8位)二進制信息。為了便于對存儲器進行存取操作,每一個存儲單元都有一個惟一的地址與之對應,其地址范圍用十進制表示為0~1048575,用十六進制表示為00000H~FFFFFH。

Intel 8086擁有四個16位的通用寄存器,也能夠當作八個8位寄存器來存取,以及四個16位索引寄存器(包含了堆棧指標)。資料寄存器通常由指令隱含地使用,針對暫存值需要復雜的寄存器配置。它提供64K 8 位元的輸出輸入(或32K 16 位元),以及固定的向量中斷。大部分的指令只能夠存取一個內存位址,所以其中一個操作數必須是一個寄存器。運算結果會儲存在操作數中的一個。

Intel 8086有四個 內存區段(segment)寄存器,可以從索引寄存器來設定。區段寄存器可以讓 CPU 利用特殊的方式存取1 MB內存。8086 把段地址左移 4 位然后把它加上偏移地址。大部分的人都認為這是一個很不好的設計,因為這樣的結果是會讓各分段有重疊。盡管這樣對組合語言而言大部分被接受(也甚至有

用),可以完全地控制分段,使在編程中使用指針(如C 編程語言)變得困難。它導致指針的高效率表示變得困難,且有可能產生兩個指向同一個地方的指針擁有不同的地址。更壞的是,這種方式產生要讓內存擴充到大于 1 MB 的困難。而 8086 的尋址方式改變讓內存擴充較有效率。

在這個系統中,8086作為整個系統的主控芯片,用來控制協調整個系統的工作。

4.2.3

8284的功能簡介

向8086CPU提供外部的基準時鐘信號,并把時鐘信號進行功率放大。

4.2.3 74LS138的功能簡介

74LS138 為3 線-8 線譯碼器,共有 54/74S138和 54/74LS138 兩種線路結構型式,其工作原理如下:

當一個選通端(E3)為高電平,另兩個選通端(E1)和/(E2))為低電平時,可將地址端(A、B、C)的二進制編碼在一個對應的輸出端以低電譯出。

利用 E1、E2和E3可級聯擴展成 24 線譯碼器;若外接一個反相器還可級聯擴展成 32 線譯碼器。

若將選通端中的一個作為數據輸入端時,74LS138還可作數據分配器,在該系統中,74LS138用來產生各芯片的片選信號。

4.2.4 8255的功能簡介

8255特性

(1)一個并行輸入/輸出的LSI芯片,多功能的I/O器件,可作為CPU總線與外圍的接口.(2)具有24個可編程設置的I/O口,即使3組8位的I/O口為PA口,PB口和PC口.它們又可分為兩組12位的I/O口,A組包括A口及C口(高4位,PC4~PC7),B組包括B口及C口(低4位,PC0~PC3).A組可設置為基本的I/O口,閃控(STROBE)的I/O閃控式,雙向I/O3種模式;B組只能設置為基本I/O或閃控式I/O兩種模式,而這些操作模式完全由控制寄存器的控制字決定.8255引腳功能

RESET:復位輸入線,當該輸入端處于高電平時,所有內部寄存器(包括控制寄存器)均被清除,所有I/O口均被置成輸入方式。

CS:芯片選擇信號線,當這個輸入引腳為低電平時,即/CS=0時,表示芯片被選中,允許8255與CPU進行通訊;/CS=1時,8255無法與CPU做數據傳輸.RD:讀信號線,當這個輸入引腳為低電平時,即/RD=0且/CS=0時,允許8255通過數據總線向CPU發送數據或狀態信息,即CPU從8255讀取信息或數據。

WR:寫入信號,當這個輸入引腳為低電平時,即/WR=0且/CS=0時,允許CPU將數據或控制字寫入8255。

D0~D7:三態雙向數據總線,8255與CPU數據傳送的通道,當CPU 執行

輸入輸出指令時,通過它實現8位數據的讀/寫操作,控制字和狀態信息也通過數據總線傳送。

PA0~PA7:端口A輸入輸出線,一個8位的數據輸出鎖存器/緩沖器,一個8位的數據輸入鎖存器。

PB0~PB7:端口B輸入輸出線,一個8位的I/O鎖存器,一個8位的輸入輸出緩沖器。

PC0~PC7:端口C輸入輸出線,一個8位的數據輸出鎖存器/緩沖器,一個8位的數據輸入緩沖器。端口C可以通過工作方式設定而分成2個4位的端口,每個4位的端口包含一個4位的鎖存器,分別與端口A和端口B配合使用,可作為控制信號輸出或狀態信號輸入端口。'

A0,A1:地址選擇線,用來選擇8255的PA口,PB口,PC口和控制寄存器.當A0=0,A1=0時,PA口被選擇;

當A0=0,A1=1時,PB口被選擇;

當A0=1,A1=0時,PC口被選擇;當A0=1.A1=1時,控制寄存器被選擇

4.2.5 AD0809的功能簡介

1、ADC0809 是8 位逐次逼近型A/D轉換器。它由一個8路模擬開關、一個地址鎖存譯碼器、一個A/D 轉換器和一個三態輸出鎖存器組成(見圖1)。多路開關可選通8個模擬通道,允許8 路模擬量分時輸入,共用A/D 轉換器進行轉換。三態輸出鎖器用于鎖存A/D 轉換完的數字量,當OE 端為高電平時,才可以從三態輸出鎖存器取走轉換完的數據。

2、AD0809 的工作原理

IN0-IN7:8 條模擬量輸入通道

ADC0809 對輸入模擬量要求:信號單極性,電壓范圍是0-5V,若信號太小,必須進行放大;輸入的模擬量在轉換過程中應該保持不變,如若模擬量變化太快,則需在輸入前增加采樣保持電路。

地址輸入和控制線:4條

ALE 為地址鎖存允許輸入線,高電平有效。當ALE線為高電平時,地址鎖存與譯碼器將A,B,C 三條地址線的地址信號進行鎖存,經譯碼后被選中的通道的模擬量進轉換器進行轉換。A,B 和C 為地址輸入線,用于選通IN0-IN7 上的一路模擬量輸入。通道選擇表如下表所示。

C B A 選擇的通道

0 0 0 IN0

0 0 1 IN1

0 1 0 IN2

0 1 1 IN3 0 0 IN4 0 1 IN5 1 0 IN6 1 1 IN7

數字量輸出及控制線:11 條

ST 為轉換啟動信號。當ST 上跳沿時,所有內部寄存器清零;下跳沿時,開始進行A/D 轉換;在轉換期間,ST 應保持低電平。EOC 為轉換結束信號。當EOC 為高電平時,表明轉換結束;否則,表明正在進行A/D 轉換。OE為輸出允許信號,用于控制三條輸出鎖存器向單片機輸出轉換得到的數據。OE=1,輸出轉換得到的數據;OE=0,輸出數據線呈高阻狀態。D7-D0 為數字量輸出線。

CLK為時鐘輸入信號線。因ADC0809的內部沒有時鐘電路,所需時鐘信號必須由外界提供,通常使用頻率為500KHZ,VREF(+),VREF(-)為參考電壓輸入。

4.2.6 DA0832芯片的功能簡介

DAC0832是8分辨率的D/A轉換集成芯片。與微處理器完全兼容。這個DA芯片以其價格低廉、接口簡單、轉換控制容易等優點,在單片機應用系統中得到廣泛的應用。D/A轉換器由8位輸入鎖存器、8位DAC寄存器、8位D/A轉換電路及轉換控制電路構成。

DAC0832的主要特性參數如下:

分辨率為8位;

電流穩定時間1us;

可單緩沖、雙緩沖或直接數字輸入;

只需在滿量程下調整其線性度;

單一電源供電(+5V~+15V);

低功耗,200mW。DAC0832結構:

D0~D7:8位數據輸入線,TTL電平,有效時間應大于90ns(否則鎖存器的數據會出錯);

ILE:數據鎖存允許控制信號輸入線,高電平有效;

CS:片選信號輸入線(選通數據鎖存器),低電平有效;

WR1:數據鎖存器寫選通輸入線,負脈沖(脈寬應大于500ns)有效。由ILE、CS、WR1的邏輯組合產生LE1,當LE1為高電平時,數據鎖存器狀態隨輸入數據線變換,LE1的負跳變時將輸入數據鎖存;

XFER:數據傳輸控制信號輸入線,低電平有效,負脈沖(脈寬應大于500ns)有效;

WR2:DAC寄存器選通輸入線,負脈沖(脈寬應大于500ns)有效。由WR1、XFER的邏輯組合產生LE2,當LE2為高電平時,DAC寄存器的輸出隨寄存器的輸入而變化,LE2的負跳變時將數據鎖存器的內容打入DAC寄存器并開始D/A轉換。

IOUT1:電流輸出端1,其值隨DAC寄存器的內容線性變化;

IOUT2:電流輸出端2,其值與IOUT1值之和為一常數;

Rfb:反饋信號輸入線,改變Rfb端外接電阻值可調整轉換滿量程精度;

Vcc:電源輸入端,Vcc的范圍為+5V~+15V;

VREF:基準電壓輸入線,VREF的范圍為-10V~+10V;

AGND:模擬信號地

DGND:數字信號地 DAC0832的工作方式:

根據對DAC0832的數據鎖存器和DAC寄存器的不同的控制方式,DAC0832有三種工作方式:直通方式、單緩沖方式和雙緩沖方式。

4.2.7 LM324芯片功能簡介

LM324系列器件為價格便宜的帶有真差動輸入的四運算放大器。與單電源應用場合的標準運算放大器相比,它們有一些顯著優點。該四放大器可以工作在低到3.0伏或者高到32伏的電源下,靜態電流為MC1741的靜態電流的五分之一。共模輸入范圍包括負電源,因而消除了在許多應用場合中采用外部偏置元件的必要性。每一組運算放大器可用圖1所示的符號來表示,它有5個引出腳,其中“+”、“-”為兩個信號輸入端,“V+”、“V-”為正、負電源端,“Vo”為輸出端。兩個信號輸入端中,Vi-(-)為反相輸入端,表示運放輸出端Vo的信號與該輸入端的位相反;Vi+(+)為同相輸入端,表示運放輸出端Vo的信號與該輸入端的相位相同。

LM324的引腳排列圖

LM324的特點: 1.短跑保護輸出 2.真差動輸入級

3.可單電源工作:3V-32V 4.低偏置電流:最大100nA 5.每封裝含四個運算放大器。6.具有內部補償的功能。7.共模范圍擴展到負電源 8.行業標準的引腳排列 9.輸入端具有靜電保護功能 4.3 硬件電路設計系統原理圖及其說明

微機總線擴展鍵盤DB譯碼電路并行接口功放電路電機驅動電路排水閘驅動電路進水閘驅動電路AB門開關定時器A/D時鐘電路水位傳感器啟動按鈕及電路IRQiDBIRQjIRQk

圖4.3-1系統總體框架。圖4.3-2系統硬件電路

軟件設計

5.1 流程圖及其說明

正傳washytpe秒并刷新數碼管開始判斷按下啟動鍵FalseTure停轉5秒秒并刷新數碼管設置洗衣方式其他反轉washtype秒秒并刷新數碼管FalseWashtype=151從鍵盤讀一個數據2Washtype=10停轉5秒秒并刷新數碼管修改顯示參數更新剩余時間設置洗衣時間設置定時洗衣時間判斷到達定時時間TureFalse判斷到達洗衣時間TureTure排水并顯示當前水量False進水打開并顯示當前水量False判斷水排干Ture判斷水滿甩干,電機加速正傳2分鐘漂洗若干次并甩干,流程同上故障 服務中斷程序有故障標志嗎?False結束,電機停轉,三分鐘開機保護14

說明:軟件可以分為10大塊,分別為主程序、鍵盤掃描子程序、參數設置子程序、延時子程序、顯示子程序、進水子程序、排水子程序、甩干子程序、停止及開機延時保護子程序組成。其中,進水、洗衣、排水為一次洗衣的三個不同狀態,由相應的子程序來控制電機的運動和進水排水。它們的關系如圖5.1-2.主程序參數設置進水洗衣排水甩干停止及開機保護鍵盤掃描延時顯示 圖5.1-2

5.2 源程序及其說明

CODE SEGMENT

ASSUME

CS:CODE

WASHTIME DW

20H

WASHTYPE DW

08H

ONTIME DW

00H

TIME DW

0

ADPORT EQU

0010H

ORG

1000H

IOCONPT EQU

0FF2BH

IOAPT EQU

0FF28H

IOBPT EQU

0FF29H

IOCPT EQU

0FF2AH

ORG

10E0H

DAPORT EQU

0020H

ORG

10A0H

MAIN PROC

;鍵盤參數設置

MOV

AL,01H

CALL

CONVERS

CALL

DISP

;顯示01,提示輸入洗衣時間

CALL

KEY

MOV

DL,10

MUL

DL

MOV

WASHTIME,AX

CALL

KEY

CBW

ADD

WASHTIME,AX

K1: MOV

AL,02

;顯示02;提示選擇洗衣方式

CALL

CONVERS

CALL

DISP

CALL

KEY

CMP

AL,2

JA

K1

CMP

AL,1

JB

K1

CMP

AL,1

JE

RUOXI

CMP

AL,2

JE

QIANGXI

RUOXI: MOV

WASHTYPE,08H

JMP

NEXT

QIANGXI: MOV

WASHTYPE,0FH

NEXT: MOV

AL,03

;顯示3,提示輸入定時時間

CALL

CONVERS

CALL

DISP

CALL

KEY

MOV

DL,10

MUL

DL

MOV

ONTIME,AX

CALL

KEY

CBW

ADD

ONTIME,AX

MOV

CX,ONTIME

LOOP

K2

K2: CALL

DELAY

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

ADD

AX,WASHTIME

ADD

AX,WASHTIME

ADD

AX,WASHTIME

MOV

TIME,AX

CALL

STEP1

;洗衣

MOV

CX,WASHTIME

LOOP

WASH

CALL

STEP3

CALL

SHUAIGAN

CALL

STEP1

;漂洗

MOV

CX,WASHTIME

LOOP

WASH

CALL

STEP3

CALL

SHUAIGAN

CALL

STEP1

;漂洗

MOV

CX,WASHTIME

LOOP

WASH

CALL

STEP3

CALL

SHUAIGAN

CALL

STOP

;洗衣完成,三分鐘啟動保護

JMP

MAIN

MAIN ENDP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;;;;;;;WASH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

WASH PROC

PUSH

AX

PUSH

BX

PUSH

CX

PUSH

DX

MOV

DX,DAPORT

DACON1: MOV

AL,0FFH

OUT

DX,AL

MOV

CX,WASHTYPE

LOOP

W1

W1: CALL

DELAY

DACON2: MOV

AL,80H

OUT

DX,AL

MOV

CX,8H

LOOP

W2

W2: CALL

DELAY

DACON3:

MOV

AL,00H

OUT

DX,AL

MOV

CX,WASHTYPE

LOOP

W3

W3: CALL

DELAY

MOV

AL,80H

OUT

DX,AL

MOV

CX,8H

LOOP

W4

W4: CALL

DELAY

DEC

TIME

MOV

AX,TIME

CALL

CONVERS

CALL

DISP

POP

DX

POP

CX

POP

BX

POP

AX

RET

WASH ENDP

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;STEP1;;;;;;;;;;;;;;;;;;;;;;;;

STEP1 PROC

;判斷水位

PUSH

AX

PUSH

BX

PUSH

CX

PUSH

DX

ADCONTORL: CALL

FORMAT

ADCON: MOV

AX,00

MOV

DX,ADPORT

OUT

DX,AL

DELAYS: LOOP

DELAYS

MOV

DX,ADPORT

MOV

DX,ADPORT

IN

AL,DX

PUSH

AX

CALL

CONVERS

CALL

DISP

POP

AX

CMP

AL,0EEH

JAE

LA

CALL

JINSHU

LA: MOV

DX,IOCONPT;水滿,關水

MOV

AL,89H

OUT

DX,AL

MOV

DX,IOCPT

IN

AL,DX

AND

AL,0FEH

PUSH

AX

MOV

DX,IOCONPT

MOV

AL,80H

OUT

DX,AL

MOV

DX,IOCPT

POP

AX

OUT

DX,AL

POP

DX

POP

CX

POP

BX

POP

AX

RET

STEP1 ENDP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;JINSHU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

JINSHU

PROC

;控制進水

PUSH

AX

PUSH

BX

PUSH

CX

PUSH

DX

MOV

DX,IOCONPT

MOV

AL,89H

OUT

DX,AL

MOV

DX,IOCPT

IN

AL,DX

OR

AL,01H

PUSH

AX

MOV

DX,IOCONPT

MOV

AL,80H

OUT

DX,AL

MOV

DX,IOCPT

POP

AX

OUT

DX,AL

POP

DX

POP

CX

POP

BX

POP

AX

JMP

ADCON

JINSHU

ENDP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;XIANSHI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

CONVERS:

;字符轉換

PUSH

AX

PUSH

BX

PUSH

CX

PUSH

DX

MOV

AH,AL

AND

AL,0FH

DISP:

DISP0:

DISP1:

MOV

BX,077AH MOV

DS:[BX],AL INC

BX MOV

AL,AH AND

AL,0F0H MOV

CL,04H SHR

AL,CL MOV

DS:[BX],AL POP

DX POP

CX POP

BX POP

AX RET

;顯示 PUSH

AX PUSH

BX PUSH

CX PUSH

DX MOV

DX,077FH MOV

AH,20H MOV

CX,00FFH MOV

BX,DX MOV

BL,DS:[BX] MOV

BH,0H PUSH

DX MOV

DX,0FF22H MOV

AL,CS:[BX+1060H] OUT

DX,AL MOV

DX,0FF21H MOV

AL,AH OUT

DX,AL LOOP

DISP1 POP

DX

DEC

DX

SHR

AH,01H

JNZ

DISP0

MOV

DX,0FF22H

MOV

AL,0FFH

OUT

DX,AL

POP

DX

POP

CX

POP

BX

POP

AX

RET

DATA1:

0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,88H,83H,0C6H,0AH

DB

86H,8EH,0FFH,0CH,89H,0DEH,0C7H,8CH,0F3H,0BFH

FORMAT:

;顯示初始化

PUSH

AX

PUSH

BX

PUSH

CX

PUSH

DX

MOV

BX,0

MOV

WORD PTR DS:[BX+077AH],0000H

ADD

BX,2

MOV

WORD PTR DS:[BX+077AH],0009H

ADD

BX,2

MOV

WORD PTR DS:[BX+077AH],0008H

POP

DX

POP

CX

POP

BX

POP

AX

RET;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;STEP3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

STEP3 PROC

;判斷水是否排干?

PUSH

AX

PUSH

BX

PUSH

CX

PUSH

DX ADCON1TORL: CALL

FORMAT

ADCON1: MOV

AX,00

MOV

DX,ADPORT

OUT

DX,AL

MOV

CX,0500H

DB

DELAYSS: LOOP

DELAYSS

MOV

DX,ADPORT

IN

AL,DX

PUSH

AX

CALL

CONVERS

CALL

DISP

POP

AX

CMP

AL,08H

JBE

LAA

CALL

PAISHU

LAA: MOV

DX,IOCONPT;排干,停止排水

MOV

AL,89H

OUT

DX,AL

MOV

DX,IOCPT

IN

AL,DX

AND

AL,0FDH

PUSH

AX

MOV

DX,IOCONPT

MOV

AL,80H

OUT

DX,AL

MOV

DX,IOCPT

POP

AX

OUT

DX,AL

POP

DX

POP

CX

POP

BX

POP

AX

RET

STEP3 ENDP

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;;;;;;;;;PAISHU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

PAISHU PROC

;控制進水

PUSH

AX

PUSH

BX

PUSH

CX

PUSH

DX

MOV

DX,IOCONPT

MOV

AL,89H

OUT

DX,AL

MOV

DX,IOCPT

IN

AL,DX

OR

AL,02H

PUSH

AX

MOV

DX,IOCONPT

MOV

AL,80H

OUT

DX,AL

MOV

DX,IOCPT

POP

AX

OUT

DX,AL

POP

DX

POP

CX

POP

BX

POP

AX

JMP

ADCON1

PAISHU ENDP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;;;;;;SHUAIGAN;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

SHUAIGAN PROC

PUSH

AX

PUSH

BX

PUSH

CX

PUSH

DX

MOV

DX,DAPORT

MOV

AL,0FFH

OUT

DX,AL

MOV

CX,80H

LOOP

SHUA1

SHUA1: CALL

DELAY

MOV

AL,80H

OUT

DX,AL

POP

DX

POP

CX

POP

BX

POP

AX

RET

SHUAIGAN ENDP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;DELAY;;;;;;;;;;;;;;;;;;;;;;;;;;

DELAY:

POP

DX

POP

CX

POP

BX

POP

AX

MOV

CX,0FFFFH

DELAY1: LOOP

DELAY1

PUSH

AX

PUSH

BX

PUSH

CX

PUSH

DX

RET;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;STOP;;;;;;;;;;;;;;;;;;;;;;;;

STOP PROC

PUSH

AX

PUSH

BX

PUSH

CX

PUSH

DX

MOV

CX,0FFFFH

LOOP

DE

DE: CALL

DELAY

POP

DX

POP

CX

POP

BX

POP

AX

RET

STOP ENDP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;鍵盤掃描;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

KEY: PUSH

AX

PUSH

BX

PUSH

CX

PUSH

DX

MOV

AL,0FFH

MOV

DX,0FF22H

OUT

DX,AL

MOV

BL,00H

MOV

AH,0FEH

MOV

CX,08H

KEY1: MOV

AL,AH

MOV

DX,0FF21H

OUT

DX,AL

SHL

AL,01H

MOV

AH,AL

NOP

NOP

NOP

NOP

NOP

NOP

MOV

DX,0FF23H

IN

AL,DX

NOT

AL

NOP

NOP

AND

AL,0FH

JNZ

KEY2

INC

BL

LOOP

KEY1

JMP

KEY

KEY2: TEST

AL,01H

JE

KEY3

MOV

AL,00H

JMP

KEY6

KEY3: TEST

AL,02H

JE

KEY4

MOV

AL,08H

JMP

KEY6

KEY4: TEST

AL,04H

JE

KEY5

MOV

AL,10H

JMP

KEY6

KEY5: TEST

AL,08H

JE

KEY

MOV

AL,18H

KEY6: ADD

AL,BL

CMP

AL,10H

JNC

FKEY

MOV

BL,AL

MOV

BH,0H

MOV

AL,BYTE PTR DS:[BX+DATA2]

POP

DX

POP

CX

POP

BX

POP

AX

FKEY: RET

DATA2: DB

07H,04H,08H,05H,09H,06H,0AH,0BH

DB

01H,00H,02H,0FH,03H,0EH,0CH,0DH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

CODE ENDS

END

MAIN 收獲、體會

在這次微機的課程設計中進一步熟悉的匯編語言的編程方法,借助現代的網絡技術,解決問題,不讓問題遺留到下一天,極大地加快的進度,也讓我們對匯編有了更深一層的認識,并且還讓我們初步領略到計算機控制的魅力,可謂一舉多得。

課程設計是我們從書本到實踐非常關鍵的一步,當代大學生動手創新能力是社會所急需的,正因如此我們應該加強對自身動手實踐能力的鍛煉。當今社會計算機科學在應用上得到飛速發展,因此,學習知識必須緊密聯系實際:掌握這方面的知識更要強調解決實際問題的能力。要著重學會面對一個實際問題,如何去自己收集資料,如何自己去學習新的知識,如何自己去制定解決問題的方案并通過實踐不斷地去分析和解決前進道路上的一切問題,最終到達勝利的彼岸。

課程設計中我們不僅培養了我們的實踐能力,也培養了我們發現問題、分析問題、解決問題的能力。在學習設計過程中我查詢了相關資料,也學習到了很多東西。感謝老師的諄諄教導和學校給我們提供了這么一次機會。

參考文獻

微型計算機技術及應用,戴梅萼,清華大學出版社

第二篇:微機原理課程設計——交通燈控制系統

設計要求:

(1)利用8253定時,8259中斷及8255輸出實現交通燈模擬控制。

(2)實現能自動控制和手動控制。(3)實現能隨時可以調整自動模式的綠燈和紅燈時間

設計目的

電子課程設計是電子技術學習中非常重要的一個環節,是將理論知識和實踐能力相統一的一個環節,是真正鍛煉學生能力的一個環節。交通燈能保證行人過馬路的安全,控制交通狀況等優點受到人們的歡迎,在很多場合得到了廣泛的應用。

交通燈是采用計算機通過編寫匯編語言程序控制的。紅燈停,綠燈行的交通規則。廣泛用于十字路口,車站, 碼頭等公共場所,成為人們出行生活中不可少的必需品,由于

計算機技術的成熟與廣泛應用,使得交通燈的功能多樣化,遠遠超過老式交通燈, 交通燈的數字化給人們生產生活帶來了極大的方便,而且大大地擴展了交通燈的功能。諸如閃爍警示、鳴笛警示,時間程序自動控制、倒計時顯示,所有這些,都是以計算機為基礎的。還可以根據主、次干道的交通狀況的不同任意設置各自的不同的通行時間。或者給紅綠色盲聲音警示的人性化設計?,F在的交通燈系統很多都增加了智能控制環節,比如對闖紅燈的車輛進行拍照。當某方向紅燈亮時,此時相應的傳感器開始工作,當有車輛通過時,照相機就把車輛拍下。

要將交通燈系統產品化,應該根據客戶不同的需求進行不同的設計,應該在程序中增加一些可以人為改變的參數,以便客戶根據不同的需要隨時調節交通燈。因此,研究交通燈及擴大其應用,有著非?,F實的意義。設計內容

交通燈控制系統

利用8253定時器、8255等接口,設計一電路,模擬十字路口交通燈控制。要求能實現自動控制和手動應急控制。

具體要求如下:

1)在一個十字路口的一條主干道和一條支干道分別裝上一套紅、綠、黃三種信號燈。

2)在一般情況下,主干道上的綠燈常亮,而支干道總是紅燈。

3)當檢測到支干道上來車時,主干道的綠燈轉為黃燈,持續4S后,又變為 紅燈,同時支干道由紅燈變為綠燈。

4)支干道綠燈亮后,或者檢測到主干道上來了三輛車,或者雖未來三輛車,但綠燈已經持續了25秒,則支干道立即變為黃燈,同時主干道由紅燈變為綠燈。設計要求

在Proteus環境下,結合課程設計題目,設計硬件原理圖,搭建硬件電路

軟件設計

1、采用模塊化程序結構設計軟件,可將整個軟件分成若干功能模塊。

2、畫出程序流程圖。

3、根據流程圖,編寫源程序。

4、在Proteus環境下,仿真調試程序 設計原理與硬件電路

要完成本實驗,首先必須了解交通路燈的亮滅規律。本實驗需要用到實驗箱上八個發光二極管中的六個,即紅、黃、綠各兩個。不妨將L1(綠)、L2(黃)、L3(紅)做為南北方向的指示燈,將L4(綠)、L5(黃)、L6(紅)做為東西方向的指示燈。而交通燈的亮滅規律為:初始態是兩個路口的紅燈全亮,之后,東西路口的綠燈亮,南北路口的紅燈亮,東西方向通車,延時一段時間后,東西路口綠燈滅,黃燈開始閃爍。閃爍若干次后,東西路口紅燈亮,而同時南北路口的綠燈亮,南北方向開始通車,延時一段時間后,南北路口的綠燈滅,黃燈開始閃爍。閃爍若干次后,再切換到東西路口方向,重復上述過程。各發光二極管的陽極通過保護電阻接到+5V的電

源上,陰極接到輸入端上,因此使其點亮應使相應輸入端為低電平。在以上的敘述基礎上,本實驗添加了東西方向S2、南北方向S3緊急切換按鈕各一個,當緊急按鈕按下時,相應方向緊急切換為綠燈,以便特種車輛通行。另外,本實驗以低電平觸發中斷申請,表示有特種車通過。

本實驗中斷處理程序的應用,最主要的地方是如何保護進入中斷前的狀態,使得中斷程序執行完畢后能回到交通燈中斷前的狀態。要保護的地方,除了累加器ACC、標志寄存器PSW外,還要注意:一是主程序中的延時程序和中斷處理程序中的延時程序不能混用,本實驗給出的程序中,主程序延時用的是

R5、R6、R7,中斷延時用的是R3、R4和新的R5。第二,主程序中每執行一步經74LS273的端口輸出數據的操作時,應先將所輸出的數據保存到一個單元中。因為進入中斷程序后也要執行往74LS273端口輸出數據的操作,中斷返回時如果沒有恢復中斷前74LS273端口鎖存器的數據,則顯示往往出錯,回不到中斷前的狀態。還要注意一點,主程序中往端口輸出數據操作要先保存再輸出,例如有如下操作:

MOV A,#0F0H(0)MOVX @R1,A(1)MOV SAVE,A(2)

程序如果正好執行到(1)時發生中斷,則轉入中斷程序,假設中斷程序返回主程序前需要執行一句MOV A,SAVE指令,由于主程序中沒有執行(2),故SAVE中的內容實際上是前一次放入的而不是(0)語句中給出的0F0H,顯示出錯,將(1)、(2)兩句順序顛倒一下則沒有問題。發生中斷時確定方向的綠燈亮10秒,然后返回中斷前的狀態。

程序及硬件系統調試情況

程序運行結果: 東西路右拐和南北路左拐綠燈點亮5秒,直通到均為紅燈 5秒后,黃燈亮3秒鐘。此時南北方向仍維持紅燈點亮。東西方向直通,為綠燈,南北 方向紅燈 黃燈再亮三秒之后,東西路左拐和南北路右拐綠燈點亮 南北方向的黃燈亮3秒鐘后,南北方向直通,延時5秒 閉合A口開關,四個路口全紅燈,表明緊急狀態。

設計總結與體會

經過這兩周的課程設計, 做關于交通燈系統設計,我認真查閱資料,學習關于這方面的知識,比如說要了解8086芯片中各個引腳的功能,怎么樣去使用8255這個可編程并行接口芯片,怎么樣使用8253來定時及輸出一定頻率的脈沖以及交通有哪些規則.在理論學習的基礎上,又下了一次苦工夫,算是明白了設計一個系統的過程;也讓我體會到要想成功地設計某個東西,光學好專業知識是不夠的,必須要系統的知識,無論在哪方面都要有個明白的概念,只有這樣才不至于在設計過程中摸不著頭腦,知道去哪些是需要查的資料,還有一點,我覺得我在芯片編程方面,特別是在初始化方面是我最大的困難,或許是我的匯編語言學得不夠好,我只

能借助參考資料,查每一條指令的作用與功能,這樣一來又鞏固了我的對匯編語言的了解.而且在設計中,把死板的課本知識變得生動有趣,激發了學習的積極性。把學過的計算機編譯原理的知識強化,能夠把課堂上學的知識通過自己設計的程序表示出來,加深了對理論知識的理解。以前對與計算機操作系統的認識是模糊的,概念上的,現在通過自己動手做實驗,從實踐上認識了操作系統是如何處理命令的,如何協調計算機內部各個部件運行,對計算機編譯原理的認識更加深刻。

第三篇:微機原理課程設計

匯編程序設計題

題目一 密碼設置模擬

該程序可以進行密碼的設置(第一次)和修改(已設置密碼)。要求輸入的密碼不顯示。題目二 計算器

編輯程序可以實現鍵盤輸入數據與運算符,進行“加減乘除”運算。(提示:先輸入數據與運算符,保存,再按照運算符選擇對應的子程序;輸入的數據是用字符表示的,需要轉換;要有良好的界面(提示信息))

題目三工作周期判斷程序

輸入年、月、日,能夠判斷當日的星期數,并進行輸出。(以校歷為依照,可設某日為起點,根據相差的天數與7的關系進行判斷)。

題目四 PC揚聲器發聲

利用8253驅動PC機內揚聲器發聲,PC結構參考相關文獻資料。題目五 樂曲播放

利用PC機內8253實現樂曲播放。題目六 按鍵選擇樂曲播放

利用按鍵選擇播放不同樂曲。(★)(自制交互界面實現按鍵選擇★★)題目七 實現閃爍文字效果 編程提示:

提示信息于屏幕中央顯示出來,用光標定位子程序將光標定位于80*25顯示方式的第8行第10列,然后輸出一條提示信息,接著調用屏幕上卷子程序上卷一行,接著再定位光標,然后顯示下一條提示信息,直到所有信息顯示完畢,對于閃爍的信息,同樣是定位光標,然后用BIOS功能調用13H來顯示閃爍信息,當BL的高位為1時,字符閃爍。mov ah,00h mov al,03h ;設置顯示方式為80*25,16色文本 int 10h 題目八

數字秒表

設計可以顯示1~60秒的無存儲功能的秒表,最小單位為毫秒。題目九

倒計時牌

設計日期倒計時牌界面,可輸入設定日期,顯示當前日期的統計天數,如奧運計時牌。題目十

數字時鐘

編程實現時鐘功能,按秒刷新,要求定位在屏幕右上角。

硬件設計題

總體要求:根據題意自行設計電路,編寫相關匯編程序。題目一

交通燈控制系統

1.利用8253定時,8259中斷及8255設計電路,實現十字路口交通燈模擬控制。2.實現能自動控制和手動應急控制。

3.實現能隨時可以調整自動模式的綠燈和紅燈時間。題目二 實現特定功能的鍵盤及LED顯示

了解鍵盤及LED顯示接口原理,設計實驗電路圖完成以下功能: 1.按1鍵顯示年; 2.按2鍵顯示月日; 3.按3鍵顯示GOOD ;

4.按4鍵數碼管由左到右字符“0”循環顯示。5.自行設計特效顯示功能。題目三

LED七段數碼管數字鐘

設計并完成LED七段數碼管數字鐘電路,數字鐘顯示格式為:HH:MM:SS。要求:具有通過鍵盤能夠調整時、分、秒的功能。題目四

閃爍燈

利用8253和LED燈相結合實現閃爍燈效果。題目五

電子鐘

利用8253定時器設計一個電子鐘,并定義一個啟動鍵。當按下該鍵時電子時鐘從當前設定值開始走時。

附錄:實驗箱功能模塊電路圖

第四篇:微機原理課程設計

《微機原理》課程設計報告

間 學 院 專業班級 姓 名 學 號 合 作 者

指導教師

成 績

2013 年 11 月

摘要

本文針對可燃氣體檢測模塊MQ—K1,綜合運用《微機原理》所學知識,選擇合適的芯片,如微處理器8086、存儲器、可編程并行接口芯片8255、A/D轉換芯片ADC0809,LED顯示芯片8279以及其它輔助芯片等,設計合理的硬件系統,實現可燃氣體濃度的測量與檢測結果的顯示,設定閾值,超過閾值后報警,并對設計出的硬件系統運用匯編語言完成全部軟件系統設計及調試。

關鍵詞:可燃氣體傳感器、LED數碼管顯示、LCD液晶模塊、語音報警

Abstract In this paper, combustible gas detection module MQ-K1, integrated use of “Computer Architecture” the knowledge, choosing the right chip, such as the 8086 microprocessor, memory, programmable parallel interface chip 8255, A / D conversion chip ADC0809, LED display chip 8279 as well as other auxiliary chips, designed hardware system, combustible gas concentration measurement and test results show that the set threshold, exceeds the threshold alarms, and design the hardware system using assembly language software system design and complete all debugging.Keywords: combustible gas sensor, LED digital display, LCD liquid crystal module, voice alarm

目錄

摘要.........................................................................................................................................................1 Abstract............................................................................................................................................................1 1實驗目的......................................................................................................................................................3 2實驗內容......................................................................................................................................................3 3實驗設備......................................................................................................................................................3 4實驗原理......................................................................................................................................................3

4.1系統概述...........................................................................................................................................3 4.2硬件介紹...........................................................................................................................................4 4.3可燃氣體傳感器.............................................................................................................................6 4.4 LCD顯示....................................................................................................錯誤!未定義書簽。4.5語音錄放模塊.................................................................................................................................9 5設計思路....................................................................................................................................................10 5.1數碼管顯示....................................................................................................................................10 5.2 LCD顯示.......................................................................................................................................10 5.3語音報警.........................................................................................................................................10 6實驗測試步驟............................................................................................................................................11 7程序流程....................................................................................................................................................12 8實驗程序....................................................................................................................................................15 8.1數碼管顯示....................................................................................................................................15 8.2 LCD顯示..................................................................................................1錯誤!未定義書簽。8.3數碼管,LCD顯示,語音報警最終程序.................................................................................19 9實驗現象及說明........................................................................................................................................26 10實驗結論..................................................................................................................................................28 11承擔的主要任務......................................................................................................................................28 12結論及設計心得與體會.........................................................................................................................28

1、實驗目的

掌握可燃氣體傳感器的工作原理和測量電路。通過采集氣體的濃度,經過模擬量轉換為數字量,即A/D轉換,AD0809采樣輸出電壓值并在數碼管上顯示,并改進程序,使在液晶屏上顯示可燃氣體傳感器檢測結果轉換的電壓值,并設定閾值,超過閾值后報警。對所設計的硬件系統運用匯編語言完成全部軟件系統設計及調試。

2、實驗內容

用打火機靠近可燃氣體傳感器并噴射少量氣體,AD0809采樣輸出電壓值并顯示。并改進程序,使在液晶屏上顯示可燃氣體傳感器檢測結果轉換的電壓值。設定閾值,超過閾值后報警。對所設計的硬件系統運用匯編語言完成全部軟件系統設計及調試。

3、實驗設備

3.1 EL-MUT-III實驗箱 3.2 8086CPU板

3.3 霍爾、氣體傳感器模塊 3.4 交叉串口線 3.5 E-LAB-AUDIO-ISD1700

4、實驗原理

4.1系統概述

1、微處理器:8086

2、時鐘頻率:6MHz

3、存儲器

6264 系統RAM,地址范圍 0~3FFFH,奇地址有效 6264 系統RAM,地址范圍0~3FFFH,偶地址有效 27C64 系統ROM,地址范圍 FFFFF~FC000H,奇地址有效 27C256 系統ROM,地址范圍 FFFFF~FC000H,偶地址有效

4、系統資源分配

本系統采用可編程邏輯器件(CPLD)EPM7128 做地址的編譯碼工作,可通過芯片的JTAG 接口與PC機相連,對芯片進行編程。此單元也分兩部分:一部分為系統CPLD,完成系統器件,如監控程序存儲器、用戶程序存儲器、數據存儲 器、系統顯示控制器、系統串行通訊控制器等的地址譯碼功能,同時也由部分地址單元經譯碼后輸出(插孔CS0—CS5)給用戶使用,其地址固定,用戶不可改變。另一部分為用戶CPLD,它完全對用戶開放,用戶可在一定的地址范圍內,進行編譯碼,輸出為插孔LCS0—LCS7,注意,用戶的地址不能與系統相沖突,否則將導致錯誤。1)地址分配

CS0 片選信號,地址04A0~04AF 偶地址有效 CS1 片選信號,地址04B0~04BF 偶地址有效 CS2 片選信號,地址04C0~04CF 偶地址有效 CS3 片選信號,地址04D0~04DF 偶地址有效 CS4 片選信號,地址04E0~04EF 偶地址有效 CS5 片選信號,地址04F0~04FF 偶地址有效 CS6 片選信號,地址0000~01FF 偶地址有效 CS7 片選信號,地址0200~03FF 偶地址有效 8250 片選地址:0480~048F,偶地址有效 8279 片選地址:0490~049F,偶地址有效 2)硬件實驗說明

所有實驗程序的起始地址為01100H,CS=0100H,IP=0100H,代碼段、數據段、堆棧段在同一個64K的地址空間中。4.2硬件介紹

4.2.1整機介紹

EL-MUT-III 型微機教學實驗系統由電源、系統板、CPU 板、可擴展的實驗模板、微機串口通訊線、JTAG通訊線及通用連接線組成。

圖1 系統板結構 4.2.3硬件資源

1.可編程并口接口芯片8255 一片。

2.串行接口兩個:8250 芯片一個,系統與主機通訊用,用戶不可用。單片機的串行口,可供用戶使用。

3.鍵盤、LED 顯示芯片8279 一片,其地址已被系統固定為CFE8H、CFE9H。硬件系統要求編碼掃描顯示。

4.六位LED 數碼管顯示。

5.ADC0809 A/D 轉換芯片一片,其地址、通道1—8 輸入對用戶開放。6.DAC0832 D/A 轉換芯片一片,其地址對用戶開放,模擬輸出可調 7.8 位簡單輸入接口74LS244 一個,8 位簡單輸出接口74LS273 一個,其地址對用戶開放。

8.配有8 個邏輯電平開關,8 個發光二極管顯示電路。9.配有一個可手動產生正、負脈沖的單脈沖發生器

10.配有一個可自動產生正、負脈沖的脈沖發生器,按基頻6.0MHz 進行1 分頻(CLK0)、二分頻(CLK1)、四分頻(CLK2)、八分頻(CLK3)、十六分頻(CLK4)輸出方波。

11.配有一路0—5V 連續可調模擬量輸出(AN0)。

12.配有可編程定時器8253 一個,其地址、三個定時器的門控輸入、控制輸出均對用戶開放。

13.配有可編程中斷控制器8259 一個,其中斷IRQ 輸入、控制輸出均對用戶開放。

14.2組總線擴展接口,最多可擴展2 塊應用實驗板。

15.配有兩塊可編程器件EPM7064,一塊被系統占用。另一塊供用戶實驗用。兩塊器件皆可通過JTAG接口在線編程。使用十分方便。

16.靈活的電源接口:配有PC 機電源插座,可與PC 電源直接接駁。另還配有外接開關電源,提供所需的+5V,±12V,其輸入為220V 的交流電。4.3可燃氣體傳感器

MQ—K1可燃氣體傳感器主要用于檢測空氣中CO、CH4、H2等可燃氣體的濃度,其原理為傳感器的內部阻抗隨可燃氣體的濃度而變化。MQ—K1的測量范圍為100—10000PPM(PPM為體積比例,表示百萬分之一),工作環境的溫度:-10℃~45℃,濕度≤95%。其引腳及電學參數如下: 可燃氣體傳感器的工作原理見模塊說明,其測量電路如下圖所示:

圖2 可燃氣體傳感器測量電路 腳、5腳用于加熱,1、3腳和4、6腳接測量電路,RL為負載電阻。

表1-可燃氣體傳感器標準工作條件

傳感器在1000ppm的CH4中的阻抗用R0表示,在各種環境中的動態阻抗用Rs表示。在潔凈的空氣中Rs/ R0=5,在其它環境中如下表所示:

表2-在各種環境中的阻抗用R0與動態阻抗Rs 的關系

可燃氣體傳感器電路如下所示:

圖3 可燃氣體傳感器電路

R2(SEN.)用于改變負載電阻的大小,R6(ZERO)用于零位調節,R12(ALARM)用于設置報警電壓,VOUT為模擬輸出,DOUT為數字輸出。

使用前,應先對MQ—K1通電預熱3—5分鐘,以使輸出穩定。在潔凈的空氣中,通過采樣VOUT電壓,求出R0;在有可燃氣體的環境中,通過采樣VOUT電壓,求出Rs;用Rs/R0的比值確定空氣中可燃氣體的濃度。4.4 LCD顯示

點陣式LCD顯示電路是在系統板上外掛電正式液晶顯示模塊,模塊的數據線、狀態、控制線都通過插孔引出。可直接與系統相連。4.4.1 OCMJ2×8液晶模塊介紹及使用說明

OCMJ中文模塊系列液晶顯示器內含 GB 2312 16*16點陣國標一級簡體漢字和 ASCII8*8(半高)及8*16(全高)點陣英文字庫,用戶輸入區位碼或 ASCII 碼即可實現文本顯示。也可用作一般的點陣圖形顯示器之用。提供位點陣和字節點陣兩種圖形顯示功能,用戶可在指定的屏幕位置上以點為單位或以字節為單位

進行圖形顯示。完全兼容一般的點陣模塊。OCMJ中文模塊系列液晶顯示器可以實現漢字、ASCII 碼、點陣圖形和變化曲線的同屏顯示,并可通過字節點陣圖形方式造字。本系列模塊具有上/下/左/右移動當前顯示屏幕及清除屏幕的命令。OCMJ 中文模塊所有的設置初始化工作都是在上電時自動完成的,實現了“即插即用”。同時保留了一條專用的復位線供用戶選擇使用,可對工作中的模塊進行軟件或硬件強制復位。規劃整齊的10個用戶接口命令代碼,非常容易記憶。標準用戶硬件接口采用REQ/BUSY 握手協議,簡單可靠。4.4.2硬件接口 接口協議為請求/應答(REQ/BUSY)握手方式。應答BUSY 高電平(BUSY =1)表示 OCMJ 忙于內部處理,不能接收用戶命令;BUSY 低電平(BUSY =0)表示 OCMJ 空閑,等待接收用戶命令。發送命令到 OCMJ 可在BUSY =0 后的任意時刻開始,先把用戶命令的當前字節放到數據線上,接著發高電平REQ 信號(REQ =1)通知OCMJ請求處理當前數據線上的命令或數據。OCMJ模塊在收到外部的REQ高電平信號后立即讀取數據線上的命令或數據,同時將應答線BUSY變為高電平,表明模塊已收到數據并正在忙于對此數據的內部處理,此時,用戶對模塊的寫操作已經完成,用戶可以撤消數據線上的信號并可作模塊顯示以外的其它工作,也可不斷地查詢應答線BUSY是否為低(BUSY =0?),如果BUSY =0,表明模塊對用戶的寫操作已經執行完畢??梢栽偎拖乱粋€數據。如向模塊發出一個完整的顯示漢字的命令,包括坐標及漢字代碼在內共需5個字節,模塊在接收到最后一個字節后才開始執行整個命令的內部操作,因此,最后一個字節的應答BUSY 高電平(BUSY =1)持續時間較長,具體的時序圖和時間參數說明查閱相關手冊。

4.2.3用戶命令

用戶通過用戶命令調用OCMJ系列液晶顯示器的各種功能。命令分為操作碼及操作數兩部分,操作數為十六進制。共分為3類10條,分別是:

一)、字符顯示命令:

1、顯示國標漢字;

2、顯示8X8 ASCII字符;

3、顯示8X16ASCII字符;

二)、圖形顯示命令:

4、顯示位點陣;

5、顯示字節點陣;

三)、屏幕控制命令:

6、清屏;

7、上移;

8、下移;

9、左移;

10、右移;(1)顯示國標漢字

命令格式: F0 XX YY QQ WW。該命令為5字節命令(最大執行時間為1.2毫秒,Ts2=1.2mS),其中 XX為以漢字為單位的屏幕行坐標值,取值范圍00到07、02到09、00到09。YY為以漢字為單位的屏幕列坐標值,取值范圍00到01、00到03、00到04。QQ WW為坐標位置上要顯示的GB 2312 漢字區位碼。

(2)顯示8X8 ASCII字符

命令格式:F1 XX YY AS。該命令為4字節命令(最大執行時間為0.8毫秒,Ts2=0.8mS),其中 XX為以ASCII碼為單位的屏幕行坐標值,取值范圍00到0F、04到13、00到13。YY為以ASCII碼為單位的屏幕列坐標值,取值范圍00到1F、00到3F、00到4F。AS坐標位置上要顯示的ASCII 字符碼。(3)顯示8X16 ASCII字符

命令格式:F9 XX YY AS。該命令為4字節命令(最大執行時間為1.0毫秒,Ts2=1.0mS),其中 XX為以ASCII碼為單位的屏幕行坐標值,取值范圍00到0F、04到13、00到13。YY為以ASCII碼為單位的屏幕列坐標值,取值范圍00到1F、00到3F、00到4F。AS坐標位置上要顯示的ASCII 字符碼。

(4)清屏

命令格式:F4。該命令為單字節命令(最大執行時間為11毫秒,Ts2=11mS),其功能為將屏幕清空。4.5語音錄放模塊

語音錄放模塊由單片語音錄放芯片ISD2560 及其外圍電路組成。4.5.1 SD2560 芯片介紹

ISD2560 是美國ISD 公司推出的ISD2500 系列語音芯片的一種。ISD2500 系列芯片按錄放時間60 秒、75 秒、90 秒和120 秒分成ISD2560、2575、2590 和25120 四個品種。ISD2560 芯片具有抗斷電、音質好,使用方便等優點,它使用單一的+5V 供電,錄音部分有自動增益控制電路,錄音的采樣頻率可達8KHz。ISD2560 片內有容量為480K 字節的E2PROM,所以錄放時間長,可重復錄制100000 次且可保持100 年不變。此外ISD2560 芯片支持分段錄音和分段播放,有10 個地址輸入端,尋址能力可達1024 位,最多能分600 段。芯片設有OVF(溢出)端,便于多個器件級聯。4.5.2 模塊電路原理圖

本電路中ISD2560采用按鈕控制操作方式,A9、A8、A6接VCC,A1—A5、A7均接GND,A0由CA0插孔引出,用于控制是否進入檢索模式。ISD2560的音頻輸出端SP+、SP-經過音頻功放LM386驅動喇叭。電位器R8(對應于模塊上VOLUME電位器)用于調節喇叭的增益。4.5.3 模塊的基本測試方法

1、模塊上P/-R、PD、CA0插孔分別接至實驗箱的K1、K2、K3,EOM接實驗箱指示燈L1,CE接單脈沖P-。

2、將K1、K3撥至低電平,K2先高后低。按一下單脈沖P-,L1應熄滅。此時對這麥克風說一段話,然后再按P-,此時L1應被點亮,錄音完成。

3、將K1 撥至高電平,K3 撥至低電平,K2 先高后低。按一下單脈沖P-,L1 應熄滅,此時可以聽到剛才錄的語音片斷。播放完成后,L1 應被點亮。

圖4 語音模塊電路

5、設計思路

5.1數碼管顯示

通過可燃氣體傳感器,在有可燃氣體的環境中,通過采樣VOUT電壓,將測試結果通過AD0809采樣輸出電壓,A D轉換,并通過8279顯示電路使數碼管顯示相應的轉換結果。5.2 LCD顯示

通過可燃氣體傳感器,在有可燃氣體的環境中,通過采樣VOUT電壓,將測試結果通過AD0809采樣輸出電壓,A D轉換,并通過LCD液晶屏顯示相應的轉換結果。5.3 語音報警

通過調節相應的滑阻設置閾值,當電路正常運行時,在可燃氣體模塊電路的Dout輸出端就會有相應的開關量的輸出。語音模塊提前錄好音,當可燃氣體濃度超過閾值時,利用Dout輸出量控制語音模塊輸出,即可實現語音報警。

6、實驗測試步驟

6.1 數碼管顯示

1、實驗連線:VOUT接A/D模塊的ADIN0,CS0809選擇CS3。

2、調節ZERO電位器,將VZERO調為0。將SEN.電位器調到最小,即VOUT輸出最小。調節ALARM電位器,將VALARM調到2V。

3、運行實驗程序,用打火機靠近可燃氣體傳感器并噴射少量氣體,觀察數碼管顯示的變化。6.2 LCD顯示 1、8255 的PA0~PA7接A/D PORT單元的DB0~DB7;2、8255 的PC7接A/D PORT單元的BUSY;3、8255 的PC0接A/D PORT單元的REQ;4、8255CS接CS0;

5、運行實驗程序,觀察液晶的顯示狀態。6.3 語音報警

1、實驗箱上CS244 接到片選CS2。

2、實驗箱上CS273 接到片選CS1。

3、實驗箱上244 的輸入IN0—IN1 接到實驗箱上撥碼開關的輸出k7 和k8。

4、實驗箱上273 的輸出O0—O1 到ISD1700 語音模塊上的REC 和PLAY。

7、程序流程

7.1數碼管顯示

7.2 LCD顯示

圖5 數碼管顯示程序流程圖

圖6 LCD液晶屏顯示程序流程圖

7.3最終程序流程圖

開始LCD初始化BUSY為0?Y數據輸出“檢測結果”REQ置位NNBUSY為1?YREQ復位N數據讀完?Y開始AD轉換延時讀入轉換數據讀入開關量開關量取反輸出至語音模塊所讀數據低八位賦給BX將BX中數據取高四位數碼管顯示將BX中數據取高四位LCD顯示將BX中數據取低四位數碼管顯示將BX中數據取低四位LCD顯示延時

8、實驗程序 8.1數碼管顯示

CON8279 EQU

0492H

;賦值偽指令給8279控制口地址賦予一個名字

DAT8279 EQU

0490H

;賦值偽指令給8279數據口地址賦予一個名字 CS0809 EQU

04D0H ;賦值偽指令給AD0809通道0控制口地址賦予一個名字

ASSUME CS:CODE

;將CS設置為存放CODE的段地址 CODE SEGMENT

PUBLIC

;PUBLIC,組合類型,邏輯段有相同的段名,集中為一個邏輯段裝入內存

ORG

100H

;利用ORG偽指令使程序的起始地址為01100H,CS=0100H,IP=0100H

START: JMP

START1

;JMP無條件轉移指令 START1: MOV DX,CS0809

;將CS0809放入DX寄存器中

MOV AX,34H

;任意給一個控制字,啟動AD轉換

OUT

DX,AX

;AD0809開始轉換

WAIT:

MOV CX,0010H

;延時,等待AD轉換結束 WAIT1: NOP

NOP

LOOP WAIT1

;CX不為0時轉移

MOV

DX,CS0809

IN

AX,DX

;讀入AD轉換結果到CS0809

AND

AX,0FFH

;保留AX寄存器數據的低八位,高八位清零

MOV

BX,AX

;將AX寄存器數據傳送到BX寄存器

NOP

;空操作

DISP:

MOV

DI,OFFSET SEGCOD;取SEGCOD的偏移地址放入變址寄存器DI

MOV

AX,08H

;8279控制字,左端入口,16個字符顯示

MOV

DX,CON8279

OUT

DX, AX

;輸出8279控制字到CON8279

MOV

AX, 90H ;8279控制字,寫顯示RAM 0000B內容,地址自加1

MOV

DX, CON8279

OUT

DX, AX

;輸出8279控制字到CON8279

MOV

PUSH

AND

MOV

SHR

ADD 據相加

MOV AL寄存器

MOV

OUT

NOP

NOP

MOV 器DI

POP

AND

ADD 數據相加

MOV 到AL寄存器

MOV

OUT DX, DAT8279 ;將DAT8279放入DX BX

;將BX寄存器的數據壓入堆棧,保護現場 BX,0F0H

;取BX寄存器數據的高四位

CL,4

;CL寄存器存放移位次數 BX,CL

;邏輯右移4位

DI,BX

;將DI中SEGCOD的偏移地址值與BX中數 AL,CS:[DI]

;將段地址為CS,偏移地址為DI的數據送到 AH,0

;AX寄存器的高八位置零

DX,AX

;將AX寄存器的數據輸出到DAT8279端口

DI,OFFSET SEGCOD;取SEGCOD的偏移地址放入變址寄存

BX

;出棧,恢復現場

BX,0FH

;取BX寄存器數據的低4位

DI,BX

;將DI中SEGCOD的偏移地址值與BX中

AL,CS:[DI]

;將段地址為CS,偏移地址為DI的數據送

AH,0

;將AH寄存器置零

DX,AX

;將AX寄存器的數據輸出到DAT8279端口

DELAY: MOV

CX, 2A00H

;延時

DELAY1: NOP

NOP

LOOP

DELAY1

;循環2A00H次

JMP

START1

;返回重新采集和轉換數據并顯示

SEGCOD DB

3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H

;空指令

;七段共陰數碼管顯示編碼,分別對應著0123456789ABCDEF CODE ENDS

;代碼段結束 END

START

;源程序結束

8.2 LCD顯示

;=;液晶顯示

;CS0接CS8255,DB0-DB7接PA0-PA7,BUSY接PC7,REQ接PC0

;CS0片選信號,地址04A0-04AF,偶地址有效

ASSUME

CS:CODE

;將CS設置為存放CODE的段地址 CODE SEGMENT

PUBLIC

;PUBLIC,組合類型,邏輯段有相同的段名,集中成為一個邏輯段裝入內存

ORG

100H

;ORG設置指令存儲起始地址;= START: MOV DX, 04A6H

;將控制端口地址放入DX

MOV AX, 88H

;88H為工作方式選擇控制字,A口方式0輸出,PC7~PC4輸入,B口方式0輸出,PC3~PC0輸出

OUT

DX, AX

MOV AX, 70H

OUT

DX, AX

;向控制端口發送工作方式選擇控制字

;70H為C口按位置位/復位控制字,PC0復位 ;向控制端口發送C口按位置位/復位控制字

MOV AL, 0F4H

;LCD顯示清屏

CALL COMD

;過程調用指令,調用過程COMD CALL DELAY

;過程調用指令,調用過程DELAY START1: MOV SI,OFFSET[TABLE] ;將TABLE的偏移地址送到SI寄存器

MOV CX, 4

;循環次數設定

WR1:

MOV DX, 04A4H

;WR1檢查BUSY信號是否為零,將C數據端口地址放入DX

IN

AX, DX

;讀入數據

AND

AX, 80H

;保留PC7的輸出數據,即busy

JNZ

WR1

;ZF零標志位,ZF非零轉移到WR1

MOV

AL, [SI]

;將地址在SI寄存器的數據送到AL

CALL

COMD

;調用過程COMD

INC

SI

;將TABLE的偏移地址緩沖區指針加1

LOOP

WR1

;CX寄存器的內容不為零,則循環WR1

CALL

DELAY

;調用過程DELAY OK:

JMP

START1

;無條件轉移到START1;= DELAY: MOV

CX,1000H

;將1000H送入CX寄存器 DLYB: LOOP

DLYB

RET

;過程返回指令,回到原來調用過程的地方;= COMD: MOV

DX, 04A0H

;將A數據端口地址放入DX

OUT

DX, AL

;將相應數據輸出

;將控制端口地址放入DX

MOV

DX, 04A6H

MOV

AX, 71H

;71H為C口按位置位/復位控制字,PC0置位

OUT

DX, AX

MON:

MOV

DX, 04A4H

;MON檢查BUSY信號是否為零,將C數據端口地址放入DX

IN

AX, DX

;讀入數據

;向控制端口發送C口按位置位/復位控制字

AND

AX, 80H

;保留PC7的輸出數據,即busy

JZ

MON

;ZF零標志位,ZF非零轉移到MON

MOV

DX, 04A6H

;將控制端口地址放入DX

MOV

AX, 70H

;70H為C口按位置位/復位控制字,PC0復位

OUT

DX ,AX

;向控制端口發送C口按位置位/復位控制字

RET

;過程返回指令,回到原來調用過程的地方;= TABLE: DB

0F9H,00D,00D,31H

;在此處輸入要顯示漢字的命令代碼 CODE ENDS

;代碼段結束 END

START

8.3 數碼管,LCD顯示,語音報警最終程序

CON8279 EQU

0492H

;賦值偽指令給8279控制口地址賦予一個名字 DAT8279 EQU

0490H

;賦值偽指令給8279數據口地址賦予一個名字 CS0809

EQU

04D0H

;賦值偽指令給AD0809通道0控制口地址賦予一個名字

ASSUME

CS:CODE

;將CS設置為存放CODE的段地址

CODE SEGMENT PUBLIC ;PUBLIC,組合類型,邏輯段有相同的段名,集中為一個邏輯段裝入內存

ORG

100H ;利用ORG偽指令使程序的起始地址為01100H,CS=0100H,IP=0100H START: MOV DX, 04A6H

;將控制端口地址放入DX

MOV AX, 88H

;88H為工作方式選擇控制字,A口方式0輸

;源程序結束

出,PC7~PC4輸入,B口方式0輸出,PC3~PC0輸出

OUT

DX, AX

;向控制端口發送工作方式選擇控制字

MOV AX, 70H

;70H為C口按位置位/復位控制字,PC0復位

OUT

DX, AX

;向控制端口發送C口按位置位/復位控制字 MOV AL, 0F4H

;LCD顯示清屏

CALL COMD

;過程調用指令,調用過程COMD

CALL DELAY

;過程調用指令,調用過程DELAY

MOV

CX, 25

;循環次數設定

MOV

SI,OFFSET JCJG ;將JCJG的偏移地址送到SI寄存器

JCJG1: MOV

DX, 04A4H

;JCJG1檢查BUSY信號是否為零,將C數據端口地址放入DX IN

AX, DX

;讀入數據

AND

AX, 80H

;保留PC7的輸出數據,即busy信號

JNZ

JCJG1

MOV

AL, [SI]

CALL

COMD

INC

SI

LOOP

JCJG1

CALL

DELAY

JMP

START1

START1: MOV

DX, CS0809 MOV

AX, 34H

OUT

DX, AX

WAIT:

MOV

CX, 0010H

WAIT1: NOP

NOP

LOOP

WAIT1

MOV

DX, CS0809

IN

AX, DX

AND

AX, 0FFH

MOV

BX, AX

NOP

;ZF零標志位,ZF非零轉移到JCJG1

;將地址在SI寄存器的數據送到AL ;調用過程COMD

;將JCJG的偏移地址緩沖區指針加1

;CX寄存器的內容不為零,則循環JCJG1 ;調用過程DELAY

;無條件轉移到START1

;將CS0809放入DX寄存器中

;任意給一個控制字

;AD0809開始轉換

;延時,等待AD轉換結束

;CX不為0時轉移

;讀入AD轉換結果到CS0809

保留AX寄存器數據的低八位,高八位清零

;將AX寄存器數據傳送到BX寄存器

;空操作

; yy:

MOV

DX,04C0H

;74LS244地址

IN

AL,DX

;讀輸入開關量

NOT

AL

;將AL內容取反

MOV

DX,04B0H

;74LS273地址

OUT

DX,AL

;輸出值語音模塊

DISP:

MOV

DI, OFFSET SEGCOD;取SEGCOD的偏移地址放入變址寄存器DI

MOV

MOV

OUT

MOV

地址自加1

MOV

OUT

MOV

PUSH 場

AND

MOV

SHR

ADD

中數據相加

MOV

據送到AL寄存器

AX, 08H

;8279控制字,左端入口,16個字符顯示 DX, CON8279

DX, AX

; 輸出8279控制字到CON8279 AX, 90H

;8279控制字,寫顯示RAM 0000B內容,DX, CON8279

DX, AX

;輸出8279控制字到CON8279 DX, DAT8279 ;將DAT8279放入DX BX

;將BX寄存器的數據壓入堆棧,保護現 BX,0F0H

;取BX寄存器數據的高四位 CL,4

;CL寄存器存放移位次數

BX,CL

;邏輯右移4位

DI,BX

;將DI中SEGCOD的偏移地址值與BXAL,CS:[DI]

;將段地址為CS,偏移地址為DI的數

MOV

AH,0

;AX寄存器的高八位置零

OUT

DX,AX

;將AX寄存器的數據輸出到DAT8279端口

NOP

NOP WR1:

MOV

DX, 04A4H

;WR1檢查BUSY信號是否為零,將C數據端口地址放入DX

IN

AX, DX

;讀入數據

AND

AX, 80H

;保留PC7的輸出數據,即busy

JNZ

WR1

;ZF零標志位,ZF非零轉移到WR1 MOV

AL, 0F9H

;顯示8X16ASCII字符命令

CALL

COMD

;調用過程COMD

;輸入列信息

MOV

AL, 0AH

CALL

COMD

;調用過程COMD

MOV

AL, 00H

;輸入行信息

MOV

SI,OFFSET SEGCOD2 ;取SEGCOD2的偏移地址放

CALL

COMD

;調用過程COMD 入變址寄存器SI

ADD

SI, BX

;將SI中SEGCOD2的偏移地址值與BX中數據相加

MOV

AL, [SI]

;將地址在SI寄存器的數據送到AL

CALL

COMD

;調用過程COMD

MOV

DX, DAT8279 ;將DAT8279放入DX寄存器中

MOV

DI,OFFSET SEGCOD;取SEGCOD的偏移地址放入變址寄存器DI

POP

BX

;出棧,恢復現場

AND

BX,0FH

;取BX寄存器數據的低4位

ADD

DI,BX

;將DI中SEGCOD的偏移地址值與BX中數據相加

MOV

AL,CS:[DI]

;將段地址為CS,偏移地址為DI的數據送到AL寄存器

MOV

AH,0

;將AH寄存器置零

OUT

DX,AX

;將AX寄存器的數據輸出到DAT8279端口

WR2:

MOV

DX, 04A4H

;WR2檢查BUSY信號是否為零,將C數據端口地址放入DX

IN

AX, DX

;讀入數據

AND

AX, 80H

;保留PC7的輸出數據,即busy

JNZ

WR2

;ZF零標志位,ZF非零轉移到WR2

MOV

AL, 0F9H ;顯示8X16ASCII字符命令

CALL

COMD

;調用過程COMD

MOV

AL, 0BH

;輸入列信息

CALL

COMD

;調用過程COMD

MOV

AL, 00H

;輸入行信息

CALL

COMD

;調用過程COMD

MOV

SI,OFFSET SEGCOD2;將SEGCOD2的偏移地址送到SI寄存器

ADD

SI, BX

;將SI中SEGCOD的偏移地址值與BX中數據相加

CALL

COMD

;調用過程COMD CALL

DELAY

;調用過程DELAY

DELAY0:

MOV

CX, 2A00H

;延時 DELAY1:

NOP;空指令

NOP

LOOP

DELAY1

;循環2A00H次

OK:

JMP

START1

;返回重新采集和轉換數據并顯示;= DELAY:

MOV

CX,1000H

;將1000H送入CX寄存器 DLYB:

LOOP

DLYB

RET

;過程返回指令,回到原來調用過程的地方

;= COMD:

MOV

DX, 04A0H ;將A數據端口地址放入DX

OUT

DX, AL

;將相應數據輸出

MOV

AL, [SI]

;將偏移地址為SI的數據送到AL寄存

MOV

DX, 04A6H

;將控制端口地址放入DX

MOV

AX, 71H

;71H為C口按位置位/復位控制字,PC0置位

OUT

DX, AX 制字

;向控制端口發送C口按位置位/復位控

MON:

MOV

DX, 04A4H

;MON檢查BUSY信號是否為零,將C數據端口地址放入DX

IN

AX, DX

;讀入數據

AND

AX, 80H

;保留PC7的輸出數據,即busy

JZ

MON

;ZF零標志位,ZF非零轉移到MON

MOV

DX, 04A6H

;將控制端口地址放入DX

MOV

AX, 70H

;70H為C口按位置位/復位控制字,PC0復 位

OUT

DX ,AX

;向控制端口發送C口按位置位/復位控制字

RET

;過程返回指令,回到原來調用過程的地方

;= SEGCOD

DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H ;七段共陰數碼管顯示編碼,分別對應著0123456789ABCDEF

SEGCOD2 DB 30H,31H,32H,33H,34H,35H,36H,37H,38H,39H,41H,42H,43H,44H,45H,46H ;0123456789ABCDEF的ASCII碼 JCJG

DB 0F0H,00D,00D,28D,76D,0F0H,01H,00H,18D,66D,0F0H,02H,00H,29D,65D,0F0H,03H,00H,25D,91D,0F9H,08H,00H,3AH;顯示“檢測結果:”

CODE ENDS

;代碼段結束 END

START

;源程序結束

9實驗現象及說明 9.1 運行數碼管顯示程序

實驗現象:

將打火機靠近氣體傳感器,數碼管會顯示相應AD轉換結果

當氣體濃度超過閾值時,LED燈會亮。

9.2 運行LCD顯示程序 實驗現象:

將打火機靠近氣體傳感器,液晶屏會顯示相應AD轉換結果

9.3 運行數碼管,LCD顯示,語音報警程序

實驗現象:

將打火機靠近氣體傳感器,數碼管,LCD會顯示相應AD轉換結果,當氣體濃度超過閾值時,LED燈會亮,語音報警模塊會報警。10實驗結論

在完成對已有程序的解讀,通過可燃氣體傳感器檢測氣體濃度,并在數碼管上顯示氣體濃度轉換為的電壓值后,我們改進了程序,使其在LCD液晶屏上顯示氣體濃度轉換為的電壓值,最后進一步改進,使氣體濃度轉換為的電壓值可以同時在數碼管和LCD液晶屏上顯示,最后我們加入了語音報警模塊,當檢測值超過閾值后,會有相應的報警。

11承擔的主要任務

在氣體傳感器模塊微機原理課程設計中,我主要進行小組內成員的分工,課程設計進度的調整。以及對氣體檢測模塊相關程序的解讀,對已有程序的修改和程序的調試。

12結論及設計心得與體會

通過對氣體傳感器模塊的相應功能的實現,我更深入的了解了微機原理課程的相關知識。通過親身實踐,對匯編語言有了更深入的理解。鞏固了上學期學習的微機原理基本知識,當然還認識到自己還有很多不足,比如對匯編語言的理解還比較淺顯,有些細節還沒有引起自己足夠的重視等。我還認識到在進行設計實驗時,程序的流程圖是十分重要的,在對整個程序的理解方面起著十分關鍵的作用。在分析程序時,先按照功能將程序分為幾個部分,再對每個部分分別在細節上分析是十分有效的方法。

總之,經過微機原理課程設計,我對匯編語言程序與相應硬件外設結合實現相應的功能這整個過程有了一定的了解,對于匯編語言知識的有了更深入的了解。

第五篇:微機原理課程設計

接口技術課程設計

一、設計內容

設計一個投票統計器,完成投票、計票統計和票數顯示等功能。

二、設計原理及方案

在8086最小工作模式下,連接一塊8255A芯片。在 8255A的C端口連接8個開關,開關按下表示支持,燈亮,開關不按便是反對,燈不亮,從8255A的C端口輸入投票結果,經8086運算統計出結果;在 8255A的A端口連接一塊7段LED數碼管,將輸出結果通過數碼管顯示出來。電路圖:

接口技術課程設計

程序代碼: A_PROT B_PROT C_PROT CT_PROT DATA DATA CODE

MOV DX,C_PROT IN AL,DX EQU EQU EQU EQU 200H 202H 204H 206H

;可通過計算獲得,連接的是IO1 SEGMENT ENDS SEGMENT MOV AX,DATA MOV DX,AX MOV AL,10001001B MOV DX,CT_PROT OUT DX,AL

;控制字寫入

;A端口輸出,C端口輸入 TAB1 DB 7FH,07H,7DH,6DH,66H,4FH,5BH,06H,3FH ASSUME CS:CODE,DS:DATA

START: MOV DX,C_PROT MOV AL,0 OUT DX,AL

;C端口清零

AGAIN: TJ: XOR AH,AH

MOV CX,8 LOOP1: SAL AL,1

ADC AH,0

LOOP LOOP1

MOV AL,AH

PUSH BX

LEA BX,TAB1

XLAT

MOV DX,A_PROT

OUT DX,AL

PUSH CX

MOV CX,2801 WAIT1: LOOP WAIT1

POP CX

JMP AGAIN

MOV AH,4CH INT 21H CODE ENDS END START

接口技術課程設計

;統計1個數

;進位加CF,以統計出C端口中1的個數

;延時10ms

接口技術課程設計

三、運行結果

程序結果圖:

接口技術課程設計

四、設計總結與體會

為期一周的微機原理課程實踐終于結束了,回過頭來,感慨萬千。過了一個多月,書本上的好些知識已然忘卻,剛開始拿到課題時,看到一大堆傳說中的神器,霎時凌亂了,選來選去,從僅剩的課題中挑了“投票統計器”,上網搜索了一下,大體上把設計的方向搞清了,接下來,便是開始設計了。

畫模擬圖對于我們來說,還是比較困難的,特別是8086那一塊兒,大家參考網上的資料,反復討論,著實花了不少時間。接下來的畫圖連線就比較簡單了,為了節省時間,在做模擬圖的同時,其他兩個人便開始編寫程序了。將設計流程圖簡略寫下來,對照流程圖,分塊兒編寫程序,顯得很有條理,簡單輕松些。

就這樣,三次課之后,設計的圖和程序都好了,只剩下調試程序,查看模擬結果了。這是檢錯和糾錯的過程,輕松但也不輕松,因為那么多東西,如果看不仔細了,你就找不到錯誤,也就沒法兒解決問題了,費事費力還一無所獲,這是最傷腦筋的事情。還好,運氣不錯,只是程序出現了小小的問題,改好之后,得到了很滿意的結果。

最后的驗收,是對書本與實踐知識的融匯總結,本以為毫無問題的我們,沒想到被程序中的一個問題給秒殺了,大家四處找資料,和別的組的同學討論,反復演算了半天,終于會了。當然,就算是會了,我們也只是懂得了微機原理中的一點皮毛而已,學的扎實很重要,因為這樣才能把理論知識運用到實踐中去,不斷地提高自己。

五、參考文獻 1.周明德.微型計算機系統原理及應用.北京:清華大學出版社

2.張彌左,王兆月,邢立軍等.微型計算機接口技術.北京:機械工業出版社 3.戴梅萼,史嘉權.微型計算機技術及應用.北京:清華大學出版社 4.沈美明,溫冬嬋.IBM-PC匯編語言程序設計.北京:清華大學出版社

下載微機原理課程設計——洗衣機控制系統word格式文檔
下載微機原理課程設計——洗衣機控制系統.doc
將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
點此處下載文檔

文檔為doc格式


聲明:本文內容由互聯網用戶自發貢獻自行上傳,本網站不擁有所有權,未作人工編輯處理,也不承擔相關法律責任。如果您發現有涉嫌版權的內容,歡迎發送郵件至:645879355@qq.com 進行舉報,并提供相關證據,工作人員會在5個工作日內聯系你,一經查實,本站將立刻刪除涉嫌侵權內容。

相關范文推薦

    微機原理課程設計

    電子信息科學與技術《微機原理》課程設計 一、本次課程設計的目的和意義 學習和掌握計算機中常用接口電路的應用和設計技術,充分認識理論知識對應用技術的指導性作用,進一步加......

    微機原理課程設計

    合肥工業大學 計算機與信息學院 課程設計 課程:微機原理與接口技術設計 專業班級:計算機科學與技術班 學號:2 姓名: 一、設計題目及要求: 利用 8259A中斷,實現對8253多種計數......

    微機原理課程設計

    一、設計題目 單片機綜合試驗儀——計數/中斷模塊 二、功能及性能指標 顯示計數,記到15就重新開始計數 三、設計目的 1 了解單片機綜合實驗儀基本構成和分模塊設計方法。掌......

    微機原理與接口技術課程設計-交通燈控制系統

    版權所有 微機原理課程設計 報 告 書 課 題 名 班 級學 號姓 名 指導教師 日 期 目錄 1 設計目的 .........................................................................

    微機原理課程設計總結

    微機原理課程設計總結 以前從沒有學過關于匯編語言的知識,起初學起來感覺很有難度。當知道要做課程設計的時候心里面感覺有些害怕和擔心, 擔心自己不會或者做不好。但是當真的......

    微機原理課程設計總結

    微機原理課程設計總結以前從沒有學過關于匯編語言的知識,起初學起來感覺很有難度。當知道要做課程設計的時候心里面感覺有些害怕和擔心, 擔心自己不會或者做不好。但是當真的......

    微機原理課程設計心得體會

    微機原理課程設計心得體會 微機原理課程設計心得體會1 這次為期六個星期左右的課程設計終于結束,這次的任務是設計一個列管式換熱器。雖然設計和學習的時間不長,卻收獲頗多,受......

    微機原理課程設計題目

    微機原理課程設計題目與要求 微機原理課程設計說明: 1. 要求使用 A4 紙打印,必須有封面和目錄。封面內容有課設題目、班級、 學號、 姓名、指導教師、日期等內容。設計題目可......

主站蜘蛛池模板: 色翁荡熄又大又硬又粗又动态图| 把插八插露脸对白内射| 伊人激情av一区二区三区| 久久99国产亚洲高清观看首页| 男女爽爽无遮挡午夜视频| 亚洲视频中文字幕| 337p日本欧洲亚洲大胆精品555588| 久久人人爽人人爽人人av东京热| 国产99久60在线视频 | 传媒| 久久精品国产99精品国产亚洲性色| 蜜臀久久99精品久久久久久小说| 少妇性bbb搡bbb爽爽爽欧美| 久久久久久午夜成人影院| 无码视频一区二区三区| 在线精品国产成人综合| 久久国产亚洲精品赲碰热| 亚洲 暴爽 av人人爽日日碰| 97国产在线看片免费人成视频| 久久国产乱子伦精品免费女人| 国产成人午夜精品影院| aⅴ中文字幕不卡在线无码| 国产三级在线观看播放视频| 亚洲色婷婷久久精品av蜜桃| 天天av天天翘天天综合网色鬼| 国产精品成人一区二区三区| 国外av片免费看一区二区三区| 超薄丝袜足j好爽在线| av在线天堂av无码舔b| 日本一本免费一区二区三区免| 久青草国产在视频在线观看| 中文在线а天堂中文在线新版| 天天爱天天做天天爽| 亚洲欧美国产精品无码中文字| 免费夫妻生活片av| 国产成人无码18禁午夜福利网址| 污污网站18禁在线永久免费观看| 麻批好紧日起要舒服死了| 国产精品白丝久久av网站| 伊人久久大香线蕉综合影视| 亚洲人色婷婷成人网站在线观看| 日韩人妻无码精品一专区二区三区|