驱动继电器实验
学生实验报告
课程名称:单片机原理与应用
专业班级:嵌入式14103班 __
姓 名:_赵存档___________
学 号:14160310317
2015--2016 学年第 1 学期
实验项目( 三 ) — 预习报告 |
||||
项目 名称 |
驱动继电器实验 |
|||
实验 目的 及 要求 |
目的:学会本次实验是如何进行实现的,以及对实验原理的理解。 要求:认真完成本实验的keil代码的编写,proteus电路仿真图的设计。 小组内独立完成实验项目内容。 |
|||
实验 内容 及 原理 |
驱动继电器的实验: 实验内容:先在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后面没有分号的,不然会照成延时不对。 |
|
||
成绩 |
|
|

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】