單片機技術(shù)課程設計說明書數(shù)字電壓表1_第1頁
單片機技術(shù)課程設計說明書數(shù)字電壓表1_第2頁
單片機技術(shù)課程設計說明書數(shù)字電壓表1_第3頁
單片機技術(shù)課程設計說明書數(shù)字電壓表1_第4頁
單片機技術(shù)課程設計說明書數(shù)字電壓表1_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、 單片機技術(shù)課程設計說明書 數(shù)字電壓表 院、 部: 電子與信息工程學院 學生姓名: xxxxx 指導教師: xx 職稱: 講師 專 業(yè): 自動化 班 級: 自本1001班 完成時間: 2012年12月25日 摘 要本文介紹了一種基于單片機的簡易數(shù)字電壓表的設計,該電路采用adc0809 a/d轉(zhuǎn)換元件,實現(xiàn)數(shù)字電壓表的硬件電路與軟件設計。該系統(tǒng)的數(shù)字電壓表電路簡單, 可以測量05v的電壓值,并在led數(shù)碼管上顯示該設計主要由三個模塊組成:a/d轉(zhuǎn)換模塊,數(shù)據(jù)處理模塊及顯示模塊。a/d轉(zhuǎn)換主要由芯片adc0809來完成,它負責把采集到的模擬量轉(zhuǎn)換為相應的數(shù)字量在傳送到數(shù)據(jù)處理模塊。數(shù)據(jù)處理則由單

2、片機at89c51來完成,其負責把adc0809傳送來的數(shù)字量經(jīng)過一定的數(shù)據(jù)處理,產(chǎn)生相應的顯示碼送到顯示模塊進行顯示;此外,它還控制著adc0809芯片工作。該系統(tǒng)的數(shù)字電壓表電路簡單,所用的元件較少,成本低,且測量精度和可靠性較高。此數(shù)字電壓表可以測量0-5v的1路模擬直流輸入電壓值,并通過一個四位一體的7段數(shù)碼管顯示出來。關(guān)鍵字:單片機;數(shù)字電壓表;a/d轉(zhuǎn)換;at89c51;adc0809abstractthis paper introduces a kind of chip based on a digital voltage meter design, the circuit us

3、es adc0809 a/d converter, digital voltage meter to achieve hardware circuit and software design. the system of the digital voltage meter circuit is simple, can be measured by 0 5v voltage value, and in the led digital tube displaythis design mainly consists of three modules: a/d module, data process

4、ing module and display module. conversion of a/d mainly by the chip adc0809 to complete, it is responsible for the acquisition of analog quantity is converted into corresponding digital quantity in transmitted to a data processing module. data processing by the mcu to complete the at89c51, its respo

5、nsible for the adc0809 transmission to a digital quantity after a certain amount of data processing, to produce a corresponding display code to the display module for display; in addition, it also controls the operation of the adc0809 chip.the system of the digital voltage meter circuit is simple, w

6、ith less elements, low cost, and high measuring precision and reliability. the digital voltage meter can measure 0-5v 1 analog input dc voltage value, and through a four one of the 7 digital tube display. key words: single-chip microcontroller; digital voltmeter; a/d converter; at89c51; adc0808目 錄1

7、設計總體方案1 1.1 設計要求1 1.2 設計思路1 1.3 設計方案12 設計課題硬件系統(tǒng)的設計2 2.1 at89c51單片機2 2.2 adc0809引腳功能4 2.3 復位電路設計5 2.4 時鐘電路設計5 2.5 led顯示系統(tǒng)設計6 2.5.1 led的基本結(jié)構(gòu)6 2.5.2 led顯示器的選擇7 2.5.3 led譯碼方式7 2.5.4 led顯示器與單片機接口設計8 2.6 總體電路設計93 程序設計10 3.1 程序設計總方案10 3.2 系統(tǒng)子程序設計10 3.2.1 初始化程序10 3.2.2 a/d轉(zhuǎn)換子程序10 3.2.3 顯示子程序11 3.3 軟件程序清單114

