鍗旷墖链鸿

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

河北工业大学计算机硬件技术基础(MCS-51)2007年课程设计

报告

一、题目:工业顺序控制

二、问题的提出

1.目的:

(1)培养学生综合利用MCS-51单片机的软硬件知识进行程序设计的能

力,解决一些实际问题。

(2)进一步加深对MCS-51单片机内部结构和程序设计方法的理解。

(3)提高学生建立程序文档、归纳总结的书面表达能力。

(4)通过查阅和网上搜索资料,提高学生独立获取知识的能力。

(5)在设计的全过程中,通过理论与实践相结合,培养和提高学生的实

践能力和创新能力。

三、总体设计

1、分析问题的功能

在工业控制中,像冲压、注塑、轻纺、制瓶等生产过程,都是一些继续生产过程,按某种顺序有规律的完成某种预定的动作,对这类继续生产过程称为顺序控制,倒注塑机工艺大致按“合模-注射-延时-开模-产伸-产退”顺序工作。

P1.0~P1.6代表控制注塑机的七道工程,模拟控制七只发光二极管的点亮,低电平有效,设每道工序时间为延时,P3.4为开工启动开关,低电平启动,P3.3为外部故障输入模拟开关,低电平报警,P1.7为报警输出,前六道工序只有一位输出,第七道工序中有三位输出。

2、系统总体结构设计

根据上述问题描述,本设计运用了两个中断,一个外部INT1中断,一个定时

器T/C1中断,

四、详细设计:

1、画出电路图;

2. 流程图

3、设计中的主要困难及解决方案

1)困难1 实现蜂鸣器与故障中断的同步

解决方法:当语句LOOP: JNB P3.3,LOOP 循环执行时,开定时器不断给蜂鸣器高低方波,这样,只要定时器一直开着,蜂鸣器就一直处于鸣响状态,直到外部中断解除。

LOOP: JNB P3.3, LOOP

SETB P1.7

CLR ET1

RETI

定时器停止工作,工程回到端点继续执行。

2)困难2 各工序的用时应该不同

我们准备了几个不同的子程序,每个灯亮时就可以调用不同的子程序了,这样等量的时间就不同了。

三、程序清单

ORG 8000H

AJMP MAIN

ORG 8013H

LJMP INT1SV

ORG 801BH

LJMP T1S

MAIN: MOV SP, #5FH

SETB EA ;允许CPU中断

SETB EX1 ;允许INT1中断

CLR IT1 ;INT1为电平触发

L0: JNB P3.4, L1

AJMP L0 ;是否开工?

L1: ;第一道工序

SETB P1.7

CLR P1.0

ACALL DLAY

L3: SETB P1.0 ;第二道工序

CLR P1.1

ACALL DLAYA

AJMP L4

L4:SETB P1.1 ;第三道工序

CLR P1.2

ACALL DLAYB

AJMP L5

L5: SETB P1.2 ;第四道工序

CLR P1.3

ACALL DLAY

L6: SETB P1.3 ;第五道工序

CLR P1.4

ACALL DLAYA

L7:SETB P1.4 ;第六道工序

CLR P1.5

ACALL DLAYB

L8: SETB P1.5 ;第七道工序

CLR P1.6

ACALL DLAYA

SETB P1.6

WAIT: MOV P1, #0ffH

MOV R7, #0

Lp: MOV R6, #0

DJNZ R6, $

DJNZ R6, $

DJNZ R6, $

DJNZ R7, Lp

AJMP L0

DLAY: MOV R4, #01H ;延时子程序DLAY1: MOV R5, #0fH

DLAY2: MOV R6, #5fH

DLAY3: MOV R7, #0ffH

DLAY4: DJNZ R7, DLAY4

DJNZ R6, DLAY3

DJNZ R5, DLAY2

DJNZ R4, DLAY1

RET

DLAYA: MOV R4, #01H ;延时子程序A DLAYA1: MOV R5, #0fH

DLAYA2: MOV R6, #0ffH

DLAYA3: MOV R7, #0ffH

DLAYA4: DJNZ R7, DLAYA4

DJNZ R6, DLAYA3

DJNZ R5, DLAYA2

DJNZ R4, DLAYA1

RET

DLAYB: MOV R3, #01H ;延时子程序B DLAYB1: MOV R4, #0fH

DLAYB2: MOV R5, #0fH

DLAYB3: MOV R6, #1fH

DLAYB4: MOV R7, #0ffH

DLAYB5: DJNZ R7, DLAYB5

DJNZ R6, DLAYB4

DJNZ R5, DLAYB3

DJNZ R4, DLAYB2

DJNZ R3, DLAYB1

RET

INTI中断程序:

INT1SV: MOV TMOD, #10H ;选用工作模式寄存器方式1

MOV TH1, #0FFH ;定时器赋初值

MOV TL1, #00H

SETB PT1 ;定义T/C1为高优先级中断

SETB ET1 ;允许T/C1中断

SETB TR1 ;启动T/C1定时器

LOOP: JNB P3.3, LOOP ;有故障则循环等待,故障解除往下运行SETB P1.7 ;蜂鸣器关闭

CLR ET1 ;关T/C1中断

RETI

T1S: MOV TH1, #0FFH

MOV TL1, #00H

CPL P1.7 ;蜂鸣器报警

RETI

END

四、调试程序的方法

1)硬件调试方法(确定硬件工作是否正常)

在没接线之前,打开电源开关,如果电源灯亮,且没有杂音,则硬件工作正常。

2)软件调试方法(如何调试程序的方法)

首先接好排线开关,然后将 A2区的INT1接开关SW2,A2区的T0接开关SW1,A2区的PI.7接蜂鸣器。程序运行前,均SW1SW2置一,程序开始运行后,将SW1置零,灯开始闪亮,如果将SW2置零,则第六个灯亮,同时蜂鸣器开始响,再将SW2置一,蜂鸣器停止响,第七个灯灭。如果将SW1置一,六个灯闪亮完一遍后才停止。

五、你所设计的程序最终完成的功能

1)说明你编制的程序能完成的功能;

P1.0~P1.6代表控制注塑机的七道工程,模拟控制七只发光二极管的点亮,低电平有效,设每道工序时间为延时,P3.4为开工启动开关,低电平启动,P3.3为外部故障输入模拟开关,低电平报警,P1.7为报警输出,

相关文档
最新文档