基于51單片機(jī)的電流測(cè)量系統(tǒng)設(shè)計(jì)_第1頁
基于51單片機(jī)的電流測(cè)量系統(tǒng)設(shè)計(jì)_第2頁
基于51單片機(jī)的電流測(cè)量系統(tǒng)設(shè)計(jì)_第3頁
基于51單片機(jī)的電流測(cè)量系統(tǒng)設(shè)計(jì)_第4頁
基于51單片機(jī)的電流測(cè)量系統(tǒng)設(shè)計(jì)_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

目 錄前言 1電流測(cè)量系統(tǒng)總體設(shè)計(jì) 1電流測(cè)量系統(tǒng)硬件設(shè)計(jì) 2轉(zhuǎn)換電路設(shè)計(jì) 2數(shù)據(jù)采集電路設(shè)計(jì) 2數(shù)據(jù)顯示電路設(shè)計(jì) 4電流測(cè)量系統(tǒng)子程序設(shè)計(jì) 6AD轉(zhuǎn)換和數(shù)據(jù)采集程序設(shè)計(jì) 616進(jìn)制轉(zhuǎn)換為BCD碼程序設(shè)計(jì) 8字形查表程序設(shè)計(jì) 10I通信程序設(shè)計(jì) 11電流測(cè)量系統(tǒng)性能分析及調(diào)試 13設(shè)計(jì)心得 14參考文獻(xiàn) 15附錄一電流測(cè)量系統(tǒng)總體電路設(shè)計(jì) 15附錄二電流測(cè)量系統(tǒng)設(shè)計(jì)總程序 17前言

武漢理工大學(xué)《電子系統(tǒng)設(shè)計(jì)與調(diào)試》課程設(shè)計(jì)說明書單片機(jī)微型計(jì)算機(jī)簡(jiǎn)稱單片機(jī),又稱為微控制器MCU51系列單片機(jī)是目前國(guó)內(nèi)8位單片機(jī)之一。515151KeiluVision3STC_ISP_V3.1務(wù)要求、撰寫設(shè)計(jì)報(bào)告等一系列工作的完成鍛煉實(shí)際動(dòng)手能力。STC89C51開發(fā)板使用通用異步串口、USB供電線;支持串口下載和單步調(diào)試;帶有ZLG7290B,IIC8M8個(gè)數(shù)碼管;8LEDP1口;TLC549,8A/D;TLC5615,10D/A數(shù)據(jù)采集、制作波形發(fā)生器、制作電子鐘等多項(xiàng)擴(kuò)展實(shí)驗(yàn)。A/D和數(shù)碼管顯示。電流測(cè)量系統(tǒng)總體設(shè)計(jì)TLC5498CMOSA/D只能輸入電壓信號(hào),故在數(shù)據(jù)采集之前先要把直流電流信號(hào)轉(zhuǎn)化為直流電壓信號(hào)。通過適當(dāng)?shù)耐鈬娐肪涂梢詫?shí)現(xiàn)了。輸入電壓經(jīng)過TLC549進(jìn)行數(shù)據(jù)轉(zhuǎn)換和數(shù)據(jù)采集,采集結(jié)果為8位二進(jìn)制數(shù),為了方便分析,也可以看成是16進(jìn)制數(shù)。16進(jìn)制數(shù)傳入51單片機(jī)后,通過數(shù)制轉(zhuǎn)換程序把16進(jìn)制數(shù)轉(zhuǎn)換為可以顯示的BCD碼。通過查詢字符表得到BCD碼對(duì)應(yīng)的字符。I通信程序把相應(yīng)字符傳輸給ZLG7290B管理芯片并通過數(shù)碼管顯示數(shù)TLC549ZLG7290B512.1所示。1武漢理工大學(xué)《電子系統(tǒng)設(shè)計(jì)與調(diào)試》課程設(shè)計(jì)說明書2.1電流采集總體設(shè)計(jì)電流測(cè)量系統(tǒng)硬件設(shè)計(jì)轉(zhuǎn)換電路設(shè)計(jì)3.1示。數(shù)據(jù)采集電路設(shè)計(jì)

3.1電流電壓轉(zhuǎn)換電路A/DTLC549。TLC5498CMOSA/D+3~+6V,具有4MHz片內(nèi)系統(tǒng)時(shí)鐘和軟、硬件控制電路,轉(zhuǎn)換時(shí)間最大值為17s40000次/s。總失調(diào)誤差最大為±0.5LSB,6mWVREF

