畢業(yè)設(shè)計-基于STC89C52單片機的分時計費智能電表設(shè)計(終稿)_第1頁
畢業(yè)設(shè)計-基于STC89C52單片機的分時計費智能電表設(shè)計(終稿)_第2頁
畢業(yè)設(shè)計-基于STC89C52單片機的分時計費智能電表設(shè)計(終稿)_第3頁
畢業(yè)設(shè)計-基于STC89C52單片機的分時計費智能電表設(shè)計(終稿)_第4頁
畢業(yè)設(shè)計-基于STC89C52單片機的分時計費智能電表設(shè)計(終稿)_第5頁
已閱讀5頁,還剩38頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、智能化測控應(yīng)用系統(tǒng)設(shè)計報告 目目 錄錄 1 1 前言前言.1 1 2 2 總體方案設(shè)計總體方案設(shè)計.2 2 2.1 方案比較.2 2.1.1 方案一.2 2.1.2 方案二.3 2.2 方案比較及選擇.4 3 3 單元模塊設(shè)計單元模塊設(shè)計.5 5 3.1 各單元模塊功能介紹及電路設(shè)計.5 3.1.1 電源模塊電路.5 3.1.2 計量模塊電路.5 3.1.3 時鐘及 LCD 顯示模塊.6 3.1.4 信號采集電路.8 3.2 電路參數(shù)的計算元器件的選擇.9 3.3 特殊器件介紹.9 3.3.1 AD7755 介紹.9 3.3.2 STC89C52 單片機介紹.10 3.3.3 DS1302 時

2、鐘芯片介紹.10 3.3.4 LCD1602 液晶顯示屏介紹.11 4 4 軟件設(shè)計軟件設(shè)計.1313 4.1 軟件設(shè)計原理及設(shè)計.13 4.2 設(shè)計軟件介紹.14 4.2.1Proteus 軟件介紹.14 4.2.2 KEIL 8051 開發(fā)工具.14 4.3 軟件結(jié)構(gòu)圖.14 4.3.1 電壓電流采集子程序.15 4.3.2 AD 轉(zhuǎn)換子程序.16 5 5 系統(tǒng)調(diào)試系統(tǒng)調(diào)試.1 17 7 5.1 單片機及 1602 顯示部分.17 5.2 萬用板電路部分調(diào)試.17 6 6 系統(tǒng)功能、指標(biāo)參數(shù)系統(tǒng)功能、指標(biāo)參數(shù).1 19 9 6.1 系統(tǒng)能實現(xiàn)的功能.19 6.2 系統(tǒng)指標(biāo)參數(shù)分析.19 智

3、能化測控應(yīng)用系統(tǒng)設(shè)計報告 7 7 結(jié)論結(jié)論.2 20 0 8 8 總結(jié)與體會總結(jié)與體會.2 21 1 9 9 謝辭謝辭.2 22 2 1010 參考文獻(xiàn)參考文獻(xiàn).2 23 3 附錄附錄 1 1 系統(tǒng)設(shè)計圖(系統(tǒng)設(shè)計圖(原理圖、原理圖、PCBPCB、實物圖、實物圖).2424 附錄附錄 2 2 元件清單元件清單.2 26 6 附錄附錄 3 3 程程序序代碼代碼.2 27 7 1 智能化測控應(yīng)用系統(tǒng)設(shè)計報告 1 1 前言前言 隨著我國經(jīng)濟的不斷發(fā)展,各地對電能的需求也隨之迅速增加,電力已經(jīng) 成為國家的最重要能源。因此我們需要盡可能的節(jié)約用電。但是,當(dāng)前我國大 多數(shù)地方對于用電的管理還比較落后,用電

4、收費多年來一直采用先用電、后抄 表、再付費的傳統(tǒng)方式。居民用電絕大多數(shù)實行“分表制” ,即若干集中居住的 家庭使用一個總的電表,每戶裝一個分電表,作為居民交付電費的依據(jù)。加上 現(xiàn)在很多電表不能分時計費,這樣就進(jìn)一步增加了電量的不合理消耗。所以, 我們一致決定選擇了基于單片機的分時計費智能電表設(shè)計。 所謂智能電表,就是應(yīng)用計算機技術(shù),通訊技術(shù)等,形成以智能芯片(如 CPU)為核心,具有電功率計量計時、計費、與上位機通訊、用電管理等功能的 電度表。本新型智能電表主要實現(xiàn)分時智能計費。本次設(shè)計主要采用 AD7755 電 能計量芯片和 STC89C52 單片機為核心,結(jié)合電流、電壓采集,再通過信號濾波

5、 傳給 AD7755,再經(jīng)過 STC89C52 處理,最終在鍵控的觸發(fā)下,送到 LCD1602 顯 示。此電表能實現(xiàn)用戶所用功率的計算,并根據(jù)國家規(guī)定的用電高峰和低谷設(shè) 置階梯電價計算,并顯示出用戶各時段所耗功率。不僅具有傳統(tǒng)電表的功能, 還能對用戶的用電情況進(jìn)行管理和控制,智能電表利用微機技術(shù),通訊技術(shù)等 等,減少了能量的消耗,把采集,處理集中于一體,節(jié)省成本和人力資源,提 高了工作效率,適應(yīng)了現(xiàn)代用戶的需求。 本設(shè)計的意義在于能夠?qū)崿F(xiàn)電表的分時段計費功能,這對我國在控制人們 合理使用電量上具有深遠(yuǎn)的影響。 2 智能化測控應(yīng)用系統(tǒng)設(shè)計報告 2 2 總體方案設(shè)計總體方案設(shè)計 本電表采用分時計費

6、原則,將電壓,電流等參數(shù)進(jìn)行采集,并通過處理后 輸入微處理器 STC89C52,進(jìn)行運算,并最終實現(xiàn)對于電能的準(zhǔn)確計量和控制 顯示。 通過查閱大量相關(guān)技術(shù)資料,在老師的建議下,結(jié)合自己的實際知識,我 們主要提出了兩種技術(shù)方案來實現(xiàn)系統(tǒng)功能。下面將首先對這兩種方案的組成 框圖和實現(xiàn)原理分別進(jìn)行說明,并分析比較它們的特點,然后闡述最終選擇方 案的原因。 2.12.1 方案比較方案比較 智能電表的設(shè)計,是基于對用戶電壓電流信號進(jìn)行采集,并通過微處理器 進(jìn)行核心運算,當(dāng)電壓電流信號通過采集以后,通過高精度的 AD 采樣保持, 最終輸入微處理器,并通過用 C 語言編寫的程序鍵控控制處理器單片機,并且 要

