单片机模拟流水线控制设计_第1页
单片机模拟流水线控制设计_第2页
单片机模拟流水线控制设计_第3页
单片机模拟流水线控制设计_第4页
单片机模拟流水线控制设计_第5页
免费预览已结束,剩余6页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第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秒

2、3秒4 秒,所以在控制两个相邻的二极管的程序中加上准确的延时程序,为了实现工业流水线的循环执行从而在主程序后加上循环语句,根据设计的要求,3个发光二极管的亮灭不但有时间问隔而且有强行中断,所以添加中断程序以实现中断,同 时在设计基本要求的基础上添加了发挥部分使得工序正常运行时绿色指示灯亮, 工序中断时红色报警灯闪烁报警。另外设置另一排发光二级管的灯 L5为工作运行指示灯用P1.2控制,当程 序开始正常运行时P1.2输出为0,代表五道工序的三盏小灯开始依次亮灭,所 以工作运行指示灯在工作过程中(非中断)一直亮,直至中断返回。还有设置灯 L8为中断停止灯用P1.5控制,当程序中断后,P1.5输出0

3、亮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

4、模拟工业流水线控制(软件延 时)”,经过大家几天的努力在老师的指导下终于按要求完成设计题目开始工序1延时工序2延时工序3延时第3章实验接线图宓2FL2PflO90PL5pn90PQ?G0PH二口8031DO 5o甘POfie0POT0OAO60Al00MO口Ci昨EDG0I-CDOD1D3D4D6m 戒AOAlWRRD8255IB0Bl图3.1实验原理接线图第4章.程序清单及说明给定程序的首地址跳转到主程序外部中断源INT0首地址 跳转到中断程序运行第一道工序第一道工序工作2秒(子程序调用)运行第二道工序并且停止第一道工序第二道工序工作3秒(子程序调用)运行第三道工序并且停止第二道工序第三道工

5、序工作4秒(子程序调用)ORG 0000H;LJMP MAIN ;ORG 0003H;LJMP ZD;ORG 0100H MAIN:SETB EA ;SETB EX0;CLR P1.2;MOV A,#80HMOV DPTR,#7FFFHMOVX DPTR,A ;MOV A,#80HMOV DPTR,#0FFFDHMOVX DPTR,A;LCALL YS2s;MOV A,#40HMOV DPTR,#0FFFDHMOVX DPTR,A ; ;LCALL YS3s;MOV A,#20HMOV DPTR,#0FFFDHMOVX DPTR,A ; ;LCALL YS2SLCALL YS2S ;MOV A

6、,#10HMOV DPTR,#0FFFDH打开总中断允许打开外部中断源INT0允许工作运行指示灯(绿灯)?对8255的初始化返回到主程序SJMP MAIN ; YS2S :MOV 12H,#08H L8 : MOV 11H,#0FAH L7 : MOV 10H,#64H L6 : NOPNOPNOP共延时1m秒共延时250m秒DJNZ 10H,L6DJNZ 11H,L7DJNZ 12H,L8 RET;YS3s :MOV R6,#0CH L5 : MOV R5,#0FAH L4 : MOV R4,#64H L3 : NOPNOPNOPDJNZ R4,L3;DJNZ R5,L4;DJNZ R6,L

7、5;RET;YS0S:MOV 13H,#64H LP1 :MOV 14H,#64H LP0 :NOPNOP NOPDJNZ 14H,LP0;DJNZ 13H,LP1;RET;ZD: SETB P1.2;CLR P1.5;LCALL YS0S ;SETB P1.5;LCALL YS0S ;JNB P3.2,ZD;CLR P1.2;RETI;END共延时2秒延时2秒子程序返回共延时1m秒共延时250m秒共延时3秒延时3秒子程序返回共延时1m秒共延时100m秒即0.1秒延时0.1秒子程序返回运行指示灯(绿灯)灭中断停止灯(绿灯)闪中断停止灯亮0.1秒中断停止灯(绿灯)亮中断停止灯灭0.1秒中断识别(

8、手动开关控制) 运行指示灯(绿灯)亮 中断返回第5章指令说明1 .伪指令:在汇编语言源程序中用 MCS-51指令助记符编写的程序,都回一一应 地产生目标程序。但另外还有一类指令,并不产生目标程序,不影响程序 的执行,仅仅产生供汇编用的某些命令,以便在汇编是执行一些特殊的操 作,通常将这类指令称为伪指令。(1) .设置起始地址ORG一般形式为:ORG nnOR以中是伪指令的操作码助记符,操作数 nn是16位二进制数。 该条伪指令给出汇编语言源程序的其实地址值。因此,ORGS指令总是出 现在每段源程序或数据的开始。特别注意,在编写源程序时,要求 ORG 定义空间地址必须由小到大,且不能重叠。否则汇

