单片机课程设计单片机实现的顺序控制.docx

上传人:b****6 文档编号:13529766 上传时间:2023-06-15 格式:DOCX 页数:12 大小:388.24KB
下载 相关 举报
单片机课程设计单片机实现的顺序控制.docx_第1页
第1页 / 共12页
单片机课程设计单片机实现的顺序控制.docx_第2页
第2页 / 共12页
单片机课程设计单片机实现的顺序控制.docx_第3页
第3页 / 共12页
单片机课程设计单片机实现的顺序控制.docx_第4页
第4页 / 共12页
单片机课程设计单片机实现的顺序控制.docx_第5页
第5页 / 共12页
单片机课程设计单片机实现的顺序控制.docx_第6页
第6页 / 共12页
单片机课程设计单片机实现的顺序控制.docx_第7页
第7页 / 共12页
单片机课程设计单片机实现的顺序控制.docx_第8页
第8页 / 共12页
单片机课程设计单片机实现的顺序控制.docx_第9页
第9页 / 共12页
单片机课程设计单片机实现的顺序控制.docx_第10页
第10页 / 共12页
单片机课程设计单片机实现的顺序控制.docx_第11页
第11页 / 共12页
单片机课程设计单片机实现的顺序控制.docx_第12页
第12页 / 共12页
亲,该文档总共12页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

单片机课程设计单片机实现的顺序控制.docx

《单片机课程设计单片机实现的顺序控制.docx》由会员分享,可在线阅读,更多相关《单片机课程设计单片机实现的顺序控制.docx(12页珍藏版)》请在冰点文库上搜索。

单片机课程设计单片机实现的顺序控制.docx

单片机课程设计单片机实现的顺序控制

 

电气及自动化课程设计报告

 

题目:

单片机实现的顺序控制

课程:

单片机系统设计与Proteus仿真

 

学生姓名:

学生学号:

年级:

专业:

班级:

指导教师:

 

2015年9月

 

一、课程设计性质和目的

单片机课程设计是《单片机原理与应用及C51程序设计》课程结束后的一门综合性实践课。

利用所学知识用单片机实现顺序控制。

所选题目《单片机实现的顺序控制》紧密结合所学的主要内容.加深巩固所学知识.同时对所学内容进行扩展.有一定的深度和广度。

通过电路设计、安装、调试等一系列环节的实施使我对单片机有了更进一步的了解.并且是我有了以下收获。

(1)加强了对单片机和C语言的认识.充分掌握和理解设计各部分的工作原理、设计过程、选择芯片器件、模块化编程等多项知识。

(2)用单片机模拟实现具体应用.使个人设计能够真正使用。

(3)把理论知识与实践相结合.充分发挥个人能力.并在实践中锻炼。

(4)提高了利用已学知识分析和解决问题的能力。

二、软件介绍

1、Proteus

Protues软件是英国LabCenterElectronics公司出版的EDA工具软件(该软件中国总代理为广州风标电子技术有限公司)。

它不仅具有其它EDA工具软件的仿真功能.还能仿真单片机及外围器件。

它是目前比较好的仿真单片机及外围器件的工具。

虽然目前国内推广刚起步.但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。

Proteus是世界上著名的EDA工具(仿真软件).从原理图布图、代码调试到单片机与外围电路协同仿真.一键切换到PCB设计.真正实现了从概念到产品的完整设计。

是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台.其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等.2010年又增加了Cortex和DSP系列处理器.并持续增加其他系列处理器模型。

在编译方面.它也支持IAR、Keil和MATLAB等多种编译器。

2、KeiluVision4

KeilC51是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统.与汇编相比.C语言在功能上、结构性、可读性、可维护性上有明显的优势.因而易学易用。

Keil提供了包括C编译器、宏汇编、链接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案.通过一个集成开发环境(μVision)将这些部分组合在一起。

运行Keil软件需要WIN98、NT、WIN2000、WINXP等操作系统。

如果你使用C语言编程.那么Keil几乎就是你的不二之选.即使不使用C语言而仅用汇编语言编程.其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。

三、设计要求及原理说明

1、课程设计的任务与要求

在工业生产中.利用单片机的数字量输出可实现顺序控制。

例如.注塑机工艺过程大致按“合模→注射→延时→开模→产伸→产退”顺序动作.用单片机控制很容易实现。

单片机的P1.0-P1.6控制注塑机的7道工序.7道工序用控制7只发光二极管的点亮来模拟。

设定每道工序时间转换以延时来表示。

P3.3为“故障”开关.合上为故障报警。

控制P1.7上的音响发出报警声响。

报警声响只有在工作期间才会响起.而停止工作期间报警不会响起。

P3.4脚上的单刀双掷开关作为“启动”或“停止”开关。

设定前6道工序中只有一位输出.只点亮1只发光二极管.第7道工序有3位同时输出(P1.6、P1.5、P1.4上的3只发光二极管同时点亮)。

2、原理说明

本题目利用单片机的P1.0-P1.6输出的高低电平来控制发光二极管的亮与灭.表示工业生产过程的顺序控制进程.P1.7输出的高低电平控制是否发出警报声响。

P3.3与P3.4作为输出.单片机检测P3.3与P3.4的输出电平.来判断“故障”或“停止”开关的状态。

 

四、设计主要流程

先分析设计要求.根据设计要求来设定代码程序.然后进行代码的编写.接着对代码进行编译校验.检查错误.改正错误。

