版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 目 錄</b></p><p><b> 摘要I</b></p><p><b> 1 前言1</b></p><p><b> 2 方案設(shè)計(jì)1</b></p><p><b> 2.1設(shè)計(jì)任務(wù)1&l
2、t;/b></p><p><b> 2.2工程方案1</b></p><p> 3 仿真電路設(shè)計(jì)2</p><p> 3.1仿真電路原理圖2</p><p> 3.2 仿真單元電路設(shè)計(jì)3</p><p><b> 4 程序設(shè)計(jì)3</b></p
3、><p> 4.1程序流程圖設(shè)計(jì)4</p><p> 4.2具體代碼實(shí)現(xiàn)5</p><p><b> 5 系統(tǒng)仿真5</b></p><p> 5. 1 系統(tǒng)仿真過(guò)程5</p><p> 5. 2 仿真結(jié)果分析7</p><p> 6 PCB板電路的制作
4、8</p><p><b> 7 總結(jié)9</b></p><p><b> 參考文獻(xiàn)10</b></p><p> 附錄(源程序清單)11</p><p><b> 1 前言</b></p><p> 首先,單片機(jī)向LCD1602輸出顯示
5、“WELCOME TO USE”的界面,然后外圍電路將被測(cè)量值轉(zhuǎn)化為模擬信號(hào)并輸入到AD轉(zhuǎn)化器中,利用單片機(jī)啟動(dòng)AD轉(zhuǎn)化,并將轉(zhuǎn)化后的模擬信號(hào)讀入到單片機(jī)并保存在寄存器R5中,單片機(jī)將讀入的信號(hào)處理后轉(zhuǎn)化為能被LCD1602顯示的信號(hào)輸出, LCD1602將測(cè)量結(jié)果顯示。本課題采用四個(gè)中斷實(shí)現(xiàn)人機(jī)對(duì)話,分別為定時(shí)器0、定時(shí)器1、外部中斷0、外部中斷1。外部中斷0實(shí)現(xiàn)電壓、電流、電阻三個(gè)檔位的選擇,外部中斷1實(shí)現(xiàn)測(cè)量值檔位的選擇,定時(shí)器0
6、為確認(rèn)鍵,當(dāng)確認(rèn)后直接顯示測(cè)量結(jié)果,定時(shí)器1為復(fù)位鍵。本課題使用8位AD轉(zhuǎn)化器,轉(zhuǎn)化精度不是很高,課題程序使用了執(zhí)行效率高的匯編語(yǔ)言,由于匯編語(yǔ)言中并沒(méi)有浮點(diǎn)運(yùn)算語(yǔ)句,因此需要編子程序?qū)崿F(xiàn)浮點(diǎn)除法,本課題采用了八位浮點(diǎn)運(yùn)算,因此該萬(wàn)用表精度不高。此設(shè)計(jì)以單片機(jī)為控制核心,實(shí)現(xiàn)了硬件電路的設(shè)計(jì)、程序設(shè)計(jì),并能夠在PROTEUS平臺(tái)實(shí)現(xiàn)仿真。并且能在PROTEL軟件中繪制PCB電路板。</p><p><b&g
7、t; 2 方案設(shè)計(jì)</b></p><p><b> 2.1設(shè)計(jì)任務(wù)</b></p><p> ?。?)實(shí)現(xiàn)LCD1602的開機(jī)顯示;</p><p> ?。?)設(shè)計(jì)外圍電路,實(shí)現(xiàn)模擬信號(hào)的轉(zhuǎn)化與數(shù)字信號(hào)的轉(zhuǎn)化; </p><p> ?。?)設(shè)計(jì)鍵盤,實(shí)現(xiàn)人機(jī)對(duì)話;</p><p&g
8、t; (4)編寫程序,實(shí)現(xiàn)信號(hào)處理與顯示;</p><p> ?。?)結(jié)合程序和電路進(jìn)行調(diào)試;</p><p> ?。?)在PROTEL軟件中繪制相應(yīng)的PCB電路板。</p><p><b> 2.2 工程方案</b></p><p> 設(shè)計(jì)方案根據(jù)以下流程來(lái)實(shí)行:首先分析系統(tǒng)各個(gè)模塊,并設(shè)計(jì)系統(tǒng)函數(shù)及子函數(shù)的功能
9、。然后用visio畫出萬(wàn)用表的程序流程圖,再在proteus軟件中繪制電路原理圖,接著在wave編譯系統(tǒng)中,用匯編語(yǔ)言實(shí)現(xiàn)程序設(shè)計(jì),然后結(jié)合程序和電路進(jìn)行調(diào)試。最后將調(diào)試好的電路重新畫入protel軟件,把protel里面的電路轉(zhuǎn)化為pcb板電路圖。</p><p> 模塊分工:我主要負(fù)責(zé)外部中斷,其中包括外部中斷0和外部中斷1,外部中斷0實(shí)現(xiàn)電壓、電流、電阻三個(gè)檔位的選擇,外部中斷1實(shí)現(xiàn)測(cè)量值檔位的選擇。我的
10、搭檔主要負(fù)責(zé)定時(shí)中斷,其中包括定時(shí)中斷0和定時(shí)中斷1,定時(shí)器0為確認(rèn)鍵,當(dāng)確認(rèn)后直接顯示測(cè)量結(jié)果,定時(shí)器1為復(fù)位鍵。</p><p><b> 3電路設(shè)計(jì)</b></p><p> 3.1仿真電路原理圖</p><p> 在這個(gè)Protues仿真電路圖中,主要涉及了RES,POT-LIN,SW-ROT-3,SW-ROT-5,SW-ROT-
11、3,SW-SPDT-MOM,AT89C51,LM016L,ADC0808,RESPACK-8,BUTTON,OP1P,接下來(lái)是這些元件的材料,大小和作用的介紹。</p><p> RES,為碳膜電阻,在電路中RES主要有四大塊,從R1~R7大小分別是1,10,100,1K,10K,100K,1M,10M,其主要作用是用來(lái)實(shí)現(xiàn)萬(wàn)用表的電阻測(cè)量,不同的大小實(shí)現(xiàn)了檔位的選擇。從R12~R14大小分別是100K,50K
12、,150K,其主要作用是形成回路電阻,防止短路,且不同的大小可以控制電壓的大小,從而實(shí)現(xiàn)測(cè)量電壓的不同檔位的選擇。從R9~R11以及標(biāo)號(hào)為11的電阻,其主要作用是形成回路電阻,防止短路,且不同的大小可以控制電流的大小,從而實(shí)現(xiàn)測(cè)量電流的不同檔位的選擇。R15電阻是用來(lái)測(cè)試電阻測(cè)量功能的,其大小為10K。R17形成反饋電路,是反饋電路中的主要反饋元件。R16形成回路電阻,防止短路。POT-LIN,為可調(diào)電阻,阻值在0~10K,用來(lái)形成回路
13、電阻。</p><p> SW-ROT-3,SW-ROT-5,SW-ROT-3,SW-SPDT-MOM,為多路開關(guān),實(shí)現(xiàn)了檔位的選擇。</p><p> AT89C51是51系列的單片機(jī),共有40個(gè)引腳和128KB的內(nèi)存,是整個(gè)電路設(shè)計(jì)的核心部分,通過(guò)對(duì)指令的存取和執(zhí)行實(shí)現(xiàn)對(duì)整個(gè)過(guò)程的智能控制。</p><p> LM016L,為顯示屏,是這個(gè)設(shè)計(jì)的顯示部分,
14、一共有14個(gè)引腳,基于LED顯示接口技術(shù),能清晰表示數(shù)據(jù)。</p><p> ADC0808,8位8通道ADC轉(zhuǎn)換器, ADC0809是帶有8位A/D轉(zhuǎn)換器、8路多路開關(guān)以及微處理機(jī)兼容的控制邏輯的CMOS組件。它是逐次逼近式A/D轉(zhuǎn)換器,可以和單片機(jī)直接接口。</p><p> BUTTON,旋鈕,一共有四個(gè)旋鈕,分別作為外部中斷0,外部中斷1,定時(shí)中斷0,定時(shí)中斷1,外部中斷0是測(cè)
15、量類型的選擇,外部中斷1是檔位的選擇,定時(shí)中斷0為確定鍵,定時(shí)中斷1為復(fù)位鍵。四個(gè)旋鈕實(shí)現(xiàn)人機(jī)對(duì)話。</p><p> 仿真電路圖主要分為旋鈕部分,顯示部分,控制和轉(zhuǎn)換部分。旋鈕部分主要實(shí)現(xiàn)了電阻,電壓,電流三種測(cè)量的轉(zhuǎn)換,以及提供了相應(yīng)的可供選擇的檔位。</p><p> 顯示部分主要實(shí)現(xiàn)了各種測(cè)量值得顯示和界面和復(fù)位的顯示。控制和轉(zhuǎn)化部分主要實(shí)現(xiàn)了數(shù)據(jù)的轉(zhuǎn)化。</p>
16、<p> 圖3.1.1元件AT89C51和LCD1602</p><p> 3.2 單元電路設(shè)計(jì)</p><p> AT89C51輸出信號(hào)與LCD1602的連接。LCD1602顯示說(shuō)明:在內(nèi)存開辟40H-46H共七個(gè)單元,編譯OUTP子函數(shù)將七個(gè)單元中的數(shù)據(jù)顯示在屏幕上,LCD顯示任務(wù)有:開機(jī)時(shí)第一行顯示“WELCOME TO USE”的使用界面,中斷
17、產(chǎn)生后,在第一行第二個(gè)字符處顯示數(shù)據(jù)的物理意義,在第一行第八個(gè)字符到第十五字符處顯示當(dāng)前選擇的檔位。確認(rèn)后在第二行顯示測(cè)試結(jié)果。 </p><p> 圖3.2.1元件AT89C51和LCD1602</p><p><b> 4 程序設(shè)計(jì)</b></p><p> 4.1程序流程圖設(shè)計(jì)</p><p><b&g
18、t; ?。?)系統(tǒng)流程圖</b></p><p> (2)外部中斷0處理流程圖 (3)外部中斷1處理流程</p><p> ?。?)定時(shí)中斷1處理流程圖</p><p> (5)定時(shí)中斷0處理流程圖</p><p> 4. 2 具體代碼實(shí)現(xiàn)(見(jiàn)附錄)</p><p><b> 5 系統(tǒng)仿
19、真</b></p><p> 5.1系統(tǒng)仿真過(guò)程 </p><p><b> (1)開機(jī)顯示界面</b></p><p> 5.1.1 開機(jī)顯示仿真圖</p><p> (2)電流電壓電阻之間的切換仿真圖</p><p> 圖5.1.2 電壓電阻電流切換仿真圖<
20、/p><p> (3)電流值、電壓值和電阻值的顯示仿真圖</p><p> 圖5.1.3 電流值、電壓值和電阻值的顯示仿真圖</p><p> 5.2 仿真結(jié)果分析</p><p> 通過(guò)仿真運(yùn)行及其結(jié)果可知,此次課程設(shè)計(jì)基本上實(shí)現(xiàn)了開機(jī)界面的顯示,檔位、測(cè)量范圍的調(diào)換及顯示,實(shí)現(xiàn)了測(cè)量電壓、電流、電阻的目的,并且很好的實(shí)現(xiàn)了人機(jī)對(duì)話
21、。在測(cè)量結(jié)果顯示中我們可以看出測(cè)量結(jié)果存在著一定的誤差,其主要原因?yàn)檎n題采用了八位的AD轉(zhuǎn)化器,以及在計(jì)算過(guò)程中采用了八位浮點(diǎn)除法,這就使得在數(shù)據(jù)采集和計(jì)算中都存在著誤差。</p><p><b> 6 PCB板的制作</b></p><p> Protel 99SE具有豐富的設(shè)計(jì)功能,能進(jìn)行原理圖的設(shè)計(jì)、印制電路板的設(shè)計(jì)、PCB板的設(shè)計(jì)等功能,現(xiàn)對(duì)其進(jìn)行介紹:P
22、rotel 99SE采用數(shù)據(jù)庫(kù)的管理方式, 可以進(jìn)行聯(lián)網(wǎng)設(shè)計(jì),具有很強(qiáng)的數(shù)據(jù)交換能力和開放性及3D模擬功能。Protel 99SE軟件沿襲了Protel以前版本方便易學(xué)的特點(diǎn),內(nèi)部界面與Protel 99大體相同,新增加了一些功能模塊,功能更加強(qiáng)大。新增的層堆棧管理功能,可以設(shè)計(jì)32個(gè)信號(hào)層,16個(gè)地電層,16個(gè)機(jī)械層。新增的3D功能讓您在加工印制版之前可以看到板的三維效果。增強(qiáng)的打印功能,使您可以輕松修改打印設(shè)置控制打印結(jié)果。Prot
23、el 99SE容易使用的特性還體現(xiàn)在“這是什么”幫助,按下右上角的小問(wèn)號(hào),然后輸入你所要的信息,可以很快地看到特性的功能,然后用到設(shè)計(jì)中,按下?tīng)顟B(tài)欄末端的按鈕,使用自然語(yǔ)言幫助顧問(wèn)。</p><p> 在PCB的設(shè)計(jì)方面,我們首先要有正確的原理圖,由于零件庫(kù)里面很多元件沒(méi)有封裝,在轉(zhuǎn)化的時(shí)候顯現(xiàn)不出來(lái),所以在畫原理圖的時(shí)候我們需要慎重選擇元件。然后就是美觀方面,在轉(zhuǎn)化的時(shí)候我們需要把元件擺放整齊,才能得到美觀的
24、自動(dòng)布圖的PCB板電路。</p><p><b> PCB板電路原理圖</b></p><p> 圖6.1.1 pcb板電路原理圖</p><p><b> PCB板電路圖</b></p><p> 圖6.1.2 pcb板電路圖</p><p><b&g
25、t; 7 總結(jié)</b></p><p> 通過(guò)本次課程設(shè)計(jì),感覺(jué)收獲了很多。既鞏固了以前學(xué)過(guò)的很多書本上的知識(shí),同時(shí)也學(xué)到了很多以前沒(méi)有接觸過(guò)的新東西,尤其是用PROTEL制作電路板。</p><p> 在前期的準(zhǔn)備過(guò)程中,我慢慢明白了以單片機(jī)為核心的數(shù)字萬(wàn)用表的工作原理。在實(shí)際的操作中我遇到了各種困難,首先就是仿真圖中元器件的選擇,初期我使用了數(shù)碼管顯示,但是效果并不理
26、想,主要是檔位及測(cè)量值不能同時(shí)顯示,給使用者帶來(lái)了很多不便,因此我決定采用液晶顯示,經(jīng)過(guò)一天的學(xué)習(xí)我掌握了液晶顯示的方法,增強(qiáng)了自己的信心。在數(shù)據(jù)處理過(guò)程中,我對(duì)單片機(jī)指令的除法操作有了進(jìn)一步的了解,并且理解了匯編語(yǔ)言編寫的浮點(diǎn)除法操作,相信這對(duì)以后的發(fā)展都會(huì)起到很好作用。然后一個(gè)最大的難題就是pcb板的制作,由于對(duì)這個(gè)軟件完全不熟悉,所以什么都得一步一步的學(xué)習(xí)。由于我自己的電腦安裝不了,所以不得不去同學(xué)的電腦上做。在制作的途中又遇到了
27、很多不知道的問(wèn)題,但幸運(yùn)的是,都在同學(xué)的幫助下解決了,經(jīng)過(guò)了幾個(gè)晚上的學(xué)習(xí)與研究,終于制作出了想要的pcb板電路圖。</p><p> 這次課程設(shè)計(jì)真的讓我受益匪淺,最后,感謝劉老師在設(shè)計(jì)中給予的指導(dǎo),同時(shí)也感謝在課程設(shè)計(jì)中幫助過(guò)我的同學(xué)們。</p><p><b> 參考文獻(xiàn)</b></p><p> [1] 張毅坤. 單片微型計(jì)算機(jī)原
28、理及應(yīng)用,西安電子科技大學(xué)出版社,1998 </p><p> [2] 張俊謨. 單片機(jī)中級(jí)教程—原理與應(yīng)用[M]. 北京航空和航天出版社,2006.</p><p> [3] 邱寄帆. Pretel99SE印制電路板設(shè)計(jì)與仿真[M] . 人民郵電出版社,2006.</p><p> [4] 老虎工作室. 電路設(shè)計(jì)與制版Protel入門與提高[M] . 人民郵
29、電出版社,2008.</p><p><b> 附錄(源程序清單)</b></p><p><b> ORG 0000H</b></p><p> LJMP START</p><p><b> ORG 0003H</b></p><p><
30、;b> LJMP ZD0</b></p><p><b> ORG 000BH</b></p><p><b> LJMP DS0</b></p><p><b> ORG 0013H</b></p><p><b> LJMP ZD1&l
31、t;/b></p><p><b> ORG 001BH</b></p><p><b> LJMP DS1</b></p><p><b> ORG 0100H</b></p><p> RS EQU P3.7</p><p> RW
32、EQU P3.6</p><p> E EQU P3.1</p><p> R EQU 35H;保存電阻檔位的測(cè)量范圍</p><p> AL EQU 36H;保存電流檔位的測(cè)量范圍</p><p> V EQU 37H;保存電壓檔位的測(cè)量范圍</p><p> STA EQU P2.0</p>
33、<p> EOC EQU P2.1</p><p> OE EQU P2.2</p><p> ALE EQU P2.3</p><p> START:MOV P1,#0FFH</p><p> LCALL BUSY</p><p> MOV P1,#01H;清屏光標(biāo)復(fù)位</p>
34、<p><b> LCALL WRC</b></p><p> LCALL BUSY</p><p> MOV P1,#00111000B;設(shè)置顯示為:2行16個(gè)字符</p><p><b> LCALL WRC</b></p><p> LCALL BUSY</p>
35、<p> MOV P1,#00001111B;設(shè)置光標(biāo)開并閃爍</p><p><b> LCALL WRC</b></p><p> LCALL BUSY</p><p> MOV P1,#00000110B;輸入一個(gè)字符后地址指針光標(biāo)都加1</p><p><b> LCALL WR
36、C</b></p><p> LCALL BUSY</p><p> MOV P1,#81H;設(shè)置起始輸入地址為第二個(gè)單元</p><p><b> LCALL WRC</b></p><p> MOV R5,#0EH;顯示字符共14個(gè),方法為循環(huán)顯示</p><p> MO
37、V DPTR,#TAB</p><p> MOV A,#00H</p><p> LP1:PUSH ACC</p><p> MOVC A,@A+DPTR</p><p> LCALL BUSY</p><p><b> MOV P1,A</b></p><p>
38、<b> LCALL WRD</b></p><p><b> POP ACC</b></p><p><b> INC A</b></p><p> DJNZ R5,LP1</p><p> ?。?*****開機(jī)顯示結(jié)束,開始中斷初始化******</p>
39、<p> MOV IE,#10001111B</p><p><b> SETB EA</b></p><p><b> SETB IT0</b></p><p><b> SETB IT1</b></p><p> MOV TMOD,#66H</
40、p><p> MOV TL0,#0FFH</p><p> MOV TH0,#0FFH</p><p> MOV TL1,#0FFH</p><p> MOV TH1,#0FFH</p><p><b> SETB TR0</b></p><p><b>
41、 SETB TR1</b></p><p> MOV 50H,#00H;存放0到2的數(shù)字,分別對(duì)應(yīng)電壓、電流、電阻</p><p> MOV 51H,#00H;存放0到9的數(shù)字,對(duì)應(yīng)相應(yīng)的檔位</p><p> MOV R0,#00H;存放高位</p><p> MOV R1,#00H;次高位</p><
42、;p> MOV R2,#00H;次低位</p><p> MOV R3,#00H;低位</p><p> MOV 40H,#00H</p><p> MOV 41H,#00H</p><p> MOV 42H,#00H</p><p> MOV 43H,#00H</p><p>
43、; MOV 44H,#00H</p><p> MOV 45H,#00H</p><p> MOV 46H,#00H;保存要顯示的七個(gè)數(shù)據(jù)</p><p> MOV R,#07H;保存電阻第一檔位所對(duì)應(yīng)的顯示在TAB2中的位置</p><p> MOV AL,#0BH;保存電流第一檔位所對(duì)應(yīng)的顯示在TAB2中的位置</p>
44、;<p> MOV V,#0EH;保存電壓第一檔位所對(duì)應(yīng)的顯示在TAB2中的位置</p><p> LP2:LJMP LP2</p><p> ;******定時(shí)中斷0******</p><p> DS0:PUSH ACC;啟動(dòng)A/D轉(zhuǎn)化</p><p><b> SETB STA</b><
45、;/p><p><b> CLR OE</b></p><p><b> CLR STA</b></p><p><b> CLR ALE</b></p><p><b> NOP</b></p><p><b>
46、SETB ALE</b></p><p> WAIT:JNB EOC,WAIT;轉(zhuǎn)化未完成則等待</p><p> SETB OE;允許輸出</p><p><b> NOP</b></p><p><b> MOV A,P0</b></p><p>
47、MOV R5,A;當(dāng)讀入數(shù)據(jù)保存在R5中</p><p> MOV A,50H;將被測(cè)數(shù)據(jù)物理意義存放于A中</p><p> CJNE A,#01H,L1;根據(jù)A的值調(diào)用相應(yīng)的子函數(shù)</p><p><b> L1:JC CER</b></p><p> CJNE A,#02H,L2</p>&l
48、t;p><b> L2:JC CEA</b></p><p><b> LJMP CEV</b></p><p> CER:LCALL TESTR</p><p><b> LJMP E_ND</b></p><p> CEA:LCALL TESTA</p
49、><p><b> LJMP E_ND</b></p><p> CEV:LCALL TESTV</p><p> E_ND:POP ACC</p><p><b> RETI</b></p><p> TESTA:MOV A,R5;測(cè)試數(shù)據(jù)為電流時(shí)</p>
50、<p><b> MOV 53H,A</b></p><p> MOV 52H,#33H</p><p> LCALL FDIV</p><p> LCALL OUTP</p><p><b> RET</b></p><p> TESTV:MOV
51、A,R5;測(cè)試數(shù)據(jù)為電壓時(shí)</p><p><b> MOV 53H,A</b></p><p><b> MOV A,V</b></p><p> CJNE A,#0DH,L5;判斷當(dāng)前所選擇的檔位</p><p> L5:JC RANG1</p><p> CJ
52、NE A,#0EH,L6</p><p> L6:JC RANG2</p><p> LJMP RANG3</p><p> RANG1:MOV 52H,#33H;工作在0—5V時(shí),被除數(shù)為51</p><p><b> LJMP LDIV</b></p><p> RANG2:MOV
53、52H,#19H;工作在0-10V時(shí),被除數(shù)為25</p><p><b> LJMP LDIV</b></p><p> RANG3:MOV 52H,#11H;工作在0-15V時(shí),被除數(shù)為17</p><p> LDIV:LCALL FDIV;調(diào)用浮點(diǎn)除法子程序</p><p> LCALL OUTP</
54、p><p><b> RET</b></p><p> TESTR:PUSH ACC;測(cè)試數(shù)據(jù)為電阻</p><p> MOV A,#0FFH</p><p><b> SUBB A,R5</b></p><p><b> INC A</b><
55、;/p><p> MOV B,#02H;模擬運(yùn)算表達(dá)式 R=A/(A-256)</p><p><b> DIV AB</b></p><p><b> MOV 52H,A</b></p><p><b> MOV A,R5</b></p><p>
56、 MOV B,#02H</p><p><b> DIV AB</b></p><p><b> MOV R5,A</b></p><p> MOV 53H,R5</p><p> LCALL FDIV</p><p> LCALL OUTP</p>
57、<p><b> POP ACC</b></p><p><b> RET</b></p><p> FDIV:PUSH ACC;模擬八位的浮點(diǎn)運(yùn)算</p><p> MOV R7,#00H</p><p><b> MOV B,52H</b></p
58、><p><b> MOV A,53H</b></p><p><b> DIV AB</b></p><p><b> MOV R0,A</b></p><p> MOV R6,#08H</p><p> LPD:MOV A,B</p>
59、;<p> MOV B,#02H</p><p><b> MUL AB</b></p><p><b> MOV B,52H</b></p><p><b> DIV AB</b></p><p><b> RRC A</b>&l
60、t;/p><p><b> MOV A,R7</b></p><p><b> RLC A</b></p><p><b> MOV R7,A</b></p><p> DJNZ R6,LPD</p><p><b> MOV A,R0&
61、lt;/b></p><p> MOV B,#0AH</p><p><b> DIV AB</b></p><p> MOV R1,B;保存數(shù)據(jù)整數(shù)部分在R0、R1中,用于顯示</p><p><b> MOV R0,A</b></p><p> LCALL
62、 TRANS</p><p><b> POP ACC</b></p><p><b> RET</b></p><p> TRANS:PUSH ACC;將計(jì)算結(jié)果轉(zhuǎn)化為10進(jìn)制數(shù),并存放于R2、R3、R4中</p><p><b> MOV A,R7</b></
63、p><p> MOV B,#0AH</p><p><b> MUL AB</b></p><p><b> MOV R7,A</b></p><p><b> MOV A,B</b></p><p><b> MOV R2,A</
64、b></p><p><b> MOV A,R7</b></p><p> MOV B,#0AH</p><p><b> MUL AB</b></p><p><b> MOV R7,A</b></p><p><b> MO
65、V A,B</b></p><p><b> MOV R3,A</b></p><p><b> MOV A,R7</b></p><p> MOV B,#0AH</p><p><b> MUL AB</b></p><p><
66、;b> MOV R7,A</b></p><p><b> MOV A,B</b></p><p><b> MOV R4,A</b></p><p> ;LCALL OUTP</p><p><b> POP ACC</b></p>
67、<p><b> RET</b></p><p> OUTP:PUSH ACC;將R0、R1、R2、R3、R4中值轉(zhuǎn)化為L(zhǎng)CD1602中所對(duì)應(yīng)的</p><p> MOV DPTR,#TAB3;字符,并存放于40-46H中,并設(shè)置顯示的位置</p><p><b> MOV A,R0</b></p&
68、gt;<p> MOVC A,@A+DPTR</p><p><b> MOV 40H,A</b></p><p><b> MOV A,R1</b></p><p> MOVC A,@A+DPTR</p><p><b> MOV 41H,A</b>&
69、lt;/p><p><b> MOV A,R2</b></p><p> MOVC A,@A+DPTR</p><p><b> MOV 43H,A</b></p><p><b> MOV A,R3</b></p><p> MOVC A,@A+
70、DPTR</p><p><b> MOV 44H,A</b></p><p><b> MOV A,R4</b></p><p> MOVC A,@A+DPTR</p><p><b> MOV 45H,A</b></p><p> MOV
71、42H,#2EH</p><p> MOV 46H,#20H</p><p> LCALL BUSY</p><p> MOV P1,#0C5H</p><p><b> LCALL WRC</b></p><p><b> LCALL XIE</b></p&
72、gt;<p><b> POP ACC</b></p><p><b> RET</b></p><p> ;******定時(shí)中斷1******</p><p> DS1:JB P3.5,LP4</p><p><b> SETB P2.4</b><
73、;/p><p><b> CLR P2.4</b></p><p><b> SETB P2.4</b></p><p><b> LP4:RETI</b></p><p> ;******外部中斷0******</p><p><b>
74、 ZD0:CLR E</b></p><p> JB P3.2,LP5</p><p><b> PUSH ACC</b></p><p> LCALL BUSY</p><p> MOV P1,#01H;清屏</p><p> LCALL WRC;設(shè)置顯示地址</p&
75、gt;<p> LCALL BUSY</p><p> MOV P1,#82H</p><p><b> MOV A,50H</b></p><p><b> INC A</b></p><p> MOV B,#03H;將50H中的值加1,若值等于2,則賦值為1</p&
76、gt;<p><b> DIV AB</b></p><p><b> MOV A,B</b></p><p><b> MOV 50H,A</b></p><p> ;******顯示要測(cè)量數(shù)據(jù)物理含義******</p><p> MOV DPTR,
77、#TAB1</p><p> MOVC A,@A+DPTR</p><p><b> LCALL WRC</b></p><p> LCALL BUSY</p><p><b> MOV P1,A</b></p><p><b> LCALL WRD<
78、;/b></p><p><b> POP ACC</b></p><p><b> LP5:RETI</b></p><p> WRRVA:CLR E</p><p><b> PUSH ACC</b></p><p> LCALL B
79、USY</p><p> MOV P1,#01H</p><p><b> LCALL WRC</b></p><p> LCALL BUSY</p><p> MOV P1,#82H</p><p><b> MOV A,50H</b></p>&l
80、t;p> ;******顯示要測(cè)量數(shù)據(jù)物理含義******</p><p> MOV DPTR,#TAB1</p><p> MOVC A,@A+DPTR</p><p><b> LCALL WRC</b></p><p> LCALL BUSY</p><p><b>
81、; MOV P1,A</b></p><p><b> LCALL WRD</b></p><p><b> POP ACC</b></p><p><b> RET</b></p><p> ;******外部中斷1******</p>&
82、lt;p> ZD1:LCALL WRRVA</p><p> JB P3.3,LP6</p><p><b> PUSH ACC</b></p><p> MOV A,50H;A中存放電壓、電流、電阻的標(biāo)記位;判斷檔位是電壓、電流還是電阻,并調(diào)用相應(yīng)的函數(shù) </p><p> CJNE A,#01H,N
83、EXT1</p><p> NEXT1:MOV DPTR,#TAB2</p><p><b> JC LPR</b></p><p> CJNE A,#02H,NEXT2</p><p> NEXT2:JC LPA</p><p> LCALL XIEV</p><p
84、><b> LJMP LP7</b></p><p> LPA:LCALL XIEAL</p><p><b> LJMP LP7</b></p><p> LPR:LCALL XIER</p><p> LP7:LCALL BUSY</p><p> MO
85、V P1,#86H</p><p><b> LCALL WRC</b></p><p><b> LCALL XIE</b></p><p><b> POP ACC</b></p><p><b> LP6:RETI</b></p>
86、<p> XIER:PUSH ACC;當(dāng)顯示的為電阻檔位時(shí),確定數(shù)據(jù)在表格中的位置</p><p> MOV A,R;為0-7行,并調(diào)用子函數(shù)將其顯示出</p><p><b> INC A</b></p><p> MOV B,#08H</p><p><b> DIV AB</
87、b></p><p><b> MOV A,B</b></p><p><b> MOV R,A</b></p><p> MOV B,#07H</p><p><b> MUL AB</b></p><p> LCALL XIE7D&l
88、t;/p><p><b> POP ACC</b></p><p><b> RET</b></p><p> XIEAL:PUSH ACC;當(dāng)顯示的為電流檔位時(shí),確定數(shù)據(jù)在表格中的位置</p><p> MOV A,AL;為8-11行,并調(diào)用子函數(shù)將其顯示出</p><p&
89、gt;<b> INC A</b></p><p> SUBB A,#07H</p><p> MOV B,#04H</p><p><b> DIV AB</b></p><p><b> MOV A,B</b></p><p> ADD
90、A,#08H</p><p><b> MOV AL,A</b></p><p> MOV B,#07H</p><p><b> MUL AB</b></p><p> LCALL XIE7D</p><p><b> POP ACC</b>
91、</p><p><b> RET</b></p><p> XIEV:PUSH ACC;當(dāng)顯示的為電壓檔位時(shí),確定數(shù)據(jù)在表格中的位置</p><p> MOV A,V;為0-7行,并調(diào)用子函數(shù)將其顯示出</p><p><b> INC A</b></p><p>
92、 SUBB A,#0CH</p><p> MOV B,#03H</p><p><b> DIV AB</b></p><p><b> MOV A,B</b></p><p> ADD A,#0CH</p><p><b> MOV V,A</
93、b></p><p><b> MOV A,V</b></p><p> MOV B,#07H</p><p><b> MUL AB</b></p><p> LCALL XIE7D</p><p><b> POP ACC</b>&l
94、t;/p><p><b> RET</b></p><p> XIE7D:PUSH ACC;將40H-46H中的值在LCD中顯示</p><p><b> PUSH ACC</b></p><p> MOVC A,@A+DPTR</p><p><b> MO
95、V 40H,A</b></p><p><b> POP ACC</b></p><p><b> INC A</b></p><p><b> PUSH ACC</b></p><p> MOVC A,@A+DPTR</p><p>
96、;<b> MOV 41H,A</b></p><p><b> POP ACC</b></p><p><b> INC A</b></p><p><b> PUSH ACC</b></p><p> MOVC A,@A+DPTR</p
97、><p><b> MOV 42H,A</b></p><p><b> POP ACC</b></p><p><b> INC A</b></p><p><b> PUSH ACC</b></p><p> MOVC A
98、,@A+DPTR</p><p><b> MOV 43H,A</b></p><p><b> POP ACC</b></p><p><b> INC A</b></p><p><b> PUSH ACC</b></p><
99、;p> MOVC A,@A+DPTR</p><p><b> MOV 44H,A</b></p><p><b> POP ACC</b></p><p><b> INC A</b></p><p><b> PUSH ACC</b>&
100、lt;/p><p> MOVC A,@A+DPTR</p><p><b> MOV 45H,A</b></p><p><b> POP ACC</b></p><p><b> INC A</b></p><p><b> PUSH
101、ACC</b></p><p> MOVC A,@A+DPTR</p><p><b> MOV 46H,A</b></p><p><b> POP ACC</b></p><p><b> INC A</b></p><p>&l
102、t;b> POP ACC</b></p><p><b> RET</b></p><p> ;******寫七位數(shù)據(jù)******</p><p> XIE:LCALL BUSY</p><p> MOV P1,40H</p><p><b> LCALL
103、WRD</b></p><p> LCALL BUSY</p><p> MOV P1,41H</p><p><b> LCALL WRD</b></p><p> LCALL BUSY</p><p> MOV P1,42H</p><p><
104、;b> LCALL WRD</b></p><p> LCALL BUSY</p><p> MOV P1,43H</p><p><b> LCALL WRD</b></p><p> LCALL BUSY</p><p> MOV P1,44H</p>
105、<p><b> LCALL WRD</b></p><p> LCALL BUSY</p><p> MOV P1,45H</p><p><b> LCALL WRD</b></p><p> LCALL BUSY</p><p> MOV P1
106、,46H</p><p><b> LCALL WRD</b></p><p><b> RET</b></p><p> ;******寫指令初始化******</p><p> WRC:SETB E</p><p><b> CLR RS</b&
107、gt;</p><p><b> CLR RW</b></p><p><b> CLR E</b></p><p><b> RET</b></p><p> ;******寫數(shù)據(jù)初始化******</p><p> WRD:SETB E&l
108、t;/p><p><b> SETB RS</b></p><p><b> CLR RW</b></p><p><b> CLR E</b></p><p><b> RET</b></p><p> ;******判斷顯
109、示器是否忙碌******</p><p> BUSY:CLR E</p><p> MOV P1,#0FFH</p><p><b> CLR RS</b></p><p><b> SETB RW</b></p><p><b> SETB E</
110、b></p><p> JB P1.7,BUSY</p><p><b> RET</b></p><p> ;******字符表格" WELCOME TO USE "*******</p><p> TAB:DB 57H,45H,4CH,43H,4FH,4DH,45H</p>
111、;<p> DB 20H,54H,4FH,20H,55H,53H,45H</p><p> ;******字符表格" R A V "*******</p><p> TAB1:DB 52H,41H,56H</p><p> TAB2:DB 20H,20H,20H,20H,31H,0F4H,20H</p><
112、;p> DB 20H,20H,20H,31H,30H,0F4H,20H</p><p> DB 20H,20H,31H,30H,30H,0F4H,20H</p><p> DB 20H,20H,20H,20H,31H,4BH,0F4H</p><p> DB 20H,20H,20H,31H,30H,4BH,0F4H</p><p&g
113、t; DB 20H,20H,31H,30H,30H,4BH,0F4H</p><p> DB 20H,20H,20H,20H,31H,4DH,0F4H</p><p> DB 20H,20H,20H,31H,30H,4DH,0F4H</p><p> DB 20H,20H,20H,20H,31H,6DH,41H</p><p> D
114、B 20H,20H,20H,31H,30H,6DH,41H</p><p> DB 20H,20H,31H,30H,30H,6DH,41H</p><p> DB 20H,20H,20H,20H,31H,41H,20H</p><p> DB 20H,20H,20H,20H,35H,56H,20H</p><p> DB 20H,20
115、H,20H,31H,30H,56H,20H</p><p> DB 20H,20H,20H,31H,35H,56H,20H</p><p> TAB3:DB 30H,31H,32H,33H,34H</p><p> DB 35H,36H,37H,38H,39H</p><p><b> END</b></p
溫馨提示
- 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 電子綜合課程設(shè)計(jì)2013
- 綜合電子課程設(shè)計(jì)教學(xué)大鋼(課程設(shè)計(jì)類)
- 電子技術(shù)綜合課程設(shè)計(jì)
- 《 電子技術(shù) 》綜合課程設(shè)計(jì)
- 電工電子綜合課程設(shè)計(jì)(答案)2010.3.26
- 電工電子綜合課程設(shè)計(jì)--數(shù)字時(shí)鐘設(shè)計(jì)
- 電子綜合課程設(shè)計(jì)——多功能數(shù)字電子時(shí)鐘
- 電子信息系統(tǒng)綜合課程設(shè)計(jì)
- 《現(xiàn)代通信電子線路綜合設(shè)計(jì)》課程設(shè)計(jì)
- eda綜合課程設(shè)計(jì)---電子密碼鎖的設(shè)計(jì)
- 綜合電子課程設(shè)計(jì)----智能循跡避障小車
- 綜合課程設(shè)計(jì)
- 電力電子課程設(shè)計(jì)
- 數(shù)字電子課程設(shè)計(jì)
- 汽車電子課程設(shè)計(jì)
- 電子課程設(shè)計(jì)報(bào)告
- 數(shù)字電子課程設(shè)計(jì)
- 電子秒表課程設(shè)計(jì)
- 模擬電子課程設(shè)計(jì)
- 電子制作課程設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論