7、求通過功率和電費的計算,進(jìn)行顯示。 對于電力參數(shù)的測試,例如電壓,電流,有功功率,無功功率等,現(xiàn)在都 有成熟的測量計算方法,對于電壓有效值的測量,可以利用積分電路來實現(xiàn), 也可以利用時間采樣信號,將信號值平方,去均值以后,得到平方根,通過 AD,進(jìn)行采樣,有功功率定義為,和為電壓和電流的有效值,UICOSP UI 為功率因數(shù)。而對于非正弦波形的計算,只有通過積分運算來完成。COS 2.1.12.1.1 方案一方案一 在本設(shè)計方案中,核心器件為微處理器,這里我們選用是 STC89C52 單片 機,當(dāng)信號采樣后通過 AD 轉(zhuǎn)換,送入微處理器,進(jìn)行數(shù)據(jù)的分析和計算,智 能電表的實現(xiàn)必須對用戶的功率進(jìn)

8、行準(zhǔn)確的計算,在信號采集模塊中,通過電 壓互感器和電流互感器,對用戶的電壓和電流信號進(jìn)行采集,微處理器進(jìn)行功 率和電費的計算,可通過 LCD 顯示,并可以通過鍵盤對分時電價進(jìn)行調(diào)整,實 現(xiàn)顯示的轉(zhuǎn)換和調(diào)整,并運用單片機內(nèi)部時鐘設(shè)計計時系統(tǒng),以實現(xiàn)分時的控 制。但是此設(shè)計有諸多缺陷,首先,在信號采集方面,由于智能電表對于功率 的計算,如果單純的使用單片機,會造成功率計算不準(zhǔn)確,如果要提高計算的 精度,對于信號的 AD 轉(zhuǎn)換就必須采用高精度期間,成本費用增加,其次即便 使用了高精度的 AD,在功率計算,補償方面的程序也相對繁瑣,再則,由于 使用分時計費系統(tǒng),只用單片機內(nèi)部時鐘信號進(jìn)行粗略的計時,產(chǎn)

9、生的時間誤 差比較大,長時間的使用下會導(dǎo)致計時不準(zhǔn)確,而使得電費的計算出現(xiàn)誤差。 3 智能化測控應(yīng)用系統(tǒng)設(shè)計報告 軟件系統(tǒng)方面,其核心是編寫功率計算程序和 AD 采樣程序,并通過鍵盤掃描 實現(xiàn)顯示的切換。 方案一如圖 2.1 所示 信號采集 信號濾波 AD7755 轉(zhuǎn)換微處理器LCD 顯示 鍵盤控制 圖 2.1 2.1.22.1.2 方案二方案二 本方案的設(shè)計思路與方案一大致相同,選用 STC89C52 單片機,作為微處 理器,通過電壓傳感器,電流傳感器實現(xiàn)對用戶的電壓電流采集,并在單片機 中進(jìn)行電價的計算,與方案一的不同之處在于,方案二中功率計算部分和 AD 轉(zhuǎn)換采集部分被一塊電能計量芯片

10、AD7755 進(jìn)行代替,該芯片是以一款高準(zhǔn)確 度的三相電能采集芯片,適用于計量各種三相,單項配置條件下的有功,無功, 視在電能,可省去高精度 AD 的費用的同時,也可以減少單片機內(nèi)部處理功率 的步驟,轉(zhuǎn)由 AD7755 完成。同時,由于該智能電表采用分時計費系統(tǒng),方案 二中采用一塊時鐘芯片以提高對于時間的計時準(zhǔn)確程度,以確保該電表可以準(zhǔn) 確計費,同時,由于時鐘芯片本身集成有微型電池,可以在斷電的情況下繼續(xù) 運行,保證了在智能電表斷電的同時,計時系統(tǒng)不至于停止工作。 在本方案中,由AD7755進(jìn)行功率的計算并進(jìn)行校準(zhǔn),在該芯片中,通過有 功增益寄存器寫入數(shù)據(jù),可對輸出產(chǎn)生的平均功率進(jìn)行改變,該芯

11、片中在每個 相位集成了一個有功偏移寄存器,該寄存器為12位寄存器,用以對有功功率進(jìn) 行校準(zhǔn),由于實際電路的工作環(huán)境的復(fù)雜和多變,以及芯片本身制造工藝和各 通道之間進(jìn)行的干擾,都會造成誤差的產(chǎn)生,有功功率寄存器的一個LSB相當(dāng) 于有功功率乘法器輸出的LSB的1/16。在滿刻度輸出時,如果乘法器的輸出為 XCCCCS(838861d) ,LPF2輸出端的1個LSB相當(dāng)于在電流通道滿刻度60dB 計量誤差的 4 智能化測控應(yīng)用系統(tǒng)設(shè)計報告 0.0075。在滿刻度時,60dB(輸入信號級別為滿刻度信號輸入的1/1000) , LPF2的平均數(shù)值為838.861 (838,861/1,000)。LSB1

12、/838.861/16100% = 測量值 的0.0075% 。有功功率偏移寄存器修正分辨率為0.0075% ( 60 dB) 。 方案二如圖 2.2 所示 信號采集 AD7755 轉(zhuǎn)換 微處 理器 鍵盤輸入 信號濾波 LCD 顯示 時鐘芯片 圖 2.2 另外AD7755的各相擁有一個空載閥值,如果有功功率的測量值低于滿刻度 的0.005%,則該值不會被累加,有效的避免了電表的淺動。AD7755通過41個電 能寄存器連續(xù)累加有功功率以實現(xiàn)對信號的積分作用,這種離散的累加作用就 相當(dāng)于連續(xù)時間的積分作用,平均有功功率的計算時,是有符號運算的,負(fù)電 能將會在有功功率寄存器中被扣除。當(dāng)有功功率為正,

13、且達(dá)到最大值時,有功 功率的數(shù)值將反轉(zhuǎn)到達(dá)滿刻度的負(fù)值0X800,并繼續(xù)增加,當(dāng)有功功率為負(fù)值, 且持續(xù)減小到達(dá)最小時,會自動轉(zhuǎn)為正的對大刻度0X7FFF,并繼續(xù)降低。 2.22.2 方案比較及選擇方案比較及選擇 雖然兩種方案都能實現(xiàn)本次設(shè)計。但是在軟件系統(tǒng)上,方案二與方案一的 區(qū)別重點在對于 AD7755 和 DS1302 兩塊芯片的程序的書寫,在硬件的搭建上 降低了難度,但是在程序書寫上難度有所增加。而且方案二增加了時鐘芯片, 這樣增加了 STC89C52 的精確度和靈敏度,增強了系統(tǒng)的實時性,時效性。通過 對以上兩種方案的具體描述,對他們各自的優(yōu)缺點有了一定的了解??紤]到控 制精度,操作

14、習(xí)慣和美觀以及成本等因素,要完成對于電費的準(zhǔn)確計算,并綜 合本次課程設(shè)計成本進(jìn)行考慮,最終選擇了方案二為本次設(shè)計的最終設(shè)計方案。 5 智能化測控應(yīng)用系統(tǒng)設(shè)計報告 3 3 單元模塊設(shè)計單元模塊設(shè)計 本系統(tǒng)主要包括以下部分:電源模塊電路、信號采集電路、計量模塊電路、 時鐘及 LCD 顯示模塊電路。輔助元件有電阻、電容、晶振、電源、按鍵等。先 對各模塊分別作具體介紹: 3.13.1 各單元模塊功能介紹及電路設(shè)計各單元模塊功能介紹及電路設(shè)計 3.1.13.1.1 電源模塊電路電源模塊電路 電源模塊電路從電網(wǎng) 220V 電壓作為輸入,通過該電路后,輸出端輸出 大小為 5V 的電壓,作為單片機及其他芯片的

