版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、x x學(xué)院單片機原理與應(yīng)用課程論文課程論文題目基于單片機的空氣凈化機的設(shè)計院系名稱專業(yè)(班級)計算機科學(xué)與技術(shù)專業(yè)姓名(學(xué)號)指導(dǎo)教師2012年5月 日一緒論1.引言空氣凈化器具有濾去塵埃、消除異味及有害氣體、雙重滅菌、釋放負(fù)離子等功能。它通過電機使室內(nèi)空氣循環(huán)流動,被污染的空氣通過機內(nèi)的空氣過濾器后將各種污染物清除或吸附,然后經(jīng)過裝在出風(fēng)口的負(fù)離子發(fā)生器,將空氣不斷電離,產(chǎn)生大量負(fù)離子,被微風(fēng)送出,形成負(fù)離子氣流,達到清潔、凈化空氣的目的。目前,國內(nèi)外空氣凈化器產(chǎn)品普遍采用的凈化技術(shù)主要有:紫外線凈化、光觸媒凈化、等離子體凈化、過濾凈化(hepa)、靜電集塵、吸附凈化、負(fù)離子凈化、臭氧凈化、
2、分子絡(luò)合、himop快速凈化等方法。2.設(shè)計任務(wù)與要求高壓靜電除塵是根據(jù)靜電荷的異性相吸、同性相斥的原理,利用靜電力將空氣中帶電粉塵吸附沉降下來,以達到除塵的目的。通過該原理設(shè)計一款空氣凈化機從而取代物理除塵和臭氧除塵。二原理1.高壓靜電除塵的原理高壓靜電除塵是根據(jù)靜電荷的異性相吸、同性相斥的原理,利用靜電力將空氣中帶電粉塵吸附沉降下來,以達到除塵的目的。 含有粉塵顆粒的氣體,在接有高壓直流電源的陰極線(又稱電暈極)和接地的陽極板之問所形成的高壓電場通過時,由于陰極發(fā)生電暈放電、氣體被電離,此時,帶負(fù)電的氣體離子,在電場力的作用下,向陽極板運動,在運動中與粉塵顆粒相碰,則使塵粒荷以負(fù)電,荷電后
3、的塵粒在電場力的作用下,亦向陽極運動,到達陽極后,放出所帶的電子,塵粒則沉積于陽極板上,從而得到凈化的氣體。該技術(shù)只對顆粒物等大粒子氣體有效果,主要用于除塵。圖1-1靜電除塵器的工作原理圖三硬件設(shè)計1.溫度控制系統(tǒng)的硬件設(shè)計 顯示器鍵盤時鐘電路復(fù)位電路電源at89s51單片機a/d轉(zhuǎn)換器放大電路外部控制電路傳感器采集信號圖3-1 主電路圖框圖 2.信號采集電路的設(shè)計如圖3-2所示是設(shè)計中熱敏電阻測量原理電路,由電源、電阻電橋、運放和輸出四部分組成。電源部分包括r4、r6、c1、u1b。r4、r6為分壓電路,c1主要濾除vcc中的紋波,u1b為lm324運算放大器,工作于電壓更隨方式,其特點是輸
4、入阻抗高、輸出阻抗低,為后級電橋提供穩(wěn)定的電流。電橋由r1、r2、r3、r13組成,當(dāng)外界溫度發(fā)生變化時,通過調(diào)節(jié)r13使電路產(chǎn)生補償電壓,屬于電位補償。運放電路由r7、r8、r9、r10及u1a組成,這是一種靈敏度較高的電橋放大電路,放大倍數(shù)由r9/r8得到。輸出電阻由r4、r12、r14、d1組成,調(diào)節(jié)r14可以調(diào)整輸出電壓幅度。d1主要用于防止輸出負(fù)電壓,保護后級a/d電路。圖3-2信號采集電路3.復(fù)位電路如何進行復(fù)位呢?只要在單片機的rst引腳上加上高電平,就可以了,復(fù)位時間不少于5ms。為了達到這個要求,需要在外部設(shè)計復(fù)位電路。復(fù)位電路的實現(xiàn)可以用多種方法,但是從功能上一般分為兩種:
5、一種是電源復(fù)位,即外部的復(fù)位電路在系統(tǒng)通上電源之后直接使單片機工作,單片機的起停通過電源控制;另一種方法是在復(fù)位電路中設(shè)計按鍵開關(guān),通過按鍵開關(guān)觸發(fā)復(fù)位電平控制單片機的復(fù)位。從原理上說,一般采用高電復(fù)位電路。這種復(fù)位電路的工作原理是:通電時,電容兩端相當(dāng)于短路,于是rst引腳上為高電平,然后電源通過電阻對電容充電,rst端電壓慢慢下降,降到一定程序,即為低電平,單片機開始正常工作。圖3-3單片機的復(fù)位電路4.顯示與鍵盤電路的設(shè)計(1)顯示選用的是共陰極七段碼led數(shù)碼管顯示。圖3-4共陰極七段碼led數(shù)碼管芯片引腳在該設(shè)計中采用的led數(shù)碼管用的是共陰極接法,其中l(wèi)ed的18號引腳分別接芯片7
6、4ls164的ah引腳,用led數(shù)碼管實現(xiàn)數(shù)字顯示。圖3-5單片機的顯示和鍵盤連接圖(2)用at89s51單片機芯片串行口的方式0的輸出方式,在串行口外接移位寄存器74ls164,構(gòu)成鍵盤和顯示器接口,其硬件接口如圖3-5(圖中只畫出三位led靜態(tài)顯示和16個按鍵,根據(jù)需要可以擴展)。采用靜態(tài)顯示,軟件設(shè)計比較簡單,節(jié)約cpu的資源。5.單片機的選擇1 at89s5單片機芯片引腳功能說明(1)主電源引腳vss和vcc vss接地。 vcc正常操作時為+5伏電源。圖3-6 at89s51芯片引腳圖(2)控制或與其它電源復(fù)用引腳rst/vpd,ale/prog和ea/vpp。 rst/vpd 當(dāng)振
7、蕩器運行時,在此引腳上出現(xiàn)兩個機器周期的高電平(由低到高跳變),將使單片機復(fù)位。在vcc掉電期間,此引腳可接上備用電源,由vpd向內(nèi)部提供備用電源,以保持內(nèi)部ram中的數(shù)據(jù)。 ale/prog正常操作時ale的功能是(允許地址鎖存)提供并把地址的低字節(jié)鎖存到外部鎖存器,ale引腳以不變的頻率(振蕩器的頻率)周期性地發(fā)出正脈沖信號。因此,它可用作對外輸出的時鐘,或用于定時目的。但要注意,每當(dāng)訪問外部數(shù)據(jù)存儲器時,將跳過一個ale脈沖,ale 端可以驅(qū)動(吸收或輸出電流)八個lsttl電路。對于eprom型單片機,在eprom編程期間,此引腳接收編程脈沖(功能)。 外部程序存儲器讀選通信號輸出端,
8、在從外部程序存儲取指令(或數(shù)據(jù))期間,在每個機器周期內(nèi)兩次有效。同樣可以驅(qū)動八lsttl輸入。ea/vpp為內(nèi)部程序存儲器和外部程序存儲器選擇端。當(dāng) ea/vpp為高電平時,訪問內(nèi)部程序存儲器,當(dāng) ea/vpp 為低電平時,則訪問外部程序存儲器。對于eprom型單片機,在eprom編程期間,此引腳上加eprom編程電源12v(vpp)。6.a/d轉(zhuǎn)換電路設(shè)計(1)a/d轉(zhuǎn)換器芯片adc0809簡介。8路模擬信號的分時采集,片內(nèi)有8路模擬選通開關(guān),以及相應(yīng)的通道抵制鎖存用譯碼電路,其轉(zhuǎn)換時間為100s左右。adc0809的引腳圖如圖3-7所示。圖3-7adc0809引腳圖圖中多路開關(guān)可選通8個模
9、擬通道,允許8路模擬量分時輸入,共用一個a/d轉(zhuǎn)換器進行轉(zhuǎn)換,這是一種經(jīng)濟的多路數(shù)據(jù)采集方法。地址鎖存與譯碼電路完成 表3-1 通道選擇表cba被選擇的通道000in0001in1010in2011in3100in4101in5110in6111in7對a、b、c 3個地址位進行鎖存和譯碼,其譯碼輸出用于通道選擇,其轉(zhuǎn)換結(jié)果通過三態(tài)輸出鎖存器存放、輸出,因此可以直接與系統(tǒng)數(shù)據(jù)總線相連。 addbaddcaddavccgndin0in4in2in6in1in7in3in5ale8位模擬開關(guān)地址鎖存與譯碼eocoea/d轉(zhuǎn)換器dod1d2d3d4d7d6d5三態(tài)輸出鎖存緩沖器圖3-8adc0809
10、內(nèi)部邏輯結(jié)構(gòu)clksctar(2).信號引腳adc0809芯片為28引腳為雙列直插式封裝,其引腳排列見圖3-9所示。對adc0809主要信號引腳的功能說明如下:in7in0模擬量輸入通道。ale地址鎖存允許信號。對應(yīng)ale上跳沿,a、b、c地址狀態(tài)送入地址鎖存器中。start轉(zhuǎn)換啟動信號。start上升沿時,復(fù)位adc0809;start下降沿時啟動芯片,開始進行a/d轉(zhuǎn)換;在a/d轉(zhuǎn)換期間,start應(yīng)保持低電平。本信號有時簡寫為st。圖 3-9adc0809引腳圖a、b、c地址線。通道端口選擇線,a為低地址,c為高地址,引腳圖中為adda,addb和addc。其地址狀態(tài)與通道對應(yīng)關(guān)系見表3
11、-1。clk時鐘信號。dc0809的內(nèi)部沒有時鐘電路,所需時鐘信號由外界提供,因此有時鐘信號引腳。通常使用頻率為500khz的時鐘信號。eoc轉(zhuǎn)換結(jié)束信號。eoc=0,正在進行轉(zhuǎn)換;eoc=1,轉(zhuǎn)換結(jié)束。使用中該狀態(tài)信號即可作為查詢的狀態(tài)標(biāo)志,又可作為中斷請求信號使用。d7d0數(shù)據(jù)輸出線。為三態(tài)緩沖輸出形式,可以和單片機的數(shù)據(jù)線直接相連。d0為最低位,d7為最高。oe輸出允許信號。用于控制三態(tài)輸出鎖存器向單片機輸出轉(zhuǎn)換得到的數(shù)據(jù)。oe=0,輸出數(shù)據(jù)線呈高阻;oe=1,輸出轉(zhuǎn)換得到的數(shù)據(jù)。vcc電源。vref參考電源參考電壓用來與輸入的模擬信號進行比較,作為逐次逼近的基準(zhǔn)。其典型值為+5v(vr
12、ef(+)=+5v, vref(-)=-5v)。(3)、at89s51單片機與adc0809的接口電路連接主要涉及兩個問題。一是8路模擬信號通道的選擇,二是a/d轉(zhuǎn)換完成后轉(zhuǎn)換數(shù)據(jù)的傳送。如圖3-11所示模擬通道選擇信號a、b、c分別接最低三位地址a0、a1、a2即(p0.0、p0.1、p0.2),而地址鎖存允許信號ale由p2.0控制,則8路模擬通道的地址為0fef8h0feffh.此外,通道地址選擇以作寫選通信號,這一部分電路連接如圖3-12所示。aleat89s51intwrp2.0 rd&a0a7in1in2in3in4in5in6in7in0clk a b cd0 d7eoc
13、adc0809staleoe74ls373圖3-10 adc0809與at89s51的連接從圖中可以看到,把ale信號與start信號接在一起了,這樣連接使得在信號的前沿寫入(鎖存)通道地址,緊接著在其后沿就啟動轉(zhuǎn)換。啟動a/d轉(zhuǎn)換只需要一條movx指令。在此之前,要將p2.0清零并將最低三位與所選擇的通道好像對應(yīng)的口地址送入數(shù)據(jù)指針dptr中。例如要選擇in0通道時,可采用如下兩條指令,即可啟動a/d轉(zhuǎn)換:mov dptr , #fe00h ;送入0809的口地址movx dptr , a ;啟動a/d轉(zhuǎn)換(in0)注意:此處的a與a/d轉(zhuǎn)換無關(guān),可為任意值。a0a1a2p2.0&a
14、bcalestart圖3-11 adc0809的驅(qū)動alestarta/d啟動地址鎖存寄存器清“0”圖3-12信號的時間配合7.控制電路及控制方法3-7-1設(shè)計中所選擇的控制電機轉(zhuǎn)速的方法在設(shè)計中使用的是調(diào)節(jié)電機的轉(zhuǎn)速來控制燃料的進給量,從而控制燃料產(chǎn)生的煙塵的溫度,使得靜電除塵器所在環(huán)境的溫度達到控制,從而可以使靜電除塵器在合適的溫度下工作,也提高了工作的效率。在設(shè)計中使用的電機轉(zhuǎn)速調(diào)節(jié)的方法為轉(zhuǎn)子電路串電阻調(diào)速法。設(shè)計中的控制方法使用的是pid控制方法。3-7-2電機的調(diào)速方法(1) 普通三相鼠籠式。這種電機只能通過變頻器改變電源頻率和電壓調(diào)速(f/u)。(2) 三相繞線式電機,可以通過改
15、變串接在轉(zhuǎn)子線圈上的電阻改變電機的機械特性達到調(diào)速的目的。這種方式常 用在吊車上。長時間工作大功率的繞線式電機調(diào)速不用電阻串接,因為電阻會消耗大量的電能。通常是串可控硅,通過控制可控硅的導(dǎo)通角控制電流。相當(dāng)于改變回路中的電阻達到同上效果 。轉(zhuǎn)子的電能經(jīng)可控硅組整流后,再逆變送回電網(wǎng)。這種方式稱為串級調(diào)速。配上好的調(diào)速控制柜,據(jù)說可以和直流電機調(diào)速相比美。(3) 多極電機。這種電機有一組或多組繞組。通過改變接在接線合中的繞組引線接法,改變電機極數(shù)調(diào)速。最常見的4/2極電機用(角/雙y)接。(4) 三相整流子電機。這是一種很老式的調(diào)速電機,現(xiàn)在很用了。這種電機結(jié)構(gòu)復(fù)雜,它的轉(zhuǎn)子和直流電機轉(zhuǎn)子差不多
16、,也有換向器,和電刷。通過機械機構(gòu)改變電刷相對位置,改變轉(zhuǎn)子組繞組的電動勢改變電流而調(diào)速。這種電機用的是三相流電,但是,嚴(yán)格上來說,其實它是直流機。原理是有點象串礪直流機。圖3-13 電機的調(diào)速電路(5) 滑差調(diào)速器。這種方式其實不是改變電機轉(zhuǎn)速。而是改變和是電機軸相連的滑差離合器的離合度,改變離合器輸出軸的轉(zhuǎn)速來調(diào)速的。還有如,硅油離合器,磁粉離合器,等等,一此離合機械裝置和三相電機配套,用來調(diào)速的方式。嚴(yán)格上來說不算是三相電機的調(diào)還方式。但是很多教材常常把它們算作調(diào)速方式和一種。四軟件系統(tǒng)的設(shè)計1.設(shè)計思想軟件采用模塊化結(jié)構(gòu)。軟件主要完成如下任務(wù):掃描鍵盤并按要求調(diào)出設(shè)定值或輸入新的設(shè)定值
17、,并判斷是否啟動,啟動時控制電機的電阻的開關(guān)處于閉合狀態(tài),然后監(jiān)視溫度的變化,當(dāng)溫度超出設(shè)定溫度值10時,斷開控制電機電阻的開關(guān)讓電機的轉(zhuǎn)速減慢,當(dāng)溫度低于設(shè)定溫度10時,閉合控制電機電阻的開關(guān)。主程序的框圖如圖4-1所示2鍵盤顯示子程序在設(shè)計中的鍵盤顯示使用的方式是靜態(tài)顯示方式。org 1000hdspser:setb p3.3; 開放顯示輸出mov r7, #03h ; 送出的顯示段碼個數(shù)mov r0, #7fh ; 7fh7dh為顯示緩沖區(qū) dsps1:mov a, r0 ; 取出要顯示的數(shù)據(jù)add a, #0dh ; 加上偏移量movc a, a+pc ; 查段碼表tab1mov sb
18、uf, a ; 經(jīng)過串行口將段碼送出dsps2:jnb ti, dsps2 ; 數(shù)據(jù)發(fā)送完?clr tidec r0 ; 指向下一個數(shù)據(jù)單元djnz r7, dsps1 ; 三個顯示器是否全部顯示?clr p3.3 ; 三個數(shù)據(jù)顯示完,關(guān)閉送顯示數(shù)據(jù)通道retkeys1: mov a,#00h mov sbuf, a ; 掃描鍵盤全部輸出0 ksy0: jnb ti, ksy0 ; 數(shù)據(jù)發(fā)送完?clr tipks1: acall delay1 ; 調(diào)用延時20ms子程序,鍵盤去抖jnb p3.3, pks2; 有鍵閉合嗎?pks2: mov r7, #08h; 不是抖動引起的 mov r6,
19、#0feh ; 判斷是哪個鍵按下? mov r3, #00hnnnnnnyyy開始設(shè)堆棧指針工作區(qū)清零,送常數(shù)開中斷調(diào)顯示子程序減少鍵?加十處理減十處理置靜電除塵器環(huán)境溫度顯示標(biāo)志正常工作鍵?以為標(biāo)志調(diào)響應(yīng)顯示子程序靜電除塵器的環(huán)境溫度?溫度設(shè)置鍵?增加鍵?圖4-1 主程序框圖調(diào)鍵盤分析程序 mov a, r6ksy2: mov sbuf, aksy3: jnb ti, ksy3; 等待串行口發(fā)送完clr tijnb p2.4, pkone; 是第一行的某鍵按下? mov r4, #00h; 第一行有鍵按下ajmp pks3dely1: mov r3,#228mov r2,#253mov r1
20、,#219loop1: dinz r1,$ dinz r2,loop1 dinz r3,loop1 nop ret3.pid 控制子程序設(shè)計中所使用的控制方式是pid控制,圖4-2所示的是pid控制的流程程序圖。pid:mov r2,25h ;設(shè)定值u送r2 mov r3,24h ;采樣平均值r送r3 lcall cpl1 lcall sum ;求偏差ei(k),存放于r2中 mov 29h,r2 ;本次偏差ei(k)送29h mov r3,27h ;ki送r3 lcall smul ;求得pi mov 30h,r4 ;pi的高字節(jié)送30h mov 31h,r5 ;pi的低字節(jié)送31h mov
21、 r2,29h ;ei(k)送r2 mov r3,2ah ;上次偏差ei(k-1)送r3 lcall cpl1 lcall sum ;求得ei(k)-ei(k-1),存放于r2中 mov r3,26h ;kp送r3 lcall smul ;求得pp,高字節(jié)存r4,低字節(jié)存r5 mov r2,30h ;pi送r2 r3 mov r3,31h lcall dsum ;求得pi+pp mov 30h,r4 ;結(jié)果高字節(jié)送30h mov 31h,r5 ;結(jié)果低字節(jié)送31h mov r2,29h ;本次偏差ei(k)送r2 mov r3,2bh ;上上次偏差ei(k-2)送r3 lcall sum ;求
22、得ei(k)+ei(k-2),存放于r2中 mov r3,2ah ;上次偏差ei(k-1)送r3 lcall cpl1 ;eik-1)取補碼 lcall sum ;求得ei(k)+ei(k-2)-ei(k-1),存放于r2中 lcall sum ;求得ei(k)+ei(k-2)-2ei(k-1),存放于r2中 mov r3,28h ;kd送r3 lcall smul ;求得pd,高字節(jié)存r4,低字節(jié)存r5 mov r2,30h ;取pi+pp mov r3,31h lcall dsum ;求得pi+pp+pd,高字節(jié)存r4,低字節(jié)存r5 mov r2,2ch ;取上次計算的p(k-1) mov
23、 r3,2dh lcall dsum ;求得本次p(k)=pi+pp+pd+p(k-1) mov 2ch,r4 ;結(jié)果高字節(jié)存2ch mov 2dh,r5 ;結(jié)果低字節(jié)送2dh mov 2bh,2ah ;e(k-1)送e(k-2) mov 2ah,29h ;ei(k)送ei(k-1) ret 計算ei(k),ui(k)更行ui(k1)計算2 ui(k)更行ui(k1)計算ui(k)更新ui(k1)返回圖4-2 pid控制框圖初始化4匯編源程序見附錄五硬件系統(tǒng)與軟件系統(tǒng)的調(diào)試1.軟件調(diào)試應(yīng)用keil軟件調(diào)試步驟如下:(1)在keil軟件中點擊projec中的new project新建一個工程文件
24、(2)在工程的子目錄中建一個文件,名為text1.asm注:在keil軟件中一定要建一個asm類型的文件,此時keil才能識別程序。(3)輸入程序,調(diào)試。附錄 源程序 org 0000h ljmp main org 000bh ljmp t00 org 001bh ljmp t100 org 0030h main:mov r0,#7fh main1:mov r0,#00h djnz r0,main1 mov sp,#60h mov 08h,#32h mov 0fh,#20h mov 10h,#20h mov tmod,#11h mov th0,#0fch mov tl0,#18h setb t
25、r0 setb et0 setb it0 setb ex0 setb ea setb 2fh.4 begin: dis00: mov a,09h mov b,#64h div ab mov 35h,a mov a,b mov b,#0ah div ab mov 36h,a mov 37h,b mov a,43h cjne a,#3ah,out01 mov a,42h cjne a,#98h,out01 mov 42h,#00h mov 43h,#00h lcall samp setb 2fh.1 out01:jnb 2fh.1,out02 lcall filter clr 2fh.1 setb
26、 2fh.2 mov r2,25h mov r3,24h lcall cpl1 lcall sum mov a,r2 cjne a,#01ah,out04 ljmp out05 out04:jc out05 setb p1.2 ljmp out06 out05:mov 26h,#12h mov 27h,#1h mov 28h,#1h lcall pid mov th1,2ch mov tl1,2dh setb tr1 setb et1 ljmp out06 out02: mov a,45h cjne a,#03h,out06 mov a,44h cjne a,#0e8h,out06 mov 4
27、4h,#00h mov 45h,#00h mov th1,2ch mov tl1,2dh setb tr1 setb et1 out06: jb 2fh.4,out07 jnb 2fh.2,beg beg: ljmp bejinout07: ; mov 24h,#56h mov r0,24h lcall transf mov 32h,r0 mov 33h,r1 mov 34h,r2 mov 25h,#0ffh mov r0,25h lcall transf mov 35h,r0 mov 36h,r1 mov 37h,r2 clr 2fh.2 clr 2fh.4 ljmp begin t100:
28、clr et1 push acc push b push psw push dph push dpl clr p1.2 pop dpl pop dph pop psw pop b pop acc setb et1 reti key1: mov 30h,#01h mov a,#01h add a,09h mov 09h,a mov a,#00h addc a,13h mov 13h,a ret key2: mov 30h,#02h mov a,#0ah mov b,09h mul ab swap a add a,b swap a mov 09h,a ret key3: mov 30h,#03h
29、clr c mov a,#01h xch a,09h subb a,09h mov 09h,a ret key4: mov 30h,#04h mov 09h,#00h ret t00:clr ea push acc push b push psw push dph push dpl clr rs1 setb rs0 mov th0,#0fch mov tl0,#25h mov dptr,#7fffh mov a,#00h movx dptr,a mov dptr,#9fffh mov a,#0ffh movx dptr,a mov a,r0 mov dptr,#tab movc a,a+dpt
30、r mov dptr,#9fffh movx dptr,a mov dptr,#7fffh mov a,r7 movx dptr,a inc r0 rr a mov r7,a cjne r0,#38h,scan mov r0,#32h mov r7,#20h scan:mov a,42h add a,#01h mov 42h,a mov a,43h addc a,#00h mov 43h,a mov a,44h add a,#01h mov 44h,a mov a,45h addc a,#00h mov 45h,a key01: mov dptr,#1fffh mov a,#0feh movx
31、 dptr,a jb p1.7,key02 inc 4ah mov a,4ah cjne a,#0ah,key02 mov 4ah,#00h mov a,46h cjne a,#00h,key02 lcall key2 inc 46h key02: jnb p1.7,beck1 mov 46h,#00h beck1: mov a,#0dfh movx dptr,a nop nop jb p1.7,key03 inc r2 inc 4bh mov a,4bh cjne a,#0ffh,loop02 mov 4bh,#00h inc 4ch mov a,4ch subb a,#08h jnc lo
32、op03 loop02: cjne r2,#0ah,key03 mov r2,#00h mov a,47h cjne a,#00h,key03 loop03: lcall key1 inc 47h key03: jnb p1.7,beck2 mov 4bh,#00h mov 4ch,#00h mov 47h,#00h beck2: mov a,#0bfh movx dptr,a nop nop jb p1.7,key04 inc r3 inc r5 cjne r5,#0ffh,loop00 mov r5,#00h inc r6 mov a,r6 subb a,#08h jnc loop01 l
33、oop00: cjne r3,#08h,key04 mov r3,#00h mov a,48h cjne a,#00h,key04 loop01: lcall key3 inc 48h key04: jnb p1.7,beck3 mov r5,#00h mov r6,#00h mov 48h,#00h beck3: mov a,#7fh movx dptr,a nop nop jb p1.7,t101 inc r4 cjne r4,#0ah,t101 mov r4,#00h mov a,49h cjne a,#00h,t101 lcall key4 inc 49h t101: mov 41h,
34、#00h nop pop dpl pop dph pop psw pop b pop acc setb ea reti samp:mov r0,#20h mov r2,#04h mov dptr,#5ffah sam1:movx dptr,a nop wait:jb p3.2,wait movx a,dptr mov r0,a inc r0 djnz r2,sam1 ret filter:mov r0,#20h mov r6,#00h mov r7,#00h mov r2,#04h sum10:mov a,r7 add a,r0 mov r7,a mov a,r6 addc a,#00h mo
35、v r6,a inc r0 djnz r2,sum10 mov r2,#02h sum12:mov a,r6 clr c rrc a mov r6,a mov a,r7 rrc a mov r7,a djnz r2,sum12 mov 24h,r7 ret pid:mov r2,25h mov r3,24h lcall cpl1 lcall sum mov 29h,r2 mov r3,27h lcall smul mov 30h,r4 mov 31h,r5 mov r2,29h mov r3,2ah lcall cpl1 lcall sum mov r3,26h lcall smul mov
36、r2,30hmov r3,31h lcall dsum mov 30h,r4 mov 31h,r5 mov r2,29h mov r3,2bh lcall sum mov r3,2ah lcall cpl1 lcall sum lcall sum mov r3,28h lcall smul mov r2,30h mov r3,31h lcall dsum mov r2,2ch mov r3,2dh lcall dsum mov 2ch,r4 mov 2dh,r5 mov 2bh,2ah mov 2ah,29h ret cpl1:mov a,r3 cpl a add a,#01h mov r3,
37、a ret sum:mov a,r2 add a,r3 mov r2,a ret smul: nop sbit bit 2eh.0 sbit1 bit 2eh.1 sbit2 bit 2eh.2 mov a,r2 rlc a mov sbit1,c mov a,r3 rlc a mov sbit2,c anl c,/sbit1 mov sbit,c mov c,sbit1 anl c,/sbit2 orl c,sbit mov sbit,c mov a,r2 jnb sbit1,nch1 cpl a inc a nch1:mov b,a mov a,r3 jnb sbit2,nch2 cpl
38、a add a,#01h nch2:mul ab jnb sbit,nch3 cpl a add a,#01h nch3:mov r5,a mov a,b jnb sbit,nch4 cpl a addc a,#00h nch4:mov r4,a ret dsum:mov a,r5 add a,r3 mov r5,a mov a,r4 addc a,r2 mov r4,a ret sum00:cpl 2eh.3 jb 2eh.3,sum01 mov a,24h add a,#02h mov 24h,a ret sum01:mov a,24h add a,#03h mov 24h,a ret s
39、ubb00:cpl 2eh.3 jb 2eh.3 ,sub01 mov a,24h clr c subb a,#03h mov 24h,a ret sub01: mov a,24h clr c subb a,#02h mov 24h,a ret transf:mov a,#64h mov b,r0 mul ab mov r5,a mov r4,b mov r7,#0ffh d457:clrc mova,r4 subba,r7 jcdv50 setbov ret dv50:mov r6,#8 dv51:mov a,r5 rlca movr5,a mova,r4 rlca movr4,a movf
40、0,c clrc subba,r7 anlc,/f0 jcdv52 movr4,a dv52:cpl c mova,r3 rlca movr3,a djnzr6,dv51 mova,r4 adda,r4 jcdv53 subba,r7 jcdv54 dv53:inc r3 dv54:clr ov mov a,r3 mov b,#64h div ab mov r0,a mov a,b mov b,#0ah div ab mov r1,a mov r2,b ret tab: db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h db 88h,83h,0c6
41、h,0a1h,86h,8eh,8ch,0c1h,0ceh,91h,89h,0c7h,0ffh end t100: clr ea push acc push b push psw push dph push dpl clr rs1 setb rs0 ;mov th1 ;mov tl1 lcall samp lcall filter key00:mov dptr,#1fffh mov a,#0feh movx dptr,a jb p2.7,key01 inc 38h mov a,38h cjne a,#0ah,key01 setb 2eh.5 clr 2fh.0 key01:mov 38h,#00h mov a,#0fdh movx dp
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 專業(yè)服務(wù)協(xié)議續(xù)簽文檔:保障雙方權(quán)益(2024版)版
- 2024年05月上海中國銀聯(lián)“銀星”實習(xí)生招考筆試歷年參考題庫附帶答案詳解
- 2025年度軍事工程專用鋼管扣件運輸安全保密協(xié)議3篇
- 2025年度合同封面定制與法律風(fēng)險防控策略合同3篇
- 專項補充貸款協(xié)議規(guī)范示例2024一
- 2025年度產(chǎn)品陳列與品牌形象提升協(xié)議書3篇
- 2025年廠房建筑合同范本:廠房建筑與環(huán)保驗收合同規(guī)范4篇
- 2025年產(chǎn)業(yè)園區(qū)場地租賃與產(chǎn)業(yè)金融服務(wù)合同4篇
- 醫(yī)療安全知識培訓(xùn)
- 2025年度虛擬現(xiàn)實產(chǎn)品設(shè)計保密合同(全新版)4篇
- 部編新改版語文一年級下冊《語文園地四》教學(xué)設(shè)計
- 2025年北京鐵路局集團招聘筆試參考題庫含答案解析
- 《藥品招商營銷概論》課件
- 曙光磁盤陣列DS800-G10售前培訓(xùn)資料V1.0
- 寺廟祈?;顒臃桨?共6篇)
- 2025年病案編碼員資格證試題庫(含答案)
- 企業(yè)財務(wù)三年戰(zhàn)略規(guī)劃
- 提高膿毒性休克患者1h集束化措施落實率
- 山東省濟南市天橋區(qū)2024-2025學(xué)年八年級數(shù)學(xué)上學(xué)期期中考試試題
- 主播mcn合同模板
- 2024測繪個人年終工作總結(jié)
評論
0/150
提交評論