8、 仿真12 4.1 軟件調(diào)試12 4.2 顯示結(jié)果及誤差分析12 4.2.1 顯示結(jié)果12 4.2.2 誤差分析14結(jié)束語15致謝16參考文獻17附錄a 程序清單18附錄b 實物圖22附錄c pcb圖23附錄d 電路原理圖25附錄e 原器件清單261 設計總體方案1.1 設計要求 設計一個能夠測量直流電壓的數(shù)字電壓表。測量電壓范圍05v,測量精度小數(shù)點后兩位。該電壓表上電或按鍵復位后能自動顯示系統(tǒng)提示符“p.”, 進入測量準備狀態(tài),按測量開始鍵則開始測量,并將測量值顯示在顯示器上,按測量結(jié)束鍵則自動返回“p.”狀態(tài)。 1.2 設計思路(一)根據(jù)設計要求,選擇at89c51單片機為核心控制器件。

9、(二)a/d轉(zhuǎn)換采用adc0809實現(xiàn),與單片機的接口為p0口和p2口中的高位引腳。(三)電壓顯示采用4位一體的led數(shù)碼管。(四)led數(shù)碼的段碼輸入,由并行端口p1產(chǎn)生:位碼輸入,用并行端口p3低四位產(chǎn)生。1.3 設計方案 硬件電路設計由6個部分組成,a/d轉(zhuǎn)換電路、at89c51單片機系統(tǒng)led顯示系統(tǒng)、時鐘電路、復位電路以及測量電壓輸入電路。硬件電路設計框圖如圖1所示:圖1 數(shù)字電壓表系統(tǒng)硬件設計框圖 2 設計課題硬件系統(tǒng)的設計2.1 at89c51單片機本設計的核心就是運用了單片機去實現(xiàn)軟件控制信號,達到了軟件和硬件的結(jié)合,下面就是介紹89c51單片機,單片機的引腳圖如圖2所示: 圖

10、2 at89c51的引腳圖at89c51芯片的各引腳功能為:p0口:這組引腳共有8條,p0.0為最低位。這8個引腳有兩種不同的功能,分別適用于不同的情況,第一種情況是89c51不帶外存儲器,p0口可以為通用i/o口使用,p0.0-p0.7用于傳送cpu的輸入/輸出數(shù)據(jù),這時輸出數(shù)據(jù)可以得到鎖存,不需要外接專用鎖存器,輸入數(shù)據(jù)可以得到緩沖,增加了數(shù)據(jù)輸入的可靠性;第二種情況是89c51帶片外存儲器,p0.0-p0.7在cpu訪問片外存儲器時先傳送片外存儲器的低8位地址,然后傳送cpu對片外存儲器的讀/寫數(shù)據(jù)。p0口為開漏輸出,在作為通用i/o使用時,需要在外部用電阻上拉。p1口:這8個引腳和p0

11、口的8個引腳類似,p1.7為最高位,p1.0為最低位,當p1口作為通用i/o口使用時,p1.0-p1.7的功能和p0口的第一功能相同,也用于傳送用戶的輸入和輸出數(shù)據(jù)。p2口:這組引腳的第一功能與上述兩組引腳的第一功能相同即它可以作為通用i/o口使用,它的第一功能和p0口引腳的第二功能相配合,用于輸出片外存儲器的高8位地址,共同選中片外存儲器單元,但并不是像p0口那樣傳送存儲器的讀/寫數(shù)據(jù)。p3口:這組引腳的第一功能和其余三個端口的第一功能相同,第二功能為控制功能,每個引腳并不完全相同,如下表1所示:表1 p3口各位的第二功能 p3口各位 第二功能 p3.0 rxt(串行口輸入) p3.1 tx