15、 VCC 電源,具體的電路圖如 圖 3.1 所示: T3 TRANS1 1 2 3 4 D1 B RIDGE1 C 10 100uf C 11 0.01uf Vin 1 GND 2 Vout 3 U2 78L05 C 12 0.01uf R 6 1k VCC 1 2 J3 C ON2 圖 3.1 電源模塊接線圖 圖 3.1 為電壓模塊的電路圖,該模塊以電網(wǎng) 220 交流電作為輸入,通 過整流橋整流后,再經(jīng)過濾波,最后通過一塊 78L05 穩(wěn)壓芯片進(jìn)行穩(wěn)壓, 得到一個穩(wěn)定的 5V 電源,78L05 的輸出電流可達(dá)到 100mA,無需外接元件, 內(nèi)部本身帶有熱過載保護(hù),內(nèi)部短路電流限制。通過 Pr

16、oteus 軟件仿真可 以看到,通過該電源模塊可以很好的工作,并最終得到一個穩(wěn)定的 5V 的電 源。然后此 5V 的電壓就可以供給 STC89C52 和時鐘芯片 DS1302。 3.1.23.1.2 計量模塊電路計量模塊電路 計量模塊的核心是通過一塊 AD7755 芯片來完成,通過信號采集電路, 將變換后的電壓電流信號輸入到該芯片,AD7755 是一款高準(zhǔn)確度的三相電 能計量芯片,帶有兩路脈沖輸出功能和一個串行接口。AD7755 集成了二 階 -D 模數(shù)轉(zhuǎn)換器, 數(shù)字積分器,基準(zhǔn)電路,溫度傳感器,以及所有進(jìn)行 6 智能化測控應(yīng)用系統(tǒng)設(shè)計報告 有 功,無功和視在電能計量以及有效值計量所需的信號處

17、理元件。 圖 3.2 計量模塊電路接線圖 圖 3.2 為芯片 AD7755 的具體接線圖,AD7755 作為一款適用范圍極廣 且功能強大的電能計量芯片在本次設(shè)計中擔(dān)任了重要的角色,通過 CF 管腳 直接與單片機連接,與單片機實現(xiàn)數(shù)據(jù)之間相互通信,從而實現(xiàn)功率的計 算,其中 CF 管腳與單片機 P3.5 連接。 3.1.33.1.3 時鐘及時鐘及 LCDLCD 顯示模塊顯示模塊 本次設(shè)計中,該電表要實現(xiàn)分時計費,既必須引入時鐘系統(tǒng),該時鐘 系統(tǒng)必須準(zhǔn)確,且在電表短時間斷電之內(nèi),不會停止工作,因此,該模塊 采用了一塊時鐘芯片 DS1302,該芯片為一款使用很廣泛的時鐘芯片,具體 電路圖如圖 3.3

18、 所示: 圖 3.3 DS1302 接線圖 圖 3.3 為時鐘芯片 DS1302 的連線圖,其中 SCLK 與單片機 P1.2 口連接, RST 與單片機 P1.3 口連接,IO 與單片機 P1.2 口連接。通過該芯片可以提供比 7 智能化測控應(yīng)用系統(tǒng)設(shè)計報告 較精確的萬年歷。 同時智能電表的顯示模塊選用 LCD 顯示,下圖為 LCD1602 顯示電路: 圖 3.4 LCD1602 接線圖 通過該 LCD 液晶顯示器,顯示我們需要的一些信息。上述兩個模塊通過與 STC89C52 單片機進(jìn)行連接,可以實現(xiàn)萬年歷的功能,且可以保證,在智能電 表短時間斷電的情況下,時鐘不會停止運行,繼而使智能電表的

19、分時計費系統(tǒng) 可以準(zhǔn)確的運行,我們用 Proteus 仿真,電路圖如圖 3.5 所示: 圖 3.5 LCD 顯示電路仿真圖 圖 3.5 為 LCD1602 顯示模塊,上圖中可以通過按鍵對 LCD 顯示進(jìn)行調(diào)整,可 以顯示,分時電價,余額等信息。 8 智能化測控應(yīng)用系統(tǒng)設(shè)計報告 3.1.43.1.4 信號采集電路信號采集電路模塊模塊 本次設(shè)計為智能電表,所以要對用戶的電壓和電流都進(jìn)行采樣,再通 過 AD7755 芯片來得到一個較為準(zhǔn)確的功率值并輸入單片機中,因此電壓 電流的采集電路如圖 3.6 所示: 圖 3.6 信號采集電路 圖 3.6 為電流電壓采集電路,在電流采集電路中,通過將電流互感器

20、TA32BM 串聯(lián)到用戶電路中,以采集用戶的電流信息,TA32BM 額定輸入輸出 為 5A/2.5mA,通過電流互感器將大電流轉(zhuǎn)換到 AD7755 可以接受的小電流范圍 內(nèi),然后通過濾波降低信號的干擾,最終輸入芯片,在電壓采集電路中,通過 將電壓互感器 TV31B-02 并聯(lián)到用戶的負(fù)載上,采集用戶的電壓信息,TV31B- 02 是一款電流型電壓互感器,額定電流是 2mA/2mA,所以要在電壓互感器的緣 邊串聯(lián)一個 51K 的電阻以降低互感器原邊電流值到可承受的范圍,最后通過 RC 電路濾波后,得到一個近似 0.5V 的電壓以輸入到 AD7755 芯片,和前面的 電流值一起,計算出用戶的功率。

21、 電壓互感器相當(dāng)于一個內(nèi)阻很小的電壓源,正常運行時它的負(fù)載阻抗會很 大,相當(dāng)于開路狀態(tài),二次側(cè)只有很小的電流,當(dāng)二次側(cè)短路時,負(fù)載阻抗為 零,將產(chǎn)生很大的短路電流,會將電壓互感器燒壞。因此,電壓互感器二次側(cè) 嚴(yán)禁短路。 電流互感器在正常運行時,二次電流產(chǎn)生的磁通勢對一次電流產(chǎn)生的磁通 勢起去磁作用,勵磁電流很小,鐵芯中的總磁通就很小,二次繞組的感應(yīng)電動 勢不會超過幾十伏。如果二次側(cè)開路,二次電流的去磁作用消失,其一次電流 完全變?yōu)閯畲烹娏?,會引起鐵芯內(nèi)磁通劇增,鐵芯處于高度飽和狀態(tài),加之二 次繞組的匝數(shù)很多,就會在二次繞組兩端產(chǎn)生很高(甚至可達(dá)數(shù)千伏)的電壓, 9 智能化測控應(yīng)用系統(tǒng)設(shè)計報告

