




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、單片機(jī)課程設(shè)計(jì)報(bào)告姓 名:陳得維班 級(jí):32040901學(xué) 號(hào): 3204090105專 業(yè):電氣工程及其自動(dòng)化時(shí) 間:2011年12月28日指導(dǎo)教師:段晨東、張文革目 錄一 、摘要2二、前言2三、方案分析與論證33.1各個(gè)部分硬件設(shè)計(jì)原理說(shuō)明33.2各個(gè)部分軟件設(shè)計(jì)原理說(shuō)明43.3各部分程序框圖7四、調(diào)試與實(shí)現(xiàn)124.1功能實(shí)現(xiàn)過(guò)程(圖釋)124.2 調(diào)試出現(xiàn)的問(wèn)題及解決辦法14五、總結(jié)14六、參考文獻(xiàn)15七、附錄157.1電路原理圖157.2程序清單187.3元件明細(xì)表36 一 、摘要設(shè)計(jì)要滿足如下要求:實(shí)現(xiàn)6種模式的互動(dòng)選擇:標(biāo)準(zhǔn),輕柔,快洗和單獨(dú)地進(jìn)行洗滌、漂洗和脫水操作,被選中的模式
2、用LED顯示器表明。實(shí)現(xiàn)不同模式下的洗衣過(guò)程,根據(jù)衣物多少允許用戶設(shè)置4種的水位,被選中的水位用LED顯示器表明。當(dāng)洗衣機(jī)啟動(dòng)后,上水電磁閥打開注水,當(dāng)水到達(dá)設(shè)定的限位時(shí),上水電磁閥斷電,注水過(guò)程停止,啟動(dòng)電機(jī)全自動(dòng)控制洗衣操作,整個(gè)過(guò)程的進(jìn)行按時(shí)間控制,時(shí)間自定。液位檢測(cè)和控制:使水位限定在某一個(gè)給定的液位范圍內(nèi),當(dāng)水位越限時(shí)打開下水電磁閥放水,不啟動(dòng)洗衣過(guò)程,待滿足要求后,投入運(yùn)行。當(dāng)投入洗衣量大于洗衣機(jī)額定容量時(shí),控制系統(tǒng)應(yīng)報(bào)警,不啟動(dòng)洗衣過(guò)程。待滿足要求后,投入運(yùn)行。 本設(shè)計(jì)通過(guò)采用AT89C51單片機(jī),通過(guò)74LS139,水位檢測(cè)機(jī)構(gòu),LED數(shù)碼顯示器,LED發(fā)光二極管,獨(dú)立鍵盤,繼
3、電器,進(jìn)排水閥等硬件實(shí)現(xiàn)了上述功能要求。 應(yīng)用表明該系統(tǒng)具有水位選擇,模式設(shè)定,水位越限檢測(cè),過(guò)容及脫水安全保護(hù)等功能。其性能可靠,提到了效率,降低了能耗,減少了噪音。關(guān)鍵字:89C51RC 智能家電 自動(dòng)控制 洗衣機(jī) 二、前言單片機(jī)又稱微控制器,或稱嵌入式控制器。而現(xiàn)在的智能家電無(wú)一例外是采用微控制器來(lái)實(shí)現(xiàn)的,所以家用電器是單片機(jī)應(yīng)用最多的領(lǐng)域之一。它是家用電器實(shí)現(xiàn)智能化的心臟和大腦。 由于家用電器體積小,故要求其控制器體積更小以便能嵌入其結(jié)構(gòu)之中。而家用電器品種多,功能差異也大,所以又要求其控制器有靈活的控制功能。單片機(jī)以微小的體積和編程的靈活性而產(chǎn)生多種控制功能,完全可以滿足
4、家用電器的需求。波輪式全自動(dòng)洗衣機(jī)是家用電器領(lǐng)域的重要一員,在全自動(dòng)洗衣機(jī)市場(chǎng)中占有很大的比例,其中絕大多數(shù)品是用單片機(jī)來(lái)實(shí)現(xiàn)的AT89C52單片機(jī)是ATMEL公司8位單片機(jī)系列產(chǎn)品之一,是一種20引腳雙列直插式芯片。它內(nèi)含4KB可反復(fù)燒錄的FLASH存儲(chǔ)器,RAM字節(jié)也有128個(gè),15個(gè)I/O口,5個(gè)中斷,2個(gè)定時(shí),已經(jīng)可以滿足程序的需要,指令也和51系列兼容,基于上述特點(diǎn),選擇它來(lái)設(shè)計(jì)一臺(tái)智能洗衣機(jī),完全可以達(dá)到以下的功能: 1、洗衣程序功能:含6種獨(dú)立程序,即標(biāo)準(zhǔn)洗衣程序、輕柔洗衣、快洗、單次洗衣、漂洗、脫水功能; 2、特殊功能:安全保護(hù)、防振、間歇工作、聲光顯示功能
5、。三、方案分析與論證3.1各個(gè)部分硬件設(shè)計(jì)原理說(shuō)明全自動(dòng)洗衣機(jī)由單片機(jī)AT89C51為核心加上有關(guān)集成電路及元器件組成。從圖中看出,這個(gè)全自動(dòng)洗衣機(jī)控制邏輯電路相當(dāng)簡(jiǎn)單。 全自動(dòng)洗衣機(jī)的工作部件有3個(gè),這就是電機(jī).進(jìn)水閥和排水閥。電機(jī)是洗衣機(jī)的動(dòng)力源,它的轉(zhuǎn)動(dòng)帶動(dòng)洗衣桶和波輪的轉(zhuǎn)動(dòng),從而時(shí)現(xiàn)對(duì)衣物的洗滌。進(jìn)水閥用于控制洗衣機(jī)的進(jìn)水量。排水閥用于控制排水。電機(jī)在脫水時(shí)還高速旋轉(zhuǎn)帶動(dòng)衣物脫水。 電機(jī)的狀態(tài)有3種,即正轉(zhuǎn).反轉(zhuǎn)及停止?fàn)顟B(tài)。電機(jī)一般工作在這三種狀態(tài)的不斷轉(zhuǎn)換之中,從而實(shí)現(xiàn)洗滌。但在脫水時(shí),只工作在正轉(zhuǎn)高速狀態(tài)。 進(jìn)水閥和派排水閥則只有開.關(guān)這兩種狀態(tài)。 從控制電路中可以看出:AT89C
6、51的P1端口中的P0.0P0.3共四條I/O線通過(guò)4塊電磁繼電器分別直接驅(qū)動(dòng)洗衣機(jī)的這些工作部件。電磁繼電器是一種常用繼電器,內(nèi)有電磁鐵心及磁力開關(guān),通電就可使開關(guān)切換。之所以選用這個(gè)器件,是因?yàn)樗环矫婵墒闺娐愤M(jìn)一部簡(jiǎn)化,另一方面還可使強(qiáng).弱兩類電完全隔離,保證主板的安全。 ULN2003A為7相反相驅(qū)動(dòng)器,用其作為中間反相器,其中的4個(gè)反相器可分別驅(qū)動(dòng)4個(gè)SP1110繼電器,1個(gè)驅(qū)動(dòng)蜂鳴器。ULN2003A還有隔離功能,可保護(hù)主板。 74LS139為雙2-4線譯碼器,選用它可解決CPU I/O線數(shù)量的不足。從控制要求可知,洗衣機(jī)有4種不同的顯示來(lái)加以區(qū)別。74LSW139雙2
7、-4線譯碼器僅占用CPU的P3.7和P3.6兩口線即可提供4種不同顯示的驅(qū)動(dòng), 其邏輯關(guān)系是:P3.7,P3.6為“11”時(shí)D9亮,指示高水位;為“10”時(shí)D8亮,指示中2水位;為“01”時(shí)D7亮,指示中1水位;為“00”時(shí)D6亮,指示低水位。74LS47為共陽(yáng)極BCD譯碼器,可把BCD碼譯為共陽(yáng)極七段碼。洗衣機(jī)的三大功能是現(xiàn)衣物的洗滌,漂洗,脫水,而這三個(gè)可形成6種過(guò)程(或更多)在本設(shè)計(jì)中只有到6種,洗衣機(jī)的過(guò)容安全保護(hù)和脫水安全保護(hù)及防震動(dòng)功能采用中斷處理方式。這兩個(gè)中斷分別對(duì)應(yīng)于CPU的外部中斷“0”和外部中斷“1”。中斷為下跳沿觸發(fā)分別對(duì)k8和K9進(jìn)行監(jiān)測(cè)。開蓋(安全保護(hù))或不平衡(防
8、振動(dòng))中斷信號(hào)通過(guò)K9加到P3.3。本系統(tǒng)對(duì)開蓋和不平衡中斷采取相同的處理方法,因此,共用外部中斷“1”。 在洗衣機(jī)未進(jìn)入工作狀態(tài)期間,P1.0為輸入線,用于監(jiān)測(cè)啟動(dòng)鍵的狀態(tài),當(dāng)啟動(dòng)鍵按下時(shí),洗衣機(jī)即進(jìn)入工作狀態(tài)。P1.1,P1.3被設(shè)為輸入鍵分別用于模式設(shè)定和水位設(shè)定,接K2和K4,確定后課按K1確認(rèn)并進(jìn)入洗衣狀態(tài)。D6為低水位,D7為中1水位,D8為中2水位,D9為高水位。在洗衣機(jī)進(jìn)水期間,P1.4被用作輸入線,用于監(jiān)測(cè)水位開關(guān)狀態(tài)(K5),P1.5用于監(jiān)測(cè)越線水位開關(guān)(K6)為CPU提供洗衣機(jī)的水位信息;在洗衣機(jī)高速脫水期間,當(dāng)發(fā)生開蓋和不平衡中斷時(shí),P1.2為輸入線(蓋開關(guān)K3),用于
9、撤消中斷請(qǐng)求信號(hào)。CPU的P0.4線通過(guò)ULN2003A用于驅(qū)動(dòng)蜂鳴器發(fā)出各種告警信號(hào)。P1.6(K7)做輸出線用于脫水完成檢測(cè)。4 5腳外接12Hz的晶振。1腳通過(guò)10uF電容接到+5v電源,可實(shí)現(xiàn)上電自動(dòng)復(fù)位。洗衣機(jī)的洗衣模式可通過(guò)K2賤進(jìn)行循環(huán)選擇。洗衣機(jī)水位可通過(guò)K4鍵循環(huán)選擇。洗衣機(jī)的水位可通過(guò)D6D9進(jìn)行顯示。脫水期間系統(tǒng)在響應(yīng)開蓋或不平衡終止后,CPU采取軟件查詢的方式方式通過(guò)P1.2線對(duì)蓋開關(guān)進(jìn)行監(jiān)測(cè)以確定洗衣機(jī)是否繼續(xù)進(jìn)行脫水操作。D1為洗滌脫水指示;D2為進(jìn)水指示;D3為排水指示;D4代表進(jìn)水閥;D5代表出水閥。D16D20為續(xù)流二極管,用于保護(hù)電磁閥和蜂鳴器。3.2各個(gè)部
10、分軟件設(shè)計(jì)原理說(shuō)明由AT89C51控制的全自動(dòng)洗衣機(jī)的工作主程序框圖如附圖2-1所示。從主程序框圖可以看出,這個(gè)控制程序也較為簡(jiǎn)單,所以,占用的存儲(chǔ)器容量不大。 從程序框圖中可以看出程序的基本流程,系統(tǒng)上電復(fù)位后,首先進(jìn)行初始話,按K1啟動(dòng)后默認(rèn)標(biāo)準(zhǔn)洗衣工作程序和低水位,然后掃描K4,K2和啟動(dòng)鍵K1,這時(shí)洗衣機(jī)處于待命狀態(tài)。通過(guò)K2,K4可分別修改洗衣工作程序和水位。掃描過(guò)程中當(dāng)發(fā)現(xiàn)啟動(dòng)鍵K1按下時(shí),洗衣機(jī)即從待命狀態(tài)進(jìn)入工作狀態(tài)。 洗衣機(jī)進(jìn)入工作程序后,系統(tǒng)首先根據(jù)RAM中R4單元的特征字判斷洗衣機(jī)的洗衣工作程序,若特征字為00H則為標(biāo)準(zhǔn)洗衣程序、01H則為輕柔洗衣、02快洗、03單次洗衣
11、、04漂洗、05脫水程序。(水位和模式選擇如框圖1-1) 洗衣機(jī)的三大功能是 實(shí)現(xiàn)衣服的洗滌、漂洗和脫水,進(jìn)入工作狀態(tài)后跳到所選工作程序,所有工作程序都是對(duì)這三大功能的調(diào)用和復(fù)寫只是時(shí)間代碼和洗滌力度不同,所以完成一次洗衣過(guò)程所需的動(dòng)作為下列過(guò)程或其中幾種. (1)進(jìn)水動(dòng)作 進(jìn)行洗滌時(shí),盛水桶內(nèi)的水量必須達(dá)到水位設(shè) 定要 求。洗衣機(jī)的進(jìn)水和水位 判斷,是 由水位開關(guān)K5和進(jìn)水閥的開合來(lái)進(jìn)行控制的。當(dāng)桶內(nèi)沒有水或水量達(dá)不到設(shè)定水位時(shí),單片機(jī)程序?qū)⒖刂七M(jìn)水閥打開,開始注水;當(dāng)桶內(nèi)的水位達(dá)到設(shè)定水位時(shí),水位開關(guān)K5受壓閉合,程序就可進(jìn)入下一步 (洗滌)處理。若水位越線即K6閉合則控制排水閥打開進(jìn)行排
12、水直到K5打開為止。進(jìn)入下一過(guò)程。 (2)排水動(dòng)作 進(jìn)入脫水動(dòng)作前應(yīng)先排水。為了避免空排水造成時(shí)間浪費(fèi)以及排水不完而帶水脫水造成對(duì)電機(jī)的損害,洗衣機(jī)能夠根據(jù)實(shí)際水量 (缸底水位檢測(cè)開關(guān)K7決定)對(duì)排水進(jìn)行動(dòng)態(tài)控制。K7打開則排水完成,關(guān)閉排水閥。 (3)洗滌動(dòng)作 洗滌動(dòng)作指的是電機(jī)周期性的 “正轉(zhuǎn) 一停止 一反轉(zhuǎn) 一停止 “。不 同的洗衣過(guò)程 ,控制 電機(jī)執(zhí)行“正轉(zhuǎn) 一停止 一反轉(zhuǎn) 一停止“的時(shí)間是不同的,標(biāo)準(zhǔn)洗滌過(guò)程可?。赫D(zhuǎn)4秒 一停止2秒 一反轉(zhuǎn)4秒 一停止2秒。對(duì)于輕柔洗滌過(guò)程,這個(gè)時(shí)間要作相應(yīng)調(diào)整為正轉(zhuǎn)3秒 一停止2秒 一反轉(zhuǎn)3秒 一停止2秒。 (4)脫水動(dòng)作 排水結(jié)束后進(jìn)入脫水動(dòng)作
13、,脫水是通過(guò)電機(jī)的正轉(zhuǎn)來(lái)實(shí)現(xiàn)的,同時(shí)要求排水閥一直打開,也正是由于排水閥的打開,才使脫水時(shí)的電機(jī)正轉(zhuǎn)速度不同于洗滌時(shí)的電機(jī)正轉(zhuǎn)速度(通過(guò)機(jī)械裝置實(shí)現(xiàn))。脫水分短脫水和長(zhǎng)脫水,短脫水時(shí)間為 2分鐘。脫水時(shí)電機(jī)將一直高速正轉(zhuǎn),一般5分鐘的長(zhǎng)脫 時(shí)間。進(jìn)入脫水前若洗衣機(jī)桶蓋是打開的,則進(jìn)行嗚叫、顯示 警。進(jìn) 行脫水時(shí) 若遇洗衣機(jī)桶蓋打 開或脫水不平衡,則暫停脫水并進(jìn)行 顯 告警,直至用戶合上桶蓋后或調(diào)整衣物后,才繼續(xù)進(jìn)行脫水。脫水結(jié)束后,進(jìn)入下一動(dòng)作。 (5)抗干擾設(shè)計(jì) 在設(shè)計(jì)中,我們將軟件抗干擾的重點(diǎn)放在了C P U抗干擾問(wèn)題上。在洗衣機(jī)洗滌的過(guò)程中, 如果干擾強(qiáng)烈, 干擾就很可能通過(guò)三總線擾亂
14、C P U按正常流程執(zhí)行這些程序。 我們抗干擾的目的就是發(fā)現(xiàn)c P u如何受到干擾, 如何攔截失去控制的程序流向, 如何使程序的損失減小, 如何盡可能無(wú)擾動(dòng)地恢復(fù)系統(tǒng)正常狀態(tài)。 這些可以通過(guò)以下兩個(gè)途徑實(shí)現(xiàn) 指令冗余和軟件陷阱。洗衣過(guò)程結(jié)束后,蜂鳴器將斷續(xù)嗚叫以提醒用戶可以取走衣服并關(guān)掉洗衣機(jī) 的電源。 3.3各部分程序框圖 開始水位默認(rèn)顯示啟動(dòng)放開否模式默認(rèn)顯示選模式選水位完成放開否放開否模式標(biāo)志位加1R4清零顯示水位標(biāo)志位加1 R5清零顯示到6否到6否YNNYYNYNNYNNYRET1-1鍵盤掃描程序流程圖開始進(jìn)水長(zhǎng)洗滌排水短脫水脫完進(jìn)水短洗滌洗完RET總洗完長(zhǎng)脫水YNYNYN1-2標(biāo)準(zhǔn)-
15、輕柔洗衣程序流程開始進(jìn)水洗滌洗完排水短脫水脫完漂洗漂洗RET洗完長(zhǎng)脫水YNNYYN1-3快洗程序流程圖開始開脫水電磁閥電機(jī)正傳開INT1中斷脫完關(guān)脫水電磁閥電機(jī)停傳關(guān)INT1中斷RETYN1-4單脫-長(zhǎng)脫水程序流程開始保護(hù)現(xiàn)場(chǎng)停止脫水報(bào)警校正繼續(xù)脫水停止報(bào)警恢復(fù)現(xiàn)場(chǎng)RETIYN1-5脫水中斷開始進(jìn)水洗衣洗完RETYN1-6單洗長(zhǎng)洗程序流程圖開始洗衣完進(jìn)水排水RETYN1-7漂洗流程圖開始進(jìn)水排水開進(jìn)水電磁閥開排水電磁閥到預(yù)設(shè)關(guān)進(jìn)水電磁閥RET關(guān)進(jìn)水電磁閥到預(yù)設(shè)NYYNYYNN1-8進(jìn)水過(guò)程流程開始電機(jī)正傳時(shí)間到電機(jī)停轉(zhuǎn)時(shí)間到電機(jī)反轉(zhuǎn)時(shí)間到電機(jī)停轉(zhuǎn)時(shí)間到RETYNNYNYNY1-9洗衣-電機(jī)正反
16、轉(zhuǎn)流程圖開始保護(hù)現(xiàn)場(chǎng)報(bào)警解除釋放現(xiàn)場(chǎng)RETIYN1-10超重中斷總程序流程圖:開始初始化開中斷Key掃描 水位與模式選擇擇結(jié)束蜂鳴所選程序確認(rèn)完成RET關(guān)蜂鳴器;四、調(diào)試與實(shí)現(xiàn)4.1功能實(shí)現(xiàn)過(guò)程(圖釋)單洗過(guò)程短洗過(guò)程短脫水過(guò)程長(zhǎng)脫水過(guò)程排水過(guò)程4.2 調(diào)試出現(xiàn)的問(wèn)題及解決辦法開始由于P0口沒有上拉電阻而產(chǎn)生電機(jī)不能運(yùn)轉(zhuǎn)的問(wèn)題,后經(jīng)老師指導(dǎo)和查閱相關(guān)書籍討論得以解決。1、 上電后,按啟動(dòng)鍵K1進(jìn)入設(shè)定部分,可通過(guò)K2設(shè)定洗衣模式,K4設(shè)定水位。設(shè)定結(jié)束后再按K1鍵進(jìn)入相應(yīng)模式并進(jìn)水到設(shè)定位。2、 洗衣機(jī)進(jìn)水指示燈亮,閉合K7,K5后進(jìn)入下一步(05單脫無(wú)此步)3、 洗衣機(jī)脫水-洗滌指示燈閃爍,
17、表明進(jìn)入洗衣狀態(tài)。4、 進(jìn)入排水狀態(tài)后,排水指示燈亮,打開K7則排水結(jié)束進(jìn)入下一步5、 若沒有閉合K3在脫水時(shí)則不脫水并警報(bào)蜂鳴,直到閉合K2,進(jìn)入脫水(脫水-洗滌指示燈亮,排水指示燈亮)。6、 K8只在確定設(shè)定以前起作用,發(fā)出中斷請(qǐng)求。按下后會(huì)蜂鳴報(bào)警提醒用戶減少洗衣量7、 K9只在脫水是起作用,當(dāng)抖動(dòng)厲害時(shí)由于抖動(dòng)按下筒壁外的K9,發(fā)出中斷請(qǐng)求,報(bào)警知K9放開。 五、總結(jié) 本文介紹了采用AT89C51單片機(jī)對(duì)家用洗衣機(jī)進(jìn)行智能控制,經(jīng)過(guò)實(shí)際檢測(cè),本設(shè)計(jì)具有結(jié)構(gòu)簡(jiǎn)單,使用方便,可靠性高等特點(diǎn)。經(jīng)過(guò)本次設(shè)計(jì)使我對(duì)所學(xué)單片機(jī)知識(shí)的得到了深化,能夠把知識(shí)綜合的應(yīng)用起來(lái)而不使像以前一樣各個(gè)知識(shí)點(diǎn)是孤
18、立的不能融會(huì)貫通。加強(qiáng)了對(duì)實(shí)際問(wèn)題的分析解決能力。在這里我要感謝段老師以及姚超仁,羅春富,朱江和華雪松在設(shè)計(jì)中給我的幫助。六、參考文獻(xiàn) 1. 段晨東 單片機(jī)原理及接口技術(shù) 2008 清華大學(xué)出版社2. 張義和,陳敵北 例說(shuō)8051 2006 人民郵電出版社3. 張毅剛 單片機(jī)應(yīng)用設(shè)計(jì) 2002 哈爾濱工業(yè)大學(xué)出版社4. 李仁 電器控制 2002 機(jī)械工業(yè)出版七、附錄7.1電路原理圖進(jìn)水過(guò)程 單洗過(guò)程3-5排水過(guò)程 短脫水過(guò)程 短洗過(guò)程長(zhǎng)脫水過(guò)程7.2程序清單AT89C52RC控制的全自動(dòng)智能波輪洗衣機(jī)程序A_BIT EQU 43H ;存放個(gè)位數(shù)變量B_BIT EQU 44H ;存放十位數(shù)變量F
19、LAG EQU 45H ;DS18B20是否存在標(biāo)志DQ EQU P1.3 ;DQ引腳由P2.5控制ORG 0000HLJMP STARTORG 0003HLJMP PINT0ORG 0013HLJMP PINT1ORG 001BHLJMP P_T1ORG 0030HSTART: MOV SP,#60HMOV IP,#01H;INTI為高優(yōu)先級(jí)SETB EA;CPU允許中斷SETB IT0;跳變觸發(fā)方式SETB IT1;跳變觸發(fā)方式MOV TH1,#3CHMOV TL1,#0B0HMOV 40H,#20;1S定時(shí)MOV TMOD,#10HSETB EX1;允許INT1中斷SETB EX0;允許
20、INT0中斷SETB ET1;允許定時(shí)器T1中斷BACK:JB P1.4,KSSM1;P1.4為1即使自動(dòng)模式,轉(zhuǎn)到掃描鍵盤JNB P1.5,TODANXI ;P1.5為0即為選擇單洗,轉(zhuǎn)到單洗JNB P1.6,TOPX;P1.6為0即為選擇漂洗,轉(zhuǎn)到漂洗JNB P1.7,TOCTS;P1.7為0即為選擇長(zhǎng)脫水,轉(zhuǎn)到長(zhǎng)脫水JMP BACK;沒有檢測(cè)到手動(dòng)選擇的是什么,換回重新檢測(cè);手動(dòng)單洗程序TODANXI:SETB TR1MOV 30H,#07MOV 31H,#13MOV 2AH,#01H ;電機(jī)動(dòng)作6分鐘MOV 2CH,#01H ;進(jìn)排水40秒MOV 25H,#09;設(shè)正反轉(zhuǎn)次數(shù)MOV 2
21、6H,#08;轉(zhuǎn)動(dòng)8+10sMOV 27H,#02;停2秒MOV 28H,#20;進(jìn)排水40秒,20+20x1LCALLDJSCZLCALL DANXIJNB P1.6,TOPXLJMP THEND;手動(dòng)漂洗程序TOPX:SETB TR1MOV 30H,#07MOV 31H,#18MOV 2AH,#01H ;電機(jī)動(dòng)作MOV 2CH,#01H ;進(jìn)排水40秒MOV 28H,#20;進(jìn)排水20+20LCALL DJSCZLCALL PXJNB P1.7,TOCTSLJMP THEND;手動(dòng)長(zhǎng)脫水TOCTS:SETB TR1MOV 30H,#16;狀態(tài)顯示查表參數(shù)MOV 31H,#12;狀態(tài)顯示查表
22、參數(shù)MOV 2AH,#01H ;脫水1分鐘MOV 2CH,#00HLCALLDJSCZLCALL CTSLJMP THEND ;*鍵盤掃描1*KSSM1:MOV P2,#0F0H ;置P2.0P2.3為輸出,P2.4P2.6為輸入MOV A,P2ANL A,#0F0HXRL A,#0F0HJZ NO_KEY1 ;A為0則無(wú)按鍵LCALL DL20MS ;延時(shí)消抖MOV A,P2ANL A,#0F0H ;重讀鍵盤XRL A,#0F0HJZ NO_KEY1 ;A為0則無(wú)按鍵MOV R2,#11110111B ;列掃描初值LSM1:MOV A,R2MOV P2,AMOV A,P2ANL A,#111
23、10000BMOV R3,ACJNE A,#0F0H,KEY1;有鍵按下則跳轉(zhuǎn)MOV A,R2RR AMOV R2,AXRL A,#01111111BJNZ LSM1NO_KEY1:LJMP KSSM1KEY1:MOV A,R2ANL A,#0FHORL A,R3MOV R4,ASHIFANG1: MOV A,P2ANL A,#0F0HXRL A,#0F0HJNZ SHIFANG1LCALL DL20MSMOV A,P2ANL A,#0F0HXRL A,#0F0HJNZ SHIFANG1MOV A,R4CJNE A,#0D7H,NEXT1LJMP FANGSHI1NEXT1:CJNE A,#0
24、DBH,NEXT2LJMP FANGSHI2NEXT2:CJNE A,#0DDH,NEXT3LJMP FANGSHI3NEXT3: LJMP KSSM1KEY_TAB: DB 0EBH,0EDH,0EEH,0DBH,0DDHDB 0DEH,0BBH,0BDH,0BEH;*實(shí)際鍵盤掃描2*KSSM2:MOV P2,#0F0H ;置P2.0P2.3為輸出,P2.4P2.6為輸入MOV A,P2ANL A,#0F0HXRL A,#0F0HJZ NO_KEY2 ;A為0則無(wú)按鍵LCALL DL20MS ;延時(shí)消抖MOV A,P2ANL A,#0F0H ;重讀鍵盤XRL A,#0F0HJZ NO_KEY
25、2 ;A為0則無(wú)按鍵MOV R2,#11110111B ;列掃描初值LSM2:MOV A,R2MOV P2,AMOV A,P2ANL A,#11110000BMOV R3,ACJNE A,#0F0H,KEY2;有鍵按下則跳轉(zhuǎn)MOV A,R2RR AMOV R2,AXRL A,#01111111BJNZ LSM2NO_KEY2:LJMP KSSM2KEY2:MOV A,R2ANL A,#0FHORL A,R3MOV R4,AMOV DPTR,#KEY_TABMOV R5,#00ZHAOJZ2:MOV A,R5MOVC A,A+DPTRXRL A,R4JZ SHIFANG2INC R5LJMP Z
26、HAOJZ2SHIFANG2: MOV A,P2ANL A,#0F0HXRL A,#0F0HJNZ SHIFANG2LCALL DL20MSMOV A,P2ANL A,#0F0HXRL A,#0F0HJNZ SHIFANG2MOV A,R4CJNE A,#0B7H,NEXT4LJMP SHUIWEI1NEXT4: CJNE A,#0BBH,NEXT5LJMP SHUIWEI2NEXT5:CJNE A,#0BDH,NEXT6LJMP SHUIWEI3NEXT6:CJNE A,#77H,NEXT7LJMP SHUIWEI4NEXT7: LJMP KSSM2 ;*自動(dòng)情況下方式一即為標(biāo)準(zhǔn)模式*FAN
27、GSHI1 : MOV 2AH,#07H;設(shè)置時(shí)間1的參數(shù)7分鐘MOV 30H,#01;顯示方式為1MOV 25H,#06;正反轉(zhuǎn)次數(shù)MOV 26H,#08;轉(zhuǎn)動(dòng)8+10sMOV 27H,#02;停兩秒LCALL KSSM2;調(diào)用鍵盤掃描程序,選擇水位LJMP THEND;*自動(dòng)情況下方式二,即為輕柔模式*FANGSHI2: MOV 2AH,#04H;設(shè)置時(shí)間1的參數(shù)04分鐘MOV 30H,#02;顯示方式為2MOV 25H,#06;正反轉(zhuǎn)次數(shù)MOV 26H,#03;轉(zhuǎn)動(dòng)3+10sMOV 27H,#02;停兩秒LCALL KSSM2;調(diào)用鍵盤掃描程序,選擇水位LJMP THEND;*自動(dòng)情況下
28、方式三,即為快洗模式*FANGSHI3: MOV 2AH,#05H;設(shè)置時(shí)間1的參數(shù)05分鐘MOV 30H,#03;顯示方式為3MOV 25H,#03;正反轉(zhuǎn)次數(shù)MOV 26H,#08;轉(zhuǎn)動(dòng)8+10sMOV 27H,#02;停兩秒LCALL KSSM2;調(diào)用鍵盤掃描程序,選擇水位LJMP THEND;*水位一* *SHUIWEI1: MOV 2CH,#04H;時(shí)間2,為4分鐘MOV 31H,#01;顯示水位為1MOV 28H,#20;進(jìn)排水時(shí)間,20s+20sLCALL XYCHXRET;*水位二*SHUIWEI2: MOV 2CH,#03H;時(shí)間2,為3分鐘MOV 31H,#02;顯示水位為
29、2MOV 28H,#20;進(jìn)排水時(shí)間,20s+20sLCALL XYCHXRET;*水位三*SHUIWEI3: MOV 2CH,#02H;時(shí)間2,為2分鐘MOV 31H,#03;顯示水位為3MOV 28H,#20;進(jìn)排水時(shí)間,20s+20sLCALL XYCHXRET ;*水位四*SHUIWEI4: MOV 2CH,#01H;時(shí)間2,為1分鐘MOV 31H,#04;顯示水位為4MOV 28H,#20;進(jìn)排水時(shí)間,20s+20s LCALL XYCHXRET;*洗衣程序*XYCHX: SETB TR1;開定時(shí)器LCALL DANXI;調(diào)單洗程序LCALL PX;調(diào)漂洗程序LCALL CTS;調(diào)長(zhǎng)
30、脫水程序RET;*單洗程序 * DANXI: LCALL DJSCZ ;倒計(jì)時(shí)初值 LCALL JSH;調(diào)進(jìn)水程序GOON2: MOV 32H,#07MOV 33H,#13LCALL ZFZ;調(diào)正反轉(zhuǎn)程序DJNZ 25H,GOON2;循環(huán)幾次LCALL PSH;排水RET;*漂洗程序 * PX:MOV 29H,#01;循環(huán)1次LCALL DTS;短脫水GOON3: LCALL JSH;進(jìn)水LCALL DXD;短洗滌LCALL PSH;排水LCALL DTS;短脫水DJNZ 29H,GOON3RET ;*長(zhǎng)脫水程序(4分鐘) * CTS:MOV 32H,#16;狀態(tài)顯示查表參數(shù)MOV 33H,#
31、12;狀態(tài)顯示查表參數(shù)MOV 2BH,#12;設(shè)置調(diào)用延時(shí)顯示程序的次數(shù)SETB P3.5;開排水閥SETB P3.6CLR P3.7;開始脫水LCALL YSXS;延時(shí)并顯示CLR P3.6;停止脫水CLR P3.5;關(guān)排水閥LCALL SHGTS;聲光提示RET;*進(jìn)水程序* JSH:MOV 32H,#16;狀態(tài)顯示查表參數(shù)MOV 33H,#07;狀態(tài)顯示查表參數(shù)MOV 24H,28H;進(jìn)水時(shí)間參數(shù)SETB P3.4;開排進(jìn)閥LCALL JPSHYS;延時(shí)并顯示CLR P3.4;關(guān)進(jìn)水閥LCALL SHGTS;聲光提示RET; *短脫水程序(2分鐘)* DTS: MOV 32H,#16;狀
32、態(tài)顯示查表參數(shù)MOV 33H,#13;狀態(tài)顯示查表參數(shù)MOV 2BH,#06;設(shè)置調(diào)用延時(shí)顯示程序的次數(shù)SETB P3.5;開排水閥SETB P3.6CLR P3.7;開始脫水LCALL YSXS;延時(shí)并顯示CLR P3.6;停止脫水CLR P3.5;關(guān)排水閥LCALL SHGTS;聲光提示RET;*短洗程序1分鐘* DXD:MOV 32H,#13;狀態(tài)顯示查表參數(shù)MOV 33H,#13;狀態(tài)顯示查表參數(shù)MOV 25H,#02H;正反轉(zhuǎn)次數(shù)MOV 26H,#03H;3+10s MOV 27H,#02H;停兩秒 GOON1:LCALL ZFZDJNZ 25H,GOON1;正反轉(zhuǎn)2次LCALL S
33、HGTS;聲光提示RET;*排水程序*PSH:MOV 32H,#16;狀態(tài)顯示查表參數(shù)MOV 33H,#18;狀態(tài)顯示查表參數(shù)MOV 24H,28H;進(jìn)水時(shí)間參數(shù)SETB P3.5;開排進(jìn)閥LCALL JPSHYS;延時(shí)并顯示CLR P3.5;關(guān)進(jìn)水閥LCALL SHGTS;聲光提示RET;*進(jìn)排水延時(shí)并顯示程序* JPSHYS:MOV R7,#01H ;調(diào)1次顯示,共20s GO4:LCALL T01LCALL T02DJNZ R7,GO4;1次完沒有RET;*脫水延時(shí)顯示 * YSXS:NOP GO3:LCALL T01LCALL T02DJNZ 2BH,GO3RET ;*20ms延時(shí)子程
34、序* DL20MS:MOV 20H,#10 DELY1:MOV 21H,#250 DELY2:NOPNOPNOPNOPNOPNOPDJNZ 21H,DELY2DJNZ 20H,DELY1RET;*1s延時(shí)子程序 * DL1S:MOV 22H,#50DELY3:LCALL DL20MSDJNZ 22H,DELY3RET;*t0延時(shí)子程序* TO:NOP GO5:LCALL DL1SDJNZ 24H,GO5RET;*1ms延時(shí)程序*DL1MS:MOV 23H,#250DELY4:NOPNOPDJNZ 23H,DELY4RET;*t01延時(shí)顯示程序 * T01:MOV 47H,#10GO10:MOV
35、 R6,#00LCALL DO18B20 GO1:LCALL XSCX1;調(diào)顯示程序1 CJNE R6,#01,GO1DJNZ 47H,GO10RET;*t02延時(shí)顯示程序2* T02:MOV R6,#00GO2:LCALL SHJFLLCALL XSCX2CJNE R6,#10,GO2RET;*正反轉(zhuǎn)程序* ZFZ:MOV 24H,26HSETB P3.6CLR P3.7LCALL T01;正轉(zhuǎn)10秒MOV P1,#07HLCALL TO;正轉(zhuǎn)8或3秒CLR P3.6;停MOV 24H,27HLCALL TO;停2秒MOV 24H,26HSETB P3.7LCALL T02;反轉(zhuǎn)十秒MOV
36、P1,#07HLCALL TO;反轉(zhuǎn)8或3秒CLR P3.7MOV 24H,27HLCALL TO;停2秒RET;*計(jì)算倒計(jì)時(shí)初值*DJSCZ:MOV A,2AHADD A,2CH;DA ADEC AMOV 42H,AMOV 41H,#60RET;*定時(shí)到中斷* P_T1:PUSH ACCPUSH PSWMOV TH1,#3CHMOV TL1,#0BHDJNZ 40H,TODO1MOV 40H,#20INC R6DEC 41HMOV R2,41HCJNE R2,#00,TODO1MOV R3,42HCJNE R3,#00,TODO2CLR TR1LJMP TODO1TODO2:DEC 42HM
37、OV 41H,#60TODO1:POP PSWPOP ACCRETI;*時(shí)間分離并緩存 * SHJFL:MOV A,41HMOV B,#10DIV ABMOV 36H,BMOV 37H,AMOV A,42HMOV B,#10DIV ABMOV 38H,BMOV 39H,ARET;*聲光提示程序 *SHGTS:MOV P1,#06HLCALL DL1SMOV P1,#07HLCALL DL1SMOV P1,#00HRET;*顯示程序一* XSCX1:MOV R0,#30H ;數(shù)據(jù)首地址MOV P1,#05H ;選顯示數(shù)碼管LCALL DISPINC R0MOV P1,#04HLCALL DISP
38、INC R0MOV P1,#03HLCALL DISPINC R0MOV P1,#02HLCALL DISPINC R0MOV P1,#01HLCALL DISPINC R0MOV P1,#00HLCALL DISPRET;*顯示程序二* XSCX2:MOV R0,#36H ;數(shù)據(jù)首地址MOV P1,#05H ;選擇數(shù)碼管LCALL DISPINC R0;改地址MOV P1,#04H;改數(shù)碼管LCALL DISPINC R0MOV P1,#02HLCALL DISPINC R0MOV P1,#01HLCALL DISPRET;*位顯示程序* DISP:MOV DPTR,#LED_TABMOV
39、A,R0MOVC A,A+DPTRMOV P0,ALCALL DL1MSRETLED_TAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07HDB 7FH,6FH,77H,7CH,39H,5EH,79H,71HDB 76H,38H,73H,31H,3EH,6EH,40H,80H,00H;*18B20的驅(qū)動(dòng)機(jī)溫度轉(zhuǎn)換程序* DO18B20:MOV 50H,#04GOTO: LCALL RE_TEMP ;對(duì)傳感器設(shè)置及讀取 LCALL TURN ;轉(zhuǎn)化溫度子程序 LCALL DISPLAY ;數(shù)據(jù)轉(zhuǎn)換緩存程序 DJNZ 50H,GOTO ;循環(huán) RET RE_TEMP: SE
40、TB DQ ;對(duì)DS18B20初始化及讀取 ACALL RESET_1820 ;調(diào)用復(fù)位子程序 JB FLAG, ST ;判斷DS1820是否存在? RET ;*2.復(fù)位子程序 RESET_1820* RESET_1820: SETB DQ NOP CLR DQ ;主機(jī)發(fā)出延時(shí)501微秒的復(fù)位低脈沖DLY: MOV R0,#250 TTO2: DJNZ R0,TTO2 ;然后拉高數(shù)據(jù)線,等待DS18B20回應(yīng)SETB DQ NOP NOP NOP MOV R0,#35 T2: JNB DQ ,T3 ;等待DS18B20回應(yīng),回應(yīng)0電平 DJNZ R0, T2 ;等70us JMP T4 T3: SETB FLAG ;置標(biāo)志位,表示DS1820存在JMP T5 T4: MOV FLAG,#00H ;清標(biāo)志位,表示DS1820不存在JMP T7 T5: MOV R0,#120 T6: DJNZ R0,T6 ;時(shí)序要求延時(shí)60-240us時(shí)間 T7: SETB DQ RET ;*子程序溫度傳感工作程序 ST* ST: ; DS18B20存在 MOV A,#0CCH ;跳過(guò)ROM匹配 p217 ACALL WRITE_1820 ;寫入數(shù)據(jù) MOV A,
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年五年級(jí)語(yǔ)文上冊(cè) 第八單元 25 古人談讀書教學(xué)實(shí)錄 新人教版
- 一年級(jí)《烏鴉喝水》教學(xué)設(shè)計(jì)
- 2023三年級(jí)數(shù)學(xué)下冊(cè) 三 美麗的街景-兩位數(shù)乘兩位數(shù)信息窗3 多彩的街道夜景第2課時(shí)教學(xué)實(shí)錄 青島版六三制
- 某學(xué)院校區(qū)拆遷平整工程施工組織設(shè)計(jì)
- 智算中心建設(shè)項(xiàng)目可行性研究
- 心肌梗死急救知識(shí)
- 2024-2025學(xué)年高中歷史 第二單元 資本主義世界的市場(chǎng)的形成和發(fā)展 第5課 開辟新航路(4)教學(xué)教學(xué)實(shí)錄 新人教版必修2
- 三年級(jí)下品德與社會(huì)教學(xué)設(shè)計(jì)第五課:浦江的訴說(shuō)
- 2《燕子》教學(xué)設(shè)計(jì)2023-2024學(xué)年統(tǒng)編版語(yǔ)文三年級(jí)下冊(cè)
- 廣東省惠州市惠東縣2022年小升初語(yǔ)文試卷(學(xué)生版+解析)
- 新人教版(2025春季版)七年級(jí)下冊(cè)英語(yǔ)單詞表(可編輯一表解決所有需求)
- UNIT3 THIS IS MY ROOM(教學(xué)設(shè)計(jì))-2023-2024學(xué)年教科版(廣州)英語(yǔ)一年級(jí)下冊(cè)
- 智能建筑監(jiān)理例會(huì)會(huì)議記錄
- 中國(guó)稀土熱障涂層材料行業(yè)分類、市場(chǎng)運(yùn)行態(tài)勢(shì)及產(chǎn)業(yè)鏈全景圖譜分析報(bào)告
- 2025年九年級(jí)上冊(cè)道德與法治核心知識(shí)點(diǎn)梳理匯編
- 2024年河南省鄭州某中學(xué)小升初數(shù)學(xué)試卷(含答案)
- 2025年春新冀教版英語(yǔ)三年級(jí)下冊(cè)課件 2L1
- PowerPoint 2010 的基本操作課件
- 《英國(guó)小說(shuō)家羅琳》課件
- (八省聯(lián)考)河南省2025年高考綜合改革適應(yīng)性演練 生物試卷合集(含答案逐題解析)
評(píng)論
0/150
提交評(píng)論