12、d(串行口輸出) p3.2 /int0(外部中斷0輸入) p3.3 /int1(外部中斷1輸入) p3.4t0(定時器/計數(shù)器0的外部輸入) p3.5t1(定時器/計數(shù)器1的外部輸入) p3.6/wr(片外數(shù)據(jù)存儲器寫允許) p3.7/rd(片外數(shù)據(jù)存儲器讀允許)vcc為+5v電源線,vss接地。ale:地址鎖存允許線,配合p0口的第二功能使用,在訪問外部存儲器時,89c51的cpu在p0.0-p0.7引腳線去傳送隨后而來的片外存儲器讀/寫數(shù)據(jù)。在不訪問片外存儲器時,89c51自動在ale線上輸出頻率為1/6震蕩器頻率的脈沖序列。該脈沖序列可以作為外部時鐘源或定時脈沖使用。/ea:片外存儲器訪

13、問選擇線,可以控制89c51使用片內(nèi)rom或使用片外rom,若/ea=1,則允許使用片內(nèi)rom, 若/ea=0,則只使用片外rom。/psen:片外rom的選通線,在訪問片外rom時,89c51自動在/psen線上產(chǎn)生一個負脈沖,作為片外rom芯片的讀選通信號。rst:復位線,可以使89c51處于復位(即初始化)工作狀態(tài)。通常89c51復位有自動上電復位和人工按鍵復位兩種。xtal1和xtal2:片內(nèi)震蕩電路輸入線,這兩個端子用來外接石英晶體和微調(diào)電容,即用來連接89c51片內(nèi)osc(震蕩器)的定時反饋回路。2.2 adc0809引腳功能adc0809的引腳如圖3所示,下面對引腳功能做簡要說明

14、: 圖3 adc0809引腳in0in7:8個模擬量的輸入端。d0d7:8位數(shù)字量輸出端。start:啟動a/d轉(zhuǎn)換,加正脈沖后a/d轉(zhuǎn)換開始。eoc:轉(zhuǎn)換結(jié)束信號。轉(zhuǎn)換開始時,eoc信號變低電平;轉(zhuǎn)換結(jié)束時,eoc信號返回高電平。該信號可以作為cpu查詢a/d轉(zhuǎn)換是否完成的信號,也可以作為向cpu發(fā)出中斷申請的信號。oe:輸出允許信號,輸入高電平有效。oe端的電平由低變高時,轉(zhuǎn)換結(jié)果被送到數(shù)據(jù)線上。此信號有效時,cpu可以從adc0809中讀取數(shù)據(jù),同時也可以作為adc0809的片選信號。clk:實時時鐘,頻率范圍為10khz1280khz,典型值為640khz。ale:通道地址鎖存允許信號

15、,輸入高電平有效。在ale=1時,鎖存addaaddc,選中模擬量輸入。addcaddc:通道地址選擇輸入,其排列順序從低到高依次為adda 、addb、 addc。該地址與8個模擬量輸入,通道的對應關(guān)系如表1所示:vref+、vref-正負參考電壓。一般情況下,vref+接+5v,vref-接地。此時的轉(zhuǎn)換關(guān)系如表2所示:vccgnd:工作電源和接地adc0809的模擬通道選擇表2所示:表2 地址與模擬量通道之間的對應關(guān)系addcaddbadda選中通道000in0001in1010in2011in3100in4101in5110in6111in72.3 復位電路設計單片機在啟動運行時都需要

16、復位,使cpu和系統(tǒng)中的其他部件都處于一個確定的初始狀態(tài),并從這個狀態(tài)開始工作。mcs-51單片機有一個復位引腳rst,采用施密特觸發(fā)輸入。當震蕩器起振后,只要該引腳上出現(xiàn)2個機器周期以上的高電平即可確保時器件復位。復位完成后,如果rst端繼續(xù)保持高電平,mcs-51就一直處于復位狀態(tài),只要rst恢復低電平后,單片機才能進入其他工作狀態(tài)。單片機的復位方式有上電自動復位和手動復位兩種,圖4是51系列單片機統(tǒng)常用的上電復位和手動復位組合電路,只要vcc上升時間不超過1ms,它們都能很好的工作。 圖4 復位電路2.4 時鐘電路設計單片機中cpu每執(zhí)行一條指令,都必須在統(tǒng)一的時鐘脈沖的控制下嚴格按時間

