




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 . . . 畢業(yè) 設(shè) 計(jì)(論文)基于AT89S51直流電機(jī)的轉(zhuǎn)速測(cè)試系統(tǒng)AT89S51-based DC motor speed test system目 錄第一章 引言4第二章本系統(tǒng)的芯片功能介紹5第三章 本系統(tǒng)的設(shè)計(jì)思路153.1系統(tǒng)的設(shè)計(jì)要求15 3.2系統(tǒng)設(shè)計(jì)思想15 3.3系統(tǒng)控制電路15 3.4控制電路說(shuō)明16 3.5系統(tǒng)控制程序流程圖173.6控制程序18 3.7控制程序說(shuō)明24總結(jié)25致26參考文獻(xiàn)27附錄A28附錄B2931 / 31基于AT89S51直流電機(jī)的轉(zhuǎn)速測(cè)試系統(tǒng) 專業(yè)班級(jí):電子w04學(xué)生:徐靜指導(dǎo)教師:唐紅雨 職稱:講師摘要:本設(shè)計(jì)主要完成以AT89S51單片機(jī)
2、為核心的直流電機(jī)的測(cè)速系統(tǒng),該系統(tǒng)包括速度給定、速度顯示、速度測(cè)量和速度控制。利用在直流電機(jī)固定小磁鐵,在對(duì)應(yīng)位置上再加一霍爾傳感器把直流電機(jī)的轉(zhuǎn)速進(jìn)行測(cè)量顯示,利用8279專用芯片顯示速度,并且可以連續(xù)測(cè)量。關(guān)鍵詞:直流電機(jī);單片機(jī);轉(zhuǎn)速測(cè)量AT89S51-based DC motor speed test systemAbstract:A speed governing system of DC- motor by using AT89S51 microcontroller is introduced .The system includes the setting of speed,th
3、e displaying of speed,the measurement of speed and the control of speed. This paper introduces a kind of method Of DC-motor speed modification based on PWM theory by the SCM. Showing some relative knowledge upon the DC-motor timing,the basic theory and the way to implement. And it emphasizes on the
4、way for carrying out PWM signals based on MCS-51.This paper still provides a method for modifying the speed of DC-motor by way of time by software. It offers a sort of efficient method for the DC-motor Speed-controlling system.Keyword: DC-motor, Microcontroller, Measurement of rotating speed第一章 引言單片
5、機(jī)是指一個(gè)集成在一塊芯片上的完整計(jì)算機(jī)系統(tǒng)。盡管他的大部分功能集成在一塊小芯片上,但是它具有一個(gè)完整計(jì)算機(jī)所需要的大部分部件:CPU存、部和外部總線系統(tǒng),目前大部分還會(huì)具有外存。同時(shí)集成諸如通訊接口、定時(shí)器,實(shí)時(shí)時(shí)鐘等外圍設(shè)備。而現(xiàn)在最強(qiáng)大的單片機(jī)系統(tǒng)甚至可以將聲音、圖像、網(wǎng)絡(luò)、復(fù)雜的輸入輸出系統(tǒng)集成在一塊芯片上。單片機(jī)比專用處理器更適合應(yīng)用于嵌入式系統(tǒng),因此它得到了最多的應(yīng)用。事實(shí)上單片機(jī)是世界上數(shù)量最多的計(jì)算機(jī)?,F(xiàn)代人類生活中所用的幾乎每件電子和機(jī)械產(chǎn)品中都會(huì)集成有單片機(jī)。手機(jī)、計(jì)算器、家用電器、電子玩具、掌上電腦以與鼠標(biāo)等電腦配件中都配有1-2部單片機(jī)。而個(gè)人電腦中也會(huì)有為數(shù)不少的單片機(jī)
6、在工作。單片機(jī)的數(shù)量不僅遠(yuǎn)超過(guò)PC機(jī)和其他計(jì)算的綜合,甚至比人類的數(shù)量還要多。由于單片機(jī)的這種結(jié)構(gòu)形式與它所采取的半導(dǎo)體工藝,使其具有很多顯著的特點(diǎn),因而在各個(gè)領(lǐng)域都得到了迅猛的發(fā)展。單片機(jī)主要如下特點(diǎn):(1)有優(yōu)異的性能價(jià)格比。 (2)集成度高、體積小、有很高的可靠性。(3)控制功能強(qiáng)。為了滿足工業(yè)控制的要求,一般單片機(jī)的指令系統(tǒng)中均有極豐富的轉(zhuǎn)移指令、I/O口的邏輯操作以與位處理功能。單片機(jī)的邏輯控制功能與運(yùn)行速度均高于同一檔次的微機(jī)。 (4)低功耗、低電壓,便于生產(chǎn)便攜式產(chǎn)品。 (5)外部總線增加了I C(Inter-Integrated Circuit)與SPI(Serial Peri
7、pheral Interface)等串行總線方式,進(jìn)一步縮小了體積,簡(jiǎn)化了結(jié)構(gòu)。 (6)單片機(jī)的系統(tǒng)擴(kuò)展和系統(tǒng)配置較典型、規(guī),容易構(gòu)成各種規(guī)模的應(yīng)用系統(tǒng)。第二章 本系統(tǒng)的芯片功能介紹AT89S51是一個(gè)低功耗,高性能CMOS 8位單片機(jī),片含4k Bytes ISP(In-system programmable)的可反復(fù)擦寫1000次的Flash只讀程序存儲(chǔ)器,器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)制造,兼容標(biāo)準(zhǔn)MCS -51指令系統(tǒng)與80C51引腳結(jié)構(gòu),芯片集成了通用8位中央處理器和ISP Flash存儲(chǔ)單元,功能強(qiáng)大的微型計(jì)算機(jī)的AT89S51可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性價(jià)
8、比的解決方案。 AT89S51具有如下特點(diǎn):40個(gè)引腳,4k Bytes Flash片程序存儲(chǔ)器,128 bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),32個(gè)外部雙向輸入/輸出(I/O)口,5個(gè)中斷優(yōu)先級(jí)2層中斷嵌套中斷,2個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè) 全雙工串行通信口,看門狗(WDT)電路,片時(shí)鐘振蕩器。此外,AT89S51設(shè)計(jì)和配置了振蕩頻率可為0Hz并可通過(guò)軟件設(shè)置省電模式??臻e模式下,CPU暫停工作,而RAM定時(shí)計(jì)數(shù)器,串行口,外中斷 系統(tǒng)可繼續(xù)工作,掉電模式凍結(jié)振蕩器而保存RAM的數(shù)據(jù),停止芯片其它功能直至外中斷激活或硬件復(fù)位。同時(shí)該芯片還具有PDIP、TQF
9、P和PLCC等三 種封裝形式,以適應(yīng)不同產(chǎn)品的需求。 主要功能特性: · 兼容MCS-51指令系統(tǒng) · 4k可反復(fù)擦寫(>1000次)ISP Flash ROM · 32個(gè)雙向I/O口 · 4.5-5.5V工作電壓 · 2個(gè)16位可編程定時(shí)/計(jì)數(shù)器 · 時(shí)鐘頻率0-33MHz · 全雙工UART串行中斷口線&
10、#160; · 128x8bit部RAM · 2個(gè)外部中斷源 · 低功耗空閑和省電模式 · 中斷喚醒省電模式 · 3級(jí)加密位 · 看門狗(WDT)電路 · 軟件設(shè)置空閑和省電功能 · 靈活的ISP字節(jié)和分頁(yè)編程
11、160; · 雙數(shù)據(jù)寄存器指針AT89S51的結(jié)構(gòu)圖: 圖1-1圖1-2單片機(jī)實(shí)際有效的引腳為個(gè),常用的有種封裝形式,其引腳圖可參見圖- :()為(-)封裝形式,這是普通腳塑封雙列直插形式;()為()封裝形式,這種形式是具有個(gè)“” 形腳(其中有個(gè)是空腳)的方型芯片,使用時(shí)需要插入到與其相配的方型插座中。 圖1-3個(gè)引腳大致可分為類:電源、時(shí)鐘、控制和引腳。其邏輯圖如圖- 所示。圖- 1. 8155各引腳功能說(shuō)明如下:RST:復(fù)位信號(hào)輸入端,高電平有效。復(fù)位后,3個(gè)I/O口均為輸入方式。AD0AD7:三態(tài)的地址/數(shù)據(jù)總線。與單片機(jī)的低8位地址/數(shù)據(jù)總線(P0
12、口)相連。單片機(jī)與8155之間的地址、數(shù)據(jù)、命令與狀態(tài)信息都是通過(guò)這個(gè)總線口傳送的。:讀選通信號(hào),控制對(duì)8155的讀操作,低電平有效。:寫選通信號(hào),控制對(duì)8155的寫操作,低電平有效。:片選信號(hào)線,低電平有效。IO/:8155的RAM存儲(chǔ)器或I/O口選擇線。當(dāng)IO/0時(shí),則選擇8155的片RAM,AD0AD7上地址為8155中RAM單元的地址(00HFFH);當(dāng)IO/1時(shí),選擇 8155的I/O口,AD0AD7上的地址為8155 I/O口的地址。ALE:地址鎖存信號(hào)。8155部設(shè)有地址鎖存器,在ALE的下降沿將單片機(jī)P0口輸出的低8位地址信息與,IO/的狀態(tài)都鎖存到8155部鎖存器。因此,P0
13、口輸出的低8位地址信號(hào)不需外接鎖存器。PA0PA7:8位通用I/O口,其輸入、輸出的流向可由程序控制。PB0PB7:8位通用I/O口,功能同A口。PC0PC5:有兩個(gè)作用,既可作為通用的I/O口,也可作為PA口和PB口的控制信號(hào)線,這些可通過(guò)程序控制。TIMER IN:定時(shí)/計(jì)數(shù)器脈沖輸入端。TIMER OUT:定時(shí)/計(jì)數(shù)器輸出端。VCC:5V電源。2、8155的地址編碼與工作方式在單片機(jī)應(yīng)用系統(tǒng)中,8155是按外部數(shù)據(jù)存儲(chǔ)器統(tǒng)一編址的,為16位地址,其高8位由片選線提供,0,選中該片。當(dāng)0,IO/0時(shí),選中8155片RAM,這時(shí)8155只能作片外RAM使用,其RAM的低8位編址為00HFFH
14、;當(dāng)0,IO/1時(shí),選中8155的I/O口,其端口地址的低8位由AD7AD0確定,如表1-5所示。這時(shí),A、B、C口的口地址低8位分別為01H、02H、03H(設(shè)地址無(wú)關(guān)位為0)。表1-5 8155芯片的I/O口地址AD7AD0選擇I/O口A7A6A5A4A3A2A1A0×××××××××××××××××××××××××××
15、215;××000011001100010101命令/狀態(tài)寄存器A口B口C口定時(shí)器低8位定時(shí)器高6位與方式8155的A口、B口可工作于基本I/O方式或選通I/O方式。C口可工作于基本I/O方式,也可作為A口、B口在選通工作方式時(shí)的狀態(tài)控制信號(hào)線。當(dāng)C口作為狀態(tài)控制信號(hào)時(shí),其每位線的作用如下:PC0:AINTR(A口中斷請(qǐng)求線)PC1:ABF(A口緩沖器滿信號(hào))PC2:(A口選通信號(hào))PC3:BINTR(B口中斷請(qǐng)求線)PC4:BBF(B口緩沖器滿信號(hào))PC5:(B口選通信號(hào))8155的I/O工作方式選擇是通過(guò)對(duì)8155部命令寄存器設(shè)定控制字實(shí)現(xiàn)的。命令寄存器只能寫入,不能讀
16、出,命令寄存器的格式如圖1-6所示。在ALT1ALT4的不同方式下,A口、B口與C口的各位工作方式如下:ALT1:A口,B口為基本輸入/輸出,C口為輸入方式。ALT2:A口,B口為基本輸入/輸出,C口為輸出方式。ALT3:A口為選通輸入/輸出,B口為基本輸入/輸出。PC0為AINTR,PC1為ABF,PC2為,PC3PC5為輸出。ALT4:A口、B口為選通輸入/輸出。PC0為AINTR,PC1為ABF,PC2為,PC3為BINTR,PC4為BBF,PC5為。圖1-6 8155命令寄存器格式8155還有一個(gè)狀態(tài)寄存器,用于鎖存輸入/輸出口和定時(shí)/計(jì)數(shù)器的當(dāng)前狀態(tài),供CPU查詢用。狀態(tài)寄存器的端口
17、地址與命令寄存器一樣,低8位也是00H,狀態(tài)寄存器的容只能讀出不能寫入。所以可以認(rèn)為8155的I/O口地址00H是命令/狀態(tài)寄存器,對(duì)其寫入時(shí)作為命令寄存器;而對(duì)其讀出時(shí),則作為狀態(tài)寄存器。狀態(tài)寄存器的格式如圖1-7所示。圖1-7 8155狀態(tài)寄存器格式3、8155的定時(shí)/計(jì)數(shù)器8155部的定時(shí)/計(jì)數(shù)器實(shí)際上是一個(gè)14位的減法計(jì)數(shù)器,它對(duì)TIMER IN端輸入脈沖進(jìn)行減1計(jì)數(shù),當(dāng)計(jì)數(shù)結(jié)束(即減1計(jì)數(shù)“回0”)時(shí),由TIMER OUT端輸出方波或脈沖。當(dāng)TIMER IN接外部脈沖時(shí),為計(jì)數(shù)方式;接系統(tǒng)時(shí)鐘時(shí),可作為定時(shí)方式。定時(shí)/計(jì)數(shù)器由兩個(gè)8位寄存器構(gòu)成,其中的低14位組成計(jì)數(shù)器,剩下的兩個(gè)高
18、位(M2,M1)用于定義輸出方式。其格式如下:第三章 本系統(tǒng)的設(shè)計(jì)思路3.1 系統(tǒng)設(shè)計(jì)要求啟動(dòng)點(diǎn)擊并測(cè)試他的每分鐘轉(zhuǎn)數(shù),然后把測(cè)試結(jié)果隨時(shí)顯示在數(shù)碼顯示器上,且進(jìn)行連續(xù)測(cè)試。3.2 系統(tǒng)設(shè)計(jì)思想在直流電機(jī)軸上固定一個(gè)小圓盤,圓盤的外側(cè),靠近圓周的位置上粘貼一塊小磁鐵。緊挨著圓盤外側(cè),正對(duì)著小磁鐵的位置,安放一個(gè)霍爾傳感器芯片。當(dāng)電機(jī)旋轉(zhuǎn)一圈,使圓盤上的小磁鐵跟霍爾芯片相遇時(shí),霍爾元件將產(chǎn)生一個(gè)負(fù)跳變的脈沖信號(hào)。此負(fù)跳變脈沖的個(gè)數(shù)完全可以代表電機(jī)的轉(zhuǎn)數(shù)。將此脈沖信號(hào),通過(guò)定時(shí)/計(jì)數(shù)器1的外部輸入引腳T1輸入到定時(shí)/計(jì)數(shù)器1并進(jìn)行計(jì)數(shù)。因此必須把定時(shí)/計(jì)數(shù)器1作為計(jì)數(shù)器使用。另外,把定時(shí)/計(jì)數(shù)器0
19、作為定時(shí)器使用,且讓它定時(shí)1s。把兩個(gè)定時(shí)/計(jì)數(shù)器同時(shí)啟動(dòng)之后,定時(shí)/計(jì)數(shù)器1從0開始記錄電機(jī)的轉(zhuǎn)數(shù),當(dāng)它計(jì)到1s的時(shí)候,定時(shí)/計(jì)數(shù)器0將關(guān)停定時(shí)/計(jì)數(shù)器1. 此時(shí)定時(shí)/計(jì)數(shù)器1的當(dāng)前計(jì)數(shù)值,正是電機(jī)每秒的轉(zhuǎn)數(shù)。把它轉(zhuǎn)換成每分鐘的轉(zhuǎn)數(shù)之后送數(shù)碼顯示器顯示。3.3 系統(tǒng)控制電路直流電機(jī)的轉(zhuǎn)速測(cè)試電路圖 (見附錄A)3.4 控制電路說(shuō)明 當(dāng)系統(tǒng)啟動(dòng)開關(guān)S接通后,P1.0引腳輸入高電平。此時(shí),在程序的控制下P1.1引腳將輸出高電平。于是兩個(gè)晶體管導(dǎo)通使電機(jī)旋轉(zhuǎn)。由于電機(jī)的旋轉(zhuǎn)需要足夠的電流,因此用兩個(gè)晶體管進(jìn)行電流放大。 當(dāng)開關(guān)S斷開時(shí),P1.0引腳輸入低電平。此時(shí)P1.1引腳將輸出低電平。于是兩個(gè)
20、晶體管同時(shí)截止,電機(jī)便停止旋轉(zhuǎn)。由于電機(jī)是一個(gè)電感元件,因此當(dāng)他由導(dǎo)通突然變截止時(shí),部產(chǎn)生很大的反向電動(dòng)勢(shì)會(huì)把晶體擊穿。為了保護(hù)晶體管,電機(jī)的兩端跨接一個(gè)續(xù)流二極管,是使反向電動(dòng)勢(shì)通過(guò)它進(jìn)行釋放。 在電機(jī)軸上裝有一個(gè)小圓盤,它跟電機(jī)同步旋轉(zhuǎn)。當(dāng)圓盤上的小磁鐵與霍爾傳感器相遇時(shí),霍爾傳感器給定時(shí)/計(jì)數(shù)器1的外部輸入引腳T1提供提供負(fù)跳變的脈沖信號(hào)?;魻杺鞲衅鞯墓ぷ鳈C(jī)理是:當(dāng)通有電流的半導(dǎo)體材料上作用外磁場(chǎng)時(shí),與電流垂直方向?qū)a(chǎn)生一個(gè)感應(yīng)電動(dòng)勢(shì)。 單片機(jī)與外部設(shè)備的聯(lián)系是通過(guò)以通過(guò)尋址的方式訪問(wèn)外部接口來(lái)實(shí)現(xiàn)的,由于外部接口所使用的是外部數(shù)據(jù)存儲(chǔ)器的地址,因此它的地址必須由單片機(jī)的P0和P2口來(lái)發(fā)
21、出。其中,P0口發(fā)出的是接口地址的低8位,而P2口發(fā)出的是接口地址的高8位。在圖中,P0口的P0.0位地址經(jīng)鎖存器之后,接到8155芯片的A0引腳上;而P2口的P2.7位地址則接到8155芯片的片選引腳CS上。因此8155接口芯片地址有以下兩種: 0 x x x x x x x x x x x x x x 1 發(fā)命令或讀狀態(tài)時(shí)的地址 0 x x x x x x x x x x x x x x 0 讀寫數(shù)據(jù)時(shí)的地址 其中,x可以任取,因此在控制程序中,索性把這兩個(gè)地址采用如下的形式: 0111 1111 1111 1111 (7FFFH) 0111 1111 1111 1110 (7FFEH)
22、8155接口芯片被指定為7FFEH地址時(shí),它是通過(guò)單片機(jī)的P0口讀入轉(zhuǎn)速數(shù)據(jù)的8個(gè)顯示段碼的 8155的復(fù)位引腳所接的是上電復(fù)位電路。 由于控制程序存儲(chǔ)在8155單片機(jī)的部程序儲(chǔ)存器中,因此必須把單片機(jī)的EA引腳街上高電平 因?yàn)轱@示器將采用編碼掃描方式,故8155的掃描信號(hào)CSoSC2必須進(jìn)行外部譯碼(74LS138)。 存儲(chǔ)在8155部RAM的轉(zhuǎn)速數(shù)據(jù)的8位顯示斷碼,通過(guò)OUTAoOUTA3和OUTBoOUTB3引腳輸出到數(shù)碼顯示器。圖中,75451和7404分別是顯示器掃描和斷碼信號(hào)的驅(qū)動(dòng)芯片。 AT89S51引腳圖3.5 系統(tǒng)控制程序流程圖系統(tǒng)控制程序流程圖 (見附錄B)3.6
23、 控制程序系統(tǒng)控制程序如下:ORG 0000H ;程序從0地址開始運(yùn)行AJMP MAIN ;轉(zhuǎn)主程序ORG 000BH ;定時(shí)/計(jì)數(shù)器0中斷矢量AJMP TSEV ;轉(zhuǎn)定時(shí)/計(jì)數(shù)器0中斷服務(wù)程序ORG 0050H ;主程序起始地址MAIN: LCALL CLR0 ;調(diào)用轉(zhuǎn)速數(shù)據(jù)緩沖區(qū)清0子程序 LCALL CLR1 ;調(diào)用轉(zhuǎn)速段碼緩沖區(qū)清0子程序 LCALL SHSV ;調(diào)用顯示器初始化子程序 LACLL TISV ;調(diào)用定時(shí)/計(jì)數(shù)器初始化子程序 SETB P1.0 ;P1.0口讀引腳準(zhǔn)備WRUN: MOV C,P1.0 ;讀啟動(dòng)開關(guān)狀態(tài) JNC WRUN ;等待啟動(dòng) SETB P1.1 ;啟
24、動(dòng)電機(jī) SETB TR0 ;啟動(dòng)定時(shí)/計(jì)數(shù)器0 SETB TR1 ;啟動(dòng)定時(shí)/計(jì)數(shù)器1HERE: JNB F0,HERE ;等待中斷 MOV A,TL1 ;測(cè)試結(jié)束,將每秒轉(zhuǎn)數(shù)送A MOV B,#3CH ;60秒送B MUL AB ;計(jì)算每分鐘轉(zhuǎn)數(shù) MOV R2,A ;每分鐘轉(zhuǎn)數(shù)的低8位數(shù)據(jù)送R2 MOV R3,B ;每分鐘轉(zhuǎn)數(shù)的高8位數(shù)據(jù)送R3C1000: CLR C ;計(jì)算每分鐘轉(zhuǎn)數(shù)的千位十進(jìn)制數(shù) MOV A,R2 ;從每分鐘轉(zhuǎn)數(shù)中反復(fù)減1000,計(jì)算千位數(shù)(雙 字節(jié)減算) SUBB A,#0E8H MOV R2,A MOV A,R3 SUBB A,#03H MOV R3,A JC RST
25、0 ;不夠減轉(zhuǎn) INC 40H ;每分鐘轉(zhuǎn)數(shù)的千位十進(jìn)制數(shù)存40H單元 SJMP C1000 ;夠減數(shù),繼續(xù)減1000RSY0: MOV A,R2 ;不夠減,則加1000恢復(fù)余數(shù) ADD A,#0E8H MOV R2,A MOV A,R3 ADDC A,#03H MOV R3,AC100: CLR C ;計(jì)算每分鐘轉(zhuǎn)數(shù)的百位十進(jìn)制數(shù) MOV A,R2 ;從余數(shù)中反復(fù)減100,計(jì)算百位數(shù)(雙字節(jié)減算) SUBB A,#64H MOV R2,A MOV A,R3 SUBB A,#00H MOV R3,A JC RST1 ;不夠減轉(zhuǎn) INC 41H ;每分鐘轉(zhuǎn)數(shù)的百位十進(jìn)制數(shù)存41H單元 SJMP
26、C100 ;夠減轉(zhuǎn),繼續(xù)減100RST1: MOV A,R2 ;不夠減,則加100恢復(fù)余數(shù) ADD A,#64H MOV R2,AC10: CLR C ;計(jì)算每分鐘轉(zhuǎn)數(shù)的十位十進(jìn)制數(shù) MOV A,R2 :從余數(shù)中反復(fù)減10,計(jì)算十位數(shù)(單字節(jié)減算)SUBB A,#0AH MOV R2,A JC RST2 ;不能夠減轉(zhuǎn) INC 42H ;每分鐘轉(zhuǎn)數(shù)的十位十進(jìn)制數(shù)存42H單元 SJMP MOTS ;夠減轉(zhuǎn),繼續(xù)減10RST2: MOV A,R2 ;不夠減,則加10恢復(fù)余數(shù) ADD A,#0AH MOV 43H,A ;每分鐘轉(zhuǎn)數(shù)的個(gè)位十進(jìn)制數(shù)存43H單元 MOV DPTR,#TAB ;顯示器段碼表首
27、地址送DPTR MOV R0,#30H ;每分鐘轉(zhuǎn)數(shù)的段碼表首地址送R0 MOV R1,#40H ;每分鐘轉(zhuǎn)數(shù)的十進(jìn)制數(shù)首地址送R1 MOV R7,#04H ; 每分鐘轉(zhuǎn)數(shù)的十進(jìn)制位數(shù)送R7STAB: MOV A,R1 ;每分鐘轉(zhuǎn)數(shù)的4位十進(jìn)制數(shù)轉(zhuǎn)顯示段碼區(qū) MOVC A,DPTR+A ;從段碼表中尋找與個(gè)位數(shù)所對(duì)應(yīng)的顯示段碼 MOV R0,A ;將各位的段碼送段碼緩沖區(qū) INC R0 ;段碼緩沖區(qū)地址增1 INC R1 ;轉(zhuǎn)速數(shù)據(jù)區(qū)地址增1 DJNZ R7,STAB ;4個(gè)段碼的傳送控制 MOV DPIR,#7FFEH ;8155芯片的A0位清0,準(zhǔn)備寫數(shù)據(jù)MOV R0,#30H MOV R
28、7,#08HDISP: MOV A,R0 ;從段碼緩沖區(qū)中取段碼 MOVX DPTR,A INC R0 DJNZ R7,DISP MOV TH0,#00H MOV C,P1.1 JC CNTN CLR P1.1 LJMP MAINCNTN: SETB TR1 ;啟動(dòng)定時(shí)/計(jì)數(shù)器0 SETB TR0 CLR F0 ACALL CLR0 LJMP HERECLR0: MOV RO<#40H ;清0轉(zhuǎn)速數(shù)據(jù)的4位十進(jìn)制單元(40H43H) MOV R7,#04HCLR2: MOV R0,#00H DJNZ R7,CLR2 RETCLR1: MOV R0,#30H ;清0轉(zhuǎn)速數(shù)據(jù)的8位十進(jìn)制單元
29、(30H33H) MOV R7,#08HCLR3: MOV R0,#00H DJNZ R7,CLR3 RETSHSV: MOV DPTR,#7FFFH ;將8155芯片的Ao位置1,位發(fā)命令和讀狀態(tài)做準(zhǔn)備 MOV A,#0D1H ;清0顯示器WAIT: MOVX A,DPTR ;讀顯示器清0狀態(tài) ACC.7,WAIT MOV A,#34H MOVX DPTR,A MOV A,#90H MOCX DPTR,A RETTISV: MOV TMOD,#6H ;設(shè)定定時(shí)/計(jì)數(shù)器0和1的工作方式分別為方式1和2 MOV TL1,#00H MOV TH0,#0D8H MOV TL0,#0F0H MOV R
30、1,#64H CLR F0 CLR P1.1 SETB ET0 SERTB EARETTSEV: MOV TH0,#0D8H MOV TL0,#0F0H DEC R1 ;中斷次數(shù)減1 CJNE R1,#00H,END0 SETB F0 CLR TR0 CLR TR1 MOV R1,#64HEND0: RETI ;中斷返回TAB: DB 3FH,06H,5BH,4FH,66H ;斷碼表,09的段碼按字節(jié)順序排列 DB 6DH,7DH,07H,7FH,6FH3.7控制程序說(shuō)明在程序中,定時(shí)/計(jì)數(shù)器0定時(shí)10ms;定時(shí)/計(jì)數(shù)器1從0開始計(jì)數(shù);單片機(jī)的時(shí)鐘頻率為12MHz。為了實(shí)現(xiàn)1s的定時(shí)目的R1寄
31、存器中預(yù)置控制常數(shù)100。定時(shí)/計(jì)數(shù)器0每中斷一次,中斷服務(wù)程序?qū)1數(shù)據(jù)減1.當(dāng)把它減到0的時(shí)候1s時(shí)間已到,于是把用戶標(biāo)志位置1,同時(shí)關(guān)停兩個(gè)定時(shí)/計(jì)數(shù)器。返回主程序之后,定時(shí)/計(jì)數(shù)器1的當(dāng)前計(jì)數(shù)值(每秒轉(zhuǎn)數(shù))乘以60,計(jì)算電機(jī)的每分鐘轉(zhuǎn)數(shù),且把它暫存到R3(高位)和R2(低位)寄存器中。然后為了把每分鐘轉(zhuǎn)數(shù)的二進(jìn)制數(shù)轉(zhuǎn)換成4位十進(jìn)制數(shù),采用無(wú)符號(hào)數(shù)的雙字節(jié)減發(fā)運(yùn)算,對(duì)R2和R3寄存器的數(shù)據(jù)反復(fù)減1000,直至不夠減時(shí)為止。而每次減1000,將40H單元加1,作為轉(zhuǎn)換后的千位數(shù)。當(dāng)R2和R3的余數(shù)不夠減1000時(shí),加上1000恢復(fù)余數(shù)。不夠減的判斷依據(jù)是看借位位是否為1。用同樣的方法,對(duì)余
32、數(shù)R2和R3繼續(xù)減100,將夠減次數(shù)計(jì)到41H單元,作為轉(zhuǎn)換后的百位數(shù)。當(dāng)余數(shù)不足100的時(shí)候采用單字節(jié)減法運(yùn)算,對(duì)于余數(shù)R2繼續(xù)減10,將夠減次數(shù)計(jì)到42H單元,作為轉(zhuǎn)換后的十位數(shù)。當(dāng)余數(shù)R0不夠減10是,加10恢復(fù)余數(shù)之后將其作為轉(zhuǎn)換后的個(gè)位數(shù)送43H單元。至此每分鐘轉(zhuǎn)數(shù)的4位十進(jìn)制數(shù)依次在40H43H單元之中。此后用查表指令,查詢每位十進(jìn)制數(shù)的顯示段碼,分別送30H33H單元予以保存。最后通過(guò)8155接口芯片把它們送到數(shù)碼顯示器進(jìn)行顯示。到此整個(gè)測(cè)試到此結(jié)束。然后檢查系統(tǒng)啟動(dòng)開關(guān)是否斷開。若已經(jīng)斷開,則把電機(jī)關(guān)停,使程序轉(zhuǎn)到主程序的起始位置等待重新啟動(dòng)。若任仍然接通,那么重新啟動(dòng)兩個(gè)定時(shí)器,并把用戶標(biāo)志位,定時(shí)/計(jì)數(shù)器1(TL1)和轉(zhuǎn)速數(shù)據(jù)單元(40H43H)清0,繼續(xù)下一輪的測(cè)試過(guò)程
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 贈(zèng)送鋪面關(guān)系協(xié)議書
- 隱名股東持股協(xié)議書
- 鄰里建房用地協(xié)議書
- 健身房受傷免責(zé)協(xié)議書
- 轉(zhuǎn)讓項(xiàng)目抵債協(xié)議書
- 2025年高考語(yǔ)文文言文答題技巧合理套用做題飛速
- DB36-T1699-2022-辣椒抗灰霉病苗期人工接種鑒定技術(shù)規(guī)程-江西省
- 安徽省亳州市譙城區(qū)2024-2025學(xué)年六年級(jí)下學(xué)期月考英語(yǔ)試題
- 放射治療皮膚護(hù)理
- 2025年征信考試攻略:個(gè)人征信基礎(chǔ)理論試題解析
- GA 38-2021銀行安全防范要求
- 保潔員日常工作記錄表
- 消防安全主題班會(huì)課件(共17張ppt)
- 水利工程房屋建筑工程外觀質(zhì)量評(píng)定標(biāo)準(zhǔn)
- 埋地鋼質(zhì)管道腐蝕控制課件
- 《全球通史》課件
- 北師版六年級(jí)解方程練習(xí)200題
- 外貿(mào)鎖檢測(cè)報(bào)告樣式EN12209
- 4第三章康復(fù)治療技術(shù)第一節(jié)物理療法課件
- 無(wú)損檢測(cè)人員登記表
- DB33-T 2048-2017(2021)民宿基本要求與評(píng)價(jià)
評(píng)論
0/150
提交評(píng)論