1. 單片機實驗(proteus+keil)串列通信實驗
我給你
程序:
#include<reg51.h>
volatilechartemp;
volatilecharflag;
voidmain(void)
{
P3|=0x03;
TMOD=0x20;
TH1=0xfd;
TL1=0xfd;
TR1=1;
EA=1;
ES=1;
SM0=0;
SM1=1;
REN=1;
IP=0x00;
flag=0;
while(1)
{
while(flag==0);
flag=0;
TI=0;
SBUF=temp;
while(!TI);
}
}
voidSerialIsr(void)interrupt4
{
if(RI)
{
RI=0;
temp=SBUF;
flag=1;
}
}
2. 單片機基礎實驗3個,用WAVE軟體,滿分懸賞,在線急等
只做一題,其他請學做。
ORG 0000H
CLR A
MOV R0,#30H ;內部RAM首地址
MOV B, #0FFH ; 需要清零的長度
L: MOVX @R0,A
INC R0
DJNZ B,L
3. 單片機實驗點亮流水燈程序從第三個燈開始循環點亮 一個共有8個燈哦
led是哪個口控制的?假設是p1吧,那P1的初值就是11011111(0xdf),這表示剛開始是第三個燈亮。
之後就用左移或者右移的函數就行了,挺簡單的
4. 單片機實驗
沒有電路,看程序,有些虛無縹緲的感覺。
5. 單片機實驗數據排序
原發布者:瀚海湛藍
實驗一、數據排序實驗一、實驗目的熟悉8031指令系統,掌握程序設計方法。二、實驗內容編寫並調試一個排序子程序,其功能為用冒泡法將內部RAM中幾個單元位元組無符號的正整數,按從小到大的次序重新排列。三、實驗程序框圖NNN四、實驗步驟1把8032片內RAM區50H—5AH中放入不等的數據(用寄存器讀寫方法)。2用連續運行方式從起始地址0100H開始運行程序(輸入0100後按EXEC鍵)。3排序結束,顯示「P.」。4用寄存器讀寫方法檢查50—5AH中內容應從小到大排列。五、參考程序DORDE:MOVSP,#60H;設置棧指針MOVR3,#50HDORDE1:MOVA,R3MOVR0,A;數據指針傳送到R0MOVR7,#0AH;長度送到R7CLR00H;清零標志位MOVA,@R0DORDE2:INCR0MOVR2,ACLRC;清零進位標志MOV22H,@R0CJNEA,22H,DORDE3;是否相等SETBCDORDE3:MOVA,R2JCDORDE4;小於或等於不交換SETB00HXCHA,@R0DECR0XCHA,@R0;大於交換位置INCR0DORDE4:MOVA,@R0DJNZR7,DORDE2JB00H,DORDE1;未完繼續MOVR0,#7EH;完,關顯示器前三位MOVA,#0FFHMOVR4,#06HDORDE5:MOV@RO,ADECR0DJNZR4,DORDE5MOV7EH,#0CH
6. 單片機實驗 編寫程序
單片機實驗,其實這就是典型的流水燈電路,P1口接8個流水燈,每個燈點亮1秒。用定時器T1定時50ms,中斷20次就為1秒,可用_crol_()移位函數實現。模擬效果如下圖所示。
7. 單片機 第三次實驗:通過兩個開關控制8個燈,分為四種狀態S1,S2均打開狀態一:八個燈熄滅S1閉合
摘要 1 / 7 單片機上機實驗報告 【實驗一】 埠實驗,掌握通過埠編程實現數據輸出和輸入的方法,並觀察結果。 實驗內容:1)輸出實驗:假定4個埠全部連接發光二極體,編程實現所有發光二極體同時亮,延遲一定時間(自定)後,又同時滅,如此循環。2)輸入:從P0口輸入某個數據到累加器A,打開觀察窗口觀察數據是否進入累加器A。 實現方式:通過peripherals實現埠數據觀察實驗。 程序流程圖: 將P0到P3埠先賦值為0,調用延遲後,再賦1,然後循環執行。 源代碼:ORG 0000H ; 程序入口地址 LJMP MAIN ; 跳轉到主程序 ORG 0300H ; 主程序地址 MAIN: MOV P0,#00H; MOV P1 ,#00H; MOV P2 ,#00H; MOV P3 ,#00H ; P0~P3均賦值為0 ACALL DE