17、節(jié)拍進行,而這個時鐘脈沖是單片機控制中的時序電路發(fā)出的。cpu執(zhí)行一條指令的各個微操作所對應時間順序稱為單片機的時序。mcs-51單片機芯片內(nèi)部有一個高增益反相放大器,用于構(gòu)成震蕩器,xtal1為該放大器的輸入端,xtal2為該放大器輸出端,但形成時鐘電路還需附加其他電路。本設計系統(tǒng)采用內(nèi)部時鐘方式,利用單片機內(nèi)部的高增益反相放大器,外部電路簡,只需要一個晶振和 2個電容即可,如圖5所示: 圖5 時鐘電路電路中的器件選擇可以通過計算和實驗確定,也可以參考一些典型電路的參數(shù),電路中,電容器c1和c2對震蕩頻率有微調(diào)作用,通常的取值范圍是30±10pf,在這個系統(tǒng)中選擇了33pf;石英晶

18、振選擇范圍最高可選24mhz,它決定了單片機電路產(chǎn)生的時鐘信號震蕩頻率,在本系統(tǒng)中選擇的是12mhz,因而時鐘信號的震蕩頻率為12mhz。2.5 led顯示系統(tǒng)設計2.5.1 led的基本結(jié)構(gòu)led是發(fā)光二極管顯示器的縮寫。led由于結(jié)構(gòu)簡單、價格便宜、與單片機接口方便等優(yōu)點而得到廣泛應用。led顯示器是由若干個發(fā)光二極管組成顯示字段的顯示器件。在單片機中使用最多的是七段數(shù)碼顯示器。led七段數(shù)碼顯示器由8個發(fā)光二極管組成顯示字段,其中7個長條形的發(fā)光二極管排列成“日”字形,另一個圓點形的發(fā)光二極管在顯示器的右下角作為顯示小數(shù)點用,其通過不同的組合可用來顯示各種數(shù)字。led引腳排列如下圖6所示

19、: 圖6 led引腳排列2.5.2 led顯示器的選擇在應用系統(tǒng)中,設計要求不同,使用的led顯示器的位數(shù)也不同,因此就生產(chǎn)了位數(shù),尺寸,型號不同的led顯示器供選擇,在本設計中,選擇4位一體的數(shù)碼型led顯示器,簡稱“4-led”。本系統(tǒng)中前一位顯示電壓的整數(shù)位,即個位,后兩位顯示電壓的小數(shù)位。4-led顯示器引腳如圖7所示,是一個共陰極接法的4位led數(shù)碼顯示管,其中a,b,c,e,f,g為4位led各段的公共輸出端,1、2、3、4分別是每一位的位數(shù)選端,dp是小數(shù)點引出端,4位一體led數(shù)碼顯示管的內(nèi)部結(jié)構(gòu)是由4個單獨的led組成,每個led的段輸出引腳在內(nèi)部都并聯(lián)后,引出到器件的外部。

20、 圖7 4位led引腳對于這種結(jié)構(gòu)的led顯示器,它的體積和結(jié)構(gòu)都符合設計要求,由于4位led陰極的各段已經(jīng)在內(nèi)部連接在一起,所以必須使用動態(tài)掃描方式(將所有數(shù)碼管的段選線并聯(lián)在一起,用一個i/o接口控制)顯示。2.5.3 led譯碼方式譯碼方式是指由顯示字符轉(zhuǎn)換得到對應的字段碼的方式,對于led數(shù)碼管顯示器,通常的譯碼方式有硬件譯碼和軟件譯碼方式兩種。硬件譯碼是指利用專門的硬件電路來實現(xiàn)顯示字符碼的轉(zhuǎn)換。軟件譯碼就是編寫軟件譯碼程序,通過譯碼程序來得到要顯示的字符的字段碼,譯碼程序通常為查表程序。本設計系統(tǒng)中為了簡化硬件線路設計,led譯碼采用軟件編程來實現(xiàn)。由于本設計采用的是共陰極led,

