国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

Proteus圖表仿真在單片機(jī)控制ADC0831芯片時(shí)序中的應(yīng)用

2018-04-02 07:17朱敦忠周紅鍇呂廣文
裝備制造技術(shù) 2018年1期
關(guān)鍵詞:數(shù)碼管電壓表時(shí)序

朱敦忠,周紅鍇,呂廣文,袁 梅

(桂林理工大學(xué)南寧分校,廣西 南寧530001)

Proteus軟件是一款含有豐富的集成芯片、分立元件和硬件接口電路,能進(jìn)行PCB設(shè)計(jì)具有軟、硬件仿真相結(jié)合的EDA工具軟件,該軟件被廣泛地應(yīng)用到電類專業(yè)的“單片機(jī)”、“嵌入式”等課程教學(xué)以及電子產(chǎn)品開發(fā)過程中[1-4]。在單片機(jī)控制系統(tǒng)中單片機(jī)經(jīng)常需要和各種硬件接口電路進(jìn)行連接,在軟件設(shè)計(jì)過程中常需要依據(jù)接口芯片的時(shí)序進(jìn)行程序設(shè)計(jì),為了能更直觀地觀察單片機(jī)控制接口芯片的時(shí)序,本文設(shè)計(jì)一個(gè)單片機(jī)控制的簡易數(shù)字電壓表系統(tǒng),通過使用Proteus軟件進(jìn)行系統(tǒng)設(shè)計(jì)并使用Proteus圖表查看單片機(jī)控制ADC0831芯片的時(shí)序仿真,探索使用利用Proteus圖表波形仿真在單片機(jī)控制芯片讀寫時(shí)序仿真的方法[5]。

1 硬件系統(tǒng)開發(fā)

簡易數(shù)字電壓表系統(tǒng)以AT8951單片機(jī)作為主控芯片,以ADC0831作為模數(shù)轉(zhuǎn)換芯片并以4共陽數(shù)碼管作為顯示器件。其中ADC0831把采集的模擬電壓轉(zhuǎn)換為相應(yīng)的數(shù)字量并傳送到AT8951芯片,AT8951單片機(jī)負(fù)責(zé)數(shù)據(jù)的處理,將ADC0831芯片采集模擬電壓結(jié)果送到數(shù)碼管進(jìn)行顯示。電路連接上,在 Proteus軟件中將 AT8951單片機(jī)的 P1.0、P1.1、P1.2引腳分別與ADC0831芯片的的片選、時(shí)鐘CLK、數(shù)據(jù) DO 引腳相連接,單片機(jī) P0.0、P0.1、P0.2、P0.3 引腳與驅(qū)動(dòng)4位共陽數(shù)碼管的三極管相連接,通過單片機(jī)P2口與4位共陽數(shù)碼管段碼相連接,被測電壓用可調(diào)電阻RV4通過5 v電壓分壓模擬。簡易數(shù)字電壓表系統(tǒng)的Proteus仿真電路圖如圖1所示[6]。

2 軟件開發(fā)

2.1 簡易數(shù)字電壓表系統(tǒng)程序

如圖2所示,給出了簡易數(shù)字電壓表系統(tǒng)程序流程圖。首先對(duì)AT8951單片機(jī)、數(shù)模轉(zhuǎn)換器ADC0831芯片、4位數(shù)碼管等進(jìn)行初始化設(shè)置。接著對(duì)輸入的待測電壓進(jìn)行檢測,從ADC0831芯片讀取被測電壓值的二進(jìn)制數(shù)據(jù),然后,AT8951單片機(jī)根據(jù)算法將該二進(jìn)制數(shù)據(jù)轉(zhuǎn)換成十進(jìn)制電壓值送到數(shù)碼管進(jìn)行顯示。

圖1 簡易數(shù)字電壓表電路圖

圖2 簡易數(shù)字電壓表程序流程圖

2.2 主控單片機(jī)對(duì)模數(shù)轉(zhuǎn)換器的控制程序