22、不但可能損壞二次繞組的絕緣,再者,由于磁感應(yīng)強度劇增,使鐵芯損耗增大, 嚴(yán)重發(fā)熱,甚至燒壞絕緣。 3.23.2 電路參數(shù)的計算元器件的選擇電路參數(shù)的計算元器件的選擇 因為我們要測量的范圍是,負(fù)載電壓不超過 25V,電流不超過 2A,而單片 機能夠接受的電壓小于 5V,所以我們電壓采樣時,用和電阻分壓的k47k1 . 5 方式,這樣就算電壓得到 25V 時,我們所采的電壓也只有 2.447V,單片機也能 正常工作,電壓采樣后經(jīng)過一個電壓跟隨器,降低輸出阻抗,電流采樣時,通 過電壓間接采樣,因為我們所串聯(lián)的電阻很小,并聯(lián)一個的電阻得到一個1 . 0 小電壓,然后再放大,得到送入單片機。 3.33.

23、3 特殊器件介紹特殊器件介紹 3.3.13.3.1 AD7755 介紹介紹 AD7755是一種高準(zhǔn)確度電能測量集成電路,其技術(shù)指標(biāo)超過了IEC1036準(zhǔn) 確度的指標(biāo)要求。ADS只在ADC和基準(zhǔn)源中使用模擬電路,所有其它信號處理 都是用數(shù)字電路。這使AD7755在惡劣的環(huán)境下然能保持極高的準(zhǔn)確度和長期穩(wěn) 定性。AD7755內(nèi)部包含一個對電源引腳的監(jiān)控電路,內(nèi)部相對匹配電路使電壓 和電流通道的相位始終是匹配的,無論通道1內(nèi)的高通濾波器是接通的還是斷開 的。內(nèi)部的空載伐值特性保證AD7755在空載時沒有潛動。AD7755有24腳DIF和 SSOP兩張封裝。兩個ADC對來自電流和電壓傳感器的電壓信號進(jìn)

24、行數(shù)字化,這 兩個ADC 都是16二階模擬轉(zhuǎn)換器。過采樣速率達(dá)900KHZ。AD7755的模擬輸入 結(jié)構(gòu)具有寬動態(tài)范圍,大大簡化了傳感器接口,也簡化了傳感器接口,電流通 道中的HPF 濾掉電流信號中的直流分量,從而消除了由于電壓或電流失調(diào)造成 的有功功率計算上的誤差。有功功率是從瞬時功率信號計算出來的,是用電流 和電壓信號直接相乘得到的。為了等到有功功率分量,只要對瞬時功率信號進(jìn) 行低通濾波就行。AD7755的管腳圖如圖3.7所示: 10 智能化測控應(yīng)用系統(tǒng)設(shè)計報告 圖 3.7 AD7755 管腳圖 3.3.23.3.2 STC89C52 單片機介紹單片機介紹 STC89C52 是一款高速度,

25、高密度,低功耗的單片機,內(nèi)置 8 位中央處理 單元,256 字節(jié)片內(nèi)數(shù)據(jù) RAM,8K 片內(nèi)程序 ROM,32 個雙向 I/O 口,還包含 3 個定時/計數(shù)器,擁有 PDIP(40pin)和 PLCC(44pin)兩種封裝形式,本次設(shè)計中采 用 40 管腳雙列直插封裝,功能強大,可以適用于較為復(fù)雜的工作環(huán)境, STC89C52 單片機管腳圖如圖 3.8 所示: 圖 3.8 STC89C52 管腳圖 3.3.33.3.3 DS1302DS1302 時鐘芯片介紹時鐘芯片介紹 DS1302 是美國 DALLAS 公司推出的一種高性能、低功耗的實時時鐘芯片, 附加 31 字節(jié)靜態(tài) RAM,采用 SPI

26、 三線接口與 CPU 進(jìn)行同步通信,并可采用突發(fā) 方式一次傳送多個字節(jié)的時鐘信號和 RAM 數(shù)據(jù)。實時時鐘可提供秒、分、時、 日、星期、月和年,一個月小與 31 天時可以自動調(diào)整,且具有閏年補償功能。 工作電壓寬達(dá) 2.55.5V。采用雙電源供電(主電源和備用電源) ,可設(shè)置備用 11 智能化測控應(yīng)用系統(tǒng)設(shè)計報告 電源充電方式,提供了對后背電源進(jìn)行涓細(xì)電流充電的能力。DS1302 的外部引 腳分配如圖 1 所示及內(nèi)部結(jié)構(gòu)如圖 2 所示。DS1302 用于數(shù)據(jù)記錄,特別是對某 些具有特殊意義的數(shù)據(jù)點的記錄上,能實現(xiàn)數(shù)據(jù)與出現(xiàn)該數(shù)據(jù)的時間同時記錄, 因此廣泛應(yīng)用于測量系統(tǒng)中。DS 1302 引腳腳

27、圖如圖 3.9: 圖 3.9 DS12887 管腳圖 3.3.43.3.4 LCD1602LCD1602 液晶顯示屏介紹液晶顯示屏介紹 LCD1602是一款工業(yè)字符型液晶顯示屏,能夠同時顯示32個字符,內(nèi)部帶 有80*8為的內(nèi)部RAM緩沖區(qū),可顯示阿拉伯?dāng)?shù)字,引文字母大小寫,常用符號 和日文片假名等,每一個字符都有一個固定的代碼,在本次設(shè)計中,可以通過 LCD顯示萬年歷,分時電價,剩余金額等數(shù)據(jù)信息,可以通過鍵盤來切換顯示。 部分主要指令說明如下: 表3.1 LCD1602指令碼 指令碼功能 00111000設(shè)置16*2顯示,5*7點陣,8位數(shù)據(jù)接口 00001DCBD=1 開顯示;D=0關(guān)顯

28、示 C=1顯示光標(biāo);C=0不顯示光標(biāo) B=1光標(biāo)閃爍;B=0光標(biāo)不閃爍 000000NSN=1當(dāng)讀或?qū)懸粋€字符后地址加一,光標(biāo)加一 N=0當(dāng)讀或?qū)懸粋€字符后地址減一,光標(biāo)減一 S=1時寫一個字符,整屏顯示左移(N=1)或右移 (N=0) ,以得到屏幕移動光標(biāo)不移動的效果 S=0時寫一個字符,整屏顯示不移動 80H+地址碼設(shè)置地址數(shù)據(jù)指針 01H顯示清屏:所有指針清零,所有顯示清零 02H顯示回車:數(shù)據(jù)指針清零 LCD1602 讀寫時序圖如圖 3. 10、3.11 所示: 12 智能化測控應(yīng)用系統(tǒng)設(shè)計報告 圖 3.10 LCD1602 寫時序圖 圖 3.11 LCD1602 讀時序圖 13 智能

