




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
目 錄前言 1電流測量系統總體設計 1電流測量系統硬件設計 2轉換電路設計 2數據采集電路設計 2數據顯示電路設計 4電流測量系統子程序設計 6AD轉換和數據采集程序設計 616進制轉換為BCD碼程序設計 8字形查表程序設計 10I通信程序設計 11電流測量系統性能分析及調試 13設計心得 14參考文獻 15附錄一電流測量系統總體電路設計 15附錄二電流測量系統設計總程序 17前言
武漢理工大學《電子系統設計與調試》課程設計說明書單片機微型計算機簡稱單片機,又稱為微控制器MCU51系列單片機是目前國內8位單片機之一。515151KeiluVision3STC_ISP_V3.1務要求、撰寫設計報告等一系列工作的完成鍛煉實際動手能力。STC89C51開發板使用通用異步串口、USB供電線;支持串口下載和單步調試;帶有ZLG7290B,IIC8M8個數碼管;8LEDP1口;TLC549,8A/D;TLC5615,10D/A數據采集、制作波形發生器、制作電子鐘等多項擴展實驗。A/D和數碼管顯示。電流測量系統總體設計TLC5498CMOSA/D只能輸入電壓信號,故在數據采集之前先要把直流電流信號轉化為直流電壓信號。通過適當的外圍電路就可以實現了。輸入電壓經過TLC549進行數據轉換和數據采集,采集結果為8位二進制數,為了方便分析,也可以看成是16進制數。16進制數傳入51單片機后,通過數制轉換程序把16進制數轉換為可以顯示的BCD碼。通過查詢字符表得到BCD碼對應的字符。I通信程序把相應字符傳輸給ZLG7290B管理芯片并通過數碼管顯示數TLC549ZLG7290B512.1所示。1武漢理工大學《電子系統設計與調試》課程設計說明書2.1電流采集總體設計電流測量系統硬件設計轉換電路設計3.1示。數據采集電路設計
3.1電流電壓轉換電路A/DTLC549。TLC5498CMOSA/D+3~+6V,具有4MHz片內系統時鐘和軟、硬件控制電路,轉換時間最大值為17s40000次/s。總失調誤差最大為±0.5LSB,6mWVREF
接地,V
REF
-VREF
≥1V,可用于較小信號的采樣。TLC549均有片內系統時鐘,該時鐘與I/OCLOCK是獨立工作的,無須特殊的速度或相位匹配。TLC549可方便地與具有串行外圍接口(SPI)的單片機或微處理器配合使用,也51TLC549A/D或多路并聯采樣。TLC549的內部框圖和3.2所示。2武漢理工大學《電子系統設計與調試》課程設計說明書圖3.2 TLC549的內部框圖和管腳名稱TLC549的數字量輸出與A/D輸入電壓之間的關系如表3.1所示表3.1 A/D輸入電壓與數字量輸出量關系表輸入電壓值V VIN REFV ))]/IN REF REFV VIN REF
輸出數字量(二進制)1111111110000000000000注意:本次測量取V 接+5V,V 接地REF REFTLC5493.3A/D36個時鐘周期(最大為17sCS在CSA7DATAOUT7A6~A07I/OCLK8個下降沿選擇通道地址,DATAOUTA/D轉換的結果。3武漢理工大學《電子系統設計與調試》課程設計說明書圖3.3TLC549的工作時序圖3.4所示。
REF
接供電電壓,V
REF
接地,TLC549的片選CSI/OCLOCK51P1.2P1.3P1.4口,實現51單片機對TLC549的控制和TLC549向51單片機的數據傳輸。數據顯示電路設計
圖3.4數據采集電路圖3.4采樣信號(16進制數)經過51單片機程序變換成可以顯示的BCD碼,要通過管理芯片ZLG7290B和數碼管相連的電路顯示數值。ZLG7290B是廣州周立功單片機發展有限公司自行設計的數碼管顯示驅動及鍵盤掃描8(64LE648Ctrl、ShiftAltZLG7290B內部還設置有連擊計數器,能夠使某鍵按下后不松手而連續4武漢理工大學《電子系統設計與調試》課程設計說明書I2C干擾能力強,在工業測控中已有大量應用。ZLG7290B3.5所示。圖3.5ZLG7290B引腳圖KR0~KR7和DIG0~DIG7INT是鍵盤中斷請求信號,低電平(下降沿)RST是復位信號,低電平有效;OSC1和OSC2輸入、輸出信號;SCLI2C總線時鐘信號,SDAI2C總線數據信號。I2C是接收器,而從機是發送器。數據線SDA的電平狀態必須在時鐘線SCL處于高電平期間保持穩定不變。SDA的電平狀態只有在SCLI2C總線上數據有效性的示意圖如圖3.6所示。圖3.6I2C總線上數據有效性的示意圖ZLG7290B內部有8個顯示緩沖寄存器DpRam0~DpRam7的內容。ZLG7290B提供有兩種顯示控制方式,一種是直接向顯存寫入字型數據,另一種5武漢理工大學《電子系統設計與調試》課程設計說明書是通過向命令緩沖寄存器寫入控制指令實現自動譯碼顯示。通過程序訪問51I2C總線接口來實現。ZLG7290BI2C總線器件地址是寫操作和讀操作17H)這8個寄存器的取值直接決定了數碼管的顯示內容。每個寄存器的8個位分別對應數碼管的a,b,c,d,e,f,dp段,MSB對應a,LSB對應dp。ZLG7290B驅動數碼管電路如圖3.7所示。圖3.7ZLG7290B驅動數碼管電路圖只要51I2C電流測量系統子程序設計AD轉換和數據采集程序設計TLC549的工作時序圖可知,只有CS=0時才能采集數據,而每一位數據采集可采A的帶進位標志位循環左移實現,每次時鐘脈沖(P1.4)88個時鐘周期TLCA8A/D轉換和數據采集程序流6武漢理工大學《電子系統設計與調試》課程設計說明書武漢理工大學《電子系統設計與調試》課程設計說明書PAGEPAGE15程圖如圖4.1所示。開始開始P1.2=0,CS片選成功等待1.4μSA帶進位標志左移一位進位標志C中P1.4鐘脈沖采集次數=8?NY轉換結果結束等待36個時 時間鐘周期 下輪采集圖4.1 AD轉換和數據采集程序流程圖;;;;;;;;AD轉換和數據采集子程序;;;AD:MOV20H,#0MOVR2,#08H;CLOCK8CLRP1.2;CS變為低電平NOPNOPNOPL3:MOVC,P1.3;對模擬輸入采樣,讀出結果MOVA,20HRLCAMOVLCALLDJNZR2,L3
MOVR2,#24H;A/D轉換的36個時鐘周SETB P1.2;CS變為高電平,36L4:LCALLPULSEDJNZR2,L4RET;;;;;;;;;;;;;;產生CLK時鐘脈沖子程PULSE:SETB P1.4;p1.4輸出高電平,CLOCK時鐘NOPNOPNOPCLRRET16BCD碼程序設計TLC5495V255A51并逐位儲存所得的商才能正確顯示模擬輸入值。4.11V5162,其他原理一樣,以后不再贅述。5V10255,這時如果只用A寄存器存儲時就會丟失最高位(26~50為余數不可能大于50,乘以10后不可能大于500,若有最高位最大可表示512,顯然512>500,故若丟失只可能是最高位一位1AH判102555BCD10255,51BCDBCD是正確的。0~50mA,所以需要顯示十位,而顯示的電壓值只有0~5V,故需40.01mA。在實際驗收時如果10mAA/D1V1V10mA。A中存儲的16進制轉換為BCD碼程序設計流程圖如圖4.2所示。A÷51商送53H當十位余數-1AH余數×10送A Y 是否有溢出 N 余數×10送AA÷51余數-1AHA÷51商+5送51H余數×10送A Y 是否有溢出 N 余數×10送A商送51單元單元當小數A÷51余數-1AHA÷51當小數第一第一位位余數×10送A Y 是否有溢出 N 余數×10送A商+5送50H單元當小數A÷51A÷51商送50單元當小數第二第二位位商+5送52H單元當個位商送52當個位商+5送52H單元當個位商送52當個位;;;;;;16進制(20H單元中)轉換為BCD碼;;;;;ZHUANHUAN:MOVA,20HMOVB,#62;[255/4.11]=62,把4.11V分為255等分采集的數據DIVAB
MOVF0,C;F0為跳轉標志MOVA,#10MULABMOVB,#62DIVABJBF0,LOOP2MOV53H,A ADDA,#5;十位存53H單元中MOVA,B;19H,F01CLRF0SUBBA,#1AH
LOOP2:MOV52H,A;個位存52H單元中MOVA,BCLRF0SUBBA,#1AHMOVF0,CMOVA,#10MULABMOVB,#62DIVABJBF0,LOOP3ADDA,#5LOOP3:MOV51H,A;51HMOVA,BCLRF0字形查表程序設計
SUBBMOVF0,CMOVA,#10MULABMOVB,#51DIVABJBF0,LOOP4ADDA,#5LOOP4:MOV50H,A;小數點后第二位存50H單元中RET63H62H單元顯示前加一,原因是當要顯示帶小50B6(不帶小數點0B7H(帶小數點。接下來的兩位小數可以用循環兩次的辦法把需要顯示的字符分別送入61H和60H就可以了。字形查表程序設計流程圖如圖4.3所示。PUSHPSWPUSHPSW十位53H單元送A查表得A對應字符送入63H做十位個位52H單元送A查表得A對應字符查得字符加1(顯示小數點送入62H做個位兩位小數點R0=50H,R1=5FH,R2=2HR0單元送A查表得A對應字符R0+1→R0R1+1→R1字符送入R1做相應小數位POPPSW結束NR2-1=0結束 Y;;;;;;;;;;;;;字形查表子程序;;;;;;;;;XIANSHI:PUSHPSW;;;;;;;;;;;;顯示十位
圖4.3 字形查表程序設計流程圖MOVR0,#53HMOVR1,#63HMOVDPTR,#TABMOVA,@R0MOVCA,@A+DPTRMOV@R1,A;;;;;;;;;;;;;顯示個位MOVR0,#52HMOVR1,#62HMOVDPTR,#TABMOVA,@R0MOVCA,@A+DPTRINCAMOV@R1,A;;;;;;;;;;;;;顯示小數點后二位I2C通信程序設計
MOVR0,#50HMOVR1,#5FHMOVR2,#02HMOVDPTR,#TABNEXT3:MOVA,@R0MOVCA,@A+DPTRINCR0INCR1MOVDJNZR2,NEXT3POPPSWRETNNY發送起始發送控制字應答Y發送地址應答?Y發送字節發應 N送答 停? 止I2C通信總線是串行傳輸總線,兩根線(串行時鐘線SCL和串行數據線SDA)能實現全雙工同步數據傳送。在數據傳輸時,開始位后,主器件送出8位控制字節,以選擇從器件并控制總線傳送方向,其后再傳送數據。沒傳送一個字節后,接收器都必須發一位應答信號ACK,發送器確定后,再發下一數據。每一數據都是先發高位,再發低位,在全數據傳送結束后主控制器發送停止信號。還要注意寫時鐘SCLNNY發送起始發送控制字應答Y發送地址應答?Y發送字節發應 N送答 停? 止圖4.4I2C通信程序設計流程圖;;;;;;;;;;;;;IIC通信子程序;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;n個字節數據發送子程序WRNBYT:PUSHPSW ;現場保護
WRNBYT1:MOVPSW,#18H;改用第3組工作寄存器CALLSTA ;發起始條MOVA,SLA ;讀寫控制字節CALLWRB ;發送寫控制字CALLCACK ;檢查應答位JBF0,WRNBYTMOVR0,#MTD;有應答位,發送數據,第一個數據為首址MOVR5,NUMBYT;R5存讀取數據字節數WRDA:MOVA,@R0;讀第一個字節數據LCALLWRB ;發送此字LCALLCACK ;檢查ACKJBF0,WRNBYT1;無ACK,重發INCR0 ;DJNZR5,WRDA;尚未發完n個字節,繼續LCALLSTOP;全部發完數據,停止POPPSW ;恢復現RET ;返回;;;;;;;;;;;;;;;;;字節數據發送子程序WRB:MOVR7,#8位計數器初值WLP:RLCA ;欲發送位移如CJCWR1 ;此位為1,轉CLRSDA ;此位為0,發送0SETBSCL ;時鐘脈沖變高電平NOP ;延時NOPNOP
NOPCLRSCL ;時鐘脈沖變低電平DJNZR7,WLP;8RET ;8位發送完,返回WR1:SETBSDA;此位為1,發送SETBSCL;時鐘脈沖變高電平NOP ;延時NOPNOPNOPCLRSCL ;時鐘脈沖變低電平CLRSDADJNZR7,WLPRET;;;;;;;;;;;;;;;;;應答位檢查子程序CACK:SETBSDA ;SDA作為輸入SETBSCL ;9個時鐘脈沖開始NOPNOPMOVC,SDA;讀SDA線MOVF0,C ;F0中CLRSCL ;NOPNOPRETSTA:SETB SDA ;發送起始位SETB NOPNOPNOPNOPNOPNOPCLRSDANOPNOPNOPNOPSETBSDANOPNOPNOPNOPCLRSCLNOPRETNOPSTOP:CLRSDA;發送停止位CLRSCLSETBSCLRET電流測量系統性能分析及調試由于采樣用的V
REF
=5V,故A/D轉換器出來電壓量程為0~5V,通過外接電阻可以實現電流測量;在電流輸入口接一個100Ω,則可以測量0~50mA0~50mAmA級電流正確顯示在數碼管上。6V時,我們只需把進制轉÷51÷430~6mA0.01mA已經滿足要求,當要求更高精確度時,我們可以適當增加小數點后面的位數就可以了,具體做法是向后順移各位并增加需要的位數即可。設計完成后,在調試階段。最開始時,顯示在數碼管上的是16進制數,比如接+5V時顯示256,查看源程序發現進制轉換程序有問題,看下面兩段程序:“MOVA,20HMOVB,#100DIVABMOV53H,A”和“MOVA,20HMOVB,#51DIVABMOV53H,20H16BCD53H5V2550~5V正確可取的,當然后者還要在恰當的地方加上小數點,否則顯示也是錯誤的。0~5V1K0~5mA0~50mA電流就100Ω,100Ω0~5V20mA電流時,顯示在數碼管上2.000,也就說此時不能正確反映電流大小。要解決這一問題其實也很簡單,我們只否則就會出現錯誤。通過以上各項調試和改進,此次基于51單片機的電流數據采集系統設計基本完成。系統參數指標如下:輸入基準電壓為+5V;測量直流電流范圍為0~50mA;精確到0.01mA。能比較準確地顯示0.01mA~50mA范圍內的直流電流值。設計心得通過兩周多時間的緊張設計,本次單片機課程設計終于告一段落,我體會很多。從剛開始的選題到選題論證、從查找借鑒資料到自主設計、從本學科基礎知識到其它學科知識、從自己思考到和老師同學交流,我從中學到了很多以前理論知識學習中所學不到的東西。51A/DBCDI過數碼管把模擬信號大小表示出來。課程設計之前一直只是理論知識的學習,在課程設計階段,我不但自習重新學習的51單片機課本的相關章節,而且還在圖書館借來書籍閱讀和參考。在遇到問題的時候,積極與身邊的同學交流經驗,是在弄不懂的地方就請教老師,我從中學到了很多知識以外的東西,比如說遇到問題后分析解決問題的方法、堅忍不拔和不恥下問的求知態度等等。特別是在程序設計階段,雖然程序不是很復雜,但是由于是第一次接觸,總感覺無從下手,最后通過查閱資料和反復試驗最終把程序設計了出來。這次課程設計鞏固了我以前所學過的知識,知識學得更深、更透徹,理論聯系實際,很好地鍛煉了我的發散思維能力和動手能力。感謝劉皓春老師對我此次課程設計的指導。參考文獻[1]李群芳.單片微型計算機及接口技術(第二版).北京:電子工業出版社.2005[2]何立民.MCS-51單片機應用系統設計.北京:北京航空航天出版社.2000蔣力培.單片微機系統實用教程.北京:機械工業出版社.2004王瓊.單片機原理及應用實驗教程.合肥:合肥工業大學出版社[5]凌玉華.單片機原理及應用系統設計.長沙:中南大學出版社.2006[6]李廣軍.ASIC設計及應用.成都:電子科技大學出版社.2000附錄一電流測量系統總體電路設計A/DTLC549Analog(2)相連接;TLC549的CS、、I/OCLOCK51單片機的P1.2、P1.3、P1.4口相連接;ZLG7290BSCLSDA51P1.0、P1.1連接。TLC549、ZLG7290B與5151單片機各端口。武漢理工大學《電子系統設計與調試》課程設計說明書武漢理工大學《電子系統設計與調試》課程設計說明書uEoolu
A證800.
_扯CC l CODIGlClC5鄒"DPY28中8電流禾第總體電路設計b : 中電流禾第總體電路設計I掃3<b3<
-nEnDcdc
迅中8Jmm(心臼烏直流電洗輸入u直流電洗輸入1616武漢理工大學《電子系統設計與調試》課程設計說明書武漢理工大學《電子系統設計與調試》課程設計說明書PAGEPAGE21附錄二電流測量系統設計總程序A/D序16進制數數制轉換程序BCD碼字形查表程序IIC通信程序數據顯示A/DTLC549A/D序16進制數數制轉換程序BCD碼字形查表程序IIC通信程序數據顯示;;;;;;;總程序清單;;;;;;;;;;;定;;;;;;;;;;SCL BITP1.0SDA BITP1.1CS BITP1.2DATE BITP1.3CLOCK BITP1.4NUMBYTEQUSLA EQU5EHMTD EQU5FH;;;;;;;;;程序開始;;;;;;;;;;;;;;;;ORG0000HMAIN:LCALLADLCALLZHUANHUANLCALLXIANSHI;;;;;;;;;IIMOVMTD,#10HMOVNUMBYT,#09H
附錄二圖 軟件設計總框圖MOVSLA,#70HLCALLSJMP $;;;;;;;;;;;;子程序清單;;;;;;;;;;;;;;;;;;;AD轉換和數據采集子程序;;;AD:MOV20H,#0MOVR2,#08H;CLOCK8CLRP1.2;CS變為低電平NOPNOPNOPL3:MOVC,P1.3;對模擬輸入采樣,MOVA,20HRLCAMOV20H,ALCALLPULSEDJNZR2,L3MOVR2,#24H;A/D轉換的36個時鐘周期SETB P1.2;CS變為高電平,保持36個時鐘周期L4:LCALLPULSEDJNZR2,L4RET;;;;;;;;;;;;;;產生CLK時鐘脈沖子程序PULSE:SETB P1.4;p1.4輸出高電平,CLOCK時鐘NOPNOPNOPCLRRET;;;;;;16進制(20H單元中)BCD碼;;;;;ZHUANHUAN:MOVA,20HMOVB,#62;[255/4.11]=62,4.11V255集的數據DIVABMOV53H,A;十位存53H單元中MOVA,B;19H,F01CLRF0
SUBBA,#1AHMOVF0,C;F0為跳轉標志MOVA,#10MULABMOVB,#62DIVABJBF0,LOOP2ADDA,#5LOOP2:MOV52H,A;個位存52H單元中MOVA,BCLRF0SUBBMOVF0,CMOVA,#10MULABMOVB,#62DIVABJBF0,LOOP3ADDA,#5LOOP3:MOV51H,A;小數點后第一位存51H單元中MOVA,BCLRF0SUBBA,#1AHMOVF0,CMOVA,#10MULABMOVB,#51DIVABJBF0,LOOP4ADDA,#5LOOP4:MOV50H,A;50HRET;;;;;;;;;;;;;字形查表子程序;;;;;;;;;XIANSHI:PUSHPSW;;;;;;;;;;;;顯示十位MOVR0,#53HMOVR1,#63HMOVDPTR,#TABMOVA,@R0MOVCA,@A+DPTRMOV@R1,A;;;;;;;;;;;;;顯示個位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等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 股票分紅協議書
- 電影簽約協議書
- 彩鋼瓦維修安全協議書
- 租電安全協議書
- 旅行社合同變更協議書
- 溫泉游泳館免責協議書
- 情侶間戀愛合同協議書
- 醫療事故后補償協議書
- 醫療事故后賠償協議書
- 聯塑材料協議書
- 2024年四川西華師范大學招聘輔導員筆試真題
- 2025年市政工程地下管網試題及答案
- 2025年武漢鐵路局集團招聘(180人)筆試參考題庫附帶答案詳解
- 2025屆云南省曲靖市高三第二次教學質量檢測生物試卷(有答案)
- 農產品供應鏈應急保障措施
- 2024年中國農業銀行安徽蚌埠支行春季校招筆試題帶答案
- 2025年2月21日四川省公務員面試真題及答案解析(行政執法崗)
- 國家開放大學漢語言文學本科《中國現代文學專題》期末紙質考試第一大題選擇題庫2025春期版
- 山東大學《軍事理論》考試試卷及答案解析
- 面向非結構化文本的事件關系抽取關鍵技術剖析與實踐
- 《國別和區域研究專題》教學大綱
評論
0/150
提交評論