9、编拒绝执行,并给出 错误信息。若在源程序开始不用 OR前令,则汇编将从0000H单元开始。 (2)结束汇编END它是一个汇编结束标志,它告诉汇编该程序段已结束。因此,在一 个程序设计中必须要有 END®句。且END§句必须放在整个程序(包括 伪指令)的后面。若 END语句出现在代码块的中间,那么汇编程序不汇 编ENDt面的语句。2 .判直接寻址位转移指令:JNB bit,rel ;若(bit)=0, WJ(PC) 一 (PC)+3+rel;若(bit)=1,则(PC) 一 (PC)+3上述指令为检测寻址位。转移分为两种情况,一种为位变量1;另一种为位变量0,则程序转向目标地

10、址去执行。否则地址为(P。一(PC +3与第三字节所给常符号的相对偏移量之和。测试位变量时,不影响任何标志。前条指令不影响原变量植,但指令在检测到后自动完成满003 .长转移指令指令格式:LJMP addr16 ;(PC)addr0 15该指令又称为无条件转移指令,指令提供16位转移地址,因此,执行这条 指令可以使程序从当前地址转移到 64K程序存储器地址空间的任何单元,即 0000H- FFFFH指令的2果是将16位目的地址送入程序计数器 PC该指令 位三字节指令:操作码、16位地址的高8位、16位地址的低8位。4 .短调用子程序指令:ACALL DELAY这条指令是2K字节围的调用子程序指

11、令。执行时先把 PC加2获得下 一条指令的地址,栈指针SP加1, PC7-0进栈保护,SP再加1,使PC15-8 进栈保护。最后把PC的高5位和adrll连续获得子程序入口地址送入 PC, 转移到执行子程序.5 .子程序返回指令:RET (PC15-8)(SP)(SP)(SP)-1PC(7-0) (SP)(SP)(SP)-1这条指令的功能是从堆栈中退出 PC的高位和低位字节,把栈指针减2, 并以新的PC值开始执行程序,不影响任何标志。6 .位变量修改指令:(1) .消 0 指令 CLR bit(bit ) 0(2) .置1指令 SETB该两条指令的功能是分别是将操作数指出的位泊0,置1。不影响

12、标志位。7 .中断返回指令指令格式:RETI该指令表示中断程序结束需要返回主程序,执行过程类似RET8 .循环减1转移指令指令格式:DJNZ 字节,rel这是一条减1并与0比较指令,程序每执行一次指令,就把第一 操作数字节变量减1,结果送回到第一操作数中,并根据字节变量是否为 0,决定 程序走向:不为0则转移;为0则顺序执行。如果字节变量原为 00,则执行该指 令后,容变为0FFH不影响标志位。总结一周的单片机实习在紧的忙碌与学习中结束了。我学到了很多知识,也深 刻的了解到实践不但完善了我在课堂上所学的, 同时也增长了我的见识,开拓了 我的视野使我对单片机知识的了解更加深刻。 这也将为我以后的

13、学习鉴定了坚实 的基础。在这一周,通过编译程序设计,掌握了什么是编译单片机程序,编译程序 工作的基本过程及其各阶段的基本任务,熟悉了编译程序总流程图,懂得了编译 程序的生成过程、构造工具及其相关的技术和应用,对课本上的知识有了更深的 理解。这次我的单片机实习的题目是电子时钟, 当时真是让我无从下手,不知该 怎样才能实现这样的功能,怎样编写这个程序。但是根据老师指导下安排我们第 一天下午去图书馆查阅资料。但是最后,还是没有找到我所需要的,只能找一些 相关的资料和其中的一个子程序或一个模块。接下来的两天我们小组一直都在编 写程序,功夫不负有心人,我们终于编写出了时钟程序,之后去机房调试程序, 结果

14、出现多处错误的情况,但是我们没有灰心,而是共同把错误一一改正过来了。 最后运行可结果还不尽人意,运行显示时虽然进行计数。但是扫描的速度太快, 也不合适,但经过我们认真查找原因最后终于调试成功了。通过这次课程设计对我们学习单片机有很大的帮助,能够让我们更好的掌 握单片机知识,让我们对它产生兴趣,让学习不再是一件乏味的事,让我们很好 的把书本上的知识和实际联系起来,并且设计能够让我们更进一步的掌握知识和 灵活的运用知识。现在我可以用多种方法实现同一个功能,并能扩展更加丰富的 容而且言简意赅。所以,我在此非常感老师能够为我们提供这次实习的机会, 我会把握好每 一次学习的机会,让自己所学到的知识得已升华。我希望以后学校能够多次的为 我们提供这样的机会,让我们更好的把理论和实际结合起来,以后成为一名有用 的人,为电力事业,为人民,为国家做一份贡献。再设计过程中我还遇到了很多麻烦的问题,在我们组员的共同努力下都没 有解决,但是在曲乐声老师与王德君老师的耐心与孜孜不倦的教导与讲解下,终于被顺利解决,在这里我

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论