首页 > 应用 > 单片机应用
[导读]
某生产线包装工序上,生产线的输送带每送进一个产品到包装机,“SP”端就输出一个脉冲到8031的T1端。要求每送进来10个产品,CPU就从P1.1输出一个信号去控制包装机工作。;-----------------------------

某生产线包装工序上,生产线的输送带每送进一个产品到包装机,“SP”端就输出一个脉冲到8031的T1端。要求每送进来10个产品,CPU就从P1.1输出一个信号去控制包装机工作。

本文引用地址: http://www.21ic.com/app/mcu/201806/764329.htm

;---------------------------------------------

求助得到的最佳答案:计数工作的题目,比较少见,程序如下。

ORG 0000H

SJMP START

ORG 001BH

SJMP T1_INT

START:

MOV TMOD, #60H ; T1计数,方式2,自动重新装入初始值

MOV TH1, #246 ; (256 - 10)

MOV TL1, #246 ; (256 - 10)

SETB TR1

SETB ET1

SETB EA

SJMP $ ;设置完成,等待中断

;------------------下面是T1中断程序,每当收到10脉冲,就执行一遍

T1_INT:

CLR P1.1 ;输出脉冲

NOP

NOP

SETB P1.1

RETI

END

;---------------------------------------------


;=============================================================

急求定时器中断LED灯灭亮实验

用汇编语言编辑单片机是8个LED灯实现第一秒只有L1不亮,其余七个全亮,第二个L2不亮,其余七个全亮

悬赏分:50 - 解决时间:2009-11-24 16:07

;---------------------------------------------

最佳答案:这是常见的定时方式,如下即可。

ORG 0000H

SJMP START

ORG 000BH

SJMP T0_INT

START:

MOV TMOD, #01H ;定时方式1

MOV TH0, #3CH ; (65536 - 50000) / 256;

MOV TL0, #0B0H ; (65536 - 50000) % 256;

SETB TR0

SETB ET0

SETB EA

MOV A, #01H

MOV R2, #20

SJMP $

;------------------下面是T0中断程序,50ms(@12MHz)执行一遍

T0_INT:

MOV TH0, #3CH ; (65536 - 50000) / 256;

MOV TL0, #0B0H ; (65536 - 50000) % 256;

DJNZ R2, T0_END

MOV R2, #20

MOV P1, A

RL A

T0_END:

RETI

END

;---------------------------------------------


;=============================================================

利用MCS-51单片机对一个由8盏灯组成的环形灯阵进行控制

要求:灯阵中每个时刻只能有一盏灯亮,且每隔十秒后灯亮的位置向左移动一位

;---------------------------------------------

最佳答案:下面两个题目采用软件延时,精度稍差,基本也可达到要求。

ORG 0000H

LJMP MAIN

ORG 0030H

MAIN:

MOV A, #7FH ;01111111--零为亮

XUN:

MOV P0, A

RL A

ACALL DELAY10s

AJMP XUN


DELAY10s: ;延时十秒子程序

MOV R5, #76

D1: MOV R6, #0

D2: MOV R7, #0

DJNZ R7, $

DJNZ R6, D2

DJNZ R5, D1

RET

END

;完


我 要 评 论

网友评论

技术子站

更多

项目外包

更多

推荐博客