北航机电控制工程基础-单片机实验报告讲解.docx

北航机电控制工程基础-单片机实验报告讲解.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
北航机电控制工程基础-单片机实验报告讲解

《机电控制工程技术》作业三: 单片机实验报告姓 名:班 级: 130717目录一、实验目的1二、实验任务1三、实验设备1四、实验思路及过程14.1实验箱中基本的器件及其控制方式:14.2程序流程图34.3代码编写3五、程序调试4六、感想4七、附录5实验目的学习使用单片机编程软件ICCV7 for AVR以及烧写软件progisp了解并使用ATmega8单片机及其外围电路实验任务通过电位计控制电机转速,按键控制转向与工作方式,并在数码管上稳定的显示当前工作频率,用LED灯显示电机工作方式,当电机频率过低时电机自动关闭。实验设备机电控制工程实验教学平台实验箱PC一台实验思路及过程实验箱中基本的器件及其控制方式:实验箱中单片机开发板如下图:图表 1 单片机开发板硬件图解硬件介绍该实验中用到了,ATmega8的最小系统(晶振(11.059MHZ),滤波电路,复位电路,ISP下载,电源),以及外围器件(4位数码管及其驱动芯片ZLG7289,4个LED灯,2个中断按钮,1个旋转电位计,以及24BYJ48A型步进电机和L298芯片)外围器件的工作原理简介4位数码管由ZLG7289芯片驱动,采用的驱动方式为动态显示,ATmega8通过PD5~7管脚与ZLG7289之间进行数据传送。4个LED灯与PC0~3管脚相连,当管脚输出低电平时,LED点亮。2个中断开关与PD2、PD3相连,其中断方式可以为电平触发和沿触发旋转电位计输出电压为0~5V,与ADC7相连,通过ATmega8中ADC模块可以得到10位精度的电压数字量值。24BYJ48A型步进电机为4相直流步进电机,其工作电压为12V,由L298芯片控制,L298芯片与ATmega8通过PA1~4相连。该步进电机的通电方式为由自己控制。程序流程图代码编写利用ICCV7 for AVR软件编写单片机程序新建一个project,在project中新建一个c程序。利用Application Builder按钮辅助建立C程序。CPU设置:选择M8,晶振选11.059MHZ,选择INT0和INT1,选择下降沿中断;端口设置:port B 1~4,port C0~3,portD5~7改为输出(O),值默认为零时间计数器:选择Time0,计数溢出中断ADC模块设置:启用ADC模块,ADC模块使能,选用开始转换和连续转换以及ADC 转换结束中断使能,10位精度,右对齐最后在设置中添加主函数即Include”main”()将其他控制代码添入程序,完整程序见附录程序控制的基本思路为,由AD7采集电位计电量并进行模数转换后得到一个temp值,该temp值由对应的函数公式转换为定时计数器初值TCNT0,即改变定时长短,然后在定时计数溢出中断程序中,执行电机换相指令,即可以完成由电位器控制电机转速任务;电机正反转控制由外部中断INT1改变标志变量,进而电机换相方向即可;电机工作方式由外部中断INT0控制,由LED显示工作方式,相应函数跟在电机转动函数之后。电机的运动与否,由temp值来确定。数码管显示由头文件中对应程序完成。程序调试本实验调试过程中出现很多问题,主要问题第一是if 函数中判断条件经常用成=,而非==,之后就是电机转速跟不上频率变化,两者关系应为线性关系,而根据分配原理,两者为双曲线关系,为了进行简化,对首末两端取值后进行了映射关系转化。调试工作很多小错误,但也相应一一克服。感想本次是第一次动手使用单片机,发现并没有那么难,其中相应功能能够基本实现,也相应的进行调试,但由于时间与精力所限,并没有进行高质量的设计,只是实现基本功能稍微进行改进,这次也正好是理论知识的实际应用,强化了课上的学习内容,提高了我们的学习兴趣。附录//ICC-AVR application builder : 2016/5/28 10:04:25// Target : M8// Crystal: 11.059Mhz//ICC-AVR application builder : 2016/5/5 19:32:56// Target : M8// Crystal: 11.059Mhz#include iom8v.h#include macros.h#include g7289.h#include math.h#define A() {PORTB = 0}#define B() {PORTB = 0}#define C() {PORTB = 0}#define D() {PORTB = 0}#define AB() {PORTB = 0}#define BC() {PORTB =

文档评论(0)

2299972 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档