29、化測控應(yīng)用系統(tǒng)設(shè)計報告 4 4 軟件設(shè)計軟件設(shè)計 本設(shè)計中,以 STC89C52 作為微處理器,采用 C 語言進(jìn)行編程,配合硬件電 路,共同構(gòu)成了本次設(shè)計的核心部分。 4.14.1 軟件設(shè)計原理及設(shè)計軟件設(shè)計原理及設(shè)計 本次設(shè)計采用 C 語言,C 語言具有簡潔明了的特點,在本次設(shè)計中,按照 各芯片的讀寫操作時序,以 SPI 總線操作方式,分別對 DS1302 時鐘芯片, AD7755 電能計量芯片進(jìn)行讀寫操作,即可基本完成本次設(shè)計的主要功能。 DS1302 控制字節(jié)的最高有效位(位 7)必須是邏輯 1,如果它為 0,則不能把 數(shù)據(jù)寫入 DS1302 中,位 6 如果為 0,則表示存取日歷時鐘數(shù)

30、據(jù),為 1 表示存取 RAM 數(shù)據(jù);位 5 至 位 1 指示操作單元的地址;最低有效位(位 0)如為 0 表示要進(jìn) 行寫操作,為 1 表示進(jìn)行讀操作,控制字節(jié)總是從最低位開始輸出。在控制指 令字輸入后的下一個 SCLK 時鐘的上升沿時,數(shù)據(jù)被寫入 DS1302,數(shù)據(jù)輸入從 低位即位 0 開始。同樣,在緊跟 8 位的控制指令字后的下一個 SCLK 脈沖的下 降沿讀出 DS1302 的數(shù)據(jù),讀出數(shù)據(jù)時從低位 0 位到高位 7。DS1302 有 12 個寄 存器,其中有 7 個寄存器與日歷、時鐘相關(guān),存放的數(shù)據(jù)位為 BCD 碼形式。此 外,DS1302 還有年份寄存器、控制寄存器、充電寄存器、時鐘突

31、發(fā) 寄存器及 與 RAM 相關(guān)的寄存器等。時鐘突發(fā)寄存器可一次性順序讀寫(除充電寄存器外) 所有寄存器內(nèi)容。DS1302 與 RAM 相關(guān)的寄存器分為兩類:一類是單個 RAM 單元,共 31 個,每個單元組態(tài)為一個 8 位的字節(jié),其命令控制字為 C0HFDH,其中奇數(shù)為讀操作,偶數(shù)為寫操作;另一類為突發(fā)方式下的 RAM 寄存器,此方式下可一次性讀寫所有的 RAM 的 31 個字節(jié),命令控制字為 FEH(寫)、FFH(讀)。而 AD7755 本身就是一款處理器,不要編寫代碼,內(nèi)部已 經(jīng)一體化了。 本次設(shè)計的另一個重點就是顯示程序,1602 的顯示程序同樣按照其讀寫時 序圖完成,不同的是,1602

32、 的顯示,需要在主程序的開始寫一個初始化函數(shù)用 以設(shè)定 1602 的顯示方式,光標(biāo)等等,在本次設(shè)計中,只涉及到 1602 的寫程序, 寫數(shù)據(jù)時,同樣需要先寫入地址,寫地址時,先將 RS,EN 置低,延遲后再將 EN 拉高,賦予地址,最后將 EN 拉低,寫數(shù)據(jù)與讀不同之處在于要將 RS 拉高 其余同寫地址時一樣。 14 智能化測控應(yīng)用系統(tǒng)設(shè)計報告 4.24.2 設(shè)計軟件介紹設(shè)計軟件介紹 本次設(shè)計采用 KeiluVision2 作為編程工具,用 Proteus 進(jìn)行實物制作前的 仿真,Keil 作為現(xiàn)在主流的單片機編程工作具有操作簡單,快捷的優(yōu)點,同時 可以與 Proteus 聯(lián)動方便調(diào)節(jié)和仿真,

33、另用 STC-ISP-15XX 將程序下載至單片機 上運行。下面對涉及到的軟件作進(jìn)一步的介紹。 4.2.14.2.1 Proteus 軟件介紹軟件介紹 Proteus 軟件是來自英國 Labcenter electronics 公司的 EDA 工具軟件。 Proteus 軟件有十多年的歷史,在全球廣泛使用,除了其具有和其它 EDA 工具 一樣的原理布圖、PCB 自動或人工布線及電路仿真的功能外,其革命性的功能 是,他的電路仿真是互動的,針對微處理器的應(yīng)用,還可以直接在基于原理圖 的虛擬原型上編程,并實現(xiàn)軟件源代碼的實時調(diào)試,如有顯示及輸出,還能看 到運行后輸入輸出的效果,配合系統(tǒng)配置的虛擬儀器

34、如示波器、邏輯分析儀等。 Proteus 組合了高級原理布圖、混合模式 SPICE 仿真,PCB 設(shè)計以及自動布 線來實現(xiàn)一個完整的電子設(shè)計系統(tǒng)。 4.2.24.2.2 KEILKEIL 80518051 開發(fā)工具開發(fā)工具 Keil C51 是美國 Keil Software 公司出品的 51 系列兼容單片機 C 語言軟 件開發(fā)系統(tǒng),與匯編相比,C 語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有 明顯的優(yōu)勢,因而易學(xué)易用。用過匯編語言后再使用 C 來開發(fā),體會更加深刻。 Keil C51 軟件提供豐富的庫函數(shù)和功能強大的集成開發(fā)調(diào)試工具,全 Windows 界面。另外重要的一點,只要看一下編譯后生

35、成的匯編代碼,就能體 會到 Keil C51 生成的目標(biāo)代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊, 容易理解。在開發(fā)大型軟件時更能體現(xiàn)高級語言的優(yōu)勢。 4.34.3 軟件結(jié)構(gòu)圖軟件結(jié)構(gòu)圖 軟件設(shè)計的主要功能是完成分時計費,程序流程圖如圖 4.1 所示: 15 智能化測控應(yīng)用系統(tǒng)設(shè)計報告 結(jié)束 開始 報警 程序初始化 是 讀取 AD7755 讀取完成? 否 計算余額 余額是否 為 0? 否 檢測標(biāo)志位 鍵盤掃描 LCD 顯示 檢測中斷? 是 否 是 圖 4.1 主程序流程圖 4.3.14.3.1 電壓電流采集子程序電壓電流采集子程序 電壓電流采集子程序主要實現(xiàn)對電壓電流信號的同步采樣,其程

36、序流程圖 如圖 4.2 所示: 16 智能化測控應(yīng)用系統(tǒng)設(shè)計報告 打開電源 程序初始化 檢測信號 傳輸給 AD 轉(zhuǎn)換端 口 關(guān)閉電源 否 是 圖 4.2 電壓電流子程序圖 4.3.24.3.2 AD 轉(zhuǎn)換子程序轉(zhuǎn)換子程序 AD 轉(zhuǎn)換子程序主要是實現(xiàn)將采集的電壓電流信號進(jìn)行 AD 轉(zhuǎn)換, 得到單片 機能處理的數(shù)據(jù),并計算出直流功率大小,然后鎖存功率,電流,電壓數(shù)據(jù), 以供顯示。其程序流程圖如圖 4.3 所示: 打開 AD 電源 初始化 AD 轉(zhuǎn)換 停止轉(zhuǎn)換保存 轉(zhuǎn)換是否完成 否 是 是 圖 4.3 AD 轉(zhuǎn)換子程序圖 17 智能化測控應(yīng)用系統(tǒng)設(shè)計報告 5 5 系統(tǒng)調(diào)試系統(tǒng)調(diào)試 隨著各種智能電表的

