張杰
(天津輕工職業(yè)技術(shù)學(xué)院,天津300000)
隨著電子技術(shù)的迅速發(fā)展,電子產(chǎn)品已深入地滲透到我們的生活中,單片機(jī)在其中得到了廣泛的應(yīng)用,但單片機(jī)的內(nèi)容比較抽象,相對于模擬電路、數(shù)字電路,單片機(jī)的開發(fā)和調(diào)試更為復(fù)雜,需要更多的調(diào)試設(shè)備,但這些設(shè)備價(jià)格不菲,英國的Labcenter公司推出了具有單片機(jī)系統(tǒng)仿真功能的Proteus軟件,Proteus是模擬電路、數(shù)字電路、模/數(shù)混合電路的設(shè)計(jì)與仿真平臺(tái);更是單片機(jī)系統(tǒng)先進(jìn)的設(shè)計(jì)與仿真平臺(tái)。它真正實(shí)現(xiàn)了在計(jì)算機(jī)上完成從原理圖與電路設(shè)計(jì)、電路分析與仿真、單片機(jī)代碼級(jí)調(diào)試與仿真、系統(tǒng)測試與功能驗(yàn)證到形成PCB的完整的設(shè)計(jì)與仿真過程。
Proteus軟件主要由ISIS和ARES兩部分組成,ISIS的主要功能是原理圖設(shè)計(jì)及電路原理的交互仿真,ARES主要用于印制電路板的設(shè)計(jì)。其中Proteus ISIS可以仿真51系列、AVR,PIC,ARM等常用的MCU,并提供周邊設(shè)備的仿真,下面介紹一下ISIS的主要功能。
2.1 Proteus介紹
Proteus實(shí)現(xiàn)了單片機(jī)仿真和Spice電路仿真相結(jié)合。具有模擬電路仿真、數(shù)字電路仿真、單片機(jī)及其外圍電路組成的系統(tǒng)的仿真、RS 232動(dòng)態(tài)仿真、I2C調(diào)試器、SPI調(diào)試器、鍵盤和LCD系統(tǒng)仿真的功能;有各種虛擬儀器,如示波器、邏輯分析儀、信號(hào)發(fā)生器等。支持主流單片機(jī)系統(tǒng)的仿真。目前支持的單片機(jī)類型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各種外圍芯片。提供軟件調(diào)試功能。在硬件仿真系統(tǒng)中具有全速、單步、設(shè)置斷點(diǎn)等調(diào)試功能,同時(shí)可以觀察各個(gè)變量、寄存器等的當(dāng)前狀態(tài),因此在該軟件仿真系統(tǒng)中,也必須具有這些功能;同時(shí)支持第三方的軟件編譯和調(diào)試環(huán)境,如Keil C51μVision 2等軟件。
2.2 單片機(jī)數(shù)字時(shí)鐘系統(tǒng)硬件的搭建
單片機(jī)、按鍵、74LS254芯片、LED數(shù)碼管等是組合是單片機(jī)數(shù)字時(shí)鐘的最基本的元件。在開發(fā)實(shí)際的單片機(jī)數(shù)字時(shí)鐘系統(tǒng)時(shí),"人機(jī)對話"部分主要靠這個(gè)系統(tǒng)來實(shí)現(xiàn)。在編寫這部分程序時(shí)要進(jìn)行頻繁的測試從而更改一些參數(shù)使系統(tǒng)達(dá)到良好的工作狀態(tài),常見的問題有:顯示界面的布局、菜單層次的設(shè)置、按鍵靈敏度和防抖的參數(shù)等。有了下面介紹的Proteus仿真,這些測試和一些經(jīng)驗(yàn)值的調(diào)整就可以不需要進(jìn)行頻繁的硬件測試了,而只需要改動(dòng)源程序中的一些函數(shù)調(diào)用。這個(gè)系統(tǒng)可以稍加改動(dòng)輕松應(yīng)用于其他各類系統(tǒng)的輸入和輸出部分,具有普遍意義。
數(shù)碼管介紹
在數(shù)字系統(tǒng)中,經(jīng)常需要將測量、時(shí)鐘或數(shù)值運(yùn)算結(jié)果等字符顯示出來,便于人們監(jiān)視數(shù)字系統(tǒng)的工作情況。可見,數(shù)字顯示電路是數(shù)字設(shè)備中不可或缺的組成部分。
7段熒光數(shù)碼管屬于分段式半導(dǎo)體顯示器件。每個(gè)數(shù)碼管都由7個(gè)發(fā)光段組成(小數(shù)點(diǎn)不包括在內(nèi))。這7個(gè)發(fā)光段其實(shí)就是7個(gè)發(fā)光二極管,它的PN結(jié)是由一種特殊的半導(dǎo)體材料——磷砷化鎵做成。當(dāng)外加正向電壓時(shí),發(fā)光二極管可以將電能轉(zhuǎn)換為光能,從而能夠發(fā)出清瑩悅目的光線,數(shù)碼管的分類
共陰極數(shù)碼管
7段熒光數(shù)碼管有公共的地,即7個(gè)發(fā)光二極管的負(fù)極全部連接在了一起,只要給想點(diǎn)亮的二極管高電平就可以使其發(fā)光。這樣做的好處是可以免去布線、相互間的干擾等很多麻煩。這種連接方式的數(shù)碼管叫做共陰極數(shù)碼管。
共陽極數(shù)碼管
可以給出共同的正向電壓,然后通過控制負(fù)極的電壓來控制二極管的發(fā)光或者熄滅。要電器特性參數(shù)和芯片的驅(qū)動(dòng)能力準(zhǔn)許,完全可以通過控制負(fù)極的電壓來控制二極管的發(fā)光或者熄滅。這種連接方式的數(shù)碼管又叫做共陽極數(shù)碼管。
對應(yīng)前面介紹的兩種數(shù)碼管可以采用灌電流和拉電流兩種連接方法,如果采用了灌電流連接,就要相對應(yīng)地選擇共陽極數(shù)碼管;反之,如果采用了拉電流連接,就要相應(yīng)選擇共陰極數(shù)碼管。實(shí)際使用中可以根據(jù)器件的特性參數(shù)做出合適的選擇。
下面通過單片機(jī)數(shù)字時(shí)鐘系統(tǒng)的開發(fā)來具體闡釋Proteus在單片機(jī)開發(fā)系統(tǒng)中的應(yīng)用。
仿真電路。數(shù)碼管將從12-00-00開始顯示時(shí)間,小時(shí)按鍵和分鐘按鍵可用于調(diào)整小時(shí)與分鐘,在調(diào)整過程中,時(shí)鐘以新的時(shí)間為起點(diǎn)繼續(xù)顯示,數(shù)碼管采用動(dòng)態(tài)掃描顯示的方式。
仿真程序
時(shí)分秒程序部分
void Increase_Hour()
{
if(++h>23)h=0;
DSY_BUFFER[0]=DIS_CODE[h/10];
DSY_BUFFER[1]=DIS_CODE[h%10];
}
void Increase_Minute()
{
if(++m>60)
{m=0;Increase_Hour();}
DSY_BUFFER[3]=DIS_CODE[m/10];
DSY_BUFFER[4]=DIS_CODE[m%10];
}
void Increase_Second()
{
if(++s>59)
{s=0;Increase_Minute();}
DSY_BUFFER[6]=DIS_CODE[s/10];
DSY_BUFFER[7]=DIS_CODE[s%10];
}
程序初始化部分
P0=P3=0xff;
TMOD=0X11;
TH0=(65536-1000)/256;
TL0=(65536-1000)%256;
TH1=0xDC;
TL1=0;
TCON=0x01;
EA=1;ET0=1;
ET1=1;
仿真結(jié)果。仿真電路及仿真結(jié)果如圖1所示。
單片機(jī)技術(shù)是現(xiàn)代電子工業(yè)中不可缺少的一項(xiàng)技術(shù),掌握單片機(jī)技術(shù)是產(chǎn)品開發(fā)的重要條件,Proteus在單片機(jī)應(yīng)用產(chǎn)品研發(fā)中有著非常重要的作用。是產(chǎn)品研發(fā)的高效、經(jīng)濟(jì)、可靠的單片機(jī)系統(tǒng)設(shè)計(jì)與仿真平臺(tái)。基于Proteus的單片機(jī)虛擬開發(fā)環(huán)境有利于提高產(chǎn)品的開發(fā)效率;利用仿真系統(tǒng),不但可以節(jié)約開發(fā)時(shí)間和開發(fā)成本,而且還具有很大的靈活性和可擴(kuò)展性,相信隨著越來越多的人對Proteus的了解和使用,它會(huì)對我們的學(xué)習(xí)、科研和工作帶來越來越多的幫助。
[1]彭偉.單片機(jī)C語言程序設(shè)計(jì)實(shí)訓(xùn)100例:基于8051+Proteus仿真[J].電子工業(yè)出版社.
[2]張靖武,周靈彬.單片機(jī)系統(tǒng)的PROTEUS設(shè)計(jì)與仿真[J].電子工業(yè).
[3]周潤景.基于PROTEUS的電路及單片機(jī)系統(tǒng)設(shè)計(jì)與仿真[J].北京航空航天大學(xué)出版社.
[4]張迎新.單片機(jī)初級(jí)教程:單片機(jī)基礎(chǔ)[J].北京航空航天大學(xué)出版社.
[5]單片機(jī)典型模塊設(shè)計(jì)實(shí)例導(dǎo)航(第2版)求是科技[J].人民郵電出版社.