㈠ 在用proteus做模擬時怎麼把程序放到單片機裡面
雙擊該單片機,出現對話框,像我們平常的打開操作一樣,「打開」找到你要燒寫的hex文件點「確定」就行了……如果電路沒有問題,點左下角的開始按鈕就可以正常運行程序了
㈡ 哪位大蝦幫幫我用AT89C51單片機控制8個Led的流水燈的單片機程序 希望是能夠模擬運行的啊!急求
為了實現8個LED的流水燈效果,你需要使用正確的LED型號,例如LED-RED。下面是一個使用AT89C51單片機控制8個LED流水燈的程序示例。這個程序能夠在模擬環境下運行。
程序代碼如下:
#include<reg51.h>
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char
uchar i, j;
void delay(uint ms) {
uchar k;
while(ms--)
for(k=0;k<123;k++);
}
void main() {
while(1) {
i=0xfe;
for(j=0;j<7;j++) {
P1=i;
i=_crol_(i,1);
delay(500);
}
for(j=0;j<7;j++) {
P1=i;
i=_cror_(i,1);
delay(500);
}
for(j=0;j<8;j++) {
P1=i;
i=i<<1;
delay(500);
}
i=0x7f;
for(j=0;j<8;j++) {
P1=i;
i=i>>1;
delay(500);
}
}
}
這個程序首先設置了8個LED的初始狀態,然後通過循環依次點亮每個LED,並在每個LED點亮後進行一定的延遲。通過改變i的值和使用位操作,實現了流水燈的效果。
使用_crol_和_cror_函數可以實現左移和右移操作,而delay函數用於產生延遲效果。整個程序通過在主循環中不斷執行這些操作,實現了LED流水燈的動態效果。
注意,在模擬環境中運行這個程序前,確保你的模擬軟體支持AT89C51單片機,並且已經正確配置了相關的寄存器和時鍾設置。
如果你在編寫和調試這個程序時遇到任何問題,可以嘗試調整延遲時間或檢查LED連接是否正確。希望這個示例能夠幫助你實現預期的效果。