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

合集下载

单片机指令的执行流程

单片机指令的执行流程

单片机指令的执行流程单片机是一种集成了微处理器、内存、输入输出接口和定时器等功能于一体的集成电路芯片。

它可以用来控制各种电子设备,执行各种指令来实现特定的功能。

本文将详细介绍单片机指令的执行流程。

一、指令的获取单片机的指令存储在程序存储器中,也称为ROM(只读存储器)。

指令的获取是指单片机从程序存储器中读取下一条指令的过程。

当单片机上电复位或者执行完一条指令后,会自动获取下一条指令。

二、指令的解码指令的解码是指单片机根据从程序存储器中获取到的指令内容,将其翻译成可以执行的控制信号的过程。

解码器会将获取到的指令解析成对应的操作码和操作数。

三、指令的执行指令的执行是指单片机根据解码得到的控制信号,执行指令中的操作。

根据不同的指令类型和操作码,单片机会执行不同的操作,如数据传输、算术运算、逻辑运算等。

四、状态改变在指令的执行过程中,单片机的状态会发生相应的改变。

这包括程序计数器的更新、标志位的设置等。

程序计数器用于指示下一条将要执行的指令的地址,当一条指令执行完毕后,程序计数器会自动加1或根据指令的跳转或条件分支进行相应的改变。

标志位用于记录运算结果的状态,如进位、溢出等。

五、回到第一步在指令的执行完成后,单片机会回到第一步,继续获取下一条指令,然后进入下一个周期的指令的解码和执行。

通过以上的步骤,单片机可以按照程序存储器中的指令序列顺序执行各种功能。

每个指令的执行时间取决于单片机的时钟频率和指令的执行周期。

在实际应用中,我们可以根据具体的需求和性能要求来选择合适的单片机,并编写相应的指令序列来实现所需的功能。

总结:单片机指令的执行流程包括指令的获取、指令的解码、指令的执行、状态改变和回到第一步等步骤。

通过这一系列的操作,单片机可以按照指令序列来控制各种电子设备。

了解单片机指令的执行流程对于学习和应用单片机控制技术非常重要。

只有深入理解了单片机的执行流程,才能编写出高效、可靠的程序代码。

单片机课程设计-单片机控制步进电机

单片机课程设计-单片机控制步进电机

单片机课程设计-单片机控制步进电机单片机课程设计单片机控制步进电机一、引言在现代自动化控制领域,步进电机以其精确的定位和可控的转动角度,成为了众多应用场景中的关键组件。

而单片机作为一种灵活、高效的控制核心,能够实现对步进电机的精确控制,为各种系统提供了可靠的动力支持。

本次课程设计旨在深入研究如何利用单片机来有效地控制步进电机,实现特定的运动需求。

二、步进电机的工作原理步进电机是一种将电脉冲信号转换为角位移或线位移的开环控制电机。

它由定子和转子组成,定子上有若干个磁极,磁极上绕有绕组。

当给绕组依次通电时,定子会产生磁场,吸引转子转动一定的角度。

通过控制通电的顺序和脉冲数量,可以精确地控制电机的转动角度和速度。

三、单片机控制步进电机的硬件设计(一)单片机的选择在本次设计中,我们选用了常见的_____单片机。

它具有丰富的引脚资源、较高的运算速度和稳定的性能,能够满足控制步进电机的需求。

(二)驱动电路为了驱动步进电机,需要使用专门的驱动芯片或驱动电路。

常见的驱动方式有全桥驱动和双全桥驱动。

我们采用了_____驱动芯片,通过单片机的引脚输出控制信号来控制驱动芯片的工作状态,从而实现对步进电机的驱动。

(三)接口电路将单片机的引脚与驱动电路进行连接,需要设计合理的接口电路。

接口电路要考虑信号的电平匹配、抗干扰等因素,以确保控制信号的稳定传输。

四、单片机控制步进电机的软件设计(一)控制算法在软件设计中,关键是确定控制步进电机的算法。

常见的控制算法有脉冲分配法和步距角细分法。

脉冲分配法是根据电机的相数和通电顺序,按照一定的时间间隔依次输出控制脉冲。

步距角细分法则是通过在相邻的两个通电状态之间插入中间状态,来减小步距角,提高电机的转动精度。

(二)程序流程首先,需要对单片机进行初始化设置,包括引脚配置、定时器设置等。

然后,根据用户的输入或预设的运动模式,计算出需要输出的脉冲数量和频率。

通过定时器中断来产生控制脉冲,并按照预定的顺序输出到驱动电路。

MCS-51单片机在注塑过程中的顺序控制

MCS-51单片机在注塑过程中的顺序控制

MCS -51单片机在注塑过程中的顺序控制夏晓玲(鄂州大学 机电工程系, 湖北 鄂州 436000)摘要:该文介绍了运用MCS -51单片机及其接口,实现对注塑过程中的顺序控制,针对控制中的实际问题,进行状态检测和显示,对于故障现象给出声、光提示和报警,并作出抗干扰设计,保证系统可靠稳定运行。

关键词:单片机;接口;顺序控制;抗干扰设计 中图分类号:TP271+2文献标识码:A 文章编号:1008-9004(2004)04-0031-03 一、引言微型计算机是大规模集成电路技术发展的产物,由于实际应用的需要,它正向着两个不同的方向发展:一个是向高速度、大容量、高性能的高档微机方向发展,另一个则是向稳定可靠、体积小和价格廉的单片机方向发展。

单片机因其将中央处理器(CPU )、随机存储器(RAM )、只读存储器(ROM )、中断系统、定时/计数器以及I/O 口集成在一块芯片上而得名[1]。

单片机主要应用于控制领域,用以实现各种测试和控制功能。

在工业控制中,像冲压、注塑、制瓶、轻纺等生产过程都是一些连续生产过程,按某种顺序有规律地完成预定的动作,对这类继续生产过程的控制称作顺序控制。

注塑机工艺过程大致分为“合模———注塑———延时———开模———产伸———产退几个顺序动作。

