單片機虛擬試驗箱設計與研究
(1) 利用51單片機的定時器設計一個時鐘系統(tǒng);
(2) I2C總線擴展DS1307時鐘芯片設計一個高精度時鐘系統(tǒng);
(3) I2C總線擴展DS1621溫度芯片設計一個實時溫度報警的時鐘系統(tǒng)。
4 單片機虛擬試驗箱實現(xiàn)教學使用實例
下面就以六位數(shù)碼管動態(tài)顯示實驗為例說明基于Proteus的單片機虛擬試驗箱的使用。
實驗內(nèi)容:六位共陰數(shù)碼管動態(tài)掃描顯示數(shù)123456;
實驗目的:理解數(shù)碼管動態(tài)顯數(shù)原理并學會單片機控制數(shù)碼管動態(tài)顯數(shù)。
實驗電路圖說明:使用了兩個74HC573鎖存器,取名為段鎖存器和位鎖存器,分別控制數(shù)碼管(共陰極)的段選端和位選端,兩個鎖存器都使用P0口送數(shù);并分別使用P2.0和P2.1來控制兩鎖存器的LE鎖存控制端,LE=1時選通,LE=0時鎖存。
實驗操作步驟:(1)根據(jù)實驗電路圖使用Keil C51 uVision2編寫代碼;(2)將編寫好的代碼編譯生成HEX格式文件加載到試驗箱中的51單片機中;(3)點擊試驗箱左下角運行按鍵即可完成實驗。
本實驗部分C51語言代碼如下:
uchar code d_table[]={
0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d}; //共陰0~6段碼
uchar code w_table []={
0xff/*空選*/,0xfe/*選中第一位*/,0xfd,0xfb,0xf7,0xef,
0xdf}; //1~6位選碼
sbit duan=P2^0; //段鎖存器選通/鎖存端
sbit wei=P2^1; //位鎖存器選通/鎖存端
void Display_123456() //動態(tài)顯示123456函數(shù)
{
for(num=1;num7;num++)
{
P0=w_table[num];
//送位碼(選中相應數(shù)碼管)
wei=1; //選通
wei=0; //鎖存
P0=d_table[num];
//送段碼(即字型碼)
duan=1;
duan=0;
delay(5); //延遲5 ms
}
}
實驗效果:如圖2所示,六位數(shù)碼管同時顯示123456。
利用Proteus軟件設計的單片機虛擬試驗箱具有很好的實用性。單片機虛擬試驗箱,不僅克服了傳統(tǒng)試驗箱購買價格昂貴,實驗內(nèi)容固定,保養(yǎng)維護困難的缺點,而且可以幫助學生隨時隨地更快、更好地掌握課堂講述的內(nèi)容,加深對單片機概念、原理的理解,彌補課堂理論教學的不足,更進一步增強學生學習單片機的興趣,大大提高學生的動手創(chuàng)新能力,并且作為個人實驗平臺,可以充分利用它所提供的資源,幫助學生提高工程應用能力。
參考文獻
[1] 周潤景,張麗娜.基于Proteus的電路及單片機系統(tǒng)設計與仿真[M].北京:北京航空航天大學出版社,2006.
[2] 張毅剛.新編MCS-51單片機應用設計[M].第三版.哈爾濱:哈爾濱工業(yè)大學出版社,2006.
[3] 李朝青.單片機原理及接口技術[M].北京:北京航天航空大學出版社,2005.
[4] 唐勇波,徐東輝.基于Proteus的單片機課程教學與實驗改革初探[J].宜春學院學報,2009,4(31):147-149.
[5] 蘇紅旗,朱紅.關于虛擬實驗室建設的思考與探討[J].科技創(chuàng)新導報,2010,1:31.
[6] 葛海江,陶姍.融合Proteus于KeiluVision的C51教學模式探索與實踐[J].中國科技信息,2009,24:238.
評論