關(guān)于proteus 8的一些基本操作在另一篇記錄中。
實(shí)驗(yàn)原理圖如下(直接在proteus中繪制):

繪圖時(shí)的注意事項(xiàng):
1.電阻不可過(guò)大,最好不能超過(guò)1k,不然的話,電路雖然可以正常運(yùn)行,但是燈不亮。
2.選用的二極管,在libraries中輸入LED時(shí)能發(fā)現(xiàn)好幾個(gè)LED種類(lèi),比如說(shuō):LED-BIBY、LED_BIGY ,LED_BIRG等,在這個(gè)實(shí)驗(yàn)里區(qū)別不大。我選用的是LED-BIBY,最后兩個(gè)字母的意思是連接在兩種極性上LED顯示不同的顏色:B-blue,Y-yellow。
3.及時(shí)保存,可能是破解版不太穩(wěn)定的緣故,我的打開(kāi)了一個(gè)上午沒(méi)有保存,結(jié)果到了下午發(fā)現(xiàn)保存不了,只能重新畫(huà)一次。
程序相關(guān)(我是直接在老師提供的案例里修改的):
安裝好Keil uVision5后在老師提供的資料里的USER文件夾有一個(gè)LED.uvprojx文件,雙擊可修改程序。

鼠標(biāo)選中上圖中的LED_pmd(),右擊選擇“Go To Definition of'LED_pmd' ”,就能跳轉(zhuǎn)到下圖。
下面這張有修改(其實(shí)就是復(fù)制粘貼修改了一下):

關(guān)于時(shí)間間隔的調(diào)整:
程序里有“delay_ms(500)”,括號(hào)里數(shù)字的可以修改。
同樣選中“K_Data_Write”右擊選擇Go To Definition of'K_Data_Write' 跳轉(zhuǎn)到led.h

在這里就加了一行
define K_Data_Write(num) PEout(8)=(num&0x01);PEout(9)=((num>>1)&0x01);PEout(10)=((num>>2)&0x01);PEout(11)=((num>>3)&0x01);PEout(12)=((num>>4)&0x01);PEout(13)=((num>>5)&0x01);PEout(14)=((num>>6)&0x01);PEout(15)=((num>>7)&0x01);
其實(shí)就是在上面的程序上面修改了一點(diǎn)然后復(fù)制粘貼下來(lái)。
~是取反的意思。