本文基于以上情况用MCS —51单片机对注塑机工艺过程实行控制,具体介绍了控制原理与组成,单片机及接口电路,控制方框流程图,系统软件设计,以及实际运行情况等。

二、控制原理及组成据2004年《中国教育技术装备》,本系统由以下几部分组成:1、单片机;2、I/O 接口;3、电气控制;4、给定及显示;5、状态检测及显示打印;6、故障检测及声光报警;7、抗干扰电路;8、系统工作软件。

键盘输入给定、相应参数设置,充分利用单片机及接口电路,实现运行过程中的各项控制,声、光报警,显示和打印等。

在系统设计中考虑了多项故障保护和检测:过电压保护、欠电压保护、过电流保护、光电隔离等。

单片机实验 工业顺序控制

单片机实验  工业顺序控制
2、学习Keil,Proteus软件使用
二、实验说明
AT89C51的P1.0—P1.6控制注塑机的七道工序,现模拟控制七只发光二极管的点亮,高电平有效,设定每道工序时间转换为延时,P3.4为开工启动开关,低电平启动。P3.3为外故障输入模拟开关,P3.3为0时不断告警。P1.7为报警声音输出,设定6道工序只有一位输出,第七道工序三位有输出。
1)P3.4连K1,P3.3连K2,P1.0-P1.6分别连到L1-L7, P1.7连电子音响SOUND输入端;
2)K1开关拨在下面,K2拨在上面;
3)K1拨在下面(显低电平),各道工序应正常进行;
4)K2拨在下面(显低电平),应有声音报警(人为设置故障),可从虚拟示波器观察SOUND信号变换情况;
P1=0x7f; /*关输出*/
while(!INT1) /*若故障未消除,则报警*/
{ for(i=0;i<0xa0;i++) /*给蜂鸣器发震Leabharlann 脉冲*/{ P1_7=1;
Delay(50);
P1_7=0;
Delay(50);
}
P1_7=0;
Delay(6550);
}
P1=TT; /*恢复现场*/
unsigned char TT;
void Delay(unsigned int value) /*延时子程序*/
{
while(value!=0)
value--;
}
void int1()interrupt 2 using 0 /*中断服务程序--暂停并警*/
{
int i;
TT=P1; /*保护现场*/
}
void main (void)
{

单片机指令的时序和延迟控制

单片机指令的时序和延迟控制

单片机指令的时序和延迟控制单片机(Microcontroller)是一种集成了中央处理器(CPU)、存储器和各种输入输出接口等功能于一体的微型计算机系统。

在使用单片机编程时,时序和延迟控制是非常重要的概念。

本文将探讨单片机指令的时序以及如何进行延迟控制,以帮助读者更好地理解和应用单片机。

一、时序控制的重要性在单片机编程中,时序控制是指按照一定的时间顺序来执行不同的操作或指令。

单片机内部的时钟信号根据一定的频率发生变化,每个时钟周期内,单片机都会执行一条指令。

因此,了解和掌握时序控制是实现正确功能的关键。

二、时序控制的方法单片机的指令执行时间主要取决于以下两个方面的时序控制方法:1. 硬件延迟控制硬件延迟控制是通过硬件电路来实现的,常见的硬件延迟控制方法包括使用门电路、计数器、定时器等。

通过这些硬件电路,我们可以准确控制指令的执行时间,实现不同指令的时序控制。

例如,可以使用门电路来控制指令的执行次序。

当满足特定条件时,门电路才允许指令通过,否则会阻止指令的执行。

这样可以实现特定指令的延迟执行和条件判断。

2. 软件延迟控制软件延迟控制是通过软件编程的方式来实现的。

当需要延迟一段时间让某个指令执行完毕后再执行后续指令时,可以使用软件编写延迟循环。

延迟循环是通过无意义的循环次数来实现一段时间的延迟。

在延迟循环中,通过对计数器递增或递减进行循环控制,从而实现指定时间的延迟。

三、延迟控制的应用延迟控制在单片机编程中非常常见,可以应用于各种场景和需求。

1. 时序控制在某些情况下,我们需要按照特定的时序控制来保证系统的稳定性和正确性。

例如,当控制设备进行数据传输时,需要根据设备的时序要求来控制指令的执行次序。

延迟控制可以确保每个指令在正确的时间执行,避免数据传输错误或设备死锁等问题。

2. 输入输出控制延迟控制还可以用于输入输出控制。

比如,当需要与外部设备进行通信时,我们需要根据外部设备的规定时序进行数据的读写。

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

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

电气及自动化课程设计报告题目:单片机实现的顺序控制课程:单片机系统设计与Proteus仿真学生姓名:学生学号:年级:专业:班级:指导教师:2015年9月目录一、课程设计性质和目的单片机课程设计是单片机原理与应用及C51程序设计课程结束后的一门综合性实践课;利用所学知识用单片机实现顺序控制;所选题目单片机实现的顺序控制紧密结合所学的主要内容,加深巩固所学知识,同时对所学内容进行扩展,有一定的深度和广度;通过电路设计、安装、调试等一系列环节的实施使我对单片机有了更进一步的了解,并且是我有了以下收获;1加强了对单片机和C语言的认识,充分掌握和理解设计各部分的工作原理、设计过程、选择芯片器件、模块化编程等多项知识;2用单片机模拟实现具体应用,使个人设计能够真正使用;3把理论知识与实践相结合,充分发挥个人能力,并在实践中锻炼;4提高了利用已学知识分析和解决问题的能力;二、软件介绍1、 ProteusProtues软件是英国Lab Center Electronics公司出版的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、 Keil uVision4KeilC51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用;Keil提供了包括C编译器、宏汇编、链接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境μVision将这些部分组合在一起;运行Keil软件需要WIN98、NT、WIN2000、WINXP等操作系统;如果你使用C语言编程,那么Keil几乎就是你的不二之选,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍;三、设计要求及原理说明1 、课程设计的任务与要求在工业生产中,利用单片机的数字量输出可实现顺序控制;例如,注塑机工艺过程大致按“合模→注射→延时→开模→产伸→产退”顺序动作,用单片机控制很容易实现;单片机的控制注塑机的7道工序,7道工序用控制7只发光二极管的点亮来模拟;设定每道工序时间转换以延时来表示;为“故障”开关,合上为故障报警;控制上的音响发出报警声响;报警声响只有在工作期间才会响起,而停止工作期间报警不会响起;脚上的单刀双掷开关作为“启动”或“停止”开关;设定前6道工序中只有一位输出,只点亮1只发光二极管,第7道工序有3位同时输出、、上的3只发光二极管同时点亮;2 、原理说明本题目利用单片机的输出的高低电平来控制发光二极管的亮与灭,表示工业生产过程的顺序控制进程,输出的高低电平控制是否发出警报声响;与作为输出,单片机检测与的输出电平,来判断“故障”或“停止”开关的状态;四、设计主要流程先分析设计要求,根据设计要求来设定代码程序,然后进行代码的编写,接着对代码进行编译校验,检查错误,改正错误;接着根据设计要求和代码,进行顺序控制器的原理电路图设计,此步要在Protues软件进行绘制仿真,然后根据设计要求对绘制出的原理电路图进行测试,如若不符合设计要求继续更改,直至符合要求为止;然后进行电路模拟,将符合设计要求的电路先行保存;再将源程序代码用Keil软件生成hex文件;再利用stc软件将生成的hex文件传输到单片机中完成验证;大致设计流程如下图所示;“生成hex文件并传输到单片机中”,这一设计步骤由于电脑原因无法连接C51单片,所以无法实现;流程图五、顺序程序设计通过分析设计要求可知,需要完成单片机输出的高低电平来控制发光二极管的亮与灭,表示工业生产过程的顺序控制进程,输出的高低电平控制是否发出警报声响;与作为输出,单片机检测与的输出电平,来判断“故障”或“停止”开关的状态;则设计程序代码及其解释如下:void main{EX1=1;顺序控制器的原理电路 对原理电路进行仿真调试如下:图3.仿真电路调试1一、在调试过程1中,当按下按钮开关后会发现7个发光二极管会从上到下依次由“亮”到“灭”,而此时引脚上的单刀双掷开关置于启动向上处,此时电路正常工作;如图2所示二、当单刀双掷开关置于停止向下处时电路状态如图3所示;最后三个发光二极管会亮,前四个会灭,并保持这种状态;三、当单刀双掷开关置于启动向上处时,将引脚上的开关闭合,此时电路状态如图4所示;此时电路处在“故障”状态,LS1处SOUNDER 会发出警报声,表示电路故障;图4.仿真电路调试2图5.仿真电路调试3七、总结通过本课程设计,我对单片机的工作原理以及运用要求有了更进一步的了解,对我的动手能力,编程能力都有很大的帮助;这次课程设计的控制要求有:用七只发光二极管模拟工业控制中的7道工序,高电平点亮,每道工序用定时器进行工序间的顺序转换;我首先收集了大量的资料,查找有关集成芯片和器件的文献,只有对各种元器件有了充分的了解之后在实际的操作才会更快;在操作过程中我发现自己的电路图接对了,但是却无法仿真出来,仔细检查后发现没有把代码加入电路中;可见如果不对整个设计的每一个细节都了解的清清楚楚的话,哪怕做对了,你都搞不懂这是怎么回事;这告诉我们,以后无论在工作还是在生活中,都要认真对待每一个细节,不能得过且过,不求甚解;在编程方面一直是我的弱项,好多程序我都搞不明白,这个时候我都会尽量去问同学,在课程设计的过程中,同学之间的相互帮助是相当重要的,有时自己的一个坎半天都过不去,但是说不定同学的一个点拨,我们就通了;所以,我们要学会团结协作,这样,才会事半功倍;这次的课程设计教会我们的不止是专业知识,在生活道理上也教会了很多,让我们终生受益;八、参考书籍①、单片机原理与应用及C51程序设计第3版清华大学出版社②、基于Protues的单片机课程的基础实验与课程设计人民邮电出版社③、单片机课程设计实例指导北京航空航天大学出版社。

单片机课程设计理念

单片机课程设计理念

单片机课程设计理念一、课程目标知识目标:1. 理解单片机的基本原理和结构,掌握其工作流程。

2. 学会使用单片机的编程语言,如C语言,编写简单的程序代码。

3. 掌握单片机的输入输出接口功能,并能够进行基本的电路连接。

技能目标:1. 能够运用所学知识,设计并实现简单的单片机控制系统。

2. 培养学生的动手实践能力,通过编程和电路搭建,解决实际问题。

3. 培养学生的团队协作能力,能够与他人合作完成复杂的单片机项目。

情感态度价值观目标:1. 激发学生对单片机技术的兴趣,培养其探究精神和创新意识。

2. 培养学生勇于尝试、面对失败的积极态度,提高解决问题的自信心。

3. 增强学生的科技意识,使其认识到单片机在现实生活中的广泛应用和价值。

课程性质:本课程为实践性较强的学科,注重理论联系实际,培养学生的动手操作能力和创新能力。

学生特点:学生具备一定的电子基础和编程能力,对单片机有一定了解,但实践经验不足。

教学要求:结合学生特点和课程性质,采用项目驱动教学法,使学生在实践中掌握单片机知识,提高综合运用能力。

将课程目标分解为具体的学习成果,以便于教学设计和评估。

二、教学内容1. 单片机原理概述:介绍单片机的组成、工作原理及性能特点,对应教材第一章内容。

- 单片机的结构及功能- 单片机的工作流程及性能参数2. 单片机编程语言:学习C语言编程基础,掌握单片机编程规范,对应教材第二章内容。

- C语言基本语法和数据类型- 单片机编程规范与技巧3. 输入输出接口:学习单片机的I/O接口功能及应用,对应教材第三章内容。

- I/O接口的工作原理- 常用I/O接口电路设计4. 中断与定时器:了解中断系统的工作原理,学习定时器的应用,对应教材第四章内容。

- 中断系统原理与编程- 定时器功能及应用5. 单片机应用实例:结合实际项目,锻炼学生的动手实践能力,对应教材第五章内容。

- 简单控制系统设计与实现- 综合项目分析与实践教学大纲安排:共分为五个阶段,每阶段2-3课时,按照教材章节顺序进行教学。

单片机设计_按键顺序控制加减计数(1602_液晶显示)_程序

单片机设计_按键顺序控制加减计数(1602_液晶显示)_程序

#include<reg51.h>#include<intrins.h>#define uchar unsigned char#define uint unsigned int#define LCD_IO P2sbit KK1 = P3^2; //按键输入;sbit KK2 = P3^3; //按键输入;sbit LCD_RS = P3^5;sbit LCD_RW = P3^6;sbit LCD_EN = P3^7;uchar code LCD_line1[] = " The Counter";int idata mydata=0;/************************************************************** * 名称: Delay_1ms()* 功能: 延时子程序,延时时间为1ms * x* 输入: x (延时一毫秒的个数)* 输出: 无***************************************************************/ void Delay_1ms(uint x){uchar i, j;for(i = 0; i < x; i++) for(j = 0; j <= 148; j++);}/************************************************************** * 名称: lcd_bz( )* 功能: 测试忙碌子程序* 输入: 无* 输出: result***************************************************************/ bit lcd_bz(){bit result;LCD_RS = 0;LCD_RW = 0;LCD_EN = 0;_nop_();_nop_();_nop_();_nop_();result=(bit)(P3&0x80);LCD_EN = 0;return result;}/*************************************************************** 名称: W_LCD_Com( )* 功能: 写指令子程序* 输入: com* 输出: 无***************************************************************/void W_LCD_Com(uchar com){while(lcd_bz());LCD_RS = 0; LCD_RW=0; LCD_EN = 0; // LCD_RS和R/W同时为低电平时,可以写入指令LCD_IO = com; Delay_1ms(5); //下面用EN输入一个高脉冲LCD_EN = 1; Delay_1ms(5); LCD_EN = 0;}/*************************************************************** 名称: W_LCD_Dat( )* 功能: 写数据子程序* 输入: dat* 输出: 无***************************************************************/void W_LCD_Dat(uchar dat){while(lcd_bz());LCD_RS = 1; LCD_RW=0;LCD_EN = 0; // LCD_RS为高,LCD_RW为低时,可以写入数据LCD_IO = dat; Delay_1ms(5); //下面用EN输入一个高脉冲LCD_EN = 1; Delay_1ms(5); LCD_EN = 0;}/*************************************************************** 名称: W_LCD_STR( )* 功能: 写字符串子程序* 输入: *s* 输出: 无***************************************************************/void W_LCD_STR(uchar *s){while(*s > 0) {W_LCD_Dat(*s); s++;}}/*************************************************************** 名称: LCD_cursor( )* 功能: 设置光标位置子程序* 输入: pos* 输出: 无***************************************************************/void LCD_cursor(uchar pos) //LCD光标定位到处{W_LCD_Com(pos+0x80); //第一行地址是0x80}/*************************************************************** 名称: initial( )* 功能: 初始化子程序* 输入: 无* 输出: 无* 指令:#define LCD_AC_AUTO_INCREMENT 0x06 //数据读、写操作后,AC自动增一#define LCD_DISPLAY_ON 0x0C //显示开#define LCD_DISPLAY_DOUBLE_LINE 0x38 //两行显示***************************************************************/void initial(){W_LCD_Com(0x06|0x04);W_LCD_Com(0x0c|0x08);W_LCD_Com(0x38);W_LCD_STR(LCD_line1);}/*************************************************************** 名称: Main()* 功能: 主函数***************************************************************/void main(){bit flag;uchar temp;uchar pos;Delay_1ms(10) ;initial();while(1){pos=0x4f;if(mydata>255)mydata=0;else if(mydata<0)mydata=255;if(mydata>127) //把mydata当做-128~127的有符号数来显示{flag=1;temp=256-mydata;}else {temp=mydata;flag=0;}LCD_cursor(pos);W_LCD_Dat((temp%10)+'0');pos--;//光标左移(其实光标不显示,只是为了输出高位)Delay_1ms(10);if(temp/100 || temp/10){LCD_cursor(pos);W_LCD_Dat((temp/10)%10+'0');pos--;}Delay_1ms(10);if(temp/100){LCD_cursor(pos);W_LCD_Dat((temp/100)%10+'0');pos--;}if(flag){LCD_cursor(pos);W_LCD_Dat('-');//负号}else{ LCD_cursor(pos);W_LCD_Dat(' ');//清除负号(空格代替)}if(!KK1){while(KK2);while(!KK2);mydata++;}else if(!KK2){while(KK1);while(!KK1);mydata--;}} }。

单片机课程设计

单片机课程设计

单片机课程设计一、课程目标知识目标:1. 让学生掌握单片机的基本原理和结构,理解其工作流程。

2. 使学生了解并熟练运用单片机的编程语言,如C语言或汇编语言。

3. 帮助学生掌握单片机外围电路的设计与搭建,使其能独立完成简单的电路系统。

技能目标:1. 培养学生运用单片机解决实际问题的能力,提高创新思维和动手实践能力。

2. 培养学生具备查阅资料、分析问题、设计方案、调试程序等综合技能。

情感态度价值观目标:1. 培养学生对单片机课程的兴趣,激发学习热情,形成自主学习、合作学习的良好习惯。

2. 培养学生具备团队协作精神,学会与他人分享、交流、合作,提高沟通能力。

3. 培养学生关注科技发展,了解单片机在现实生活中的应用,增强社会责任感和创新意识。

课程性质分析:本课程为单片机课程设计,旨在让学生在掌握理论知识的基础上,通过实际操作,提高解决实际问题的能力。

学生特点分析:学生已具备一定的电子技术基础和编程能力,对单片机有一定了解,但实践经验不足,需要通过本课程加强实践操作和综合运用。

教学要求:1. 理论与实践相结合,注重培养学生的动手能力。

2. 引导学生主动思考,发现问题,解决问题。

3. 创设实际情境,提高学生的学习兴趣和参与度。

4. 注重培养学生的团队协作能力和沟通能力。

二、教学内容1. 单片机原理及结构:介绍单片机的组成、工作原理,重点讲解CPU、存储器、输入输出接口等部分。

参考教材章节:第一章 单片机概述2. 单片机编程语言:学习C语言和汇编语言的基础知识,掌握编程技巧,能独立编写简单的单片机程序。

参考教材章节:第二章 单片机编程语言3. 单片机外围电路设计:讲解并实践常用外围电路的设计与搭建,如LED 灯、蜂鸣器、数码管等。

参考教材章节:第三章 单片机外围电路设计4. 单片机程序下载与调试:学习使用编程器、仿真器等工具,掌握程序下载、调试方法。

参考教材章节:第四章 单片机程序下载与调试5. 实践项目:设计并实现几个实际项目,如温度控制器、智能小车、智能家居系统等,锻炼学生解决实际问题的能力。

基于单片机的工业顺序控制系统设计

基于单片机的工业顺序控制系统设计

基于单片机的工业顺序控制系统设计【设计题目】基于单片机的工业顺序控制系统设计【设计要求】在工业控制过程,如冲压、注塑、轻纺、制瓶等生产过程,都是一些断续生产过程,按某种程序有规律地完成预定的动作,对这类断续生产过程的控制称顺序控制,例如注塑机工艺过程大致按“合模→注射→延时→开模→产伸→产退”顺序动作,用单片机最容易实现这类过程的控制。

要求如下:(1)单片机的P1.0—P1.6模拟控制注塑机的七道工序,通过缓冲器74LS240控制七只发光二极管的点亮,P1口输出高电平有效信号,经74LS240反向后驱动发光二极管(VL1~VL7),按VL1~VL7顺序先后分别亮1~7秒,依次循环。

(2)P3.3用作外故障输入模拟端口,再P3.3口送“0”时,能不断发出告警,P1.7口作为报警声音输出,经功放驱动扬声器。

故障排除时,程序应从刚才报警的那道工序继续执行。

【设计过程】1.【方案设计】硬件:单片机可以实现时序控制、时间控制等,用单片机可以构成形式多样的控制系统、数据采集系统,因此选择单片机作为控制芯片。

软件:单片机晶振为12MHZ,一个单指令周期为12个机器周期,以此写出延时1~7秒的汇编程序。

单片机74LS240 LED图-1系统框图2.【器件选择】8031单片机、74LS240、9012晶体管、数码管、扬声器图-2 74LS240管脚图74LS240是一种芯片,对发光二极管起缓冲反相器的作用。

图-3 8031管脚图下面按其引脚功能分为四部分叙述这40条引脚的功能。

1)、主电源引脚VCC和VSSVCC——(40脚)接+5V电压;VSS——(20脚)接地。

2)、外接晶体引脚XTAL1和XTAL2XTAL1(19脚)接外部晶体的一个引脚。