21、其對應的字符和字段碼如下表3所示:表3 共陰極字段碼表 顯示字符 共陰極字段碼 0 3fh 1 06h 2 5bh 3 4fh 4 66h 5 6dh 6 7dh 7 07h 8 7fh 9 6fh2.5.4 led顯示器與單片機接口設計由于單片機的并行口不能直接驅(qū)動led顯示器,在一般情況下,必須采用專用的驅(qū)動電路芯片,使之產(chǎn)生足夠大的電流,顯示器才能正常工作。如果驅(qū)動電路能力差,即負載能力不夠時,顯示器亮度就低,而且驅(qū)動電路長期在超負荷下運行容易損壞,led顯示器的驅(qū)動電路設計是一個非常重要的問題。為了簡化數(shù)字式直流電壓表的電路設計,在led驅(qū)動電路的設計上,可以利用單片機p0口上外接的上

22、拉電阻來實現(xiàn),即將led的a-g段顯示引腳和dp小數(shù)點顯示引腳并聯(lián)到p1口與上拉電阻之間,這樣,就可以加大p1口作為輸出口德驅(qū)動能力,使得led能按照正常的亮度顯示出數(shù)字,如圖8所示: 圖8 led與單片機接口間的設計2.6 總體電路設計經(jīng)過以上的設計過程,可設計出基于單片機的簡易數(shù)字直流電壓表硬件電路原理圖如圖9所示:圖9 簡易數(shù)字電壓表電路圖此電路的工作原理是:+5v模擬電壓信號通過變阻器vr1分壓后adc0809的in0通道進入(由于使用的in0通道,所以adda,addb,addc均接低電平),經(jīng)過模/數(shù)轉(zhuǎn)換后,產(chǎn)生相應的數(shù)字量經(jīng)過其輸出通道d0-d7傳送給at89c51芯片的p0口,

23、at89c51負責把接收到的數(shù)字量經(jīng)過數(shù)據(jù)處理,產(chǎn)生正確的7段數(shù)碼管的顯示段碼傳送給四位led,同時它還通過其四位i/o口p3.0、p3.1、p3.2產(chǎn)生位選信號控制數(shù)碼管的亮滅。此外,at89c51還控制adc0809的工作。其中,單片機at89c51通過定時器的中斷從p2.4口輸出方波,接到adc0809的clock,p2.6發(fā)正脈沖啟動a/d轉(zhuǎn)換,p2.5檢測a/d轉(zhuǎn)換是否完成,轉(zhuǎn)換完成后,p2.7置高從p0口讀取轉(zhuǎn)換結(jié)果送給led顯示出來。3 程序設計3.1 程序設計總方案根據(jù)模塊的劃分原則,將該程序劃分初始化模塊,a/d轉(zhuǎn)換子程序和顯示子程序,這三個程序模塊構(gòu)成了整個系統(tǒng)軟件的主程序

24、,如圖10所示: 圖10 數(shù)字式直流電壓表主程序框圖3.2 系統(tǒng)子程序設計3.2.1 初始化程序所謂初始化,是對將要用到的mcs_51系列單片機內(nèi)部部件或擴展芯片進行初始工作狀態(tài)設定,初始化子程序的主要工作是設置定時器的工作模式,初值預置,開中斷和打開定時器等。3.2.2 a/d轉(zhuǎn)換子程序a/d轉(zhuǎn)換子程序用來控制對輸入的模塊電壓信號的采集測量,并將對應的數(shù)值存入相應的內(nèi)存單元,其轉(zhuǎn)換流程圖如圖11所示:圖11 a/d轉(zhuǎn)換流程圖3.2.3 顯示子程序顯示子程序采用動態(tài)掃描實現(xiàn)四位數(shù)碼管的數(shù)值顯示,在采用動態(tài)掃描顯示方式時,要使得led顯示的比較均勻,又有足夠的亮度,需要設置適當?shù)膾呙桀l率,當掃描

