數(shù)字邏輯電路C語言描述方法介紹
2 在教學(xué)中的應(yīng)用原則
2.1教學(xué)重點(diǎn)
筆者認(rèn)為對于計(jì)算機(jī)專業(yè)的數(shù)字邏輯電路課,教學(xué)重點(diǎn)在于讓學(xué)生能夠很好地理解常用數(shù)字邏輯電路的邏輯功能,至于這些數(shù)字邏輯電路的實(shí)現(xiàn)方法有一些概念就可以了,沒有必要掌握數(shù)字邏輯電路的中小規(guī)模集成電路實(shí)現(xiàn)方法。而這些中小規(guī)模集成電路實(shí)現(xiàn)的數(shù)字邏輯電路在我們目前所用的教材中往往是重點(diǎn)講解的,這點(diǎn)對于計(jì)算機(jī)專業(yè)的學(xué)生就不是很合適。事實(shí)上,本文探索的用C51程序描述數(shù)字邏輯電路,就是基于微控制器的用軟件實(shí)現(xiàn)的數(shù)字邏輯電路。這就是說數(shù)字邏輯電路課程的重點(diǎn)內(nèi)容是理解數(shù)字邏輯電路的邏輯功能。而具體用什么方法實(shí)現(xiàn)這個邏輯功能就不是太重要了。用中小規(guī)模集成電路、可編程邏輯電路和軟件來實(shí)現(xiàn)都是可以的。2.2應(yīng)用實(shí)例
根據(jù)筆者的多年教學(xué)實(shí)踐經(jīng)驗(yàn),在計(jì)算機(jī)專業(yè)的數(shù)字邏輯電路課程教學(xué)中,靈活運(yùn)用本文論述的C51程序描述法,結(jié)合傳統(tǒng)的數(shù)字邏輯電路的描述方法,取得到了較好的教學(xué)效果。
如:對于在計(jì)算機(jī)專業(yè)中用到的較多的邏輯電路“譯碼器”。用邏輯代數(shù)描述為:
用C51程序可以描述為:
main()
{ sbit a=P1.0; // 定義布爾輸入變量a,b,c為微控制器的P1口
sbit b=P1.1;
sbit c=P1.2;
sbit y0=P2.0; // 定義布爾輸出變量y0~y7是微控制器的P2口
sbit y1=P2.1;
sbit y2=P2.2;
sbit y3=P2.3;
sbit y4=P2.4;
sbit y5=P2.5;
sbit y6=P2.6;
sbit y7=P2.7;
while(1){ // 無限循環(huán)
P1=0xff;
y0=y1=y2=y3=y4=y5=y6=y7=0;
if (a==0b==0c==0) y0=1;
if (a==0b==0c==1) y1=1;
if (a==0b==1c==0) y2=1;
if (a==0b==1c==1) y3=1;
if (a==1b==0c==0) y4=1;
if (a==1b==0c==1) y5=1;
if (a==1b==1c==0) y6=1;
if (a==1b==1c==1) y7=1;
}
}
因此,在數(shù)字邏輯電路課程中,讓學(xué)生懂得作為計(jì)算機(jī)專業(yè)的學(xué)生,單單學(xué)會數(shù)字邏輯電路的硬件實(shí)現(xiàn)方法是不夠的,還應(yīng)當(dāng)讓學(xué)生從一開始就重視學(xué)習(xí)計(jì)算機(jī)軟硬件的相互關(guān)系。如果教師在數(shù)字邏輯電路課程的教學(xué)中運(yùn)用本文論述的方法,引導(dǎo)學(xué)生從計(jì)算機(jī)軟件和硬件層次上去認(rèn)識數(shù)字邏輯電路知識,對學(xué)生學(xué)好后續(xù)專業(yè)課程有著積極的促進(jìn)意義。
3 實(shí)驗(yàn)教學(xué)方法
3.1硬件結(jié)構(gòu)
本實(shí)驗(yàn)方法的硬件部分主要由PC機(jī)以及微控制器電路和多個LED電路組成。微控制器選用Philips公司生產(chǎn)的P89C51RD2BN。該芯片內(nèi)部集成了多種功能部件,如四個8位的數(shù)字I/O口,8路A/D轉(zhuǎn)換接口、UART、定時器、看門狗定時器和FLASH存儲器等。微控制器的主要功能是:用戶輸入輸出端口狀態(tài)掃描輸入,用戶輸入輸出端口信號輸入和數(shù)字信號顯示等。實(shí)驗(yàn)硬件組成框圖如圖1所示。
圖1 實(shí)驗(yàn)硬件組成框圖
3.2ISP實(shí)現(xiàn)原理
本實(shí)驗(yàn)方法的關(guān)鍵是ISP技術(shù)。P89C51RD2BN的系統(tǒng)編程是通過標(biāo)準(zhǔn)RS232串口來完成的,它是一種內(nèi)嵌的在線可編程。內(nèi)部有一系列的硬件資源,當(dāng)微控制器對自身的Flash存儲器進(jìn)行編程時,所有底層操作都由這些內(nèi)部資源來完成。ISP編程不需要將微控制器從系統(tǒng)中取出,只要用一個開關(guān)將PSEN強(qiáng)行拉低,ALE管腳懸空,系統(tǒng)便在上電復(fù)位后進(jìn)入ISP狀態(tài)。通過免費(fèi)的編程軟件Flashmagic下載二進(jìn)制文件到微控制器,就可以運(yùn)行程序了。
3.3實(shí)驗(yàn)方法
如圖1所示,實(shí)驗(yàn)時先把ISP控制開關(guān)放置在ISP位置上,在PC機(jī)上輸入需要實(shí)現(xiàn)的數(shù)字邏輯電路的C51程序,然后經(jīng)過C51編譯器編譯,生成二進(jìn)制文件形式的目標(biāo)程序文件,然后使用Flashmagic軟件把目標(biāo)程序下載到微控制器中,再把ISP控制開關(guān)放置到微控制器的正常工作狀態(tài),按動復(fù)位按鈕,微控制器中的程序就可以正常運(yùn)行了。這時可以在輸入撥位開關(guān)上輸入數(shù)字信號,在LED上可以觀察到這個實(shí)驗(yàn)數(shù)字邏輯電路的邏輯功能的實(shí)現(xiàn)結(jié)果。改變輸入撥位開關(guān)上輸入的數(shù)字信號,可以得到不同的數(shù)字信號輸入,在LED中可以觀察分析實(shí)驗(yàn)數(shù)字邏輯電路的全部邏輯功能。
運(yùn)用本實(shí)驗(yàn)方法進(jìn)行的數(shù)字邏輯電路實(shí)驗(yàn),由于實(shí)驗(yàn)所用到的硬件設(shè)備,除PC機(jī)以外的成本是極低的,可以實(shí)現(xiàn)把實(shí)驗(yàn)帶回家的實(shí)驗(yàn)理念。在家里進(jìn)行各種有創(chuàng)造性的實(shí)驗(yàn)。讓學(xué)生真正成為實(shí)驗(yàn)學(xué)習(xí)的主人。
4 結(jié)束語
本文論述的數(shù)字邏輯電路C語言描述方法具有易懂、直觀、有創(chuàng)新性的特點(diǎn)。用該教學(xué)方法的實(shí)驗(yàn)裝置結(jié)構(gòu)簡單、成本較低、維護(hù)方便、性能可靠??梢赃M(jìn)行簡單的組合數(shù)字邏輯電路實(shí)驗(yàn),也可以進(jìn)行時序邏輯電路的實(shí)驗(yàn),能夠搭建多種趣味電路。能滿足基本教學(xué)的需要,也可以進(jìn)行綜合性、設(shè)計(jì)性實(shí)驗(yàn)。
本文引用地址:http://www.ex-cimer.com/article/149506.htm
DIY機(jī)械鍵盤相關(guān)社區(qū):機(jī)械鍵盤DIY
c語言相關(guān)文章:c語言教程
評論