在单片机内部,它是一个反相放大器的输入端,这个放大器构成了片内振荡器。

当采用外部振荡器时,对HMOS单片机,此引脚应接地;对CHMOS单片机,此引脚作为驱动端。

XTAL2(18脚)接外晶体的另一端。

单片机指令的循环控制与跳转指令

单片机指令的循环控制与跳转指令

单片机指令的循环控制与跳转指令单片机指令的循环控制与跳转指令是在单片机程序设计中非常重要的一部分。

通过使用循环控制指令,可以实现程序的循环执行,从而提高程序的效率和灵活性。

而跳转指令则可以改变程序的执行顺序,实现条件判断和跳转至指定位置的功能。

本文将详细介绍单片机指令的循环控制与跳转指令的分类及使用方法。

一、循环控制指令循环控制指令主要通过设置计数器或判断条件是否满足来实现程序的循环执行。

常用的循环控制指令有:循环计数指令、循环条件判断指令和循环控制指令。

1. 循环计数指令循环计数指令是通过设置计数器来实现循环执行的,其中最常用的指令是“循环次数”指令。

这种指令会将一个寄存器初始化为一个初始值,并在每次循环执行时,自动将该寄存器的值减1,直到该寄存器的值为0时,跳出循环。

例如,在8051单片机中,循环计数指令可以使用“DJNZ”(Decrement and Jump if Not Zero)指令来实现。

