【正文】
D[0]=IRcvByte(PCF8591)。 Start_I2c()。 } /******************************************************************* ADC 發(fā)送字節(jié) [命令 ]數(shù)據函數(shù) *******************************************************************/ bit ISendByte(unsigned char sla,unsigned char c) { Start_I2c()。 //啟動總線 SendByte(sla)。 // Lcd_Wdat(display[1])。 20xx 屆本科生畢業(yè)論文(設計) 25 // Lcd_Wdat(display[2])。 // D[2] = (uchar)D[2]/。 // display[1] = D[1]%100/10+0x30。 display[2] = D[0]%10+0x30。 while(1) { 20xx 屆本科生畢業(yè)論文(設計) 24 uint k。 // display[0] = DA_NUM/100+0x30。 Lcd_Set_xy(1,1)。 //打開總中斷 ET0 = 1。 //LCD1602 寫命令函數(shù) extern void Lcd_Wdat(uchar dat)。 p++。 if(hang == 2) a = 0xc0。 LCD_EN = 0。 P0 = cmd。 Lcd_Wcmd(0x06)。i120。在論文撰寫過程中王老師給我提供了很多有使用價值的建議和指導,王老師嚴謹?shù)膽B(tài)度,一絲不茍的作風讓我深受感動。先從數(shù)字電流表理論入手結合數(shù)字電壓表的設計原理,利用取電阻上的電流來達到測試相應電流的目的。 整體系統(tǒng)的調試 在進行完硬件和軟件部分的調試和檢測之后,最后我們需要將程序捎入單片機中。 5. 系統(tǒng)調試及實物制作 硬件系統(tǒng)的調試 (一)元器件焊接 在進行焊接前先要對整個電路板進行詳細的檢查。早期的 Protel 主要作為印制板自動布線 工具使用 ,對運行的環(huán)境要求很低,但它的功能也較少,只有電路原理圖繪制與印制板設計功能,其印制板自動布線的布通率也低,而現(xiàn)今 的 Protel 安裝于 Windows9X/20xx/NT 操作系統(tǒng)下,采用設計庫管理模式,可以進行聯(lián)網設計,具有很強的數(shù)據交換能力和開放性及 3D 模擬功能,可以用于設計原理圖、設計印制電路板、設計可編程邏輯器件和電路仿真等,可以設計 32 個信號層, 16 個電源 地層和 16 個機加工層,同時還兼容一些其它設計軟件的 文件格式 ,如 ORCAD,PSPICE, EXCEL 等,其多層印制線路板的自動布線可實現(xiàn)高密度 PCB 的 100%布通率 [12]。 。 單片機 C 語言的優(yōu)點 [11]: 、使用靈活方便。 功能要求為: ( 1)三位直流數(shù)字電 流 表; ( 2)量程范圍為 0100mA; ( 3)通過 LCD顯示屏顯示待測電流的數(shù)值;( 4) 8 通道進行電流值采集。 再次,在進行電流測量時,電流輸入的是模擬量,而單片機只能處理數(shù)字信號,所以需要通過 A/D 轉換芯 片進行轉換,通過篩選和分析,本課題采用 PCF8591 作為 A/D 轉換芯片。 3. 數(shù)字電流表的設計 方案論證 (一)設計方案 該數(shù)字電流表的設計主要由電壓信號采樣電路、 A/D( PCF8591)轉換電路以及 LCD 顯示電路構成,其中采樣電路部分包括采樣電阻和差分放大電路,以及芯片電路三個模塊。 引 腳 2: VCC 接 5V 正極電源。注意加密方式 1 時, EA 將內部鎖定為 RESET;當 EA 端保持高電平時,此間內部程序存儲器。如果想要禁止 ALE 的輸出可以在 SFR8EH 地址上置 0。作為輸入,由于外部下拉為低電平, P3 口將輸出電流( ILL),這是由于上拉的緣故。 [5]P2 口: 8 位,具 有內部上拉電阻的準雙向 I/O 口, P2 口緩沖器允許接收輸出 4 個LS 型 TTL 負載,當 P2 口被寫 “ 1” 后,其管腳被內部上拉電阻拉高,且作為輸入。 [2]GND—— 接地引腳。 AGND: 模擬信號 地。在 PCF8591 器件上輸入地址、輸出地址、控制信號和數(shù)據信號通常都是通過雙線雙向的 I2C 總線以串行的方式進行傳輸信息的 [3]。當待測電流流過電阻 ,電流表的 量程就由 G 的滿量程電壓和電阻的阻值來決定,記 U 為 G 的滿量程電壓,根據歐姆定律 U=RI,當 U 和 R 已知,則電流表的滿量程電流就是 I 的數(shù)值。 第三章:詳細的介紹數(shù)字電流表的設計方案和數(shù)字電流表的任務指標以及整體電路圖的設計。而此次課題的選擇和設計正是基于 AT89C51 單片機來進行設計的。過去傳統(tǒng)的指針式電流表不僅功能單一,而且精確度低,無法滿足現(xiàn)今數(shù)字化時代的需求,然而基于單片機的數(shù)字電流表,不僅具有精確度高、抗干擾能力強,可擴展性強、集成方便的特點,還可以與 PC 進行當前實時通信等信息的傳輸。同時傳統(tǒng)的模擬測量儀表在計算時需要對讀數(shù)加以換算和說明,而且不同的觀察者會帶來不同的人為“視差”,即使同一個觀察者處于不同的位置也可能會得到不同的結果和偏差。 關鍵詞: C51 單片機; A/D 轉換器;數(shù)字電流表 20xx 屆本科生畢業(yè)論文(設計) IIAbstract With the progress of time, increasingly updating electronic science and technology, traditional electric and electronic measuring instruments analogue measurement instruments, even intuitively read from the dial hands deflected the number of cells or accounted for a few percent of full scale, also can not meet the exact requirements of the measured data, then you need higher precision and more accurate instrument instead. While traditional analog measuring instruments need to be converted in the calculation and description of the readings, and different observers will bring a different man, parallax, even if the same observer in different locations may get different results and error . However, the digital meter will be able to overe these problems, its measurement results in digital form directly on the screen out. Digital ammeter reading is not only accurate, simple design, the advantages of portable, and simple method of operation, it is also very easy to use, these advantages make digital ammeter in electric and electronic measuring more widely in recent years. Based on AT89C51 microcontroller, digital ammeter discussed the working principle and design process. Use Protel software design, Keil C software and Proteus simulation software, depending on the digital ammeter technical indicators and requirements, determine the required ponents and ammeter best design, this method is simple, and ultimately get the ideal, in line with Digital ammeter design requirements. Key words: C51 microcontroller digital ammeter。最終, 通過本課程設計,我們掌握電子設計的基本步驟和方法,培養(yǎng)自己分析問題、解決問題和處理問題的能力。 本文主要內容安排 前期通過查閱大量的雜志、期刊、論文等相關重要的資料、文獻之后,對基于單片機的數(shù)字電流表的設計思路進行大體的把握,具體的行文章節(jié)安排如下。 首先我們通過單片機和外部擴展電路做成一個理想的電壓 [1],硬件電路設計由 7 個部分組成:主控模塊 AT89C51 單片機系統(tǒng), A/D 轉換電路 ,顯示系統(tǒng),驅動電路,復位電路,晶振電路以及測量電壓輸入電路。 PCF8591 轉換器是一個具有單片集成、能夠進行獨立供電、功耗低、 8bit CMOS 數(shù)據獲取的器件。 SDA、 SCL: I2C 總線的數(shù)據線、時鐘線。采用其 AT89C51 單片機制作的很多嵌入式控制系統(tǒng)不僅靈活性高而且設計方案價廉,從而深受人們青睞。 [4]P1 口: 8 位,具有內部上拉電阻的準雙向 I/O 口, P1 口緩沖器允許接收輸出 4 個LS 型 TTL 負載。 P2 口在 FLASH 編程和校驗時接收高八位地址信號和控制信號。 在 FLASH 進行編程期間,其引腳能夠用于輸入編程脈沖。當處于外部程序存儲器取指期間,每個機器周期兩次 PSEN 有效。模塊內部元器件的主要構成有 LCD 顯示屏、控制器、列驅動器和偏壓產生電路 [8]。 20xx 屆本科生畢業(yè)論文(設計) 9 引腳 7~ 14: DB0~ DB7 是 8 位的雙向數(shù)據端。 AT89C51 是一種功耗低、性能高的 CMOS8 位微控制器,具有 4K 系統(tǒng)可編程 Flash 存儲器 ,由 Atmel 公司高密度非 易失性存儲器 技術制造。 最后,電路顯示屏部分采用的是 LCD1602 液晶顯示。 圖 32 數(shù)字電流表整體電路圖 20xx 屆本科生畢業(yè)論文(設計) 114. 軟件設計 軟件設計的主程序流程圖 主程序設計流程圖如圖 41 所示: 圖 41 主程序設計流程圖 編程語言介紹 C 語言是一 門通用計算機程序設計語言,美國貝爾實驗室的 Dennis M. Ritchie 在 1972年推出的,它的工作單元是由高級語言的基本語句與低級語言的實用性結合而成的,它不僅具有高級語言的特點,還具有匯編語言的特點。 。 。 ( 4) Advanced Integrity 99SE( PCB 信號完整性分析) 該模塊能夠進行精確的板級物理信號分析,可以檢查串擾、過沖、下沖、延時和阻抗等問題,并自動給出相應的具體解決方案。確保存儲模塊能夠進行讀寫信息。隨著電子科學技術的快速發(fā)展,未來 的數(shù)字電流表需要向更精準,更智能方向發(fā)展。經過幾個月的時間終于把畢業(yè)論文撰寫完成,在寫作畢業(yè)論文的過程中遇到了許多問題,讓我也發(fā)現(xiàn)了自己的很多不足之處,未能深刻理解以前學習的理論知識,比如未能熟練掌握 Protel 軟件的使用、對單片機 C 語言匯編程序掌握得不嫻熟,但都在老師和同學的大力幫助下順利解決。感謝我的同學和朋友,在我寫撰論文過程中給予我了很多資料支持和寶貴的意見,還在論文的撰寫提供意見和排版的難題過程中提供幫助。 20xx 屆本科生畢業(yè)論文(設計) 19 Lcd_Wcmd(0x01)。 */ /* */ /*******************************************************************/ void Lcd_Wcmd(uchar cmd) {