2 系統原理及基本框圖
如圖2.1所示,模擬電壓經過檔位切換到不同的分壓電路衰減后,經隔離干擾送到A/D轉換器進行A/D轉換,然后送到單片機中進行數據處理。處理后的數據送到LCD中顯示,同時通過串行通訊與上位機通信。
圖2.1系統基本方框圖
3硬件設計
3.1 輸入電路
圖3.1.1量程切換開關 圖3.1.2衰減輸入電路
輸入電路的作用是把不同量程的被測的電壓規范到A/D轉換器所要求的電壓值。智能化數字電壓表所采用的單片雙積分型ADC芯片ICL7135,它要求輸入電壓0-±2V。本儀表設計是0-1000V電壓,靈敏度高所以可以不加前置放大器,只需衰減器,如圖3.1.2所示9M、900K、90K、和10K電阻構成1/10、1/100、1/1000的衰減器。衰減輸入電路可由開關來選擇不同的衰減率,從而切換檔位。為了能讓CPU自動識別檔位,還要有圖3.1.1的硬件連接。
3、基準電壓反積分(DE);4、積分回零(ZI)。具體內部轉換過程這里不做祥細介紹,主要介紹引腳的使用。
①R/H(25腳)當R/H=“1”(該端懸空時為“1”)時,7135處于連續轉換狀態,每40002個時鐘周期完成一次A/D轉換。若R/H由“1”變“0”,則7135在完成本次A/D轉換后進入保持狀態,此時輸出為最后一次轉換結果,不受輸入電壓變化的影響。因此利用R/H端的功能可以使數據有保持功能。若把R/H端用作啟動功能時,只要在該端輸入一個正脈沖(寬度≥300ns),轉換器就從AZ階段開始進行A/D轉換。注意:第一次轉換周期中的AZ階段時間為9001-10001個時鐘脈沖,這是由于啟動脈沖和內部計數器狀態不同步造成的。
②/ST(26腳)每次A/D轉換周期結束后,ST端都輸出5個負脈沖,其輸出時間對應在每個周期開始時的5個位選信號正脈沖的中間,ST負脈沖寬度等于1/2時鐘周期。
第一個ST負脈沖在上次轉換周期結束后101個時鐘周期產生。因為每個選信號(D5–D1)的正脈沖寬度為200個時鐘周期(只有AZ和DE階段開始時的第一個D5的脈沖寬度為201個CLK 周期),所以ST負脈沖之間相隔也是200個時鐘周期。需要注意的是,若上一周期為保持狀態(R/H=“0”)則ST無脈沖信號輸出。ST信號主要用來控制將轉換結果向外部鎖存器、UARTs或微處理器進行傳送。
4 系統的軟件設計
4.1主程序設計
ICL7135A/D與單片機連接電路的軟件設計系統的程序流程圖如圖所示。主程序一開始運行則設置堆棧起始地址為70H,設置中斷寄存器,用來對ICL7135的中斷進行計數,每5次后清零,完成一次數據采集工作,然后設置ICL7135的STB端的中斷的優先級。緊接著LCDM1601B進行一次清屏,使其各個指令、數據寄存器的值進行清空,屏幕不顯示任何字符。以前面對1601B的介紹,只要將01H送到數據總線,使RS=0,R/W=0,E有個下降沿的脈沖就可以完成清屏工作。用以下指令實現 MOV P2,#01H ;送到數據DB7—DB0,調用子程序 ENABLE,由于下降沿時,內部數據要送到RAM區,所以要有一個延時子程序,使這個下降沿持續2.5毫秒。內部RAM有指令代碼后就開始對RAM進行清零,所以屏幕原有的字符將被清除。接著對1601進行功能的設定。MOV P2,#01111000B,按表3.4.5來看是設定顯示器按2行顯示,每行8位,5×7點陣。調用一次子程序ENABLE程序,寫入CPU的指令寄存器中。每次向LCDM中寫入一個指令,就調用一次ENABLE,然后再對顯示器進行閃爍、光標等功能進行設定。顯示器的RAM地址按加1方法進行讀寫。再設定第一行字符,也就是‘Voltage’的顯示地址80H。字符‘Voltage’的TABLE表地址送到DPTR中,然后調用遠程查表命令,依次把數據送到P2口,這時再調用子程序WRITE3,使LCD1601的RS=1,R/W=0使使能端E產生一個下降沿脈沖,將數據送入到數據寄存器中,接下來執行子程序DISPLAY1,它的主要功能是將TABLE表中的字符輸出到LCD中去。調定好顯示字符數即遠程查表的次數,就開始查表了。
例如第一個字符“V”的ASCII碼是56H,就將這個碼送到P2口,再調用使能數據子程序,使RS=1(數據區使能)寫入顯示數據區,R/W=0表示寫,E=來個下降沿延時2.5毫秒,使數據寫入RAM內。完成TABLE表輸出以后,向指令RAM中寫入第2行的起始地址為OCH,再調用顯示采樣數據的子程序。采樣數據存放的數據地址安排如下圖所示,首先將60H中的數顯示在正負號的位置上,按照ASCII碼表,正號不顯示(#20H),負號顯示“-”(#2DH)。
文章底部可以獲取博主的聯系方式,獲取源碼、查看詳細的視頻演示,或者了解其他版本的信息。
所有項目都經過了嚴格的測試和完善。對于本系統,我們提供全方位的支持,包括修改時間和標題,以及完整的安裝、部署、運行和調試服務,確保系統能在你的電腦上順利運行。