宋連偉, 孔祥洪, 錢衛(wèi)國, 郭陽雪, 周 華, 王偉杰, 陳 功
(1.上海海洋大學(xué)工程學(xué)院,上海201306;2.上海海洋大學(xué)物理實(shí)驗(yàn)中心,上海201306;3.國家遠(yuǎn)洋漁業(yè)工程技術(shù)研究中心,上海201306)
電子設(shè)計(jì)自動(dòng)化(Electronic Design Automation,EDA)[1]技術(shù)是現(xiàn)代電子技術(shù)和信息技術(shù)發(fā)展的杰出成果,它的發(fā)展與應(yīng)用正引領(lǐng)著一場工業(yè)設(shè)計(jì)和制作領(lǐng)域的革命。EDA技術(shù)為電子工程師提供了理想的設(shè)計(jì)工具。EDA的工具軟件很多,應(yīng)用的設(shè)計(jì)領(lǐng)域也不同,Proteus是一個(gè)用于電路設(shè)計(jì)和仿真的EDA工具軟件,它是最流行的電子仿真軟件之一,被稱為虛擬電子實(shí)驗(yàn)室。Proteus電子電路仿真軟件提供了從分立元件到集成元件,從無源器件到有源器件,從模擬器件到數(shù)字器件甚至高頻類元器件及機(jī)電類元器件等龐大的元器件庫,并且提供了功能強(qiáng)大、設(shè)備齊全的虛擬儀器和能滿足各種分析需求的分析方法[2-4]。利用這些儀器和分析方法,不僅可以清楚地了解電路的工作狀態(tài),還可以測量電路的穩(wěn)定性和靈敏度。Proteus不僅可以作為專業(yè)軟件真實(shí)地仿真分析電路的工作,將設(shè)計(jì)錯(cuò)誤盡可能地消滅在制作樣機(jī)之前,而且還可以在“電路基礎(chǔ)”、“模擬電子技術(shù)”、“數(shù)字電子技術(shù)”等電子實(shí)驗(yàn)課中充當(dāng)模擬實(shí)驗(yàn)平臺[5],將電子實(shí)驗(yàn)搬到計(jì)算機(jī)屏幕上來做。
魷魚釣機(jī)是魷釣漁業(yè)中最基本的生產(chǎn)工具[6-7],而其中電機(jī)控制部分是關(guān)鍵所在。如果要在速度控制模式下實(shí)現(xiàn)釣繩的位置監(jiān)測,則需要一個(gè)準(zhǔn)確的計(jì)時(shí)器。本文以時(shí)鐘程序的設(shè)計(jì)為例,使用 Proteus[8-9]中的AT89S51芯片[10]、LCD1602 芯片、DS1302 芯片、電壓表以及示波器等虛擬電子元件和虛擬儀器,完成魷魚釣機(jī)計(jì)時(shí)器的程序和硬件電路設(shè)計(jì)與仿真。不僅大大提高可操作性,而且降低成本、縮短產(chǎn)品開發(fā)周期。
(1)時(shí)鐘可以正確顯示時(shí)間。
(2)時(shí)鐘時(shí)間可以修改調(diào)整。
如圖1所示為所設(shè)計(jì)時(shí)鐘的系統(tǒng)功能框圖,本系統(tǒng)由AT89S51模塊、DS1302模塊、LCD1602模塊、鍵盤模塊和供電模塊共五大模塊組成。
圖1 功能框圖
①AT89S51模塊。根據(jù)用戶通過鍵盤輸入的控制命令完成DS1302時(shí)鐘芯片的讀寫操作,并將時(shí)間數(shù)據(jù)送往LCD1602模塊進(jìn)行實(shí)時(shí)顯示。②DS1302模塊。進(jìn)行時(shí)間計(jì)數(shù),為AT89S51模塊提供時(shí)間源數(shù)據(jù)。③LCD1602模塊。人機(jī)交互,完成時(shí)間數(shù)據(jù)的顯示。④鍵盤模塊。人機(jī)交互,完成用戶命令的輸入。⑤供電模塊。為整套系統(tǒng)各個(gè)模塊進(jìn)行供電。
1.3.1 最小系統(tǒng)電路設(shè)計(jì)
圖2為基于AT89S51的最小系統(tǒng)電路設(shè)計(jì)。
圖2 系統(tǒng)電路
1.3.2 晶振模塊電路設(shè)計(jì)
圖3為晶振模塊電路,該模塊電路為AT89S51模塊提供系統(tǒng)時(shí)鐘源。
圖3 晶體模塊電路
1.3.3 復(fù)位模塊電路設(shè)計(jì)
圖4為復(fù)位模塊電路[11-13],該模塊電路為AT89S51模塊提供復(fù)位信號,使系統(tǒng)復(fù)位。
圖4 復(fù)位模塊電路
1.3.4 DS1302時(shí)鐘芯片模塊電路設(shè)計(jì)
圖5為DS1302時(shí)鐘芯片模塊電路[14],該模塊電路完成時(shí)間計(jì)數(shù),為AT89S51模塊提供時(shí)間源數(shù)據(jù)。
圖5 時(shí)鐘芯片模塊電路
1.3.5 LCD1602 模塊電路設(shè)計(jì)
圖6為LCD1602模塊電路[15],該模塊電路完成時(shí)間數(shù)據(jù)的顯示。
圖6 時(shí)間顯示模塊電路
1.3.6 鍵盤模塊電路設(shè)計(jì)
圖7為鍵盤模塊電路設(shè)計(jì),該模塊電路由MENU和UP 2個(gè)按鍵組成,完成人機(jī)交互,實(shí)現(xiàn)用戶命令的輸入。
圖7 鍵盤模塊電路
1.3.7 系統(tǒng)電路的設(shè)計(jì)
圖8為系統(tǒng)電路DS1302模塊的RST、SCLK、IO 3個(gè)引腳分別與 AT89S51 模塊的 P2.5、P2.6、P2.7 連接;LCD1602模塊的數(shù)據(jù)/命令端口與AT89S51模塊的P0端口連接,其控制端E和R/W分別于AT89S51模塊的P2.0和P2.1相連接;鍵盤模塊的MENU按鍵與AT89S51模塊的P3.2(即外部中斷0)連接,UP按鍵與AT89S51模塊的P3.3(即外部中斷1)連接;系統(tǒng)各個(gè)模塊電路共地。
圖8 系統(tǒng)模塊電路
圖9 為系統(tǒng)軟件流程圖。系統(tǒng)一上電,程序便運(yùn)行各外設(shè)的初始化程序?qū)τ布O(shè)備進(jìn)行初始化。然后,時(shí)鐘進(jìn)入正常顯示狀態(tài)并開始等待用戶從鍵盤輸入的命令。當(dāng)時(shí)鐘系統(tǒng)接收到用戶輸入的命令,如果時(shí)鐘處于年調(diào)整狀態(tài),則通過點(diǎn)擊UP按鍵使年數(shù)據(jù)加加;如果時(shí)鐘處于月調(diào)整狀態(tài),則通過點(diǎn)擊UP按鍵使月數(shù)據(jù)加加;如果時(shí)鐘處于日調(diào)整狀態(tài),則通過點(diǎn)擊UP按鍵使日數(shù)據(jù)加加;如果時(shí)鐘處于時(shí)調(diào)整狀態(tài),則通過點(diǎn)擊UP按鍵使時(shí)數(shù)據(jù)加加;如果時(shí)鐘處于分調(diào)整狀態(tài),則通過點(diǎn)擊UP按鍵使分?jǐn)?shù)據(jù)加加;如果時(shí)鐘處于秒調(diào)整狀態(tài),則通過點(diǎn)擊UP按鍵使秒數(shù)據(jù)加加,如此循環(huán),實(shí)現(xiàn)時(shí)間數(shù)據(jù)的調(diào)整與正確顯示。
圖9 系統(tǒng)軟件系統(tǒng)圖
DS1302之BCD碼到十進(jìn)制時(shí)間數(shù)值的轉(zhuǎn)換公式,定義時(shí)間數(shù)值的一位為 X,從DS1302讀取的1 Byte 數(shù)據(jù)為 Val,則:
圖10為系統(tǒng)仿真圖,所設(shè)計(jì)時(shí)鐘程序要求能夠滿足:①時(shí)間數(shù)據(jù)的讀取并正確顯示;② 時(shí)間數(shù)據(jù)可以修改調(diào)整。經(jīng)測試,該程序設(shè)計(jì)滿足要求。
圖10 系統(tǒng)仿真圖
本文設(shè)計(jì)的魷魚釣機(jī)計(jì)時(shí)器程序和電路,將基本的AT89S51、DS1302、LCD1602和鍵盤模塊電路有機(jī)的結(jié)合起來。將計(jì)算機(jī)仿真軟件Proteus引入到電路設(shè)計(jì)與程序設(shè)計(jì)中,給魷魚釣機(jī)計(jì)時(shí)裝置的程序及電路設(shè)計(jì)、調(diào)試、仿真帶來了極大的方便。以本文設(shè)計(jì)的魷魚釣機(jī)計(jì)時(shí)器程序和電路為例,設(shè)計(jì)仿真過程中使用到了 Proteus中的 AT89S51芯片、LCD1602芯片、DS1302芯片、電壓表以及示波器等虛擬電子元件和虛擬儀器。Proteus虛擬電子元件和儀器的使用可以突破實(shí)驗(yàn)室元器件短缺和實(shí)驗(yàn)經(jīng)費(fèi)有限的限制,讓學(xué)生學(xué)會從不同角度思考同一問題,提出不同的解決方案,從而提高解決實(shí)際問題的能力。與此同時(shí),仿真軟件Proteus的利用使電子系統(tǒng)的設(shè)計(jì)變得輕而易舉,增強(qiáng)了可操作性,縮短了開發(fā)周期,利于推廣和利用。
[1] 王建新,姜 萍.電子線路實(shí)踐教程[M].北京:科學(xué)出版社,2005:11-12.
[2] 張靖武.單片機(jī)系統(tǒng)的PROTUES設(shè)計(jì)與仿真[M].北京:電子工業(yè)出版社,2007:21-26.
[3] 郭天祥.51單片機(jī)C語言教程:入門、提高、開發(fā)、拓展全攻略[M].北京:電子工業(yè)出版社,2009.1:323-331.
[4] 寇 戈,蔣立平.模擬電路與數(shù)字電路[M].北京:電子工業(yè)出版社.2008.7:36-45.
[5] 張俊濤.電路仿真軟件在電子技術(shù)教學(xué)實(shí)踐中的應(yīng)用[J].實(shí)驗(yàn)技術(shù)與管理,2007(6):117-118.
[6] 奈須敬二,奧谷喬司,小倉通男.イカその生物から消費(fèi)で[M].東京:成山堂書店,1991:67-69.
[7] 小倉通男.ィカ釣漁業(yè)と火光[J].日本水產(chǎn)學(xué)會誌,1992,38(8):881-889.
[8] 林 立,張俊亮,曹旭東,等.單片機(jī)原理及應(yīng)用——基于Proteus和 Keil C[M].北京:電子工業(yè)出版社,2009:9-16.
[9] 彭偉.單片機(jī) C語言程序設(shè)計(jì)實(shí)訓(xùn)100例——基于8051+Proteus仿真[M].北京:電子工業(yè)出版社,2009:13-21.
[10] 李 華,孫曉民,李紅青,等.MCS-51系列單片機(jī)實(shí)用接口技術(shù)[M].北京:北京航空航天大學(xué)出版社,1993:2-30.
[11] 孔祥洪,孟 健,王令群.凌陽16位單片機(jī)原理與應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2009:2-17.
[12] 顧 濱,孔祥洪,董昌春,等.凌陽16位單片機(jī)實(shí)訓(xùn)教程[M].北京:北京航空航天大學(xué)出版社,2009:34-36.
[13] 孔祥洪,顧 濱,董昌春,等.基于SPMC75F2413A的感應(yīng)電機(jī)開環(huán)V/F控制[J].實(shí)驗(yàn)室研究與探索,2008(4):31-35.
[14] 孔祥洪,郭陽雪.微機(jī)原理與匯編語言的可視化教學(xué)[J].計(jì)算機(jī)教育,2011(12):76-78.
[15] 鄭 峰,王巧芝,陳繪兵,等.51單片機(jī)應(yīng)用系統(tǒng)典型模塊開發(fā)大全[M].北京:中國鐵道出版社,2010:273-293.