在簡易數(shù)字電壓表系統(tǒng)中,AT8951單片機(jī)作為主控芯片,模數(shù)轉(zhuǎn)換器ADC0831芯片把采集的模擬電壓轉(zhuǎn)換為相應(yīng)的數(shù)字量并傳送到AT8951單片機(jī)進(jìn)行數(shù)據(jù)的處理,AT8951單片機(jī)將處理結(jié)果送到數(shù)碼管進(jìn)行顯示。因此,主控單片機(jī)AT8951對(duì)模數(shù)轉(zhuǎn)換器ADC0831芯片的軟件控制顯得尤為重要。

如圖3所示,給出了ADC0831時(shí)序[7]。

圖3 ADC0831時(shí)序圖

根據(jù)圖3,編制主控單片機(jī)控制模數(shù)轉(zhuǎn)換器ADC0831芯片讀寫時(shí)序程序如下:

3 Proteus圖表仿真查看單片機(jī)對(duì)ADC0831芯片控制的讀寫時(shí)序

3.1 使用Proteus圖表仿真查看單片機(jī)控制芯片讀寫時(shí)序仿真的步驟

(1)選擇探針模式。在Proteus的左側(cè)工具箱上選擇電壓探針按鈕圖標(biāo) ,依次在ADC0831芯片CS、CLK、DO管腳連線上放置電壓探針[5]。

(2)選擇圖表模式并放置圖表。在Proteus的左側(cè)工具箱中選擇圖表模式按鈕圖標(biāo) ,在右側(cè)的GRAPHS選項(xiàng)中選擇DIGITAL即數(shù)字圖表,然后將鼠標(biāo)移到編輯窗口,點(diǎn)擊左鍵開始放置圖表,拖出一個(gè)適當(dāng)大小的矩形,再次點(diǎn)擊左鍵完成圖表的放置[7]。

(3)添加電壓探針到數(shù)字圖表。依次選擇ADC0831芯片CS、CLK、DO管腳的電壓探針按住鼠標(biāo)左鍵拖到DIGITAL圖表中,然后釋放鼠標(biāo)左鍵(該操作像移動(dòng)探針到另一個(gè)位置一樣)[5]。

(4)生成圖表仿真波形。在主菜單[Graph]→[Simulate Graph]命令(或使用快捷鍵:空格鍵),生成仿真波形,如圖4 所示[5]。

圖4 仿真圖表波形

(5)查看仿真波形。在仿真圖表上單擊鼠標(biāo)右鍵選擇 Maximize(show window),將彈出 DIGITAL ANALYSIS-PROSPICE仿真窗口。可以通過該窗口中的View菜單,對(duì)仿真圖形放大與縮少,其中選擇Zoom Area選項(xiàng)可以將鼠標(biāo)選中的波形區(qū)域放大[5]。

3.2 分析單片機(jī)對(duì)ADC0831芯片控制的讀寫時(shí)序

查看ADC0831芯片資料,要獲得ADC0831轉(zhuǎn)換的8位數(shù)據(jù)可以通過unsigned char Read Data From ADC0831(void)函數(shù)實(shí)現(xiàn),該函數(shù)的讀寫時(shí)序控制過程為:(1)初始化。ADC0831_DO為1即將單片機(jī)P1.2口設(shè)置為輸入(目的是讀取ADC0831的DO口數(shù)據(jù)),ADC0831_CS=1,ADC0831_CLK=0;(2)啟動(dòng)過程。ADC0831_CS=0,ADC0831_CLK=0,然后經(jīng)過Tset-up時(shí)間后給ADC0831_CLK傳送一個(gè)下降沿的時(shí)鐘來啟動(dòng)ADC0831芯片進(jìn)行AD轉(zhuǎn)換;(3)獲取數(shù)據(jù)過程。每來個(gè)時(shí)鐘且在下降沿時(shí)獲取1位AD數(shù)據(jù)且一個(gè)字節(jié)數(shù)據(jù)的轉(zhuǎn)換數(shù)據(jù)傳送形式為:高位到低位依次完成數(shù)據(jù)轉(zhuǎn)換,因此依次進(jìn)行8次左移從而實(shí)現(xiàn)一個(gè)字節(jié)AD轉(zhuǎn)換結(jié)果;(4)轉(zhuǎn)換結(jié)束。ADC0831_CS=1完成數(shù)據(jù)的轉(zhuǎn)換。

