【正文】
//寫入地址。 } } void MAX7221_WRITE(uchar addr,uchar dat) { CS = 0。 CLK = 1。 CLK = 0。i++) { DIN = ((dati)amp。 for(i=0。 uint t1,t2。 sbit CONV = P2^5。 sbit SDO = P2^3。 sbit CS = P2^1。break。 case 15:CE=0。P1=0xF1。break。 case 13:CE=0。P1=0xF3。break。 case 11:CE=0。P1=0xF5。break。 case 9:CE=0。P1=0xF7。break。 case 7:CE=0。P1=0xF9。break。 case 5:CE=0。P1=0xFb。break。 case 3:CE=0。P1=0xFd。break。 case 1:CE=0。P1=0xFf。 }while(!key1)。 } } void keyscan() //多路選擇程序 {if (key1==1) { { //counter++。i100。 void delay_ms(uint n) //延時程序 { uchar i。 sbit CE=P3^4。 sbit A2=P1^2。 sbit A0=P1^0。洛陽理工學院畢業(yè)設計論文 28 參考文獻 [1] 李朝青 .單片機原理及接口技術(shù) .第 3 版 .北京:北京航空航天大學出版社, [2] 劉坤,高征,晁陽 .Protel 99 SE 電路設計實例教程 . 北京:清華大學出版社, [3] 譚浩強 .C 程序設計 .第三版 .北京:清華大學出版社, 20xx [4] 潘新民,王燕芳 .微型計算機控制技術(shù)實用教程 .北京:電子工業(yè)出版社, [5] 杜樹春 .單片機 C 語言和匯編語言混合編程實踐 .北京:北京航空航天大學出版社, [6] 萬福君,潘松峰,劉芳 等 .MCS51 單片機原理、系統(tǒng)設計與應用 .北京:清華大學出版社, [7] 周韌研,商斌 .Visual C++串口通信開發(fā)入門與編程實踐 .北京:電子工業(yè)出版社, [8] 王化祥 .自動檢測技術(shù) .北京:化學工業(yè)出版社, 20xx [9] 陳廣贊 .基于單片機控制的恒流源測試系統(tǒng): [碩士學位論文 ].大連理工大學, 20xx [10] 徐文兵 .超級電容能量監(jiān)控 系統(tǒng)的研究與設計: [碩士學位論文 ].上海交通大學, 20xx [11] 白鑫 .超級電容器恒功率測試系統(tǒng)的研究: [碩士學位論文 ]. 大連理工大學, [12] 王新運 .太陽能電動車超級電容充放電系統(tǒng)的研究與開發(fā): [碩士學位論文 ].華南理工大學, [13] 石曉寧 .串聯(lián)超級電容組參數(shù)測試及均衡技術(shù)研究: [碩士學位論文 ].哈爾濱工業(yè)大學, 20xx [14] 那偉 .動力電池組分布式監(jiān)測系統(tǒng)的研究: [碩士學位論文 ]. 哈爾濱工業(yè)大學, 20xx [15] 孫小子 .能量回收系統(tǒng)中超級電容檢測與分析: [碩士學位論文 ].同濟大學, 20xx 洛陽理工學院畢業(yè)設計論文 29 附 錄 附錄 1: 電路總電路圖 c l +1c l 3T 1 I N11R 1 O U T12T 2 I N10R 2O U T9C 2+4C 25V C C16V S +2T 1 O U T14R 1 I N13T 2 O U T7R 2 I N8V S 6G N D15U2M A X 232D I N1CS12C L K13I S E T18D O U T24A14B16C20D23E21F15G17DP22D I G 02D I G 111D I G 26D I G 37D I G 43D I G 510D I G 65D I G 78U5M A X 7221S D O6S C K7C O M V5V I N +2V I N 3V R E F1G N D4V C C8L T C 1864E A / V P31X119X218R E S E T9RD17WR16I N T 012I N T 113T014T115P 10/ T1P 11/ T2P 123P 134P 145P 156P 167P 178P 0039P 0138P 0237P 0336P 0435P 0534P 0633P 0732P 2021P 2122P 2223P 2324P 2425P 2526P 2627P 2728P S E N29A L E / P30T X D11R X D10U389C 525 6 7 8a b c d e f g dpc om 1 c om 2 c om 3 c om 45 6 7 8a b c d e f g dpc om 1 c om 2 c om 3 c om 47S E G ( 0. 36) X 4162738495J2D B 9D4D I O D ED2D I O D ED1D I O D ED3D I O D ET1T R A N S 1123V VG N DIN O U TU178L 0512J1C O N 2C2C A PX T A LS W P BG N DC9C 10G N DG N DV C CC8G N D+C6V C CC7+C5G N DG N D+C4+C3G N DG N DEN0D1C2B3A4X155X146X137X128X119X1010X911X812X713X614X515X416X317X218X119X020OUT21VDD23VSS22U4C D 4066V C CV C C+C1p2. 3p2. 4p2. 5p2. 0p2. 1p2. 2V C CG N DT X DR X DP 1. 0P 1. 1P 1. 2P 1. 3R1VCV C C 洛陽理工學院畢業(yè)設計論文 30 附錄 2:電路仿真圖 洛陽理工學院畢業(yè)設計論文 31 附錄 3:下位機源程序 分壓程序: include include define uchar unsigned char define uint unsigned int sbit key1=P3^6。 另外,我還要感謝和我一同完成畢業(yè)設計的李紅松,朱衛(wèi)云,黃鵬同學,在課題的設計寫作過程中,我們共同解決了許多難題,從中我受益良多。在此,衷心感謝張老師的悉心指導,祝愿張老師身體健康、工作順利! 感謝我的室友們,四年了,仿佛就在昨天。 洛陽理工學院畢業(yè)設計論文 27 謝 辭 四年的大學學習和生活也即經(jīng)過兩個多月來的資料收集 、 分析 、 整理 草圖創(chuàng)意、方案修改、 仿真 、確定、設計論述的撰寫,到現(xiàn)在基本上完成了所有畢業(yè)設計的項目 —— 這個漫長的過程,當然是辛苦的,不過,從個人角度來說,這個更是我大學本科四年一次對自己 專業(yè)能力的總結(jié)和升華,當我看到自己所設計的模型制作出來的時候那種震撼,真的感慨萬千??一句話,做設計很開心! 首先我要感謝我的指導老師張偉民老師,感謝他在論文寫作過程中給予我的指導和幫助。 總的來說,本系統(tǒng)基本達到了預期的目的,能夠?qū)崿F(xiàn)檢測超級電容的目的,但仍有一些不足之處,如電容測試的通道數(shù)量較少,只有 16 組,而實際應用中的超級電容組中單體電容數(shù)量均以數(shù)千計。硬件電路設計中,各部分相互獨立,降低了不必要的干擾。 (2) 完成了上位機與下位機程序設計,上位機程序設計主要基于 VC語言 ,設計了一個窗口界面,能夠完成數(shù)據(jù)接收、數(shù)據(jù)存儲等功能,下位機程序設計中詳細設計了 A/D 轉(zhuǎn)換程序、 LED 顯示程序等關(guān)鍵子程序?;?AT89C51 設計的超級電容測試系統(tǒng)基本符合設計要求,采用電阻分壓網(wǎng)絡與多路模擬開關(guān)的設計方案,較全面的考慮了各種實際中的不良因素,在設計中所體現(xiàn)的設計思想,對以后的研究工作也具有一定的參 考價值。其具體實現(xiàn)流程如圖 52 所示。其界面如圖 51 所示 [15]。 上位機界面設計 上位機程序需要完成數(shù)據(jù)的初始化、發(fā)送、接收、處理等多項功能。 開 始T I = 1 ?發(fā) 送 低 位 字 節(jié) 數(shù) 據(jù) 結(jié) 束結(jié) 束發(fā) 送 高 位 字 節(jié) 數(shù) 據(jù)NY 圖 44 串行通信子程序流程圖 洛陽理工學院畢業(yè)設計(論文) 24 第 5 章 系統(tǒng)上位機程序設計 上位機程序設計概述 本次設計的上位機采用 C 語言進行編寫。本系統(tǒng)中 A/D 轉(zhuǎn)換器產(chǎn)生的數(shù)據(jù)為 16 位兩字節(jié)數(shù)據(jù),故發(fā)送時要分兩次發(fā)送,先發(fā)送低位字節(jié)數(shù)據(jù),再發(fā)送高位字節(jié)數(shù)據(jù) [14]。 LED 顯示子程序流程圖如下: MAX7221顯 示方 式 初 始 化亮 度 初 始 化譯 碼 方 式 初始 化進 入 正 常 工作 狀 態(tài)指 向 顯 示 緩沖 區(qū)結(jié) 束開 始取 顯 示 數(shù) 據(jù)送 顯 示結(jié) 束 圖 43 LED 顯示子程序流程圖主程序流程圖 洛陽理工學院畢業(yè)設計(論文) 23 串行通信子程序 串行通信子程序主要完成單片機與上位機的通信,本設計中,當數(shù)據(jù)采集 完成后調(diào)用串行通信子程序?qū)?shù)據(jù)發(fā)送至上位機進行下一步處理。 A/D 轉(zhuǎn)換子程序流程圖如下 設 置 循 環(huán) 次數(shù)啟 動 A/D轉(zhuǎn) 換開 始轉(zhuǎn) 換 是 否 結(jié) 束送 出 數(shù) 據(jù)進 行 HEX到BCD得 轉(zhuǎn) 換NY所 有 通 道 是否 采 集 結(jié) 束所 有 通 道 是否 結(jié) 束N結(jié) 束 圖 42 A/D 轉(zhuǎn)換子程序流程 圖 洛陽理工學院畢業(yè)設計(論文) 22 LED 顯示子程序 LED 顯示子程序要完成對采樣電壓值的顯示,根據(jù)鍵盤掃描得到的鍵值,選擇相應通道的數(shù)據(jù)顯示。 系統(tǒng)主程序流程圖如圖所示: 洛陽理工學院畢業(yè)設計(論文) 20 調(diào) 用 Max7221初 始化 程 序調(diào) 用 電 壓 轉(zhuǎn) 換 初 始化 程 序調(diào) 用 TLC1864初 始化 車 程 序調(diào) 用 顯 示 程 序調(diào) 用 串 行 通 信 程 序結(jié) 束開 始 圖 41 主程序流程圖 各 部分子程序設計 根據(jù)系統(tǒng)設計要求,設計了多個子程序,有系統(tǒng)初始化、 A/D 轉(zhuǎn)換、鍵盤掃描、 LED 顯示、串行通信等。 C51 是一種在 MCS51 系列單片機是使用的特定的 C 語言,能對單片機的硬件資源進行靈活、便捷地操作,具備匯編語言的功能,同時不失高級語言的可讀性好、可移植性好的優(yōu)點,可以方便調(diào)用成熟的庫函數(shù)(或程序模塊)等現(xiàn)有資源。 具體電路實現(xiàn)如下: 圖 34 電源電路 洛陽理工學院畢業(yè)設計(論文) 18 系統(tǒng)總原理圖 系統(tǒng)總原理圖由以上各部分組成,詳見附錄 1。所以,采用此芯片接口的串行通信系統(tǒng)只需單一的+5V 電壓就可以了。 MAX232 芯片內(nèi)部有一個電源電壓變換器,可以把輸入的 +5V 電壓變換成為 RS232C 輸出電平所需的177。 現(xiàn)在采用 MAX232 單芯片實現(xiàn) AT89C51 單片機與上位機的 RS232C標準接口通信電路。 在本電路中,該 8 段 LED 數(shù)碼管與顯示驅(qū)動芯片 MAX7221 相連,其A, B, C, D, E, F, G, DP 管腳分別與 MAX7221 的 A, B, C, D, E,F(xiàn), G, DP