具体语法为:DJNZ A, label其中,A为一个寄存器,初始值为循环次数。

label是跳转的目标地址,即循环体的开始地址。

每次循环执行时,A的值会自动减1,并判断是否为0,如果不为0,则跳转至label位置继续执行,否则跳出循环。

2. 循环条件判断指令循环条件判断指令是通过判断一个条件是否成立来控制循环执行的。

常见的循环条件判断指令有“JZ”(Jump if Zero)和“JNZ”(Jump if Not Zero)指令。

“JZ”指令用于判断一个寄存器或内存单元的值是否为0,如果为0,则跳转至指定地址继续执行;如果不为0,则程序继续顺序执行。

“JNZ”指令则与之相反,用于判断一个寄存器或内存单元的值是否不为0,如果不为0,则跳转至指定地址继续执行;如果为0,则程序继续顺序执行。

3. 循环控制指令除了通过计数和条件判断来控制循环执行外,还可以使用循环控制指令来实现循环执行的控制。

8051单片机中常用的循环控制指令有“CJNE”(Compare and Jump if Not Equal)指令和“JC”(Jump if Carry)指令。

AT89S51单片机控制红、绿、黄交通灯亮及闪烁时间与顺序。

AT89S51单片机控制红、绿、黄交通灯亮及闪烁时间与顺序。

