版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> 摘 要</b></p><p> 本次課程設(shè)計是利用天皇教儀三合一實驗箱。對直流電動機進行調(diào)節(jié)控制并檢測其旋轉(zhuǎn)速度,使用液晶顯示器型號為OCMJ4×8C(奧可拉中文集成模塊)顯示旋轉(zhuǎn)速度。本次課程設(shè)計的目的是更加熟練單片機的工作原理以及實踐運用。以此同時更深一步理解OCMJ4×8C工作原理。為了提高軟件調(diào)試的快速性及成功率,本次課設(shè)還特地
2、使用Protues進行理論上的仿真。</p><p> 關(guān)鍵字 :單片機 ;OCMJ4×8C-LCD ;直流電動機;轉(zhuǎn)速;</p><p><b> 目錄</b></p><p><b> 1前言1</b></p><p> 2 整體方案設(shè)計2</p><
3、;p> 3 硬件電路設(shè)計2</p><p><b> 3.1硬件說明3</b></p><p> 3.2 外形尺寸圖4</p><p> 3.3 模塊引腳說明4</p><p> 3.4 資料傳輸與接口時序5</p><p> 3.4.1串行接口與串行傳輸資料5<
4、;/p><p> 3.4.2 串行接口時序圖6</p><p> 3.4.3串行接口特性6</p><p><b> 3.5顯示步驟7</b></p><p> 3.6直流電機的組成結(jié)構(gòu)及工作原理8</p><p> 3.7 光電耦合器的組成及工作原理9</p>&l
5、t;p> 4 軟件程序設(shè)計10</p><p> 4.1系統(tǒng)調(diào)試11</p><p> 4.1.1速度轉(zhuǎn)換公式11</p><p> 4.1.2 數(shù)字測速M法12</p><p> 4.1.3 數(shù)字測速T法12</p><p> 4.1.4數(shù)字測速M/T法12</p><
6、;p> 5 調(diào)試中的問題并解決13</p><p><b> 課設(shè)總結(jié)14</b></p><p><b> 參考文獻15</b></p><p><b> 附錄Ⅰ15</b></p><p><b> 前言</b></p&g
7、t;<p> 顯示器的出現(xiàn)大大改變了人們的視野,它能夠重新顯示過的歷史也能創(chuàng)想未來的藍圖?,F(xiàn)在人們所接觸的顯示器主要有液晶顯示器LCD、LED及數(shù)碼管等。而最近幾十年顯示器的發(fā)展速度更加迅速和完善。以至于很多的電子顯示設(shè)備也發(fā)生的巨大變化。例如:由原來的“大腦袋”顯示器變成薄而寬的直板型顯示器,由起初厚重不夠清晰的電視機變?yōu)檩p便高清晰的寬屏電視機等等。單片機則有著獨特的綜合計算處理功能。它是一種廉價實用的微型計算機處理器
8、件,并且它所使用的范圍非常地廣泛能夠運用到人們生活的每個角落。它的廉價、使用、穩(wěn)定、高速運算及強抗干擾能力為人們所親睞。為了進一步掌握單片機的運用,本次研究的課題是用匯編或KeilC51進行編寫程序。首先從現(xiàn)有的硬件出發(fā),此次課設(shè)所用元器件較少。再根據(jù)硬件設(shè)計能夠通過軟件的編程調(diào)試實現(xiàn)所需課設(shè)要求。</p><p><b> 2 整體方案設(shè)計</b></p><p&g
9、t; 面對新的課題要有自己解決問題的思路和方法。所以在整體設(shè)計時有了自己的構(gòu)思和方法,在解決問題的過程時我就可以如圖2.1所示一步一步實現(xiàn)。</p><p><b> 圖2.1整體思路</b></p><p><b> 3 硬件電路設(shè)計</b></p><p> 在構(gòu)思設(shè)計的同時也要考慮硬件的最大利用率,本次課設(shè)可
10、以先在電腦上進行模擬仿真這樣就能提高設(shè)計的效率以及電路的可行性。而且在仿真的過程中非常方便進行電路修改又可以達到很好的效果。因此通過使用Protues對硬件電路精心設(shè)計并對該電路進行仿真調(diào)試,設(shè)計出最好的電路圖如圖3.1所示的整體設(shè)計電路圖。用脈沖形式代替光電耦合管測取轉(zhuǎn)速。</p><p><b> 圖3.1硬件電路圖</b></p><p><b>
11、 3.1硬件說明</b></p><p> LCD系列中文模塊可以顯示字母、數(shù)字符號、中文字型及圖形,具有繪圖及文字畫面混合顯示功能。提供三種控制接口,分別是8位微處理器接口,4位微處理器接口及串行接口(OCMJ4×16A/B無串行接口)。所有的功能,包含顯示RAM,字型產(chǎn)生器,都包含在一個芯片里面,只要一個最小的微處理系統(tǒng),就可以方便操作模塊。內(nèi)置2M-位中文字型ROM (CGROM)
12、總共提供8192 個中文字型(16×16 點陣),16K-位半寬字型ROM (HCGROM) 總共提供126 個符號字型(16×8 點陣),64 × 16-位字型產(chǎn)生RAM (CGRAM),另外繪圖顯示畫面提供一個64×256點的繪圖區(qū)域(GDRAM),可以和文字畫面混和顯示。提供多功能指令:畫面清除(Display clear)、光標歸位(Return home)、顯示打開/關(guān)閉(Display
13、 on/off)、光標顯示/隱藏(Cursor on/off)、顯示字符閃爍(Display character blink)、光標移位(Cursor shift)、顯示移位(Displayshift)、垂直畫面卷動(Vertical line scr</p><p><b> 主要參數(shù):</b></p><p> 1、工作電壓(VDD):4.5~5.5V<
14、/p><p> 2、邏輯電平:2.7~5.5V</p><p> 3、LCD 驅(qū)動電壓(Vo):0~7V</p><p> 4、工作溫度(Ta):0~55℃(常溫)/-20~75℃(寬溫) 保存溫度(Tstg):-10~65℃(常溫)/-30~85℃(寬溫)。</p><p><b> 3.2 外形尺寸圖</b>&l
15、t;/p><p> 為了更好的了解顯示器OCMJ4×8C外形圖,我們可以對其進行圖形表示如圖3.2所示。</p><p> 圖3.2 OCMJ4×8C外形尺寸圖</p><p> 3.3 模塊引腳說明</p><p> 便于使用 OCMJ4×8C(128×64)引腳,做了如表1所示說明。</p
16、><p><b> 表1各引腳說明</b></p><p> 注:OCMJ4×8C_3/_6為減少背光電源對模塊的干擾作了特別處理,背光電源焊盤(20、21 腳)與17 腳間留了2 個焊盤(18、19 腳)位置但并無焊盤和引腳引出;背光電源的2 條走線與其他走線間的間隔距離至少保留了2mm的爬電間隔。</p><p> 3.4 資料
17、傳輸與接口時序</p><p> 3.4.1串行接口與串行傳輸資料</p><p> 當PSB腳接低電位時,模塊將進入串行模式。從一個完整的串行傳輸流程來看,一開始先傳輸啟始字節(jié),它需先接收到五個連續(xù)的“1”(同步位字符串),在啟始字節(jié),此時傳輸計數(shù)將被重置并且串行傳輸將被同步,再跟隨的兩個位字符串分別指定傳輸方向位(RW)及寄存器選擇位(RS),最后第八的位則為“0”。在接收到同步位
18、及RW和RS資料的啟始字節(jié)后,每一個八位的指令將被分為兩個字節(jié)接收到:較高4位(DB7~DB4)的指令資料將會被放在第一個字節(jié)的LSB部分,而較低4位(DB3~DB0)的指令資料則會被放在第二個字節(jié)的LSB部分,至于相關(guān)的另四位則都為0。</p><p> 3.4.2 串行接口時序圖</p><p> MPU寫資料到模塊如圖2-3所示。</p><p> 圖3
19、.3 串行接口時序圖</p><p> 3.4.3串行接口特性</p><p> 為了更好的了解LCD的工作特性我們可以從如圖3.4所示。</p><p> 圖3.4 串行接口特性</p><p><b> 3.5顯示步驟</b></p><p> 3.5.1顯示資料RAM(DDRAM
20、)</p><p> 顯示數(shù)據(jù)RAM 提供64×2 個字節(jié)的空間,最多可以控制4 行16 字(64 個字)的中文字型顯示,當寫入顯示資料RAM時,可以分別顯示CGROM,HCGROM 與CGRAM 的字型;本系列模塊可以顯示三種字型,分別是半寬的HCGROM 字型、CGRAM 字型及中文CGROM 字型,三種字型的選擇,由在DDRAM 中寫入的編碼選擇,在0000H~0006H 的編碼中將選擇CGRA
21、M 的自定字型,02H~7FH 的編碼中將選擇半寬英數(shù)字的字型,至于A1 以上的編碼將自動的結(jié)合下一個字節(jié),組成兩個字節(jié)的編碼達成中文字型的編碼BIG5(A140~D75F) GB(A1A0~F7FF),詳細各種字型編碼如下:</p><p> 1. 顯示半寬字型:將8 位資料寫入DDRAM 中,范圍為02H~7FH 的編碼。</p><p> 2. 顯示CGRAM 字型:將16 位資
22、料寫入DDRAM 中,總共有0000H,0002H,0004H,0006H 四種編碼。</p><p> 3. 顯示中文字形:將16 位資料寫入DDRAM 中,范圍為A140H~D75FH 的編碼(BIG5) , A1A0H~F7FFH 的編碼(GB)。將16 位資料寫入DDRAM 方式為透過連續(xù)寫入兩個字節(jié)的資料來完成,先寫入高字節(jié)(D15~D8)再寫入低字節(jié)(D7~D0)。</p><p
23、> 3.5.2 顯示器引腳與單片機連接</p><p> 本次課程設(shè)計只用到了串行方式進行轉(zhuǎn)速顯示。但是在與單片機相連接線的時候依然把其他的數(shù)據(jù)引腳連接在單片機的P1端口,具體的接線法可以在P2端口體現(xiàn)如圖3.5所示。仿真的接線法在仿真軟件中能夠很好的模擬出來,而課設(shè)所用的實驗箱卻是天皇教儀內(nèi)部已經(jīng)有固定的焊接點。對系統(tǒng)進行調(diào)試時只有接P1口就行具體接法為引腳CS連接 P1.0、引腳STD連接單片機的P
24、 1.1、引腳SCLK連接P1.2、引腳PSB連接P1.3、引腳RES 連接P1.4。</p><p> 圖3.5顯示器引腳與單片機連接</p><p> 3.6直流電機的組成結(jié)構(gòu)及工作原理</p><p> 直流電動機的結(jié)構(gòu)是由直流電源、直流電機、控制開關(guān)和調(diào)速器組成。直流電機的工作原理不外乎就是用直流電源作為能量來驅(qū)動電機旋轉(zhuǎn)。通過對三極管的截止與導(dǎo)通
25、進行控制,使其起到開、關(guān)和調(diào)速的作用。具體的操作為當直流電動機接上直流電源時,使用電位器旋轉(zhuǎn)按鈕控制三極管集極的電壓。1、當三極管的集極電壓小于死區(qū)電壓時三極管截止,則電動機不轉(zhuǎn)動;2、當集極電壓大于死區(qū)電壓而小于飽和電壓時三極管處于放大狀態(tài),隨著集極電壓改變,從而改變了直流電動機兩端的壓降也就改變了電機的轉(zhuǎn)速。具體原理為集極的電壓大小不一樣,三極管的電壓放大倍數(shù)也不一樣從而起到調(diào)速作用改變直流電動機的旋轉(zhuǎn)速度。在選擇控制三極管集電極與
26、發(fā)射極之間電壓放大倍數(shù)時,我也進過兩種方案的比較。第一種方案是用電位器直接對三極管進行控制;第二種方案是通過PWM(脈沖寬度調(diào)制)進行控制集極電壓值,進而對三極管兩端集電極與發(fā)射極電壓的導(dǎo)通時間與截止時間進行控制,屬于間斷性控制。但后一種方案對直流電機有損害,縮短電機使用壽命。綜合比較后,選擇直接用電位器控制電機的轉(zhuǎn)速。如圖3.5所示電路圖。</p><p> 圖3.5 直流電機電路圖</p>&
27、lt;p> 3.7 光電耦合器的組成及工作原理</p><p> 光電耦合器的組成是用一個發(fā)光二極管和一個光敏三極管構(gòu)成。光電耦合器的工作原理就是使發(fā)光二極管導(dǎo)通與截止狀態(tài)進行發(fā)射紅外線與不發(fā)射,讓光敏三極管導(dǎo)通與截止。具體過程為當發(fā)光二極管的兩端電壓大于死區(qū)電壓時二極管發(fā)射出紅外線同時光敏三極管柵極有驅(qū)動三極管導(dǎo)通的電壓,使得三極管的源級電壓降低由原來的高電平變?yōu)榈碗娖?,進而產(chǎn)生一個脈沖的形式轉(zhuǎn)送給單
28、片機。通過單片機的外部中斷進行計數(shù)脈沖個數(shù)從而得到直流電動機的旋轉(zhuǎn)速度。光電耦合器的電路圖為圖3.6所示。</p><p> 圖3.6光電測速電路</p><p> 3.8 光電耦合器與電機連接</p><p> 在改變電機轉(zhuǎn)速的同時影響到發(fā)光二極管導(dǎo)通與截止。只有這樣才能產(chǎn)生脈沖的形式發(fā)送給光敏二極管,進而改變了外部中斷P3.5口高低電位。則單片機內(nèi)部進行計
29、數(shù)就可以獲取轉(zhuǎn)速。具體接線如圖3.7所示。</p><p> 圖3.7光電耦合器與電機連接</p><p><b> 4 軟件程序設(shè)計</b></p><p> 在單片機的設(shè)計過程中,只有知道現(xiàn)有的硬件連接才能進行軟件設(shè)計與調(diào)試。沒有硬件的程序是毫無意義的。因此為了達到課程設(shè)計所需的要求,又根據(jù)硬件的條件及接線法進行了如圖4.1 所示的編
30、寫程序步驟。</p><p> 圖4.1 軟件設(shè)計流程圖</p><p><b> 4.1系統(tǒng)調(diào)試</b></p><p> 在本次課設(shè)所用程序中需要使用到速度測取和計算問題。因此為了能更加準確測得直流電動機的旋轉(zhuǎn)速度,特意運用了我們所了解數(shù)字測速法來換算速度。在此對在這幾種測速方法進行比較。這樣就可以得到此次課程設(shè)計所要選擇的最佳方案。
31、</p><p> 4.1.1速度轉(zhuǎn)換公式</p><p> 在電力拖動自動控制系統(tǒng)—運動控制系統(tǒng)中我們學(xué)習過如何測取直流電動機的旋轉(zhuǎn)速度??梢圆捎眯D(zhuǎn)編碼器的數(shù)字測速方法來解決這個問題。數(shù)字測速方法目前有比較常用的三種:M法、T法和法。</p><p> 4.1.2 數(shù)字測速M法</p><p> M法的測速原理為在一定時間T內(nèi)測取
32、旋轉(zhuǎn)編碼器輸出的脈沖個數(shù)M,用以計算這段時間內(nèi)的平均轉(zhuǎn)速。把M除以T就可得到旋轉(zhuǎn)編碼器輸出脈沖的頻率,所以又叫頻率法。電動機每轉(zhuǎn)一圈共產(chǎn)生Z個脈沖(Z=倍頻系數(shù)編碼器光柵數(shù)),把f除以Z就得到電動機的轉(zhuǎn)速。在習慣上,時間T以秒為單位,而轉(zhuǎn)速是以每分鐘的轉(zhuǎn)速r/min為單位,則電動機的轉(zhuǎn)速為</p><p> …………………………………………………(1)</p><p> 在上式中,Z和
33、T均為常值,因此轉(zhuǎn)速n正比于脈沖個數(shù)M。高速時M大,量化誤差小,隨著轉(zhuǎn)速的降低誤差增大,轉(zhuǎn)速過低時M將小于1,測速裝置便不能正常工作。所以M法測速只適用于高速段。</p><p> 4.1.3 數(shù)字測速T法</p><p> T法的測速原理為在編碼器兩個相鄰輸出脈沖的間隔時間內(nèi),用一個計數(shù)器對已知頻率為f的高頻脈沖進行計數(shù),并由此來計算轉(zhuǎn)速。在這里,測速時間緣于編碼器輸出脈沖的周期,所
34、以又稱周期法。在T法測速中,準確的測速時間T是用所得的高頻時鐘脈沖個數(shù)M計算出來的,即,則電動機轉(zhuǎn)速為</p><p> ………………..…..……………………………..(2)</p><p> 高速時M小,量化誤差大,隨著轉(zhuǎn)速的降低誤差減小,所以T法測速適用于低速段與M法恰好相反。</p><p> 4.1.4數(shù)字測速M/T法</p><
35、p> 把M法和T法結(jié)合起來,既檢測T時間內(nèi)旋轉(zhuǎn)編碼器輸出的脈沖個數(shù)M,又檢測同一時間間隔的高頻時鐘脈沖個數(shù)M,用來計算轉(zhuǎn)速,稱作法測速。設(shè)高頻時鐘脈沖的頻率為f,則準確的測速時間,而電動機轉(zhuǎn)速為</p><p> …..……………..…………………………….(3)</p><p> 采用法測速時,應(yīng)保證高頻時鐘脈沖計數(shù)器與旋轉(zhuǎn)編碼器輸出脈沖計數(shù)器同時開啟與關(guān)閉,以減小誤差,只有
36、等到編碼器輸出脈沖前沿到達時,兩個計數(shù)器才同時允許開始或停止計數(shù)。</p><p> 由于法的計數(shù)值M1和M2都隨著轉(zhuǎn)速的變化而變化,高速時,相當于M法測速,最低速時,M1=1,自動進入T法測速,因此,法測速能適用的轉(zhuǎn)速范圍明顯大于前兩種,是目前廣泛應(yīng)用的一種測速方法。</p><p> 通過這幾種方案的對比,我們可以很好的得出我們想要的最佳方案。由于直流電動機的旋轉(zhuǎn)速度很快,所以我們
37、選用的方案是用M法進行測取電機的旋轉(zhuǎn)速度。</p><p> 5 調(diào)試中的問題并解決</p><p> 任何事情都不太可能風雨無阻,我也不例外在此次課程設(shè)計中同樣遇到了很多的困難。第一就是硬件的工作原理不知道,只能通過自己去查閱相關(guān)的資料,只有充分理解硬件是怎么工作才能進行編寫相關(guān)的程序。</p><p> 起初對控制直流電動機的器件選取不是很清楚,剛看實驗箱
38、第一反應(yīng)就覺得不可能進行對電機的控制作用。而老師跟我說能控制,要我自己去摸索實驗箱內(nèi)部電路的具體接線。本著老師能控制我也能控制的想法,經(jīng)過一番自己的勘察,恍然大悟發(fā)現(xiàn)還真能進行控制轉(zhuǎn)速。原因在于自己當初并沒有仔細分析各個元器件的工作原理。比如電位器控制三極管的作用。剛開始只想到它的開關(guān)作用,后來再回去查了查資料才發(fā)現(xiàn)自己少想了它還有放大的作用,通過改變集極的電壓就可以改變集電極與發(fā)射極電壓的放大倍數(shù)進而改變直流電動機的旋轉(zhuǎn)速度。<
39、/p><p> 對于如何進行LCD的初始化,更不清楚怎么用了。起初我想問老師怎么用,可老師就是不告訴我,就讓我憋著要我自己去讀懂相關(guān)的資料自己去解決。實在是沒辦法我就硬著頭皮自己去查找相關(guān)的資料慢慢研讀并運用到編程里面。經(jīng)歷幾番推敲程序之后才明白怎么使用。比如:漢字的擺放位置規(guī)律;工作控制指令方式;傳送數(shù)據(jù)指令先后順序;哪些位置的數(shù)據(jù)需要根據(jù)電位器的旋轉(zhuǎn)變化而變化;哪些位置的數(shù)據(jù)顯示不變等。當我告訴老師我知道怎么用
40、時她也很高興。為此我也很欣慰。添加了一份自信。在調(diào)試過程中我還遇到BCD碼的轉(zhuǎn)換問題,剛開始只能顯示十六進制,后來向同學(xué)請教之后才發(fā)現(xiàn)自己對匯編程序中的一個指令字沒理解透ADDC。起初只考慮到加法沒想到其還有帶進位位相加的作用,又經(jīng)過幾個幾番自己的推敲才知道怎么回事了。真是太大意啊!但能自己解決問題是最關(guān)鍵的。</p><p><b> 課設(shè)總結(jié)</b></p><p&
41、gt; 經(jīng)歷本次課程設(shè)計之后我有很多的收獲:</p><p> 首先我明白有理論基礎(chǔ)也不見得會很好的用在實踐上,只有通過自己反復(fù)的琢磨進一步的理解并加于運用才是事實。就像我所知道的我自己感覺學(xué)習還不錯,但真正用到實驗當中時卻不是那么靈活。</p><p> 其次就是當遇到困能時還要靠自己去解決去探索。因為未來不再像學(xué)校那樣有老師指點,而只有你才能去完成。老師給我答案就是想鍛煉我的獨立
42、自學(xué)的能力在將來的工作中有非常重要作用。再次當你知道有解決的方案時最好問問自己還有沒有其他方案可行,或許這種方案更加理想更加能滿足要求。得到的結(jié)果往往會最好。只有比較了才會有差距才可能有最好的方案。</p><p> 最后想解決問題就必須要有耐心、細心、專心及謙虛等綜合素質(zhì)。</p><p><b> 參考文獻</b></p><p>
43、[1] 陳伯時、 電力拖動自動控制系統(tǒng)-運動控制系統(tǒng)(第三版). 機械工業(yè)出版社,2008 </p><p> [2] 王兆安、黃俊.電力電子技術(shù).機械工業(yè)出版社,2008</p><p> [3] 張毅剛、彭喜元.新編MCS-51單片機應(yīng)用設(shè)計(第三版).哈爾濱工業(yè)大學(xué)出版,2008</p><p> [4] 馬淑華、王鳳文.單片機原理與接口技術(shù).北京郵電大
44、學(xué)出版社,2007</p><p> [5] 張俊謨、單片機中級教程-原理與應(yīng)用.北京航空航天大學(xué)出版社,1999</p><p><b> 附錄Ⅰ</b></p><p> 用單片機控制LCD顯示直流電機轉(zhuǎn)速編寫程序如下:</p><p> CS BIT P1.0 ;定
45、義單片機與LCD的連接方法</p><p> STD BIT P1.1</p><p> SCLK BIT P1.2</p><p> PSB BIT P1.3</p><p> RES BIT P1.4</p><p> DWEI EQU 20H
46、 ;脈沖數(shù)的低四位存放地址</p><p> DGAO EQU 21H ;脈沖數(shù)的高四位存放地址</p><p> START EQU 30H </p><p> COM EQU 31H</p><p> HDATA EQU 32H</
47、p><p> LDATA EQU 33H</p><p> ASC EQU 34H</p><p> ORG 0000H</p><p> LJMP MAIN</p><p> ORG 000BH</p><p> LJMP INIT0</p><
48、p> ORG 0100H</p><p><b> MAIN:</b></p><p> MOV SP, #60H</p><p> CLR RES </p><p><b> SETB RES</b></p>
49、<p><b> CLR PSB</b></p><p> LCALL LCDRESET ; 對LCD進行初始化</p><p> LCALL HZKDIS ; 固定漢字小模塊</p><p><b> MAIN1:</b&g
50、t;</p><p> LCALL BCD ;調(diào)用BCD碼轉(zhuǎn)換</p><p> MOV A , R5</p><p> MOV DWEI, A</p><p> MOV A, R4</p><p> MOV DZHONG, A<
51、/p><p> MOV A, R3</p><p> MOV DGAO, A</p><p> LCALL ERXING</p><p> LCALL HZKDIS2</p><p> MOV TL0, #00H</p><p> MOV TH0, #4C
52、H</p><p> MOV TH1 ,#0</p><p> MOV TL1 ,#0</p><p> MOV TMOD,#51H ;定時/計數(shù)工作方式</p><p> SETB ET0</p><p><b> SETB TR0</b
53、></p><p><b> SETB TR1</b></p><p><b> SETB EA</b></p><p> LCALL CLEAR ;調(diào)用清屏程序</p><p> JMP MAIN1</p><
54、p><b> CLEAR:</b></p><p> MOV A, #00H</p><p><b> RET</b></p><p><b> LCDRESET:</b></p><p> LCALL DL1MS</p><p>
55、 MOV START, #0F8H ;選擇傳送地址方式</p><p> MOV COM, #30H</p><p> LCALL LCDWRITE ;調(diào)用發(fā)送寫入程序</p><p> MOV COM, #0CH</p><p> LCALL
56、 LCDWRITE</p><p> MOV COM,#01H</p><p> LCALL LCDWRITE</p><p> LCALL DL1MS</p><p> MOV COM,#06H</p><p> LCALL LCDWRITE</p><p>&l
57、t;b> RET</b></p><p><b> LCDWRITE:</b></p><p> MOV A, COM</p><p> ANL A, #0F0H</p><p> MOV HDATA,A</p><p> MOV A,COM<
58、;/p><p><b> SWAP A</b></p><p> ANL A, #0F0H</p><p> MOV LDATA, A</p><p> MOV A, START</p><p> LCALL SENDBIT</p><p>
59、 LCALL DL1MS</p><p> MOV A ,HDATA</p><p> LCALL SENDBIT</p><p> LCALL DL1MS</p><p> MOV A,LDATA</p><p> LCALL SENDBIT</p><p>
60、 LCALL DL1MS</p><p><b> RET</b></p><p> HZKDIS: ;顯示對應(yīng)位置的漢字部分模塊</p><p> MOV START, #0F8H ;地址控制方式</p><p> MOV COM, #80H<
61、;/p><p> LCALL LCDWRITE</p><p> MOV DPTR, #TAB</p><p> MOV A, #00H</p><p> DIS_1: MOV R6, #6 ;顯示“直流電機轉(zhuǎn)速”6個字</p><p>
62、 DIS_2: MOV START, #0FAH ;數(shù)據(jù)控制方式</p><p><b> CLR A</b></p><p> MOVC A,@A+DPTR ;查表指令</p><p> MOV COM,
63、 A</p><p> LCALL LCDWRITE</p><p> INC DPTR</p><p><b> CLR A</b></p><p> MOVC A, @A+DPTR</p><p> MOV COM, A</p><p
64、> LCALL LCDWRITE</p><p> INC DPTR</p><p> LCALL DL40MS</p><p> DJNZ R6,DIS_2</p><p><b> RET</b></p><p> BCD: 開始BCD碼轉(zhuǎn)換<
65、;/p><p> MOV A, DWEI</p><p> MOV R7, A</p><p> MOV A, DGAO</p><p><b> TOBCD: </b></p><p> CLR A ;BCD碼初始化</p><
66、p> MOV R3, A</p><p> MOV R4, A</p><p> MOV R5, A</p><p> MOV R2, #10H;轉(zhuǎn)換雙字節(jié)十六進制整數(shù)</p><p><b> HB3:</b></p><p>
67、MOVA, R7;從高端移出待轉(zhuǎn)換數(shù)的一位到CY中</p><p><b> RLCA</b></p><p> MOVR7, A</p><p> MOVA, R6</p><p><b> RLCA</b></p><p> MOV
68、R6, A</p><p> MOVA, R5;BCD碼帶進位自身相加,相當于乘2</p><p> ADDC A, R5</p><p> DA A;十進制調(diào)整</p><p> MOVR5, A</p><p> MOVA, R4</p>&
69、lt;p> ADDC A, R4</p><p><b> DA A</b></p><p> MOVR4, A</p><p> MOVA, R3</p><p> ADDC A, R3</p><p> MOVR3, A;雙字節(jié)
70、十六進制數(shù)的萬位數(shù)不超過6,不用調(diào)整</p><p> DJNZ R2, HB3;處理完16bit</p><p><b> RET</b></p><p><b> ER×ING:</b></p><p> MOV START, #0F8H</p>
71、<p> MOV COM, #93H</p><p> LCALL LCDWRITE</p><p> MOV START, #0FAH</p><p> MOV DPTR, #TAB2</p><p> MOV A,DWEI</p><p> MOVC A,@A
72、+DPTR</p><p> MOV COM, A</p><p> LCALL LCDWRITE</p><p> LCALL DL1MS</p><p> MOV START, #0F8H</p><p> MOV COM, #92H</p><p> L
73、CALL LCDWRITE</p><p> MOV START, #0FAH</p><p> MOV DPTR, #TAB2</p><p> MOV A, DZHONG</p><p> MOVC A, @A+DPTR</p><p> MOV COM, A</p&
74、gt;<p> LCALL LCDWRITE</p><p> LCALL DL1MS</p><p> MOV START, #0F8H</p><p> MOV COM,#91H</p><p> LCALL LCDWRITE</p><p> MOV START, #
75、0FAH</p><p> MOV DPTR, #TAB2</p><p> MOV A, DGAO</p><p> MOVC A, @A+DPTR</p><p> MOV COM, A</p><p> LCALL LCDWRITE</p><p>
76、; LCALL DL1MS</p><p><b> RET</b></p><p><b> HZKDIS2:</b></p><p> MOV START, #0F8H</p><p> MOV COM, #94H</p><p> LCALL
77、 LCDWRITE</p><p> MOV DPTR, #TAB3</p><p> MOV R6, #3</p><p><b> DIS_4:</b></p><p> MOV START, #0FAH</p><p><b> CLR
78、 A</b></p><p> MOVC A, @A+DPTR</p><p> MOV COM, A</p><p> LCALL LCDWRITE</p><p> INC DPTR</p><p><b> CLR A</b></p>
79、;<p> MOVC A, @A+DPTR</p><p> MOV COM, A</p><p> LCALL LCDWRITE</p><p> INC DPTR</p><p> LCALL DL40MS</p><p> DJNZ R6, DIS_4</
80、p><p><b> RET</b></p><p><b> SENDBIT:</b></p><p> MOV R7 ,#08H</p><p><b> SEND_1:</b></p><p><b> RLC A<
81、;/b></p><p> MOV STD, C</p><p> CLR SCLK</p><p> SETB SCLK</p><p> DJNZ R7,SEND_1</p><p><b> RET</b></p><p><b&g
82、t; INIT0:</b></p><p><b> PUSH DPH</b></p><p><b> PUSH DPL</b></p><p><b> PUSH ACC</b></p><p><b> CLR TR1</b
83、></p><p> MOV A,TL1</p><p> MOV B,#20</p><p><b> MUL AB</b></p><p> MOV B,#12</p><p><b> DIV AB</b></p>&
84、lt;p> MOV DWEI1, A</p><p> MOV DGAO1, B</p><p> LCALL ERXING</p><p><b> BACK:</b></p><p> MOV TL0, #00H</p><p> MOV TH0,
85、#4CH</p><p> SETB TR0</p><p> MOV TL1, #00</p><p> MOV TH1, #00</p><p> SETB TR1</p><p><b> POP ACC</b></p><p>&l
86、t;b> POP DPL</b></p><p><b> POP DPH</b></p><p><b> RETI</b></p><p><b> DL1MS:</b></p><p><b> PUSH 00H</b
87、></p><p><b> PUSH 01H</b></p><p><b> PUSH 02H</b></p><p> MOV R2, #01H</p><p> WA_PA: MOV R0, #0FH</p><p> WA_PB: M
88、OV R1, #0FH</p><p> DJNZ R1, $</p><p> DJNZ R0, WA_PB</p><p> DJNZ R2, WA_PA</p><p><b> POP 02H</b></p><p><b> POP 01H</
89、b></p><p><b> POP 00H</b></p><p><b> RET</b></p><p><b> NOP</b></p><p><b> RET</b></p><p><b>
90、; DL40MS:</b></p><p> SETB PSW.3</p><p> MOV R2, #03H</p><p> DL_PA: MOV R0, #0FFH</p><p> DL_PB: MOV R1, #0FFH</p><p> DJNZ R1, $
91、</p><p> DJNZ R0, DL_PB</p><p> DJNZ R2, DL_PA</p><p> CLR PSW.3</p><p><b> RET</b></p><p> TAB: DB '直流電機轉(zhuǎn)速'</p>&
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)設(shè)計----運用at89c51單片機控制直流電機
- 用單片機控制直流電機畢業(yè)設(shè)計
- 畢業(yè)設(shè)計---單片機控制直流電機調(diào)速系統(tǒng)
- 單片機控制直流電機調(diào)速系統(tǒng)畢業(yè)設(shè)計
- 用單片機控制直流電機
- 基于單片機控制直流電機調(diào)速系統(tǒng)畢業(yè)設(shè)計
- 基于單片機控制直流電機調(diào)速系統(tǒng)畢業(yè)設(shè)計論文
- 基于單片機控制直流電機調(diào)速系統(tǒng)畢業(yè)設(shè)計論文
- 基于51單片機的pid直流電機設(shè)計
- 基于單片機的直流電機控制
- 用單片機控制直流電機.doc
- 畢業(yè)論文——用單片機控制直流電機
- 基于單片機的直流電機控制設(shè)計
- 用單片機控制直流電機.doc
- 基于單片機控制直流電機調(diào)速系統(tǒng)畢業(yè)設(shè)計論文
- 單片機控制直流電機調(diào)速86956
- 畢業(yè)設(shè)計--基于單片機的直流電機調(diào)速系統(tǒng)
- 基于單片機的直流電機調(diào)速畢業(yè)設(shè)計論文
- 畢業(yè)設(shè)計--基于單片機的直流電機調(diào)速系統(tǒng)
- 單片機課程設(shè)計-直流電機
評論
0/150
提交評論