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

单片机顺序控制

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

阅读全文

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

热点内容
android基础组件 浏览:656
建兴app怎么变成黑色了 浏览:51
文件压缩包如何加密文件 浏览:183
2010提出的算法 浏览:674
冰柜压缩机的寿命 浏览:105
办公室采访程序员 浏览:569
美橙云服务器购买 浏览:754
汉语词典pdf下载 浏览:353
android公网ip 浏览:613
要塞1地图放哪个文件夹 浏览:850
凡科建站怎么弄服务器 浏览:939
苹果手机怎么设置app播放 浏览:202
下载网站源码用什么浏览器 浏览:241
六线谱pdf 浏览:156
linuxmysqlsock 浏览:239
人教版数学pdf下载 浏览:460
文档安全加密系统 浏览:492
数控铣床编程简单数字 浏览:788
编程电缆如何重启 浏览:121
myqq命令行发消息 浏览:365