桂林电子科技大学微机单片机接口设计报告指导老师:吴兆华学生:冯贤明学号: 092011133桂林电子科技大学机电工程学院一设计题目 (1)二设计目的要求和意义 (1)2.1设计目的要求 (1)2.2 系统设计意义 (1)三系统硬件电路图设计 (2)3.1 系统结构框图 (2)3.2 系统硬件电路图 (2)3.3 电路设计PCB图 (3)四程序流程图与源代码 (4)4.1 程序流程图 (4)4.2 程序源代码 (4)五系统功能分析与说明 (5)5.1 微处理器 (5)5.2 复位电路的设计 (9)5.3 二极管输出电路 (9)5.4 晶振电路 (10)5.5 制作PCB图 (10)六设计体会 (12)七参考文献 (13)一设计题目按桂林市微笑堂十字街的交通规则用AT89S51单片机控制红、绿、黄交通灯亮及闪烁时间与顺序。

二设计目的要求和意义2.1设计目的要求1通过单片机最小系统的设计,了解常用单片机应用系统开发手段和过程,进一步熟悉和掌握单片机的结构和工作原理,并能初步掌握一般单片机控制系统的编程和应用,从而进一步加深对单片机理论知识的理解。

2 掌握单片机内部功能模块。

如定时器/计数器、中断系统、存储器、I/O口等;3 掌握单片机的接口及相关外围芯片的特性、使用与控制方法;4 掌握单片机的编程方法,调试方法;5 掌握单片机应用系统的构建和使用,为以后设计和实现单片机应用系统打下良好的基础。