查看ADC0831芯片資料Tset-up時(shí)間250 ns,從圖5的DX:+1000 n可知程序滿足ADC0831芯片Tset-up時(shí)間要求(1000 n>250 ns)。從圖5的DO可以得出ADC0831的一個(gè)字節(jié)轉(zhuǎn)換數(shù)據(jù)為(01000000)2=64,根據(jù)轉(zhuǎn)換公式:被測電壓/AD轉(zhuǎn)換數(shù)據(jù)=ADC0831參考電壓/256,即被測電壓=(ADC0831參考電壓*AD轉(zhuǎn)換數(shù)據(jù))/256,本文的簡易數(shù)字電壓表系統(tǒng)ADC0831參考電壓為5 V,被測電壓信號(hào)用可調(diào)電阻RV4對(duì)5 V電壓分壓進(jìn)行模擬,當(dāng)可調(diào)電阻RV4調(diào)到25%位置時(shí)如圖1所示,讀取到一個(gè)字節(jié)轉(zhuǎn)換數(shù)據(jù)為(01000000)2=64如圖5,經(jīng)過轉(zhuǎn)換公式計(jì)算被測電壓 =(5*64)/256=1.25 V與圖1仿真結(jié)果顯示的電壓相符。

圖5 放大后的圖表波形

4 結(jié)束語

在單片機(jī)控制系統(tǒng)中,單片機(jī)常需要根據(jù)芯片時(shí)序圖進(jìn)行讀寫控制。因此,單片機(jī)控制芯片讀寫時(shí)序是否正確將直接影響系統(tǒng)能否正常工作。使用Proteus軟件的圖表仿真波形查看單片機(jī)控制芯片讀寫時(shí)序的方法可以直觀的查看實(shí)際程序設(shè)計(jì)是否正確,該方法有助于定性的分析單片機(jī)對(duì)芯片進(jìn)行操作過程中出現(xiàn)的問題,對(duì)電類專業(yè)學(xué)生學(xué)習(xí)單片機(jī)控制芯片讀寫時(shí)序的認(rèn)識(shí)以及縮短電子工程師產(chǎn)品開發(fā)周期起到很重要的作用。

參考文獻(xiàn):

[1]周潤景,張麗娜.基于Proteus的電路及單片機(jī)設(shè)計(jì)與仿真[M].北京:北京航空航天大學(xué)出版社,2006.

[2]王 超,楊蓮紅.Proteus仿真軟件在單片機(jī)實(shí)踐教學(xué)中的應(yīng)用[J].現(xiàn)代電子技術(shù),2014,37(14):84-87.

[3]王海燕,楊艷華.Proteus和Keil軟件在單片機(jī)實(shí)驗(yàn)教學(xué)中的應(yīng)用[J].實(shí)驗(yàn)室研究與探索,2012,31(5):88-91.

[4]王 娟.Proteus軟件在單片機(jī)專題實(shí)訓(xùn)中的應(yīng)用[J].實(shí)驗(yàn)室研究與探索,2012,31(8):72-75.

[5]鄧 力.使用Proteus仿真圖表對(duì)單片機(jī)指令時(shí)序仿真[J].科技通報(bào),2013,29(5):130-133.

[6]王 瑾.基于Proteus的數(shù)字電壓表仿真設(shè)計(jì)[J].電子設(shè)計(jì)工程,2013,21(1):122-124,128.

[7]葉 剛.基于ADC0831數(shù)字電壓表的設(shè)計(jì)[J].電腦知識(shí)與技術(shù),2017,13(8):243-144.

猜你喜歡
數(shù)碼管電壓表時(shí)序
顧及多種弛豫模型的GNSS坐標(biāo)時(shí)序分析軟件GTSA
清明
如何判斷電壓表的測量對(duì)象
基于51單片機(jī)的分?jǐn)?shù)計(jì)數(shù)器設(shè)計(jì)
微課教學(xué)設(shè)計(jì)之“數(shù)碼管動(dòng)態(tài)顯示”
判斷電壓表測量對(duì)象有妙招
基于不同建設(shè)時(shí)序的地鐵互聯(lián)互通方案分析
Arduino編程
MC9S08FL16單片機(jī)數(shù)碼管靜態(tài)顯示分析
基于FPGA 的時(shí)序信號(hào)光纖傳輸系統(tǒng)