接着根据设计要求和代码.进行顺序控制器的原理电路图设计.此步要在Protues软件进行绘制仿真.然后根据设计要求对绘制出的原理电路图进行测试.如若不符合设计要求继续更改.直至符合要求为止。

然后进行电路模拟.将符合设计要求的电路先行保存。

再将源程序代码用Keil软件生成hex文件。

再利用stc软件将生成的hex文件传输到单片机中完成验证。

大致设计流程如下图所示。

(“生成hex文件并传输到单片机中”.这一设计步骤由于电脑原因无法连接C51单片.所以无法实现。

流程图

 

五、顺序程序设计

通过分析设计要求可知.需要完成单片机P1.0-P1.6输出的高低电平来控制发光二极管的亮与灭.表示工业生产过程的顺序控制进程.P1.7输出的高低电平控制是否发出警报声响。

P3.3与P3.4作为输出.单片机检测P3.3与P3.4的输出电平.来判断“故障”或“停止”开关的状态。

则设计程序代码及其解释如下:

voidmain()

{

EX1=1;//外部中断1允许

IT1=0;//电平触发中断

EA=1;//总中断允许

while

(1)

{

P1&=0xfe;//工序1.完成后进入工序2

Delay(2000);

P1&=0xfd;//工序2.完成后进入工序3

Delay(2000);

P1&=0xfb;

Delay(2000);

P1&=0xf7;

Delay(2000);

P1&=0xef;

Delay(2000);

P1&=0xdf;

Delay(2000);

P1&=0x8f;

Delay(2000);//7道工序完成.重新开始循环

}

}

voidint1_isp()interrupt2//外部中断1中断服务函数

{

P=~P3_4;//报警

}

}

在keil软件中测试如下:

 

六、电路的设计与仿真

顺序控制器的原理电路及仿真如下图2所示。

电路中的7个发光二极管从上到下分别代表7道工序。

仿真运行.发光二极管将按顺序控制规律来点亮。

P3.4引脚上的单刀双掷开关用来选择控制操作启动(向上)或停止(向下)。

P3.3引脚上的开关闭合.表示发生故障.从而控制P1.7上的音响发出警报响。

报警声响只有在工作期间才会响起.而停止工作期间警报不会响起。

P1口的P1.0~P1.6接七只发光二极管.P1.7接报警器.P3.4接开工启动开关.P3.2接外部故障输入模拟开关。

主程序流程图:

当程序启动.开启中断.并使P1、P3口初始化.当给start开始信号即P3.4得电时.运行主程序中使发光二极管得电的程序.从L0至L7.按顺序每次只点亮一只二极管.并延时一段时间.然后点亮下一只二极管.当第七只二极管得电延时完成后.程序跳转到工序1开始的地方.按此规律从工序1到工序7依次循环进行下去。

中断服务子程序:

当外部故障输入模拟开关即P3.3得电时.运行中断子程序.先使P1=0x00即关闭输出保护现场.speak=1使报警器报警。

然后判断故障情况.如果故障清除.则恢复现场跳出中断子程序回到主程序;如果故障没有清除.则报警器继续报警直至故障清除。

 

图2.顺序控制器的原理电路

 

对原理电路进行仿真调试如下:

图3.仿真电路调试1

 

(一)、在调试过程1中.当按下按钮开关后会发现7个发光二极管会从上到下依次由“亮”到“灭”.而此时P3.4引脚上的单刀双掷开关置于启动(向上)处.此时电路正常工作。

如图2所示

(二)、当单刀双掷开关置于停止(向下)处时电路状态如图3所示。

最后三个发光二极管会亮.前四个会灭.并保持这种状态。

(三)、当单刀双掷开关置于启动(向上)处时.将P3.3引脚上的开关闭合.此时电路状态如图4所示。

此时电路处在“故障”状态.LS1处SOUNDER会发出警报声.表示电路故障。

图4.仿真电路调试2

 

图5.仿真电路调试3

七、总结

通过本课程设计.我对单片机的工作原理以及运用要求有了更进一步的了解.对我的动手能力.编程能力都有很大的帮助。

这次课程设计的控制要求有:

用七只发光二极管模拟工业控制中的7道工序.高电平点亮.每道工序用定时器进行工序间的顺序转换。

我首先收集了大量的资料.查找有关集成芯片和器件的文献.只有对各种元器件有了充分的了解之后在实际的操作才会更快。

在操作过程中我发现自己的电路图接对了.但是却无法仿真出来.仔细检查后发现没有把代码加入电路中。

可见如果不对整个设计的每一个细节都了解的清清楚楚的话.哪怕做对了.你都搞不懂这是怎么回事。

这告诉我们.以后无论在工作还是在生活中.都要认真对待每一个细节.不能得过且过.不求甚解。

在编程方面一直是我的弱项.好多程序我都搞不明白.这个时候我都会尽量去问同学.在课程设计的过程中.同学之间的相互帮助是相当重要的.有时自己的一个坎半天都过不去.但是说不定同学的一个点拨.我们就通了。

所以.我们要学会团结协作.这样.才会事半功倍。

这次的课程设计教会我们的不止是专业知识.在生活道理上也教会了很多.让我们终生受益。

 

八、参考书籍

①、单片机原理与应用及C51程序设计(第3版)清华大学出版社

②、基于Protues的单片机课程的基础实验与课程设计人民邮电出版社

③、单片机课程设计实例指导北京航空航天大学出版社

 

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2