




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单片机模拟流水线控制设计(总9
页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--第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为工作运行指示灯用控制,当程序开始正常运行时输出为0,代表五道工序的三盏小灯开始依次亮灭,所以工作运行指示灯在工作过程中(非中断)一直亮,直至中断返回。还有设置灯L8为中断停止灯用控制,当程序中断后,输出0亮秒输出1灭秒,这样会一直循环下去(中断停止灯闪烁),直至中断返回输出1一直亮着。至关重要的外部中断源INT0()接一手动开关,可以用来控制执行中断和退出中断,当执行工序过程中一直为1(不会执行中断),为0时开始执行中断里的命令(中断时,对应的灯一直处于闪烁状态)直至手动开关退出中断(中断停止闪烁改为持续亮的状态,工作运行指示灯亮)。综上所述我们共用到一个外部中断源INT0,两个普通A/O接口(和),三个延时子程序,一个开关,若干根导线。以上为我本次设计的基本设计思路。这次单片机课程设计,我组的题目为“8255模拟工业流水线控制(软件延时)”,经过大家几天的努力在老师的指导下终于按要求完成设计题目第2章.程序流程图工序1延时工序2延时工序3延时第3章实验接线图图实验原理接线图第4章.程序清单及说明ORG0000H;给定程序的首地址LJMPMAIN;跳转到主程序ORG0003H;外部中断源INT0首地址LJMPZD;跳转到中断程序ORG0100HMAIN:SETBEA;打开总中断允许SETBEX0;打开外部中断源INT0允许CLR;工作运行指示灯(绿灯)MOVA,#80HMOVDPTR,#7FFFHMOVX@DPTR,A;对8255的初始化MOVA,#80HMOVDPTR,#0FFFDHMOVX@DPTR,A;运行第一道工序LCALLYS2S;第一道工序工作2秒(子程序调用)MOVA,#40HMOVDPTR,#0FFFDHMOVX@DPTR,A;运行第二道工序并且;停止第一道工序LCALLYS3S;第二道工序工作3LCALLYS3SMOVA,#20HMOVDPTR,#0FFFDHMOVX@DPTR,A;运行第三道工序并且;停止第二道工序LCALLYS2SLCALLYS2S;第三道工序工作4秒(子程序调用)MOVA,#10HMOVDPTR,#0FFFDHSJMPMAIN;返回到主程序YS2S:MOV12H,#08HL8:MOV11H,#0FAHL7:MOV10H,#64HL6:NOPNOPNOPDJNZ10H,L6;共延时1m秒DJNZ11H,L7;共延时250m秒DJNZ12H,L8
;共延时2秒RET;延时2秒子程序返回YS3S:MOVR6,#0CHL5:MOVR5,#0FAHL4:MOVR4,#64HL3:NOPNOPNOPDJNZR4,L3;共延时1m秒DJNZR5,L4;共延时250m秒DJNZR6,L5;共延时3秒RET;延时3秒子程序返回YS0S:MOV13H,#64HLP1:MOV14H,#64HLP0:NOPNOPNOPDJNZ14H,LP0;共延时1m秒DJNZ13H,LP1;共延时100m秒即秒RET;延时秒子程序返回ZD:SETB;运行指示灯(绿灯)灭CLR;中断停止灯(绿灯)闪LCALLYS0S;中断停止灯亮秒SETB;中断停止灯(绿灯)亮LCALLYS0S;中断停止灯灭秒JNB,ZD;中断识别(手动开关控制)CLR;运行指示灯(绿灯)亮RETI;中断返回END第5章指令说明伪指令:在汇编语言源程序中用MCS-51指令助记符编写的程序,都回一一应地产生目标程序。但另外还有一类指令,并不产生目标程序,不影响程序的执行,仅仅产生供汇编用的某些命令,以便在汇编是执行一些特殊的操作,通常将这类指令称为伪指令。.设置起始地址ORG:一般形式为:ORGnnORG其中是伪指令的操作码助记符,操作数nn是16位二进制数。该条伪指令给出汇编语言源程序的其实地址值。因此,ORG伪指令总是出现在每段源程序或数据的开始。特别注意,在编写源程序时,要求ORG定义空间地址必须由小到大,且不能重叠。否则汇编拒绝执行,并给出错误信息。若在源程序开始不用ORG命令,则汇编将从0000H单元开始。结束汇编END:它是一个汇编结束标志,它告诉汇编该程序段已结束。因此,在一个程序设计中必须要有END语句。且END语句必须放在整个程序(包括伪指令)的后面。若END语句出现在代码块的中间,那么汇编程序不汇编END后面的语句。判直接寻址位转移指令:JNBbit,rel若(bit)=0,则(PC)^(PC)+3+rel;若(bit)=1,则(PC)t(PC)+3上述指令为检测寻址位。转移分为两种情况,一种为位变量1;另一种为位变量0,则程序转向目标地址去执行。否则地址为(PC)。(PC)+3与第三字节所给常符号的相对偏移量之和。测试位变量时,不影响任何标志。前条指令不影响原变量植,但指令在检测到后自动完成清0。长转移指令指令格式:LJMPaddr16;(PC)^addr0—15该指令又称为无条件转移指令,指令提供16位转移地址,因此,执行这条指令可以使程序从当前地址转移到64K程序存储器地址空间的任何单元,即0000H—FFFFH。指令的结果是将16位目的地址送入程序计数器PC。该指令位三字节指令:操作码、16位地址的高8位、16位地址的低8位。短调用子程序指令:ACALLDELAY这条指令是2K字节范围内的调用子程序指令。执行时先把PC加2获得下一条指令的地址,栈指针SP加1,PC7-0进栈保护,SP再加1,使PC15-8进栈保护。最后把PC的高5位和adrll连续获得子程序入口地址送入PC,转移到执行子程序.子程序返回指令:RET(PC15-8)J((SP))PC(7-0)J((SP))(SP)fP)-1这条指令的功能是从堆栈中退出PC的高位和低位字节,把栈指针减2,并以新的PC值开始执行程序,不影响任何标志。位变量修改指令:.清0指令CLRbit(bit)。。.置1指令SETB该两条指令的功能是分别是将操作数指出的位清0,置1。不影响标志位。中断返回指令指令格式:RETI该指令表示中断程序结束需要返回主程序,执行过程类似RET循环减1转移指令指令格式:DJNZ<字节>,rel这是一条减1并与0比较指令,程序每执行一次指令,就把第一操作数字节变量减1,结果送回到第一操作数中,并根据字节变量是否为0,决定程序走向:不为0则转移;为0则顺序执行。如果字节变量原为00,则执行该指令后,内容变为0FFH,不影响标志位。14总结一周的单片机实习在紧张的忙碌与学习中结束了。我学到了很多知识,也深刻的了解到实践不但完善了我在课堂上所学的,同时也增长了我的见识,开拓了我的视野使我对单片机知识的了解更加深刻。这也将为我以后的学习鉴定了坚实的基础。在这一周,通过编译程序设计,掌握了什么是编译单片机程序,编译程序工作的基本过程及其各阶段的基本任务,熟悉了编译程序总流程图,懂得了编译程序的生成过程、构造工具及其相关的技术和应用,对课本上的知识有了更深的理解。这次我的单片机实习的题目是电子时钟,当时真是让我无从下手,不知该怎样才能实现这样的功能,怎样编写这个程序。但是根据老师指导下安排我们第一天下午去图书馆查阅资料。但是最后,还是没有找到我所需要的,只能找一些相关的资料和其中的一个子程序或一个模块。接下来的两天我们小组一直都在编写程序,功夫不负有心人,我们终于编写出了时钟程序,之后去机房调试程序,结果出现多处错误的情况,但是我们没有灰心,而是共同把错误一一改正过来了。最后运行可结果还不尽人意,运行显示时虽然进行计数。但是扫描的速度太快,也不合适,但经过我们认真查找原因最后终于调试成功了。通过这次课程设计对我们学习单片机有很大的帮助,能够让我们更好的掌握单片机知识,让我们对它产生兴趣,让学习不再是一件乏味的事,让我们很好的把书本上的知识和实际联系起来,并且设计能够让我们更进一步的掌握知识和灵活的运用知识。现在我可以用多种方法实现同一个功能,并能扩展更加丰富的内容而且言简意赅。所以,我在此非常感谢老师能够为我们提供这次实习的机会,我会把握好每一次学习的机会,让自己所学到的知识得已升华。我希望以后学校能够多次的为我们提供这样的机会,让我们更好的把理论和实际结合起来,以后成为一名有用的人,为电力事业,为人民,为国家做一份贡献。再设计过程中我还遇到了很多麻烦的问题,在我们组员的共同努力下都没有解决,但是在曲乐声老师与王德君老师的耐心与孜孜不倦的教导与讲解下,终于被顺利解决,在这里我想各位指导老师表示衷心的感谢,你们辛苦了。通过这次实习,让我明白了很多不足
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 月考成绩分析会校长讲话:回归教学本质从月考数据中找答案
- 重庆市人民医院科室成本控制协助考核
- 2025年宜兴精细化工中间体项目申请报告参考范文
- 2025年教师招聘考试教育法律法规高分题库(完整版)
- 2025年压力容器项目可行性研究报告
- 中国齿科粘接剂项目经营分析报告
- 黄江安全生产培训中心课件
- 2025年中国螺旋霉素碱项目投资计划书
- 2025年中国茜素黄R 项目商业计划书
- 2025年中国氢燃料电池项目创业计划书
- 2025内蒙古国贸集团招聘11人考试参考题库及答案解析
- 2025-2026学年第一勾股定理、第二章实数检测试卷北师大版八年级数学上册
- 2025内初班语文试卷及答案
- 2025年甘肃省酒泉市瓜州县招聘村副职干部30人考试参考试题及答案解析
- 农村厨房翻建申请书
- 文库发布:《青鸟》课件
- (2025)时事政治试题库附答案详解
- 支行日常巡检方案
- 网络安全威胁建模规范
- 2025年西藏自治区事业单位招聘《公共基础》考试题库及答案解析
- 2025年上半年银行从业初级考试真题及答案
评论
0/150
提交评论