鍗旷墖链鸿
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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为报警输出,