网站大量收购独家精品文档,联系QQ:2885784924

单片机模拟流水线控制设计1.doc

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机模拟流水线控制设计1.doc

第1章.设计思路 按照设计要求,采用8255芯片来控制发光二极管的循环工作,8255在单片机应用系统中被广泛用作可编程外部I/O扩展接口。 首先,采用8031与8255的连接,有利于数据的处理与远距离的通讯。此项程序用8255A作为控制口电路,由PB口提供控制码,所以在8255的B口输出。同时,利用发光二极管代替流水线中的各个工序,设计要求利用3个发光二极管来代替。其中用PB0控制灯L1,PB1控制灯L2,PB2控制灯L3,PB3控制灯L4,PB4控制灯L5 ,分别用3根导线一一对应的连接他们。工序按顺序进行,也就是说3个二极管的亮灭也是顺序进行,工序轮流循环,控制时间间隔 2秒3秒4秒,所以在控制两个相邻的二极管的程序中加上准确的延时程序,为了实现工业流水线的循环执行从而在主程序后加上循环语句,根据设计的要求,3个发光二极管的亮灭不但有时间间隔而且有强行中断,所以添加中断程序以实现中断,同时在设计基本要求的基础上添加了发挥部分使得工序正常运行时绿色指示灯亮,工序中断时红色报警灯闪烁报警。 另外设置另一排发光二级管的灯L5 为工作运行指示灯用P1.2 控制,当程序开始正常运行时P1.2输出为0,代表五道工序的三盏小灯开始依次亮灭,所以工作运行指示灯在工作过程中(非中断)一直亮,直至中断返回。还有设置灯L8为中断停止灯用P1.5控制,当程序中断后,P1.5输出0亮0.1秒输出1灭0.1秒,这样会一直循环下去(中断停止灯闪烁),直至中断返回P1.5输出1一直亮着。至关重要的外部中断源INT0(P3.2)接一手动开关,可以用来控制执行中断和退出中断,当执行工序过程中P3.2一直为1(不会执行中断),为0时开始执行中断里的命令(中断时,p1.5对应的灯一直处于闪烁状态)直至手动开关退出中断(中断停止闪烁改为持续亮的状态,工作运行指示灯亮)。综上所述我们共用到一个外部中断源INT0,两个普通A/O接口(P1.2和P1.5),三个延时子程序,一个开关,若干根导线。以上为我本次设计的基本设计思路。 这次单片机课程设计,我组的题目为“8255模拟工业流水线控制(软件延时)”,经过大家几天的努力在老师的指导下终于按要求完成设计题目 第2章. 程序流程图 N Y 第3章 实验接线图 图3.1 实验原理接线图 第4章.程序清单及说明 ORG 0000H ; 给定程序的首地址 LJMP MAIN ; 跳转到主程序 ORG 0003H ; 外部中断源INT0首地址 LJMP ZD ; 跳转到中断程序 ORG 0100H MAIN:SETB EA ; 打开总中断允许 SETB EX0 ; 打开外部中断源INT0允许 CLR P1.2 ; 工作运行指示灯(绿灯)? MOV A,#80H MOV DPTR,#7FFFH MOVX @DPTR,A ; 对8255的初始化 MOV A,#80H MOV DPTR,#0FFFDH MOVX @DPTR,A ; 运行第一道工序 LCALL YS2S ; 第一道工序工作2秒(子程序调用) MOV A,#40H MOV DPTR,#0FFFDH MOVX @DPTR,A ; 运行第二道工序并且 ; 停止第一道工序 LCALL YS3S ; 第二道工序工作3秒(子程序调用) MOV A,#20H MOV DPTR,#0FFFDH MOVX @DPTR,A ; 运行第三道工序并且 ; 停止第二道工序 LCALL YS2S LCALL YS2S ; 第三道工序工作4秒(子程序调用) MOV A,#10H MOV DPTR,#0FFFDH SJMP

文档评论(0)

书屋 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档