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

上传人:公**** 文档编号:470097825 上传时间:2024-02-23 格式:DOCX 页数:19 大小:88.47KB
返回 下载 相关 举报
单片机模拟流水线控制设计_第1页
第1页 / 共19页
单片机模拟流水线控制设计_第2页
第2页 / 共19页
单片机模拟流水线控制设计_第3页
第3页 / 共19页
单片机模拟流水线控制设计_第4页
第4页 / 共19页
单片机模拟流水线控制设计_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《单片机模拟流水线控制设计》由会员分享,可在线阅读,更多相关《单片机模拟流水线控制设计(19页珍藏版)》请在金锄头文库上搜索。

1、单片机模拟流水线控制设计(总9页)-本页仅作为文档封面,使用时请直接删除即可-内页可以根据需求调整合适字体及大小-第1章.设计思路按照设计要求,采用8255芯片来控制发光二极管的循环工作,8255在单片 机应用系统中被广泛用作可编程外部I/O扩展接口。首先,采用8031与8255的连接,有利于数据的处理与远距离的通讯。此项 程序用8255A作为控制口电路,由PB 口提供控制码,所以在8255的B 口输 出。同时,利用发光二极管代替流水线中的各个工序,设计要求利用3个发光 二极管来代替。其中用PB0控制灯L1,PB1控制灯L2,PB2控制灯L3,PB3控 制灯L4,PB4控制灯L5,分别用3根导

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

3、一直亮,直至中断返回。还有设置灯L8为中 断停止灯用控制,当程序中断后,输出0亮秒输出1灭秒,这样会一直循环下 去(中断停止灯闪烁),直至中断返回输出1 一直亮着。至关重要的外部中断 源INT0()接一手动开关,可以用来控制执行中断和退出中断,当执行工序过 程中一直为1(不会执行中断),为0时开始执行中断里的命令(中断时,对 应的灯一直处于闪烁状态)直至手动开关退出中断(中断停止闪烁改为持续亮 的状态,工作运行指示灯亮)。综上所述我们共用到一个外部中断源INT0,两 个普通A/O接口(和),三个延时子程序,一个开关,若干根导线。以上为我 本次设计的基本设计思路。这次单片机课程设计,我组的题目为

4、“8255模拟工业流水线控制(软件延 时)”,经过大家几天的努力在老师的指导下终于按要求完成设计题目第2章.程序流程图工序1延时工序2延时工序3延时第3章实验接线图图实验原理接线图第4章.程序清单及说明ORG 0000H;给定程序的首地址LJMP MAIN;跳转到主程序ORG 0003H;外部中断源INT0首地址LJMP ZD;跳转到中断程序ORG 0100HMAIN:SETB EA;打开总中断允许SETB EX0;打开外部中断源INT0允许CLR;工作运行指示灯(绿灯)MOV A,#80HMOV DPTR,#7FFFHMOVX DPTR,A ;对 8255 的初始化MOV A,#80HMOV

5、 DPTR,#0FFFDHMOVX DPTR,A ;运行第一道工序LCALL YS2S ;第一道工序工作2秒(子程序调用)MOV A,#40HMOV DPTR,#0FFFDHMOVX DPTR,A ;运行第二道工序并且;停止第一道工序LCALL YS3S;第二道工序工作3秒(子程序调用)MOV A,#20HMOV DPTR,#0FFFDHMOVX DPTR,A;运行第三道工序并且;停止第二道工序LCALL YS2SLCALL YS2S ;第三道工序工作4秒(子程序调用)MOV A,#10HMOV DPTR,#0FFFDHSJMP MAIN ;返回到主程序YS2S :MOV 12H,#08HL8

6、 : MOV 11H,#0FAHL7 : MOV 10H,#64HL6 : NOPNOPNOPDJNZ 10H,L6;共延时 1m 秒DJNZ 11H,L7;共延时 250m 秒DJNZ 12H,L8;共延时2秒RET;延时2秒子程序返回YS3S :MOV R6,#0CHL5 : MOV R5,#0FAHL4 : MOV R4,#64HL3 : NOPNOPNOPDJNZ R4,L3;共延时1m秒DJNZ R5,L4;共延时 250m 秒DJNZ R6,L5;共延时3秒RET;延时3秒子程序返回YS0S:MOV 13H,#64HLP1 :MOV 14H,#64HLP0 :NOPNOPNOPDJ

7、NZ 14H,LP0;共延时 1m 秒DJNZ 13H,LP1;共延时100m秒即秒RET;延时秒子程序返回ZD: SETB;运行指示灯(绿灯)灭CLR;中断停止灯(绿灯)闪LCALL YS0S ;中断停止灯亮秒SETB;中断停止灯(绿灯)亮LCALL YS0S ;中断停止灯灭秒JNB ,ZD ;中断识别(手动开关控制)CLR;运行指示灯(绿灯)亮RETI;中断返回END第5章指令说明1. 伪指令:在汇编语言源程序中用MCS-51指令助记符编写的程序,都回一一 应地产生目标程序。但另外还有一类指令,并不产生目标程序,不影响 程序的执行,仅仅产生供汇编用的某些命令,以便在汇编是执行一些特 殊的操

8、作,通常将这类指令称为伪指令。(1) .设置起始地址ORG :一般形式为:ORG nnORG其中是伪指令的操作码助记符,操作数nn是16位二进制 数。该条伪指令给出汇编语言源程序的其实地址值。因此,ORG伪指 令总是出现在每段源程序或数据的开始。特别注意,在编写源程序 时,要求ORG定义空间地址必须由小到大,且不能重叠。否则汇编拒 绝执行,并给出错误信息。若在源程序开始不用ORG命令,则汇编将 从0000H单元开始。(2) 结束汇编END :它是一个汇编结束标志,它告诉汇编该程序段已结束。因此,在 一个程序设计中必须要有END语句。且END语句必须放在整个程序 (包括伪指令)的后面。若END语