25、頻率在70hz左右時,能夠產(chǎn)生比較好的顯示效果,一般可以采用間隔10ms對led進行動態(tài)掃描一次,每一位led的顯示時間為1ms。在本設計中,為了簡化硬件設計,主要采用軟件定時的方式,即用定時器0溢出中斷功能實現(xiàn)11s定時,通過軟件延時程序來實現(xiàn)5ms的延時。3.3 軟件程序清單程序清單見附錄a4 仿真4.1 軟件調(diào)試軟件調(diào)試的主要任務是排查錯誤,錯誤主要包括邏輯和功能錯誤,這些錯誤有些是顯性的,而有些是隱形的,可以通過仿真開發(fā)系統(tǒng)發(fā)現(xiàn)逐步改正。proteus軟件可以對基于微控制器的設計連同所有的周圍電子器件一起仿真,用戶甚至可以實時采用諸如led/lcd、鍵盤、rs232終端等動態(tài)外設模型來

26、對設計進行交互仿真。proteus支持的微處理芯片包括8051系列、avr系列、pic系列、hc11系列及z80等等。proteus可以完成單片機系統(tǒng)原理圖電路繪制、pcb設計,更為顯著點的特點是可以與u visions3 ide工具軟件結(jié)合進行編程仿真調(diào)試。本系統(tǒng)的調(diào)試主要以軟件為主,其中,系統(tǒng)電路圖的繪制和仿真我采用的是proteus軟件,而程序方面,采用的是匯編語言,用keil軟件將程序?qū)懭雴纹瑱C。4.2 顯示結(jié)果及誤差分析4.2.1 顯示結(jié)果(1)當in0口輸入電壓值為0v時,顯示結(jié)果如圖12所示,測量誤差為0v。 圖12 輸入電壓為0v時,led的顯示結(jié)果(2)當in0輸入電壓值為1

27、.64v時,顯示結(jié)果如圖13所示。測量誤差為0.0v。圖13 輸入電壓為1.64 v的顯示結(jié)果(3) 當in0口輸入電壓值為3.74時,顯示結(jié)果如圖14所示。測量誤差為0.0v。圖14 輸入電壓為3.74時,led的顯示結(jié)果4.2.2 誤差分析 通過以上仿真測量結(jié)果可得到簡易數(shù)字電壓表與“標準”數(shù)字電壓表對比測試表,如下表3所示:表3 簡易數(shù)字電壓表與“標準”數(shù)字電壓表對比測試表標準電壓值/v簡易電壓表測量值/v絕對誤差/v0.000.000.000.500.510.011.001.000.001.641.640.002.002.000.002.502.500.003.003.000.003.

28、743.740.004.004.000.004.995.000.01由于單片機at89c51為8位處理器,當輸入電壓為5.00v時,adc0809輸出數(shù)據(jù)值為255(ffh),因此單片機最高的數(shù)值分辨率為0.0196v(5/255)。這就決定了電壓表的最高分辨率只能到0.0196v,從上表可看到,測試電壓一般以0.01v的幅度變化。 從上表可以看出,簡易數(shù)字電壓表測得的值基本上比標準電壓值偏大0-0.01v,這可以通過校正adc0809的基準電壓來解決。因為該電壓表設計時直接用5v的供電電源作為電壓,所以電壓可能有偏差。當要測量大于5v的電壓時,可在輸入口使用分壓電阻,而程序中只要將計算程序的