37、應(yīng)用與普及,這一技術(shù)在科學(xué)研究,生產(chǎn)過程等領(lǐng)域 中發(fā)揮著越來越重要的作用。在科技社會的今天,人們對電表的計精度、穩(wěn)定 性以及綜合利用等要求愈來愈高。因此,對電路的精確調(diào)試是必不可少的一步, 為保證設(shè)計的質(zhì)量,我們小組對本次設(shè)計中的軟硬件進(jìn)行了分塊調(diào)試。 5.15.1 單片機及單片機及 LCD1602LCD1602 顯示部分顯示部分 在按照原理圖將單片機的最小系統(tǒng)焊接完成后,我們用 STC-ISP 軟件對其 進(jìn)行下載程序的調(diào)試,如圖 5.1 所示: 圖 5.1 程序燒寫 LCD1602 顯示部分,在 Proteus 軟件中進(jìn)行了仿真,運行結(jié)果如圖 5.2 所 示,在確認(rèn)仿真可行后,我們調(diào)用單獨的

38、顯示程序,能正常顯示。 圖 5.2 1602 仿真圖 5.25.2 萬用板電路部分調(diào)試萬用板電路部分調(diào)試 由于焊接的問題,首先需要檢測電路是否導(dǎo)通,連接是否通暢。萬用板電 路主要分成三塊:電流互感器 TA32B-M、電壓互感器 TV31 作為信號轉(zhuǎn)換,將 220V 轉(zhuǎn)換為電能處理芯片需要的信號,時鐘芯片 DS1302 進(jìn)行計時,電能處理 18 智能化測控應(yīng)用系統(tǒng)設(shè)計報告 芯片 AD7755 對轉(zhuǎn)換后的電流電壓信號進(jìn)行處理,計算出負(fù)載消耗的有功、無 功、視在功率,并將所得信號進(jìn)行存儲。 調(diào)試過程中,首先應(yīng)對電流、電壓互感器的輸出端信號進(jìn)行檢測,包括信 號的大小(是否符合 AD7755 所需信號)

39、 、波形是否符合要求,另外則應(yīng)注意檢 查電流電壓互感器與 AD7755 的連接是否正確。在確定電流、電壓互感器能正 常工作后,就要開始調(diào)試芯片 AD7755,首先,應(yīng)用萬用表對各個引腳進(jìn)行測 試。其次,應(yīng)該注意檢查連線過程中的接觸問題,開始時沒有注意,結(jié)果發(fā)生 了干擾,對于這一問題,就是將各個引腳的連線接牢。對于時鐘芯片 DS1302, 這款芯片的管腳需要特別加以注意,認(rèn)真閱讀芯片資料,否則容易將控制信號 線和數(shù)據(jù)線的位置連接錯誤,硬件電路的調(diào)試主要使用萬用表、示波器完成, 主要需要注意防止短路,保證各元件在正常上電時的安全。 在本次設(shè)計中,硬件部分的調(diào)試比較順利,軟件部分就相對較難。分時計

40、費功能在軟件部分的程序中實現(xiàn)較為容易,主要是分清各個時間段的收費標(biāo)準(zhǔn), 在按鍵的設(shè)計上,采用了復(fù)用的思想,在程序中運用了矩陣鍵盤掃描,但按鍵 數(shù)量有點多,對于程序編寫感到十分困難。在軟件的調(diào)試過程中,出現(xiàn)了一些 問題,由于程序較長,有好幾個全局變量比較混亂,我們對于程序的理解和把 握還不是很熟悉。以后還需要多加練習(xí)。 6 6 系統(tǒng)功能、指標(biāo)參數(shù)系統(tǒng)功能、指標(biāo)參數(shù) 由于時間、條件和我們自身知識上的限制,我們設(shè)計的智能電表只是簡略 的實現(xiàn)其功能,在實物的構(gòu)架中,利用一塊單片機開發(fā)板,并自己利用萬用板 19 智能化測控應(yīng)用系統(tǒng)設(shè)計報告 搭建了其他的外圍電路,因此該硬件總共分為三大部分:電源部分,采集

41、部分, 核心處理部分。 6.16.1 系統(tǒng)能實現(xiàn)的功能系統(tǒng)能實現(xiàn)的功能 本系統(tǒng)實現(xiàn)的功能是分時段計費。主要實現(xiàn)以下功能: (1)用戶在 220V 電壓下所用功率的計算。 (2)顯示用戶各時段所耗功率。 (3)具有應(yīng)用 LED 實時顯示各時段費用及總費用功能。 6.26.2 系統(tǒng)指標(biāo)參數(shù)分析系統(tǒng)指標(biāo)參數(shù)分析 電源部分使用 220V 交流電,通過變壓器變壓為 9V 之后,利用一塊 L7805 穩(wěn)壓芯片,很好的得到了一個較為穩(wěn)定,且接近 5V 的電壓,誤差在+0.02V 左 右,可以利用其很好為單片機與核心芯片進(jìn)行供電,但在此次設(shè)計中由于經(jīng)費、 時間有限,并未采用原定供電方案,而是直接采用了 USB

42、 接口供電。采集電路 部分,也是自己利用萬用板搭建,運用電壓互感器,電流互感器為核心,進(jìn)行 變壓采樣,變壓后的電壓理想值為 0.5V,由于實際環(huán)境等影響,其電壓真實值 為 0.57V,但不會對功率計算造成太大的影響,電壓電流信號進(jìn) AD7755 之后, 即可由單片機進(jìn)行讀取,獲得有功功率,用于計算電價,在制作過程中,可以 測量電腦的負(fù)載功率,可以用 15W 的燈泡作為用戶的負(fù)載。 7 7 結(jié)論結(jié)論 本次系統(tǒng)以單片機為控制核心,實現(xiàn)了電路電壓電流的采樣,并最終分時 計費。LCD 能隨著按鍵控制顯示被測功率,并能通過按鍵切換顯示各時段的功 率、費用。 本系統(tǒng)設(shè)計可推廣到各種電子測量系統(tǒng)中,實現(xiàn)直流