6.学会使用并熟练掌握电路绘制软件Protel99SE(或DXP);7.掌握电路图绘制及PCB图布线技巧。

2.2 系统设计意义1、在系统掌握单片机相应基础知识的前提下,熟悉单片机最小应用系统的设计方法及系统设计的基本步骤。

2、完成所需单片机最小应用系统原理图设计绘制的基础上完成系统的电路图设计。

3、完成系统所需的硬件设计制作,在提高实际动手能力的基础上进一步巩固所学知识。

4、进行题目要求功能基础上的软件程序编程,会用相应软件进行程序调试和测试工作。

单片机工业顺序控制实验总结 -回复

单片机工业顺序控制实验总结 -回复

单片机工业顺序控制实验总结-回复什么是单片机工业顺序控制实验,该实验有哪些特点和应用场景,以及实验的步骤和具体操作方式。

一、引言工业控制技术在现代化生产过程中起着至关重要的作用。

为了实现自动化生产、提高生产效率和质量,工程师们开发了各种控制设备和系统。

而单片机作为一种重要的控制器件,具有体积小、功耗低、性能稳定等优势,被广泛应用于各个领域。

本文将重点介绍单片机工业顺序控制实验。

二、单片机工业顺序控制实验的特点和应用场景1. 特点单片机工业顺序控制实验是利用单片机的高集成度、可编程性和可靠性,通过编程控制实现工业生产过程中的顺序控制。

其特点如下:(1) 灵活性高:通过编写程序可以实现各种不同的工业控制需求,满足不同场景下的顺序控制要求。

(2) 可靠性强:单片机作为一种可靠性较高的微控制器,可以保证顺序控制的稳定性和准确性。

(3) 成本低:相比于传统的工业控制设备,单片机的成本相对较低,可以方便地应用于中小型企业。

2. 应用场景单片机工业顺序控制实验广泛应用于各个领域,如制造业、食品加工、机械加工等。

以汽车装配线为例,通过单片机工业顺序控制实验可以实现对汽车零部件的加工、组装和测试的自动化控制,提高生产效率和产品质量。

三、单片机工业顺序控制实验的步骤和具体操作方式1. 硬件准备首先,需要准备相应的硬件设备,包括单片机开发板、传感器、执行器等。

这些硬件设备将构成实验系统的基本组成部分,用于完成实验中的顺序控制任务。

2. 确定控制任务根据实际需求,确定控制任务的具体内容。

例如,在汽车装配线上,需要控制零部件的加工、组装和测试顺序。

3. 编写程序根据确定的控制任务,编写相应的程序。

可以使用C语言或汇编语言进行编程,根据单片机开发板的具体型号和软件环境进行选择。

编写程序时需要考虑控制任务的先后顺序、条件判断和控制指令的输出等。

4. 调试实验系统将编写好的程序下载到单片机开发板中,通过连接传感器和执行器,将整个实验系统搭建起来。

单片机课程设计(交通灯、秒表)

单片机课程设计(交通灯、秒表)

单片机课程设计
在单片机课程设计中,学生通常会接触到各种实际的应用场景,比如交通灯控
制和秒表功能。

这些实际项目既能帮助学生巩固所学的理论知识,又能培养他们的实际动手能力和解决问题的能力。

交通灯设计
项目简介
交通灯控制是一个常见的单片机应用项目,通过控制红绿灯的亮灭顺序,模拟
实际道路的交通流量控制。

学生可以通过这个项目了解控制流程和时序控制。

设计思路
在这个项目中,学生可以设计一个简单的交通灯系统,包括红灯、黄灯和绿灯。

他们需要考虑如何控制各个灯的亮灭顺序,以及红绿灯的时间间隔。

实现步骤
1.设计红绿灯的控制逻辑,确定各个灯的亮灭顺序。

2.编写程序,实现控制逻辑。

3.测试程序,检查红绿灯的切换顺序和时间间隔是否符合要求。

秒表设计
项目简介
秒表是用来计时的工具,通常用于测量短暂时间间隔。

在单片机课程设计中,
学生可以通过设计秒表项目来巩固定时器的使用和计时逻辑。

设计思路
学生可以设计一个简单的秒表系统,通过单片机的定时器功能实现计时功能。

他们需要考虑如何初始化计时器、开始计时、暂停计时和重置计时。

实现步骤
1.初始化定时器,设置时间间隔。

