關於proteus 8的一些基本操作在另一篇記錄中。
實驗原理圖如下(直接在proteus中繪製):
第一個LED旁邊多了一個元器件,手誤不小心畫上去的,不礙事,去掉即可
繪圖時的注意事項:
1.電阻不可過大,最好不能超過1k,不然的話,電路雖然可以正常運行,但是燈不亮。2.選用的二極管,在libraries中輸入LED時能發現好幾個LED種類,比如說:LED-BIBY、LED_BIGY ,LED_BIRG等,在這個實驗裡區別不大。我選用的是LED-BIBY,最後兩個字母的意思是連接在兩種極性上LED顯示不同的顏色:B-blue,Y-yellow。3.及時保存,可能是破解版不太穩定的緣故,我的打開了一個上午沒有保存,結果到了下午發現保存不了,只能重新畫一次。
程序相關(我是直接在老師提供的案例裡修改的):
安裝好Keil uVision5後在老師提供的資料裡的USER文件夾有一個LED.uvprojx文件,雙擊可修改程序。
鼠標選中上圖中的LED_pmd(),右擊選擇“Go To Definition of'LED_pmd' ”,就能跳轉到下圖。下面這張有修改(其實就是複製粘貼修改了一下):
關於時間間隔的調整:程序裡有“delay_ms(500)”,括號裡數字的可以修改。
同樣選中“K_Data_Write”右擊選擇Go To Definition of'K_Data_Write' 跳轉到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);
其實就是在上面的程序上面修改了一點然後複製粘貼下來。
~是取反的意思。