43、電路各參數(shù)的測量。 20 智能化測控應(yīng)用系統(tǒng)設(shè)計報告 在生產(chǎn)生活中,本系統(tǒng)簡單明了為生活帶來便利;在工業(yè)生產(chǎn)中,可以加以各 種適當(dāng)變化,進(jìn)行電路參數(shù)的自動測量,如對電路負(fù)載的直流電壓、電流和功 率自動測量顯示。進(jìn)而可以隨時的觀察到電路的變化,進(jìn)行電路的檢測,維護(hù)。 如在電路系統(tǒng)中可以根據(jù)不同的負(fù)荷得到不同的電壓信號,再由電壓信號得到 各種參數(shù)了解電路負(fù)荷的變化,以便實時檢測。實現(xiàn)系統(tǒng)的自動化調(diào)度。綜上 所述,該系統(tǒng)的設(shè)計和研究具在社會生產(chǎn)和生活中具有重要地位。 本系統(tǒng)設(shè)計實現(xiàn)了電路的直流輸入功率的測量,并能通過鍵盤切換控制負(fù) 載電壓和被測電流。當(dāng)被測電壓高于 25V 或電流高于 2A 時,數(shù)碼

44、管將閃爍,作 為超過量程的報警功能。但是由于以前做的實踐性工作不是很多,設(shè)計的器件 不夠精確和環(huán)境不夠?qū)I(yè),該系統(tǒng)設(shè)計并不能實現(xiàn)精確的功率測量,但是由于 時間的限制,以沒有在進(jìn)一步的改進(jìn),這和工業(yè)生產(chǎn)生活中的要求還有差距。 該系統(tǒng)的進(jìn)一步研究應(yīng)該從提高采樣精度和系統(tǒng)工作電壓的穩(wěn)定性出發(fā),取得 更精確的測量結(jié)果。 8 8 總結(jié)與體會總結(jié)與體會 此次課程設(shè)計作品是基于單片機的分時計費智能電表的設(shè)計,通過對電路 負(fù)載電壓和電流的采樣,對采樣進(jìn)行 AD 轉(zhuǎn)換,再根據(jù)功率計算公式,由UIP 單片機計算并控制 LCD 動態(tài)顯示。 總的來說,這次設(shè)計給我?guī)砹撕艽蟮母杏|。智能化測控應(yīng)用系統(tǒng)設(shè)計, 21 智能

45、化測控應(yīng)用系統(tǒng)設(shè)計報告 是以學(xué)生自己動手,掌握一定操作技能并親手設(shè)計、制作、組裝與調(diào)試為特色 的。它將基本技能訓(xùn)練,基本工藝知識和創(chuàng)新啟蒙有機結(jié)合,培養(yǎng)我們的實踐 能力和創(chuàng)新精神, 。作為信息時代的大學(xué)生,作為國家重點培育的高技能人才, 僅會操作鼠標(biāo)是不夠的,基本的動手能力是一切工作和創(chuàng)造的基礎(chǔ)和必要條件。 通過三個星期的學(xué)習(xí),使我們對智能化測控應(yīng)用系統(tǒng)的理論有了初步的了 解。我們了解到了焊普通元件與電路元件的技巧、工藝流程、功率計的工作原 理與組成元件的作用等。這些知識不僅在課堂上有效,對以后的電子工藝課的 學(xué)習(xí)有很大的指導(dǎo)意義,在日常生活中更是有著現(xiàn)實意義;也對自己的動手能 力是個很大的鍛

46、煉。實踐出真知,縱觀古今,所有發(fā)明創(chuàng)造無一不是在實踐中 得到檢驗的。沒有足夠的動手能力,就奢談在未來的科研尤其是實驗研究中有 所成就。在實習(xí)中,我鍛煉了自己動手技巧,提高了自己解決問題的能力。比 如做功率計組裝與調(diào)試時,好幾個焊盤的間距特別小,稍不留神,就焊在一起 了,但是我還是基本上完成了任務(wù)。我覺得自己在這次設(shè)計中有很大的收獲: 1、我對單片機有了進(jìn)一步的了解,對其各個引腳的功能、作用也有了了解, 這是之前上單片機課程時不曾記住的東西。 。 2、對自己的動手能力是個很大的鍛煉。在實習(xí)中,我鍛煉了自己動手技巧, 提高了自己解決問題的能力。使自己的動手能力也有所提高,我想在以后的理 論學(xué)習(xí)中我

47、就能夠明白自己的學(xué)習(xí)方向,增進(jìn)專業(yè)知識的強化。 3、通過此次設(shè)計我又了解了幾種平時在書本上未成學(xué)到的芯片,并對其功 能、參數(shù)等有了了解,這對以后的工作中有一定的幫助。 4、在程序的編寫上也有了進(jìn)一步的了解,在之前我是完全不懂程序的編寫, 對于程序總是感到頭疼,但經(jīng)過這次設(shè)計,對編程也產(chǎn)生了興趣,雖然現(xiàn)在還 不能隨性所欲的編寫各個程序,但我相信在以后的學(xué)習(xí)工作中能掌握這一技術(shù)。 9 9 謝辭謝辭 本次設(shè)計是在老師和兩位學(xué)長的悉心指導(dǎo)和嚴(yán)格要求下完成的,從課程設(shè) 計選題到具體的寫作過程,論文初稿與定稿無不凝聚著老師和兩位學(xué)長的心血 和汗水,在我的課程設(shè)計期間,通過定時的見面,老師和兩位學(xué)長對我們進(jìn)

48、行 了悉心的指導(dǎo),對我設(shè)計中存在的問題和不足進(jìn)行了批評和指正,不厭棄煩的 22 智能化測控應(yīng)用系統(tǒng)設(shè)計報告 進(jìn)行講解,讓我受益匪淺,同時,老師和兩位學(xué)長為我提供了種種專業(yè)知識上 的指導(dǎo)和一些富于創(chuàng)造性的建議,老師和兩位學(xué)長一絲不茍的作風(fēng),嚴(yán)謹(jǐn)求實 的態(tài)度使我深受感動,沒有這樣的幫助和關(guān)懷和熏陶,我不會這么順利的完成 課程設(shè)計。在此向老師和兩位學(xué)長表示深深的感謝和崇高的敬意! 同時,在課程設(shè)計寫作過程中,我還參考了有關(guān)的書籍和論文,在這里一 并向有關(guān)的作者表示謝意。 最后,我還要感謝同組的各位同學(xué)以及我的各位室友,在課程設(shè)計的這段 時間里,你們給了我很多的啟發(fā),提出了很多寶貴的意見,對于你們幫助

49、和支 持,在此我表示深深地感謝! 1010 參考文獻(xiàn)參考文獻(xiàn) 1 張毅剛.單片機原理及應(yīng)用M.北京:高等教育出版社,2009.2. 2 張培仁.基于 C 語言編程 MCS-51 單片機原理與應(yīng)用M. 北京:清華大學(xué)出版社, 2003. 3 龍忠琪、金燕、李如春.模擬集成電路教程.北京:科學(xué)出版社,2004. 4 求是科技.8051 系列單片機 C 程序設(shè)計完全手冊.北京:人民郵電出版社,2006. 5 張廣軍.微機原理及接口技術(shù)M.成都:電子科技大學(xué)出版社,2007.7. 23 智能化測控應(yīng)用系統(tǒng)設(shè)計報告 6 李泉,海保軍.RS-232 收發(fā)器接口芯片SP3223E3243E 的原理及應(yīng)用J.