2.编写计时功能的程序,包括开始、暂停和重置功能。

3.测试程序,检查计时功能是否准确。

总结
通过交通灯和秒表项目的设计,学生可以巩固单片机的编程技能和实际应用能力。

这些项目不仅有助于加深对单片机工作原理的理解,还可以培养学生解决实际问题的能力。

希望学生在完成这些项目的过程中,能够不断学习和进步,成为优秀的单片机工程师。

单片机课程设计

单片机课程设计

单片机课程设计课程设计任务书1.设计目的:本设计包括确定控制任务、系统总体方案设计、硬件系统设计、软件程序的设计等,以便使学生掌握有关单片机控制的设计思想和设计方法。

为学生今后从事单片机控制系统开发工作打下基础。

研究proteus仿真软件实现电路的仿真。

2.设计内容和要求(包括原始数据、技术参数、条件、设计要求等):本课程设计的基本要求是使学生全面掌握单片机控制系统设计的基本理论,熟悉掌握单片机的编程方法,用单片机AT89S51实现十字路通信号灯的控制,完成系统的软硬件设计及调试。

具体要求如下:1、正常情况下交通信号灯的控制时序给定。

南北绿灯、黄灯、红灯分别用P1.0,P1.1,P1.2控制,东西绿黄红分别用P1.3,P1.4,P1.5控制。

2、设定东西方向、南北方向紧急切换按钮各一个,当紧急按钮按下时,相应方向紧急切换为绿灯,以便特种车辆通行3.设计工作任务及工作量的要求〔包括课程设计计算说明书(论文)、图纸、实物样品等〕:1.根据题目要求的目标,经由进程查阅有关材料,确定体系设计方案,并设计其硬件电路图。

2.画出电路原理图,分析主要模块的功能及他们之间的数据传输和控制干系。

3.用Proteus软件绘制硬件电路图并仿真。

4.软件设计包括流程图、用汇编语言或C语言对软件进行编译,并能通过调试。

课程设计任务书4.主要参考文献:XXX.19942.XXX.单片机原理及接口技术(第3版).XXX.20 5.设计成果形式及要求:1.硬件电路图2.软件流程图和步伐清单3.编写课程设计报告。

6.工作计划及进度:2015.6月1日~ 6月3日查找材料,确定方案6月4日~ 6月6日设计硬件电路,绘制电路原理图6月7日~ 6月10日软件设计,并调试经由进程6月11日~6月12日编写课程设计报告,答辩或成就考核XXX系主任审查意见:签字:年月日XXX课程设计仿单目录一引言1.1交通灯的研究意义进入20世纪80年代后期,交通问题成为困扰世界各国的普遍性难题,随着汽车的数量的不断增加和城市化进程的不断加快,城市交通现象逐渐变得拥挤和阻塞,由此引起的交通事故、噪声和大气污染等社会问题己经日益严重。

基于单片机的顺序控制器设计在C7632中的应用

基于单片机的顺序控制器设计在C7632中的应用

[ b t c ̄ hsp prit d cs teh rwae a d sf aesrcueo eu ni o t l r A sr t T i a e nr ue h ad r n ot r t tr fsq e t lcnr l a o w u a oe
ba e n sn e—c i c o o utr s d o igl h p mir c mp e .Th r i g p i cpl ft e hy a l n e a o tc ma e wo k n rn i e o h dr u i a d s miut ma i — c
T eD sg f e unil o tol ae nSn l —c i co o p t n p l aini 7 3 h ei o q e t nrl rB sdo ige— hpMi c m ue a dA pi t C 6 2 n S aC e r r c o n
c i e t o 6 2 i d s u s d。a d t eee ti o to y t m f h c i ei d sg e n t eb s f h n o l C7 3 i s e s c n h lc r c n r l se o ema h n e i n d o h a i o c s t s s
计算机 的发 展 , 用 微 型 计算 机 实 现顺 序 控 制 成 为 采 现实 , 现在 常用 的可 编程 序 控 制 器 ( L 就 是 以 微 P C)
高 系统 地抗 干扰 能力 。系统 输入 信号 可 以是任何 形 式 的开关 量 信号 以便
工作原 理 , 以顺 序控 制器 为控制核 心设 计 了该机 床 的 电 气控 制 系统 , 并 实现 了对设 备 的 工 艺控 制 ,

51单片机用有限状态机算法实现顺序控制

51单片机用有限状态机算法实现顺序控制
() 示 处 理 语 句 3显
灯熄 灭 1 后 ,c 8S 灯熄 灭 。 根 据上述 要 求 ,设计 出的 8 S 1 片机 接 线 图如 95 单
图 l 示 ,其 中 ,3 0引脚 连 接 按 键 k P . 、2 1 所 P. ;2 0 P . 、
P. 2 2引脚 分别 连接 a灯 、b灯 、C灯 。
第4 ( 期 总第 1 7 ) 6期
2 1 年 8月 01
机 械 工 程 与 自 动 化
M ECHANI CAL ENGI NEERI NG & AUT0MATI ON
No. 4
Au . g
文章 编 号 :6 2 6 1 2 1 )0 — 0 2 0 17 - 4 3( 0 1 4 0 4 — 3
的多分 支的结构 ,并很 容易用 c语言来 实现 。当我们
进 行单 片机 开发 时 ,把 有限状态机 作为 一种思想 导入
c s N aeS : / /在状态 S N / /插入 S N的操作 ; / /插 入 离 开 s N的转 移 ;
b e k: ra
} )
通 常 将 表 示状 态 转 移 的多 个 i f语句 写 成 i- le f es 语句 ,这样 可 以使转移 条件形成 互斥 。其语 句如下 :
低 电平 灯 亮
i (k =) fk : O ft t= :k 8:O O } s ae lk = t = ;
api t n i o w r f n uta cn o [] 7h pl ao s n sf a o i sil ot l C/ t ci t e r d r r /2
再次 按 下 时 ,a灯 立刻 熄灭 ,b灯 l 5 S后熄 灭 ,在 b

