基于单片机的流量控制系统

2026/4/30 1:11:39

XXXXXXXXXXX

程序流程图如下所示:

在单片机内部RAM的20H和21H单元中有四位十六进制数(20H中为高两位),以下是将其自左到右显示出来的程序。

程序代码如下: ORG 2000H

SDIAPLAY:MOV A,20H ;20H中数送A ANL A,#0F0H ;截取高4位 MOV P1,A ;送1#MC14495 MOV A,20H ;20H中数送A SWAP A ;低4位送高4位 ANL A,#0F0H ;去掉低4位

INC A ;A1A0指向2#MC14495 MOV P1,A ;送2#MC14495 MOV A,21H ;21H中数送A

17

XXXXXXXXXXX

ANL A,#0F0H ;截取高4位

ADD A,#02H ;A1A0指向3#MC14495 MOV P1,A ;送3#MC14495 MOV A,21H ;21H中数送A SWAP A ;低4位送高4位 ANL A,#0F0H ADD A,#03 MOV P1,A RET

4.5 步进电机控制程序

程序代码如下:

ORG 2100H

PUSH ACC MOV R4,#N CLR C ORL C,PSW.5 JC ROTE MOV R0,#20H AJMP NEXT ROTE:MOV R0,#27H NEXT:MOV A,@R0 MOV P1,A ;去掉低4位

;A1A0指向4#MC14495 ;送4#MC14495 ;保护现场

;步进马达步进数送R4 ;Cy清零

;转向标志状态送Cy ;若为反转,则转ROTE ;正转模型始址送R0 ; 转入NEXT

;反转模型始址送R0 ;输出控制模型的值 ;输出控制脉冲

18

XXXXXXXXXXX

ACALL DELAY ;延时(形成脉宽) INC R0 ;准备下个模型指针 MOV A,#00H ;判断送完一遍模型值 ORL A,@R0

JZ TPL ;若模型结束,则TPL LOOP:DJNZ R4,NEXT ;若步进数未走完,则NEXT POP ACC ;恢复现场 RET :返回 TPL:MOV A,R0 CLR C

SUBB A,#06H

MOV R0,A ;恢复模型始址 AJMP LOOP ;判断步进马达步数走完? DELAY:MOV R2,#M1 ;延时 DELAY1:MOV R2,#M2 DELAY2:DEC A JNZ DELAY2

DJNZ R2,DELAY1 RET END

上述控制程序是利用程序延时来控制电机的通电时间(即形成控制脉冲)以达到正转、反转、启动和停止的。这种控制的缺点是CPU因执行延时程序而降低了效率。为了提高CPU的使用效率,常常也可采用单片机内部定时/计数器编

19

XXXXXXXXXXX

制上述程序。

总 结

随着毕业设计的结束,我的大学生涯也将随之要划上一个句号了。 在设计的这段日子里,又学到了很多东西,突然觉得自己做什么事情都特别的认真了起来,也许是以前从未认真做过一件事吧。每天守着一大堆资料,随时还要上网查询,有时为了查一个数据就要耗去近一个小时的时间,证实了却又感到莫名地兴奋与愉悦。整个设计过程都是那么的紧张、严紧。

20


基于单片机的流量控制系统.doc 将本文的Word文档下载到电脑
搜索更多关于: 基于单片机的流量控制系统 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219