9、句出现在代码块的中间,那么汇编 程序不汇编END后面的语句。2. 判直接寻址位转移指令:JNB bit,rel 若(bit)=0,则(PC)(PC)+3+rel;若(bit)=1,则(PC)t(PC)+3上述指令为检测寻址位。转移分为两种情况,一种为位变量1;另 一种为位变量0,则程序转向目标地址去执行。否则地址为(PC)。(PC) +3与第三字节所给常符号的相对偏移量之和。测试位变量时,不影响任何标志。前条指令不影响原变量植,但指令在检测到后自动完 成清0。3. 长转移指令指令格式:LJMP addr16 ;(PC) addr015该指令又称为无条件转移指令,指令提供16位转移地址,因此,执

10、行这条指令可以使程序从当前地址转移到64K程序存储器地址空间的任何单元, 即0000HFFFFH。指令的结果是将16位目的地址送入程序计数器PC。该指令位三字节指令:操作码、16位地址的高8位、16位地址的低8 位。4. 短调用子程序指令:ACALL DELAY这条指令是2K字节范围内的调用子程序指令。执行时先把PC加2 获得下一条指令的地址,栈指针SP加1,PC7-0进栈保护,SP再加1, 使PC15-8进栈保护。最后把PC的高5位和adrll连续获得子程序入口 地址送入PC,转移到执行子程序.5. 子程序返回指令:RET (PC15-8)J(SP)PC(7-0) J(SP)(SP)fP)-

11、1这条指令的功能是从堆栈中退出PC的高位和低位字节,把栈指针减2, 并以新的PC值开始执行程序,不影响任何标志。6. 位变量修改指令:(1) .清 0 指令 CLR bit (bit)。(2) .置1指令SETB该两条指令的功能是分别是将操作数指出的位清0,置1。不影响标志 位。7. 中断返回指令指令格式:RETI该指令表示中断程序结束需要返回主程序,执行过程类似RET8. 循环减1转移指令指令格式:DJNZ 字节,rel这是一条减1并与0比较指令,程序每执行一次指令,就把第一操作数字节变量减1,结果送回到第一操作数中,并根据字节变量是否为0,决定程序 走向:不为0则转移;为0则顺序执行。如果

12、字节变量原为00,则执行该指令 后,内容变为0FFH,不影响标志位。14总结一周的单片机实习在紧张的忙碌与学习中结束了。我学到了很多知识,也深 刻的了解到实践不但完善了我在课堂上所学的,同时也增长了我的见识,开拓 了我的视野使我对单片机知识的了解更加深刻。这也将为我以后的学习鉴定了 坚实的基础。在这一周,通过编译程序设计,掌握了什么是编译单片机程序,编译程序工 作的基本过程及其各阶段的基本任务,熟悉了编译程序总流程图,懂得了编译 程序的生成过程、构造工具及其相关的技术和应用,对课本上的知识有了更深 的理解。这次我的单片机实习的题目是电子时钟,当时真是让我无从下手,不知该 怎样才能实现这样的功能

13、,怎样编写这个程序。但是根据老师指导下安排我们 第一天下午去图书馆查阅资料。但是最后,还是没有找到我所需要的,只能找 一些相关的资料和其中的一个子程序或一个模块。接下来的两天我们小组一直 都在编写程序,功夫不负有心人,我们终于编写出了时钟程序,之后去机房调 试程序,结果出现多处错误的情况,但是我们没有灰心,而是共同把错误一一 改正过来了。最后运行可结果还不尽人意,运行显示时虽然进行计数。但是扫 描的速度太快,也不合适,但经过我们认真查找原因最后终于调试成功了。通过这次课程设计对我们学习单片机有很大的帮助,能够让我们更好的掌握 单片机知识,让我们对它产生兴趣,让学习不再是一件乏味的事,让我们很好

14、 的把书本上的知识和实际联系起来,并且设计能够让我们更进一步的掌握知识 和灵活的运用知识。现在我可以用多种方法实现同一个功能,并能扩展更加丰 富的内容而且言简意赅。所以,我在此非常感谢老师能够为我们提供这次实习的机会,我会把握好 每一次学习的机会,让自己所学到的知识得已升华。我希望以后学校能够多次 的为我们提供这样的机会,让我们更好的把理论和实际结合起来,以后成为一 名有用的人,为电力事业,为人民,为国家做一份贡献。再设计过程中我还遇到了很多麻烦的问题,在我们组员的共同努力下都没有 解决,但是在曲乐声老师与王德君老师的耐心与孜孜不倦的教导与讲解下,终 于被顺利解决,在这里我想各位指导老师表示衷心的感谢,你们辛苦了。通过 这次实习,让我明白了很多不足,在今后的学习生活中我会更加的努力学习, 取得更加优异的成绩。参考文献1 钱显毅.MCS-51单片机原理及应用.南京:东南大学出版社,20102 万福君.MCS-51单片机原理、系统设计与应用.北京:清华大学出版社,201 03 公茂法.MCS-5152单片机原理与实践.北京:北京航空航天大学出版社, 20094 申忠如.MCS51单片机原理及系统设计.陕西:西安交通大学出版,20084 梁炳东单片机原理与应用北京:人民邮电出版社,200918

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号