29、除數(shù)進行調(diào)整就可以了。結(jié)束語 將本設計的程序下載到單片機中,通過測試,基本上完成了任務書的要求,并且搶答的精確度也比較高,有一使用價值和商業(yè)利用價值。本次設計的電壓表小巧玲瓏,攜帶方便,具有一定的使用價值。致 謝 通過這次比較完整的設計,使我們擺脫了單純的理論知識學習狀態(tài),達到了理論與實踐的結(jié)合鍛煉了我的綜合運用所學的專業(yè)基礎知識,解決實際設計問題的能力,同時,也提高了我們查閱文獻資料、設計手冊、設計規(guī)范以及電腦制圖等專業(yè)能力水平,而且通過整體的掌握對布局的取舍以及對細節(jié)的斟酌處理,都使我們能力得到了鍛煉、經(jīng)驗得到了豐富,抗壓能力以及耐力在不同程度上得到了提高,這是我們都想看到的也是我們進行設

30、計的目的所在。雖然這次設計內(nèi)容繁多、過程繁瑣但我們收獲很多,在這次設計過程中我們不僅對a/d轉(zhuǎn)換芯片adc0809有了進一步熟悉,隨著設計的不斷深入對它的工作原理、啟動設置、轉(zhuǎn)換結(jié)束判斷及輸出等都基本掌握,在和老師的溝通交流的過程中我們對設計有了新的認識,并且對實物的連接與布局有了新的看法,對我們的專業(yè)有了進一步的認識。感謝凌云老師對本次課程設計的精心指導,感謝眾多同學對我們的關(guān)心與幫助。讓我對學習單片機的有了很大的幫助。參考文獻1馬忠梅,籍順心,張凱,馬巖.單片機的c語言應用程序設計m.北京: 北京航空航天大學出版社,2006 ma zhongmei,j, zhang kai, mayan.

31、 mcu c language program design m .beijing: beijing aerospace university press, 20062李廣弟,朱月秀,冷祖祁.單片機基礎m.北京:北京航空航天大學出版 社,2007 li guangdi, zhuyuexiu, leng zuqi. microcontroller m .beijing: beijing university of aeronautics and press, 2007 3李光飛.單片機課程設計實例指導m.北京:北京航空航天大學出版社, 2004.9 li guangfei. this cours

32、e design example guide m .beijing: beijing university of aeronautics and press, 2004.9 4邢增平.protel 99 se設計專家指導m.北京:中國鐵道出版社,2004 xing zengping. protel 99 se design expert guidance m .beijing: china railway publishing house, 2004 附錄a 程序清單 org 0000h /程序開始地址 ljmp start /跳轉(zhuǎn)到開始程序 org 000bh /定時計數(shù)器0中斷向量 ljm

33、p nt /跳到子程序 start: mov a, #00h/初始化 setb p3.7 /eoc值1 clr p3.0 /位選信號 clr p3.1 clr p3.2 mov p2, a /p2口置0 mov a, #0ffh /p0,p1口置1 mov p0, a mov p1, a main: mov sp, #60h /開辟堆棧 mov ie, #82h /選擇中斷方式 mov tmod, #02h /選擇工作方式 mov p1, #0ch /亮p setb p3.0loop103: setb p2.7 /判斷是否開始 mov a, p2 jb acc.7, loop103 /判斷轉(zhuǎn)換

34、是否結(jié)束 mov th0, #0ffh /賦初值 mov tl0, #0ffh setb tr0 /開啟計數(shù)器main2: lcall adzh /長調(diào)用ad轉(zhuǎn)換 lcall smzh /長調(diào)用數(shù)模轉(zhuǎn)換 lcall smxs /長調(diào)用數(shù)模顯示 ljmp main2 /跳至main2adzh: mov a, #00h /ad轉(zhuǎn)換 mov p2, a mov r0, #70h ajmp adcywait: jb p3.7, datasave /判斷采樣是否結(jié)束 ajmp wait /跳回等待adcy: setb p2.3 /ad采樣單元 setb p2.4 /上升沿,清除數(shù)據(jù) nop /延遲 nop /延遲 clr p2.3 /產(chǎn)生下降沿 開始工作 clr p2.4 nop /延遲 nop ajmp wait /跳回單元datasave: setb p2.5 /數(shù)據(jù)傳輸單元 mov p0 , #0ffh /掃面前置1 mov a, p0 /掃描p0口狀態(tài) mov r0, a /將值送至r

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論