单片机一般的开发顺序

单片机一般的开发顺序

单片机一般的开发顺序单片机的开发顺序一、简介单片机是一种集成电路,具有微处理器核心、存储器、输入输出设备等功能。

它被广泛应用于嵌入式系统中,用于控制各种电子设备。

在进行单片机开发时,需要按照一定的顺序进行,以确保项目的顺利进行。

下面将介绍单片机一般的开发顺序。

二、确定项目需求在开始单片机的开发之前,首先要明确项目的需求。

包括项目的功能、性能要求、控制方式等。

只有明确了项目需求,才能有针对性地进行开发。

三、选择单片机型号根据项目需求,选择合适的单片机型号。

不同的单片机型号具有不同的性能和功能特点,需要根据项目需求来进行选择。

四、编写程序根据项目需求和选择的单片机型号,开始编写单片机的程序。

编写程序需要掌握相应的编程语言,如C语言、汇编语言等。

程序的编写要符合单片机的开发环境和编程规范。

五、调试硬件电路在编写程序的同时,需要搭建相应的硬件电路。

搭建电路时要注意电路的连接和元件的选用,确保电路的正常工作。

在搭建好电路后,需要对电路进行调试,确保电路的稳定性和可靠性。

六、下载程序当程序编写完成后,需要将程序下载到单片机中。

下载程序需要使用相应的下载工具和接口电路。

下载程序时要注意连接的正确性和下载的稳定性。

七、测试功能下载完成后,开始测试单片机的功能。

测试功能要按照项目需求来进行,检查单片机的各项功能是否正常。

八、优化程序在测试功能的过程中,可能会发现一些问题或者需要进行一些优化。

此时需要对程序进行修改和优化,以满足项目需求和提高单片机的性能。

九、测试性能在优化程序后,需要进行性能测试。

性能测试要测试单片机的运行速度、响应时间等指标,确保单片机的性能符合项目需求。

十、验证可靠性在测试性能后,需要对单片机进行可靠性验证。

可靠性验证要测试单片机在长时间运行、高温、低温等环境下的稳定性和可靠性。

十一、完善文档在开发过程中,需要编写相应的文档,包括设计文档、测试文档、用户手册等。

这些文档对于项目的后续维护和使用非常重要。

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

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

单片机课程设计单片机实现的顺序控制在现代电子技术领域中,单片机的应用越来越广泛。

顺序控制作为一种常见的控制方式,在工业生产、自动化设备等方面发挥着重要作用。

本次单片机课程设计旨在通过单片机实现顺序控制,深入理解单片机的工作原理和编程方法。

一、单片机简介单片机是一种集成了 CPU、存储器、输入输出接口等功能于一体的微型计算机系统。

它具有体积小、功耗低、性能可靠等优点,广泛应用于各种智能化控制领域。

常见的单片机有 51 系列、STM32 系列等。

在本次课程设计中,我们选用了 51 系列单片机作为控制核心。

51 单片机采用哈佛结构,拥有丰富的指令集和较高的处理速度,能够满足我们对顺序控制的需求。

二、顺序控制的概念顺序控制是指按照预先设定的顺序,依次执行一系列操作或控制动作。

在工业生产中,例如流水线作业、自动化装配等过程,都需要采用顺序控制来确保生产的高效和稳定。

顺序控制通常可以通过逻辑电路、可编程控制器(PLC)或单片机等实现。

与逻辑电路相比,单片机具有编程灵活、功能强大的优势;与 PLC 相比,单片机成本更低,更适合小型控制系统。

三、系统设计要求本次课程设计的顺序控制系统需要实现以下功能:1、控制一组 LED 灯按照特定的顺序点亮和熄灭。

2、每个 LED 灯的点亮和熄灭时间可以通过编程设定。

3、系统具有手动和自动两种工作模式,手动模式下可以通过按键单独控制每个 LED 灯的状态,自动模式下按照预设的顺序自动运行。

四、硬件设计1、单片机最小系统包括单片机芯片、晶振电路和复位电路。

晶振电路为单片机提供时钟信号,复位电路用于系统初始化。

2、 LED 显示电路使用多个 LED 灯作为显示元件,通过单片机的 I/O 口进行控制。

为了保护单片机的 I/O 口,通常需要在 LED 灯与 I/O 口之间串联限流电阻。

3、按键输入电路设置手动模式下的按键,用于单独控制 LED 灯的状态。

按键通过上拉电阻连接到单片机的 I/O 口,当按键按下时,对应的 I/O 口电平发生变化。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

单片机课程设计单片机实现的顺序控制内部编号:(YUUT-TBBY-MMUT-URRUY-UOOY-DBUYI-0128)电气及自动化课程设计报告题目:单片机实现的顺序控制课程:单片机系统设计与Proteus仿真学生姓名:学生学号:年级:专业:班级:指导教师:2015年9月目录一、课程设计性质和目的单片机课程设计是《单片机原理与应用及C51程序设计》课程结束后的一门综合性实践课。

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

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

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

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

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

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

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

二、软件介绍1、 ProteusProtues软件是英国Lab Center Electronics公司出版的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、 Keil uVision4KeilC51是美国Keil Software公司出品的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的输出电平,来判断“故障”或“停止”开关的状态。

则设计程序代码及其解释如下:void main(){EX1=1; //外部中断1允许IT1=0; //电平触发中断EA=1; //总中断允许while(1){P1&=0xfe; //工序1,完成后进入工序2Delay(2000);P1&=0xfd; //工序2,完成后进入工序3Delay(2000);P1&=0xfb;Delay(2000);P1&=0xf7;Delay(2000);P1&=0xef;Delay(2000);P1&=0xdf;Delay(2000);P1&=0x8f;Delay(2000); //7道工序完成,重新开始循环}}void int1_isp() interrupt 2 //外部中断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的单片机课程的基础实验与课程设计人民邮电出版社③、单片机课程设计实例指导北京航空航天大学出版社。

相关文档
最新文档