单片机模拟流水线控制设计演示教学Word文件下载.docx
- 文档编号:7720024
- 上传时间:2023-05-09
- 格式:DOCX
- 页数:11
- 大小:60.30KB
单片机模拟流水线控制设计演示教学Word文件下载.docx
《单片机模拟流水线控制设计演示教学Word文件下载.docx》由会员分享,可在线阅读,更多相关《单片机模拟流水线控制设计演示教学Word文件下载.docx(11页珍藏版)》请在冰点文库上搜索。
第3章实验接线图
图3.1实验原理接线图
第4章.程序清单及说明
ORG0000H;
给定程序的首地址
LJMPMAIN;
跳转到主程序
ORG0003H;
外部中断源INT0首地址
LJMPZD;
跳转到中断程序
ORG0100H
MAIN:
SETBEA;
打开总中断允许
SETBEX0;
打开外部中断源INT0允许
CLRP1.2;
工作运行指示灯(绿灯)?
MOVA,#80H
MOVDPTR,#7FFFH
MOVX@DPTR,A;
对8255的初始化
MOVA,#80H
MOVDPTR,#0FFFDH
运行第一道工序
LCALLYS2S;
第一道工序工作2秒(子程序调用)
MOVA,#40H
运行第二道工序并且
;
停止第一道工序
LCALLYS3S;
第二道工序工作3秒(子程序调用)
MOVA,#20H
运行第三道工序并且
停止第二道工序
LCALLYS2S
第三道工序工作4秒(子程序调用)
MOVA,#10H
SJMPMAIN;
返回到主程序
YS2S:
MOV12H,#08H
L8:
MOV11H,#0FAH
L7:
MOV10H,#64H
L6:
NOP
DJNZ10H,L6;
共延时1m秒
DJNZ11H,L7;
共延时250m秒
DJNZ12H,L8;
共延时2秒
RET;
延时2秒子程序返回
YS3S:
MOVR6,#0CH
L5:
MOVR5,#0FAH
L4:
MOVR4,#64H
L3:
DJNZR4,L3;
共延时1m秒
DJNZR5,L4;
DJNZR6,L5;
共延时3秒
延时3秒子程序返回
YS0S:
MOV13H,#64H
LP1:
MOV14H,#64H
LP0:
NOP
DJNZ14H,LP0;
DJNZ13H,LP1;
共延时100m秒即0.1秒
延时0.1秒子程序返回
ZD:
SETBP1.2;
运行指示灯(绿灯)灭
CLRP1.5;
中断停止灯(绿灯)闪
LCALLYS0S;
中断停止灯亮0.1秒
SETBP1.5;
中断停止灯(绿灯)亮
中断停止灯灭0.1秒
JNBP3.2,ZD;
中断识别(手动开关控制)
运行指示灯(绿灯)亮
RETI;
中断返回
END
第5章指令说明
1.伪指令:
在汇编语言源程序中用MCS-51指令助记符编写的程序,都回一一应地产生目标程序。
但另外还有一类指令,并不产生目标程序,不影响程序的执行,仅仅产生供汇编用的某些命令,以便在汇编是执行一些特殊的操作,通常将这类指令称为伪指令。
(1).设置起始地址ORG:
一般形式为:
ORGnn
ORG其中是伪指令的操作码助记符,操作数nn是16位二进制数。
该条伪指令给出汇编语言源程序的其实地址值。
因此,ORG伪指令总是出现在每段源程序或数据的开始。
特别注意,在编写源程序时,要求ORG定义空间地址必须由小到大,且不能重叠。
否则汇编拒绝执行,并给出错误信息。
若在源程序开始不用ORG命令,则汇编将从0000H单元开始。
(2)结束汇编END:
它是一个汇编结束标志,它告诉汇编该程序段已结束。
因此,在一个程序设计中必须要有END语句。
且END语句必须放在整个程序(包括伪指令)的后面。
若END语句出现在代码块的中间,那么汇编程序不汇编END后面的语句。
2.判直接寻址位转移指令:
JNBbit,rel;
若(bit)=0,则(PC)→(PC)+3+rel
若(bit)=1,则(PC)→(PC)+3
上述指令为检测寻址位。
转移分为两种情况,一种为位变量1;
另一种为位变量0,则程序转向目标地址去执行。
否则地址为(PC)←(PC)+3与第三字节所给常符号的相对偏移量之和。
测试位变量时,不影响任何标志。
前条指令不影响原变量植,但指令在检测到后自动完成清0。
3.长转移指令
指令格式:
LJMPaddr16;
(PC)←addr0—15
该指令又称为无条件转移指令,指令提供16位转移地址,因此,执行这条指令可以使程序从当前地址转移到64K程序存储器地址空间的任何单元,即0000H—FFFFH。
指令的结果是将16位目的地址送入程序计数器PC。
该指令位三字节指令:
操作码、16位地址的高8位、16位地址的低8位。
4.短调用子程序指令:
ACALLDELAY
这条指令是2K字节范围内的调用子程序指令。
执行时先把PC加2获得下一条指令的地址,栈指针SP加1,PC7-0进栈保护,SP再加1,使PC15-8进栈保护。
最后把PC的高5位和adrll连续获得子程序入口地址送入PC,转移到执行子程序.
5.子程序返回指令:
RET(PC15-8)←((SP))
(SP)←(SP)-1
PC(7-0)←((SP))
这条指令的功能是从堆栈中退出PC的高位和低位字节,把栈指针减2,并以新的PC值开始执行程序,不影响任何标志。
6.位变量修改指令:
(1).清0指令CLRbit(bit)←0
(2).置1指令SETB
该两条指令的功能是分别是将操作数指出的位清0,置1。
不影响标志位。
7.中断返回指令
指令格式:
RETI
该指令表示中断程序结束需要返回主程序,执行过程类似RET
8.循环减1转移指令
DJNZ<
字节>
rel
这是一条减1并与0比较指令,程序每执行一次指令,就把第一操作数字节变量减1,结果送回到第一操作数中,并根据字节变量是否为0,决定程序走向:
不为0则转移;
为0则顺序执行。
如果字节变量原为00,则执行该指令后,内容变为0FFH,不影响标志位。
总结
一周的单片机实习在紧张的忙碌与学习中结束了。
我学到了很多知识,也深刻的了解到实践不但完善了我在课堂上所学的,同时也增长了我的见识,开拓了我的视野使我对单片机知识的了解更加深刻。
这也将为我以后的学习鉴定了坚实的基础。
在这一周,通过编译程序设计,掌握了什么是编译单片机程序,编译程序工作的基本过程及其各阶段的基本任务,熟悉了编译程序总流程图,懂得了编译程序的生成过程、构造工具及其相关的技术和应用,对课本上的知识有了更深的理解。
这次我的单片机实习的题目是电子时钟,当时真是让我无从下手,不知该怎样才能实现这样的功能,怎样编写这个程序。
但是根据老师指导下安排我们第一天下午去图书馆查阅资料。
但是最后,还是没有找到我所需要的,只能找一些相关的资料和其中的一个子程序或一个模块。
接下来的两天我们小组一直都在编写程序,功夫不负有心人,我们终于编写出了时钟程序,之后去机房调试程序,结果出现多处错误的情况,但是我们没有灰心,而是共同把错误一一改正过来了。
最后运行可结果还不尽人意,运行显示时虽然进行计数。
但是扫描的速度太快,也不合适,但经过我们认真查找原因最后终于调试成功了。
通过这次课程设计对我们学习单片机有很大的帮助,能够让我们更好的掌握单片机知识,让我们对它产生兴趣,让学习不再是一件乏味的事,让我们很好的把书本上的知识和实际联系起来,并且设计能够让我们更进一步的掌握知识和灵活的运用知识。
现在我可以用多种方法实现同一个功能,并能扩展更加丰富的内容而且言简意赅。
所以,我在此非常感谢老师能够为我们提供这次实习的机会,我会把握好每一次学习的机会,让自己所学到的知识得已升华。
我希望以后学校能够多次的为我们提供这样的机会,让我们更好的把理论和实际结合起来,以后成为一名有用的人,为电力事业,为人民,为国家做一份贡献。
再设计过程中我还遇到了很多麻烦的问题,在我们组员的共同努力下都没有解决,但是在曲乐声老师与王德君老师的耐心与孜孜不倦的教导与讲解下,终于被顺利解决,在这里我想各位指导老师表示衷心的感谢,你们辛苦了。
通过这次实习,让我明白了很多不足,在今后的学习生活中我会更加的努力学习,取得更加优异的成绩。
参考文献
[1]钱显毅.MCS-51单片机原理及应用.南京:
东南大学出版社,2010
[2]万福君.MCS-51单片机原理、系统设计与应用.北京:
清华大学出版社,2010
[3]公茂法.MCS-51\52单片机原理与实践.北京:
北京航空航天大学出版社,2009
[4]申忠如.MCS51单片机原理及系统设计.陕西:
西安交通大学出版,2008
[4]梁炳东单片机原理与应用北京:
人民邮电出版社,2009
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 模拟 流水线 控制 设计 演示 教学