50、國外電子元 器件,2004(9):42-44. 7 王慶芬、秦 華、李文娟.基于單片的智能電表設(shè)計.期刊.石家莊鐵道大學(xué)四方學(xué)院電 氣工程系 河北石家莊 051132. 8 藍(lán)振幫.智能電表程序.程序聯(lián)合開發(fā)網(wǎng).2008.5.14. 9 康華光.電子技術(shù)基礎(chǔ)數(shù)字部分(第五版)M.北京.高等教育出版社.2006. 10 康華光.電子技術(shù)基礎(chǔ)模擬部分(第五版)M.北京.高等教育出版社.2006. 附錄附錄 1 1 系統(tǒng)設(shè)計圖(原理圖、系統(tǒng)設(shè)計圖(原理圖、PCBPCB 版圖、實物圖)版圖、實物圖) 原理圖:原理圖: 24 智能化測控應(yīng)用系統(tǒng)設(shè)計報告 PCBPCB 板圖:板圖: 實物圖:實物圖: 25

51、 智能化測控應(yīng)用系統(tǒng)設(shè)計報告 附錄附錄 2 2 元件清單:元件清單: 26 智能化測控應(yīng)用系統(tǒng)設(shè)計報告 元件名 型號 參數(shù) 數(shù)量 單片機 AT89C52 1 電能計量芯片 AD7755 1 LCD 顯示屏 LCD1602 1 時鐘芯片 DS1302 1 存儲芯片 24C02 1 電壓互感器 TV31B-02 1 電流互感器 TA32BM 1 電阻 10K 1 1K 7 200 2 電位器 W502 10K 1 瓷片電容 100nf 2 10nf 3 22pf 5 33nf 4 電解電容 10uf 3 按鍵 16 晶振 32.768K 1 11.0592M 1 3.58M 1 附錄附錄 3 3:

52、 程序代碼程序代碼: : #include 27 智能化測控應(yīng)用系統(tǒng)設(shè)計報告 #includeLCD1602.h #includekey.h #include24c02.h #includeDS1302.H #define uchar unsigned char; #define uint unsigned int; uchar result; uchar code shuzu=0 x01,0 x02,0 x03,0 x04,0 x05;/測試用數(shù)組 uchar data DS13027; void delay1(void)/大約 1ms 延時,對 24C02 每讀 or 寫操作都有個過程,

53、需要一個短延時 uint a=1000; while(a-); void init() TMOD=0 x01; TH0 = 0 x0FC; TL0 = 0 x66; /以 1ms 作為基準(zhǔn),即每過 1ms 進(jìn)入一次定時器中斷 EA=1; ET0=1; TR0=1; void main() unsigned int Count = 0; uchar j,temp,addres=0 x80; uchar i; write_page(shuzu,3,5); delay1();/等待一下 i = read_byte(7); init(); LCD_Initial(); GotoXY(0,0); Pri

54、nt(The 1602LCD Test); GotoXY(0,1); Print(TEST BY MB); ds1302_reset(); while(1) 28 智能化測控應(yīng)用系統(tǒng)設(shè)計報告 if(result=5) GotoXY(0,0); Print(keydown); / PrintChar(i); GotoXY(1,1); for(j=0;j8;j+) DS1302j = Read_data(addres); addres +=2; PrintChar(DS1302j/16); PrintChar(DS1302j%16); addres=0 x80; void Timer0() int

55、errupt 1 static num=0; TH0 = 0 x0FC; TL0 = 0 x66; /以 1ms 作為基準(zhǔn),即每過 1ms 進(jìn)入一次定時器中斷 num+; if(10=num) num=0; result=KeyBoardScan(); LCD1602 顯示部分: #include reg52.h #include lcd1602.h #include string.h void LCD_check_busy(void) /檢測 LCD 狀態(tài),看它是不是還在忙呢 while(1) LCD_EN=0; LCD_RS=0; LCD_RW=1; LCD_DATA=0 xff; LCD

56、_EN=1; if(!LCD_BUSY)break; 29 智能化測控應(yīng)用系統(tǒng)設(shè)計報告 LCD_EN=0; void LCD_cls(void) /LCD 清屏 LCD_check_busy(); LCD_RS=0; LCD_RW=0; LCD_DATA=1; LCD_EN=1; LCD_EN=0; void LCD_write_instruction(unsigned char LCD_instruction) /寫指令 到 LCD LCD_check_busy(); LCD_RS=0; LCD_RW=0; LCD_DATA=LCD_instruction; LCD_EN=1; LCD_EN

57、=0; void LCD_write_data(unsigned char LCD_data) /輸出一個字節(jié)數(shù)據(jù)到 LCD LCD_check_busy(); LCD_RS=1; LCD_RW=0; LCD_DATA=LCD_data; LCD_EN=1; LCD_EN=0; void LCMInit(void) /初始化 LCD LCD_write_instruction(0X38); / 顯示模式 LCD_write_instruction(0X0E); / 開顯示,顯示光標(biāo) 0X0B: 關(guān)閉顯示(不顯示字符,只有背光亮) / 0 x0C: 開顯示,光標(biāo)閃爍都關(guān)閉 /0X0D:開顯示,

58、不顯示光標(biāo),但光標(biāo)閃爍 /0X0E:開顯示, 顯示光標(biāo),但光標(biāo)不閃爍 30 智能化測控應(yīng)用系統(tǒng)設(shè)計報告 /0X0F:開顯示, 光標(biāo)閃爍都顯示 LCD_write_instruction(0X06); /指針加 1 LCD_cls(); void DisplayOneChar(unsigned char X, unsigned char Y, unsigned char DData) Y X /限制 X 不能大于 15,Y 不能大于 1 if (Y) X |= 0 x40; /當(dāng)要顯示第二行時地址碼 0 x40; X |= 0 x80; / 算出指令碼 LCD_write_instruction

59、(X); /這里不檢測忙信號,發(fā)送地址碼 LCD_write_data(DData); void Display_String(unsigned char X, unsigned char Y, unsigned char *str) unsigned char num; Y X /限制 X 不能大于 15,Y 不能大于 1 if (Y) X |= 0 x40; /當(dāng)要顯示第二行時地址碼 0 x40; X |= 0 x80; / 算出指令碼 LCD_write_instruction(X); /這里不檢測忙信號,發(fā)送地址碼 num=strlen(str)+X; while(X0;m-) for

60、(n=110;n0;n-); 24C02 部分: #include #include iic.h #include 24c02.h 31 智能化測控應(yīng)用系統(tǒng)設(shè)計報告 /* Function: void write_byte(uchar add,uchar dat) Description:在 24c02 某一地址寫一位數(shù)據(jù) Calls:iic_star(),iic_ack(),iicwr_byte(),iic_stop() Input:add,dat Output;無 Return:無 Others: */ void write_byte(uchar add,uchar dat) scl =

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論