导航:首页 > 操作系统 > 单片机顺序控制

单片机顺序控制

发布时间: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

阅读全文

与单片机顺序控制相关的资料

热点内容
永久不收费的电影网站 浏览:119
儿女传奇全集目录 浏览:521
文学评论pdf 浏览:410
linux源代码导读 浏览:702
百战程序员6000集下载 浏览:146
苹果和安卓手机之间怎么克隆 浏览:465
模糊聚类算法研究 浏览:108
宝德服务器硬盘亮红灯如何解决 浏览:696
androidlibgdx下载 浏览:409
联盟pdf下载 浏览:793
南通住房公积金app支取银行怎么填 浏览:680
韩国剧情电影男主自杀2次是什么电影 浏览:646
李彩谭电影全部 浏览:703
范伟乔杉电影叫什么名字 浏览:467
中国十大免费电影网站 浏览:509
一富豪请两个女的的电影 浏览:701
如何云服务器搭建游戏 浏览:561
魔兽猎人宏命令 浏览:433
翁虹电影大全 浏览:990
如何把文件夹改变为安装包 浏览:299