驱动继电器实验

 

                       

 

 

 

 

 


 

学生实验报告

 

 

 

 

 

 

 

课程名称:单片机原理与应用 

专业班级:嵌入式14103班  __

姓    名:_赵存档___________

学    号:14160310317      

 

 

2015--2016    学年第 1 学期

 

 


 

实验项目( 三 ) — 预习报告

项目

名称

驱动继电器实验

实验

目的

要求

目的:学会本次实验是如何进行实现的,以及对实验原理的理解。

要求:认真完成本实验的keil代码的编写,proteus电路仿真图的设计。 小组内独立完成实验项目内容。

实验

内容

原理

  驱动继电器的实验:

驱动继电器实验_第1张图片

实验内容:先在proteus仿真软件中画好电路图,然后在keil中编写驱动继电器的代码。进行调试代码是否正确,如果正确设置好晶振频率,生成hex文件,加载到proteus 51单片机中去。

实验原理:继电器工作跟蜂鸣器类似,要加一个脉冲信号,输出高电平让继电器激磁,输出低电平让继电器消磁,最后加一个循环。For循环中,定义变量count

来让继电器运行多少次。

    

预习过程中的疑问以及疑问  解答

 

 

关于驱动继电器的实验:

疑问一:继电器电路中,给继电器并联一个二极管是什么意思?

解答:防止直流继电器断开时产生的反电动势对元件照成损坏,消耗反电动势,续流的作用。

 

疑问二:继电器串联一个电阻有啥作用?

解答:保护电路,防止二极管被击穿。

 

疑问三:让继电器激磁6s,消磁3s该怎么写?

解答:void delay(int x){ int i,j; for(i=0;i<x;i++)for(j=0;j<1200;j++);}Void   count(int count.int High,int Low){ int i; for(i=0;i<count,i++);{   relay=1;delay(300);

Relay=0;delay(600);}

 

疑问四:delay延时函数是怎么计算的?

解答:void delay(int x){ int i,j; for(i=0;i<x;i++)for(j=0;j<1200;j++);}   这里12MHZ的晶振,一个机器周期12*1/12=1us,一个for循环8us,这里8*1200约等于10ms

总的延时 x*10ms

实验项目( 三 ) — 实验报告

 

项目

名称

驱动继电器实验

指导教师

高照玲

 

实验室

教室

实验日期

2015/10/14

 

分组

情况

赵存档、

成    绩

 

 

实验步骤(算法、代码、方法)给出流程图

驱动继电器的实验:

流程图:

    

主要实现代码:

继电器激磁消磁代码:

void   Relay(int count,int High,int Low)

        {

               int i;

               for(i=0;i<count;i++)

               {

                      relay = 1;

                      delay(High);

                      relay = 0;

                      delay(Low);

               }

        }

延迟代码:

void   delay(int x)

        {

               int i,j;

               for(i=0;i<x;i++)

               for(j=0;j<60;j++);

        }

             

 

实验结果(结论及

分析)

通过实验,知道怎么样给单片机产生一个脉冲信号:一段高电平,一段低电平。

编写代码的时候,知道怎么写一个延迟函数也就是for循环:先知道机器周期12MHZ的晶振是12*1/12=1us。X * 第2个for循环里面的数字约等于几ms;

Delay()函数里面填写 X数字。

画电路的时候注意一些要点:加不加电阻和二极管之类的。

编写代码的时候:延时函数的第一个for后面没有分号的,不然会照成延时不对。

 

成绩

 

 

 

 

 

 

你可能感兴趣的:(驱动继电器实验)