接地,V

REF

-VREF

≥1V,可用于較小信號(hào)的采樣。TLC549均有片內(nèi)系統(tǒng)時(shí)鐘,該時(shí)鐘與I/OCLOCK是獨(dú)立工作的,無須特殊的速度或相位匹配。TLC549可方便地與具有串行外圍接口(SPI)的單片機(jī)或微處理器配合使用,也51TLC549A/D或多路并聯(lián)采樣。TLC549的內(nèi)部框圖和3.2所示。2武漢理工大學(xué)《電子系統(tǒng)設(shè)計(jì)與調(diào)試》課程設(shè)計(jì)說明書圖3.2 TLC549的內(nèi)部框圖和管腳名稱TLC549的數(shù)字量輸出與A/D輸入電壓之間的關(guān)系如表3.1所示表3.1 A/D輸入電壓與數(shù)字量輸出量關(guān)系表輸入電壓值V VIN REFV ))]/IN REF REFV VIN REF

輸出數(shù)字量(二進(jìn)制)1111111110000000000000注意:本次測(cè)量取V 接+5V,V 接地REF REFTLC5493.3A/D36個(gè)時(shí)鐘周期(最大為17sCS在CSA7DATAOUT7A6~A07I/OCLK8個(gè)下降沿選擇通道地址,DATAOUTA/D轉(zhuǎn)換的結(jié)果。3武漢理工大學(xué)《電子系統(tǒng)設(shè)計(jì)與調(diào)試》課程設(shè)計(jì)說明書圖3.3TLC549的工作時(shí)序圖3.4所示。

REF

接供電電壓,V

REF

接地,TLC549的片選CSI/OCLOCK51P1.2P1.3P1.4口,實(shí)現(xiàn)51單片機(jī)對(duì)TLC549的控制和TLC549向51單片機(jī)的數(shù)據(jù)傳輸。數(shù)據(jù)顯示電路設(shè)計(jì)

圖3.4數(shù)據(jù)采集電路圖3.4采樣信號(hào)(16進(jìn)制數(shù))經(jīng)過51單片機(jī)程序變換成可以顯示的BCD碼,要通過管理芯片ZLG7290B和數(shù)碼管相連的電路顯示數(shù)值。ZLG7290B是廣州周立功單片機(jī)發(fā)展有限公司自行設(shè)計(jì)的數(shù)碼管顯示驅(qū)動(dòng)及鍵盤掃描8(64LE648Ctrl、ShiftAltZLG7290B內(nèi)部還設(shè)置有連擊計(jì)數(shù)器,能夠使某鍵按下后不松手而連續(xù)4武漢理工大學(xué)《電子系統(tǒng)設(shè)計(jì)與調(diào)試》課程設(shè)計(jì)說明書I2C干擾能力強(qiáng),在工業(yè)測(cè)控中已有大量應(yīng)用。ZLG7290B3.5所示。圖3.5ZLG7290B引腳圖KR0~KR7和DIG0~DIG7INT是鍵盤中斷請(qǐng)求信號(hào),低電平(下降沿)RST是復(fù)位信號(hào),低電平有效;OSC1和OSC2輸入、輸出信號(hào);SCLI2C總線時(shí)鐘信號(hào),SDAI2C總線數(shù)據(jù)信號(hào)。I2C是接收器,而從機(jī)是發(fā)送器。數(shù)據(jù)線SDA的電平狀態(tài)必須在時(shí)鐘線SCL處于高電平期間保持穩(wěn)定不變。SDA的電平狀態(tài)只有在SCLI2C總線上數(shù)據(jù)有效性的示意圖如圖3.6所示。圖3.6I2C總線上數(shù)據(jù)有效性的示意圖ZLG7290B內(nèi)部有8個(gè)顯示緩沖寄存器DpRam0~DpRam7的內(nèi)容。ZLG7290B提供有兩種顯示控制方式,一種是直接向顯存寫入字型數(shù)據(jù),另一種5武漢理工大學(xué)《電子系統(tǒng)設(shè)計(jì)與調(diào)試》課程設(shè)計(jì)說明書是通過向命令緩沖寄存器寫入控制指令實(shí)現(xiàn)自動(dòng)譯碼顯示。通過程序訪問51I2C總線接口來實(shí)現(xiàn)。ZLG7290BI2C總線器件地址是寫操作和讀操作17H)這8個(gè)寄存器的取值直接決定了數(shù)碼管的顯示內(nèi)容。每個(gè)寄存器的8個(gè)位分別對(duì)應(yīng)數(shù)碼管的a,b,c,d,e,f,dp段,MSB對(duì)應(yīng)a,LSB對(duì)應(yīng)dp。ZLG7290B驅(qū)動(dòng)數(shù)碼管電路如圖3.7所示。圖3.7ZLG7290B驅(qū)動(dòng)數(shù)碼管電路圖只要51I2C電流測(cè)量系統(tǒng)子程序設(shè)計(jì)AD轉(zhuǎn)換和數(shù)據(jù)采集程序設(shè)計(jì)TLC549的工作時(shí)序圖可知,只有CS=0時(shí)才能采集數(shù)據(jù),而每一位數(shù)據(jù)采集可采A的帶進(jìn)位標(biāo)志位循環(huán)左移實(shí)現(xiàn),每次時(shí)鐘脈沖(P1.4)88個(gè)時(shí)鐘周期TLCA8A/D轉(zhuǎn)換和數(shù)據(jù)采集程序流6武漢理工大學(xué)《電子系統(tǒng)設(shè)計(jì)與調(diào)試》課程設(shè)計(jì)說明書武漢理工大學(xué)《電子系統(tǒng)設(shè)計(jì)與調(diào)試》課程設(shè)計(jì)說明書PAGEPAGE15程圖如圖4.1所示。開始開始P1.2=0,CS片選成功等待1.4μSA帶進(jìn)位標(biāo)志左移一位進(jìn)位標(biāo)志C中P1.4鐘脈沖采集次數(shù)=8?NY轉(zhuǎn)換結(jié)果結(jié)束等待36個(gè)時(shí) 時(shí)間鐘周期 下輪采集圖4.1 AD轉(zhuǎn)換和數(shù)據(jù)采集程序流程圖;;;;;;;;AD轉(zhuǎn)換和數(shù)據(jù)采集子程序;;;AD:MOV20H,#0MOVR2,#08H;CLOCK8CLRP1.2;CS變?yōu)榈碗娖絅OPNOPNOPL3:MOVC,P1.3;對(duì)模擬輸入采樣,讀出結(jié)果MOVA,20HRLCAMOVLCALLDJNZR2,L3

MOVR2,#24H;A/D轉(zhuǎn)換的36個(gè)時(shí)鐘周SETB P1.2;CS變?yōu)楦唠娖?36L4:LCALLPULSEDJNZR2,L4RET;;;;;;;;;;;;;;產(chǎn)生CLK時(shí)鐘脈沖子程PULSE:SETB P1.4;p1.4輸出高電平,CLOCK時(shí)鐘NOPNOPNOPCLRRET16BCD碼程序設(shè)計(jì)TLC5495V255A51并逐位儲(chǔ)存所得的商才能正確顯示模擬輸入值。4.11V5162,其他原理一樣,以后不再贅述。5V10255,這時(shí)如果只用A寄存器存儲(chǔ)時(shí)就會(huì)丟失最高位(26~50為余數(shù)不可能大于50,乘以10后不可能大于500,若有最高位最大可表示512,顯然512>500,故若丟失只可能是最高位一位1AH判102555BCD10255,51BCDBCD是正確的。0~50mA,所以需要顯示十位,而顯示的電壓值只有0~5V,故需40.01mA。在實(shí)際驗(yàn)收時(shí)如果10mAA/D1V1V10mA。A中存儲(chǔ)的16進(jìn)制轉(zhuǎn)換為BCD碼程序設(shè)計(jì)流程圖如圖4.2所示。A÷51商送53H當(dāng)十位余數(shù)-1AH余數(shù)×10送A Y 是否有溢出 N 余數(shù)×10送AA÷51余數(shù)-1AHA÷51商+5送51H余數(shù)×10送A Y 是否有溢出 N 余數(shù)×10送A商送51單元單元當(dāng)小數(shù)A÷51余數(shù)-1AHA÷51當(dāng)小數(shù)第一第一位位余數(shù)×10送A Y 是否有溢出 N 余數(shù)×10送A商+5送50H單元當(dāng)小數(shù)A÷51A÷51商送50單元當(dāng)小數(shù)第二第二位位商+5送52H單元當(dāng)個(gè)位商送52當(dāng)個(gè)位商+5送52H單元當(dāng)個(gè)位商送52當(dāng)個(gè)位;;;;;;16進(jìn)制(20H單元中)轉(zhuǎn)換為BCD碼;;;;;ZHUANHUAN:MOVA,20HMOVB,#62;[255/4.11]=62,把4.11V分為255等分采集的數(shù)據(jù)DIVAB

MOVF0,C;F0為跳轉(zhuǎn)標(biāo)志MOVA,#10MULABMOVB,#62DIVABJBF0,LOOP2MOV53H,A ADDA,#5;十位存53H單元中MOVA,B;19H,F(xiàn)01CLRF0SUBBA,#1AH

LOOP2:MOV52H,A;個(gè)位存52H單元中MOVA,BCLRF0SUBBA,#1AHMOVF0,CMOVA,#10MULABMOVB,#62DIVABJBF0,LOOP3ADDA,#5LOOP3:MOV51H,A;51HMOVA,BCLRF0字形查表程序設(shè)計(jì)

SUBBMOVF0,CMOVA,#10MULABMOVB,#51DIVABJBF0,LOOP4ADDA,#5LOOP4:MOV50H,A;小數(shù)點(diǎn)后第二位存50H單元中RET63H62H單元顯示前加一,原因是當(dāng)要顯示帶小50B6(不帶小數(shù)點(diǎn)0B7H(帶小數(shù)點(diǎn)。接下來的兩位小數(shù)可以用循環(huán)兩次的辦法把需要顯示的字符分別送入61H和60H就可以了。字形查表程序設(shè)計(jì)流程圖如圖4.3所示。PUSHPSWPUSHPSW十位53H單元送A查表得A對(duì)應(yīng)字符送入63H做十位個(gè)位52H單元送A查表得A對(duì)應(yīng)字符查得字符加1(顯示小數(shù)點(diǎn)送入62H做個(gè)位兩位小數(shù)點(diǎn)R0=50H,R1=5FH,R2=2HR0單元送A查表得A對(duì)應(yīng)字符R0+1→R0R1+1→R1字符送入R1做相應(yīng)小數(shù)位POPPSW結(jié)束NR2-1=0結(jié)束 Y;;;;;;;;;;;;;字形查表子程序;;;;;;;;;XIANSHI:PUSHPSW;;;;;;;;;;;;顯示十位

圖4.3 字形查表程序設(shè)計(jì)流程圖MOVR0,#53HMOVR1,#63HMOVDPTR,#TABMOVA,@R0MOVCA,@A+DPTRMOV@R1,A;;;;;;;;;;;;;顯示個(gè)位MOVR0,#52HMOVR1,#62HMOVDPTR,#TABMOVA,@R0MOVCA,@A+DPTRINCAMOV@R1,A;;;;;;;;;;;;;顯示小數(shù)點(diǎn)后二位I2C通信程序設(shè)計(jì)

MOVR0,#50HMOVR1,#5FHMOVR2,#02HMOVDPTR,#TABNEXT3:MOVA,@R0MOVCA,@A+DPTRINCR0INCR1MOVDJNZR2,NEXT3POPPSWRETNNY發(fā)送起始發(fā)送控制字應(yīng)答Y發(fā)送地址應(yīng)答?Y發(fā)送字節(jié)發(fā)應(yīng) N送答 停? 止I2C通信總線是串行傳輸總線,兩根線(串行時(shí)鐘線SCL和串行數(shù)據(jù)線SDA)能實(shí)現(xiàn)全雙工同步數(shù)據(jù)傳送。在數(shù)據(jù)傳輸時(shí),開始位后,主器件送出8位控制字節(jié),以選擇從器件并控制總線傳送方向,其后再傳送數(shù)據(jù)。沒傳送一個(gè)字節(jié)后,接收器都必須發(fā)一位應(yīng)答信號(hào)ACK,發(fā)送器確定后,再發(fā)下一數(shù)據(jù)。每一數(shù)據(jù)都是先發(fā)高位,再發(fā)低位,在全數(shù)據(jù)傳送結(jié)束后主控制器發(fā)送停止信號(hào)。還要注意寫時(shí)鐘SCLNNY發(fā)送起始發(fā)送控制字應(yīng)答Y發(fā)送地址應(yīng)答?Y發(fā)送字節(jié)發(fā)應(yīng) N送答 停? 止圖4.4I2C通信程序設(shè)計(jì)流程圖;;;;;;;;;;;;;IIC通信子程序;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;n個(gè)字節(jié)數(shù)據(jù)發(fā)送子程序WRNBYT:PUSHPSW ;現(xiàn)場(chǎng)保護(hù)

WRNBYT1:MOVPSW,#18H;改用第3組工作寄存器CALLSTA ;發(fā)起始條MOVA,SLA ;讀寫控制字節(jié)CALLWRB ;發(fā)送寫控制字CALLCACK ;檢查應(yīng)答位JBF0,WRNBYTMOVR0,#MTD;有應(yīng)答位,發(fā)送數(shù)據(jù),第一個(gè)數(shù)據(jù)為首址MOVR5,NUMBYT;R5存讀取數(shù)據(jù)字節(jié)數(shù)WRDA:MOVA,@R0;讀第一個(gè)字節(jié)數(shù)據(jù)LCALLWRB ;發(fā)送此字LCALLCACK ;檢查ACKJBF0,WRNBYT1;無ACK,重發(fā)INCR0 ;DJNZR5,WRDA;尚未發(fā)完n個(gè)字節(jié),繼續(xù)LCALLSTOP;全部發(fā)完數(shù)據(jù),停止POPPSW ;恢復(fù)現(xiàn)RET ;返回;;;;;;;;;;;;;;;;;字節(jié)數(shù)據(jù)發(fā)送子程序WRB:MOVR7,#8位計(jì)數(shù)器初值WLP:RLCA ;欲發(fā)送位移如CJCWR1 ;此位為1,轉(zhuǎn)CLRSDA ;此位為0,發(fā)送0SETBSCL ;時(shí)鐘脈沖變高電平NOP ;延時(shí)NOPNOP

NOPCLRSCL ;時(shí)鐘脈沖變低電平DJNZR7,WLP;8RET ;8位發(fā)送完,返回WR1:SETBSDA;此位為1,發(fā)送SETBSCL;時(shí)鐘脈沖變高電平NOP ;延時(shí)NOPNOPNOPCLRSCL ;時(shí)鐘脈沖變低電平CLRSDADJNZR7,WLPRET;;;;;;;;;;;;;;;;;應(yīng)答位檢查子程序CACK:SETBSDA ;SDA作為輸入SETBSCL ;9個(gè)時(shí)鐘脈沖開始NOPNOPMOVC,SDA;讀SDA線MOVF0,C ;F0中CLRSCL ;NOPNOPRETSTA:SETB SDA ;發(fā)送起始位SETB NOPNOPNOPNOPNOPNOPCLRSDANOPNOPNOPNOPSETBSDANOPNOPNOPNOPCLRSCLNOPRETNOPSTOP:CLRSDA;發(fā)送停止位CLRSCLSETBSCLRET電流測(cè)量系統(tǒng)性能分析及調(diào)試由于采樣用的V

REF

=5V,故A/D轉(zhuǎn)換器出來電壓量程為0~5V,通過外接電阻可以實(shí)現(xiàn)電流測(cè)量;在電流輸入口接一個(gè)100Ω,則可以測(cè)量0~50mA0~50mAmA級(jí)電流正確顯示在數(shù)碼管上。6V時(shí),我們只需把進(jìn)制轉(zhuǎn)÷51÷430~6mA0.01mA已經(jīng)滿足要求,當(dāng)要求更高精確度時(shí),我們可以適當(dāng)增加小數(shù)點(diǎn)后面的位數(shù)就可以了,具體做法是向后順移各位并增加需要的位數(shù)即可。設(shè)計(jì)完成后,在調(diào)試階段。最開始時(shí),顯示在數(shù)碼管上的是16進(jìn)制數(shù),比如接+5V時(shí)顯示256,查看源程序發(fā)現(xiàn)進(jìn)制轉(zhuǎn)換程序有問題,看下面兩段程序:“MOVA,20HMOVB,#100DIVABMOV53H,A”和“MOVA,20HMOVB,#51DIVABMOV53H,20H16BCD53H5V2550~5V正確可取的,當(dāng)然后者還要在恰當(dāng)?shù)牡胤郊由闲?shù)點(diǎn),否則顯示也是錯(cuò)誤的。0~5V1K0~5mA0~50mA電流就100Ω,100Ω0~5V20mA電流時(shí),顯示在數(shù)碼管上2.000,也就說此時(shí)不能正確反映電流大小。要解決這一問題其實(shí)也很簡(jiǎn)單,我們只否則就會(huì)出現(xiàn)錯(cuò)誤。通過以上各項(xiàng)調(diào)試和改進(jìn),此次基于51單片機(jī)的電流數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)基本完成。系統(tǒng)參數(shù)指標(biāo)如下:輸入基準(zhǔn)電壓為+5V;測(cè)量直流電流范圍為0~50mA;精確到0.01mA。能比較準(zhǔn)確地顯示0.01mA~50mA范圍內(nèi)的直流電流值。設(shè)計(jì)心得通過兩周多時(shí)間的緊張?jiān)O(shè)計(jì),本次單片機(jī)課程設(shè)計(jì)終于告一段落,我體會(huì)很多。從剛開始的選題到選題論證、從查找借鑒資料到自主設(shè)計(jì)、從本學(xué)科基礎(chǔ)知識(shí)到其它學(xué)科知識(shí)、從自己思考到和老師同學(xué)交流,我從中學(xué)到了很多以前理論知識(shí)學(xué)習(xí)中所學(xué)不到的東西。51A/DBCDI過數(shù)碼管把模擬信號(hào)大小表示出來。課程設(shè)計(jì)之前一直只是理論知識(shí)的學(xué)習(xí),在課程設(shè)計(jì)階段,我不但自習(xí)重新學(xué)習(xí)的51單片機(jī)課本的相關(guān)章節(jié),而且還在圖書館借來書籍閱讀和參考。在遇到問題的時(shí)候,積極與身邊的同學(xué)交流經(jīng)驗(yàn),是在弄不懂的地方就請(qǐng)教老師,我從中學(xué)到了很多知識(shí)以外的東西,比如說遇到問題后分析解決問題的方法、堅(jiān)忍不拔和不恥下問的求知態(tài)度等等。特別是在程序設(shè)計(jì)階段,雖然程序不是很復(fù)雜,但是由于是第一次接觸,總感覺無從下手,最后通過查閱資料和反復(fù)試驗(yàn)最終把程序設(shè)計(jì)了出來。這次課程設(shè)計(jì)鞏固了我以前所學(xué)過的知識(shí),知識(shí)學(xué)得更深、更透徹,理論聯(lián)系實(shí)際,很好地鍛煉了我的發(fā)散思維能力和動(dòng)手能力。感謝劉皓春老師對(duì)我此次課程設(shè)計(jì)的指導(dǎo)。參考文獻(xiàn)[1]李群芳.單片微型計(jì)算機(jī)及接口技術(shù)(第二版).北京:電子工業(yè)出版社.2005[2]何立民.MCS-51單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì).北京:北京航空航天出版社.2000蔣力培.單片微機(jī)系統(tǒng)實(shí)用教程.北京:機(jī)械工業(yè)出版社.2004王瓊.單片機(jī)原理及應(yīng)用實(shí)驗(yàn)教程.合肥:合肥工業(yè)大學(xué)出版社[5]凌玉華.單片機(jī)原理及應(yīng)用系統(tǒng)設(shè)計(jì).長(zhǎng)沙:中南大學(xué)出版社.2006[6]李廣軍.ASIC設(shè)計(jì)及應(yīng)用.成都:電子科技大學(xué)出版社.2000附錄一電流測(cè)量系統(tǒng)總體電路設(shè)計(jì)A/DTLC549Analog(2)相連接;TLC549的CS、、I/OCLOCK51單片機(jī)的P1.2、P1.3、P1.4口相連接;ZLG7290BSCLSDA51P1.0、P1.1連接。TLC549、ZLG7290B與5151單片機(jī)各端口。武漢理工大學(xué)《電子系統(tǒng)設(shè)計(jì)與調(diào)試》課程設(shè)計(jì)說明書武漢理工大學(xué)《電子系統(tǒng)設(shè)計(jì)與調(diào)試》課程設(shè)計(jì)說明書uEoolu

A證800.

_扯CC l CODIGlClC5鄒"DPY28中8電流禾第總體電路設(shè)計(jì)b : 中電流禾第總體電路設(shè)計(jì)I掃3<b3<

-nEnDcdc

迅中8Jmm(心臼烏直流電洗輸入u直流電洗輸入1616武漢理工大學(xué)《電子系統(tǒng)設(shè)計(jì)與調(diào)試》課程設(shè)計(jì)說明書武漢理工大學(xué)《電子系統(tǒng)設(shè)計(jì)與調(diào)試》課程設(shè)計(jì)說明書PAGEPAGE21附錄二電流測(cè)量系統(tǒng)設(shè)計(jì)總程序A/D序16進(jìn)制數(shù)數(shù)制轉(zhuǎn)換程序BCD碼字形查表程序IIC通信程序數(shù)據(jù)顯示A/DTLC549A/D序16進(jìn)制數(shù)數(shù)制轉(zhuǎn)換程序BCD碼字形查表程序IIC通信程序數(shù)據(jù)顯示;;;;;;;總程序清單;;;;;;;;;;;定;;;;;;;;;;SCL BITP1.0SDA BITP1.1CS BITP1.2DATE BITP1.3CLOCK BITP1.4NUMBYTEQUSLA EQU5EHMTD EQU5FH;;;;;;;;;程序開始;;;;;;;;;;;;;;;;ORG0000HMAIN:LCALLADLCALLZHUANHUANLCALLXIANSHI;;;;;;;;;IIMOVMTD,#10HMOVNUMBYT,#09H

附錄二圖 軟件設(shè)計(jì)總框圖MOVSLA,#70HLCALLSJMP $;;;;;;;;;;;;子程序清單;;;;;;;;;;;;;;;;;;;AD轉(zhuǎn)換和數(shù)據(jù)采集子程序;;;AD:MOV20H,#0MOVR2,#08H;CLOCK8CLRP1.2;CS變?yōu)榈碗娖絅OPNOPNOPL3:MOVC,P1.3;對(duì)模擬輸入采樣,MOVA,20HRLCAMOV20H,ALCALLPULSEDJNZR2,L3MOVR2,#24H;A/D轉(zhuǎn)換的36個(gè)時(shí)鐘周期SETB P1.2;CS變?yōu)楦唠娖?保持36個(gè)時(shí)鐘周期L4:LCALLPULSEDJNZR2,L4RET;;;;;;;;;;;;;;產(chǎn)生CLK時(shí)鐘脈沖子程序PULSE:SETB P1.4;p1.4輸出高電平,CLOCK時(shí)鐘NOPNOPNOPCLRRET;;;;;;16進(jìn)制(20H單元中)BCD碼;;;;;ZHUANHUAN:MOVA,20HMOVB,#62;[255/4.11]=62,4.11V255集的數(shù)據(jù)DIVABMOV53H,A;十位存53H單元中MOVA,B;19H,F(xiàn)01CLRF0

SUBBA,#1AHMOVF0,C;F0為跳轉(zhuǎn)標(biāo)志MOVA,#10MULABMOVB,#62DIVABJBF0,LOOP2ADDA,#5LOOP2:MOV52H,A;個(gè)位存52H單元中MOVA,BCLRF0SUBBMOVF0,CMOVA,#10MULABMOVB,#62DIVABJBF0,LOOP3ADDA,#5LOOP3:MOV51H,A;小數(shù)點(diǎn)后第一位存51H單元中MOVA,BCLRF0SUBBA,#1AHMOVF0,CMOVA,#10MULABMOVB,#51DIVABJBF0,LOOP4ADDA,#5LOOP4:MOV50H,A;50HRET;;;;;;;;;;;;;字形查表子程序;;;;;;;;;XIANSHI:PUSHPSW;;;;;;;;;;;;顯示十位MOVR0,#53HMOVR1,#63HMOVDPTR,#TABMOVA,@R0MOVCA,@A+DPTRMOV@R1,A;;;;;;;;;;;;;顯示個(gè)位MOVR0,#52HMOVR1,#62HMOVDPTR,#TABMOVA,@R0MOVCA,@A+DPTRINCAMOV@R1,A;;;;;;;;;;;;;MOVR0,#50HMOVR1,#5FHMOVR2,#02HMOVDPTR,#TAB

NEXT3:MOVA,@R0MOVCA,@A+DPTRINCR0INCR1MOVDJNZR2,NEXT

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論