導航:首頁 > 操作系統 > 單片機順序控制

單片機順序控制

發布時間:2023-02-09 17:31:12

單片機實現的順序控制,跪求程序

#include<reg51.h>
sbitP3_4=P3^4;
voidDelay(unsignedintt)
{
while(t--);
}
voidmain()
{
EX1=1;//外部中斷1允許
IT1=0;//電平觸發中斷
EA=1;//總中斷允許
while(1)
{
P1&=0xfe;//工序1,完成後進入工序2
Delay(2000);
P1&=0xfd;//工序2,完成後進入工序3
Delay(2000);
P1&=0xfb;
Delay(2000);
P1&=0xf7;
Delay(2000);
P1&=0xef;
Delay(2000);
P1&=0xdf;
Delay(2000);
P1&=0x8f;
Delay(2000);//7道工序完成,重新開始循環
}
}
voidint1_isp()interrupt2//外部中斷1中斷服務函數

SPK=~P3_4;//報警

❷ 怎樣用單片機C語言來實現順序控制系統的設計

用c語言寫的話多少位的都一樣加減乘除,用匯編語言的話要考慮單片機的位數

❸ 單片機設計時間順序控制器

ORG 0000H LJMP MAIN ORG 0003H;外中斷入口地址 LJMP MDH ORG 000BH;定時器中斷入口地址 LJMP LDH ORG 1000H MAIN:MOV TMOD,#01H;設置工作模式為模式1 MOV TL0,#0B0H;設置初值 MOV TH0,#3CH SETB TR0;定時器啟動定時 SETB EA;中斷總允許 SETB ET0;定時器中斷允許 SETB EX0;外中斷1允許 CLR IT0;設為低電平有效 CLR P3.2;報警處理 CLR F0;1s未到,則(F0)=0 SETB P0;繼電器低電平有效 MOV R7,#10;定時器計數10次 MOV R2,#01H;工作段1 MOV 31H,#11H MOV 40H,#98;每段倒計時的初值 MOV 41H,#46 MOV 42H,#56 MOV 43H,#68 MOV P2,#00H;准備點亮 MOV P1,#0F3H;顯示字形「P」 LP: JB P3.0,LP1;P3.0=1則轉LP1 LJMP LP;P3.0=0則返回LP繼續判斷 LP1:MOV R5,40H;將40H單元里的數暫存在R5中 MOV P0,#0FEH;啟動一段工作 LP2:LCALL DISPLAY;調用倒計時顯示1s DJNZ R5,LP2;98s未到則返回LP2 LP3:INC R2;工作段數自加1 MOV R5,41H MOV P0,#0FDH;啟動二段工作 LP4:LCALL DISPLAY DJNZ R5,LP4;46s未到則返回LP4 LP5:INC R2 MOV R5,42H MOV P0,#0FBH;啟動第三段工作 LP6:LCALL DISPLAY DJNZ R5,LP6 LP7: INC R2 MOV R5,43H MOV P0,#0F7H;啟動第四段工作 LP8: LCALL DISPLAY DJNZ R5,LP8 LJMP LP1 LDH:PUSH PSW;保護現場 PUSH ACC MOV TL0,#0B0H;重置初值 MOV TH0,#3CH DJNZ R7,LDH;1s未到則轉REN SETB F0;1s到則將F0置1 CLR TR0;停止定時 MOV R7,#10 POP PSW;恢復現場 POP ACC RETI ;中斷返回 MDH: PUSH PSW PUSH ACC CLR TR0;停止定時 SETB P3.2;報警 JB P3.2,MDH;P3.2=1,則轉MDH SETB TR0;啟動定時 CLR P3.2;報警清除 POP PSW;保護現場 POP ACC;恢復現場 RETI DISPLAY:MOV 30H,R2;將工作段拆字送顯緩 MOV A,R5;送數 MOV B,A ANL A,#0FH;屏蔽高四位 MOV 33H,A MOV A,B SWAP A;高低四位交換 ANL A,#0FH;屏蔽高四位 MOV 32H,A MOV R7,#10 DEL:LCALL WD;調用顯示子程序 JNB F0,DEL;1s未到則返回DEL CLR C;CY清零 MOV A,#9AH SUBB A,#01H;作二進制減法求其補碼 ADD A,R5;相加 DA A;BCD碼調整 MOV R5,A WD:M0V R1,#30H;顯示緩沖區首址 MOV R6,#0F7H;准備點亮左邊第一位 MOV R4,#0FFH;延時常數 WD1:MOV A,@R1;取數據 MOV DPTR,#SGTR;指向七段碼 MOVC A,@A+DPTR;查七段碼 MOV P1,A;取數位代碼 MOV A,R6; MOV P2,A;輸出數位代碼 WD2:DJNZ R4,WD2;延時 INC R1;指向下一緩存 MOV A,R6 RR A;數位碼左移,准備顯示下一位 MOV R6,A JB ACC.4,WD1;四位未顯示完轉WD1 RET SGTR: DB 3FH,06H,5BH,4FH,66H,6DH DB 7DH,07H,7FH,6FH,77H,7CH DB 39H,5EH,79H,71H,00H,40H,0F3H

閱讀全文

與單片機順序控制相關的資料

熱點內容
我的世界命令方塊獲得超強裝備 瀏覽:424
單片機專項實訓知識總結 瀏覽:458
sublimecss壓縮 瀏覽:124
瀏覽器下載的app刪除了怎麼找回 瀏覽:773
朋友圈解壓文字軟體 瀏覽:918
keil5編程32單片機 瀏覽:638
pdf文件截取 瀏覽:161
伺服器放到雲上和雲下有啥區別 瀏覽:673
單片機玻璃管加熱研究成果 瀏覽:764
財產pdf 瀏覽:799
java添加圖標 瀏覽:895
命令與征服4任務攻略 瀏覽:99
演算法和邏輯程序驗證 瀏覽:775
用戶管理系統php模板 瀏覽:428
中國銀行app賬號怎麼登錄 瀏覽:873
安卓手機icloud雲伺服器地址 瀏覽:809
加密門禁如何寫到小米手機 瀏覽:177
java靜態方法的多線程 瀏覽:274
CAXAXp下載打不開要加密 瀏覽:252
開鎖pdf 瀏覽:97