单片机创新课程设计 电动车设计方案单片机创新课程设计 电动车设计方案.docxVIP

单片机创新课程设计 电动车设计方案单片机创新课程设计 电动车设计方案.docx

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
目录概述设计方案 2.1、实验目的 2.2、实验内容 2.3 实验环境 2.4、实验原理 2.5、实验方法2.6、实验结果三、心得体会概述电动车因其操作简单的特性,在日常生活中广泛使用。此次实验我们将大致实现电动车的基本功能,拥有启动、关闭系统和刹车按钮。用八个LED灯显示当前车速。使用AD转换器中的电位器模拟电动车的手柄,控制PWM的占空比,从而控制车速(此处用蜂鸣器的声音大小代替)。设计方案2.1、实验目的根据掌握的键盘控制,PWM输出,A/D转换等知识,设计一个模拟电动车控制系统。包括系统开关,一个刹车信号输入,8个LED速度显示器,一通道的速度数据采集(A/D)和PWM调节速度。2.2、实验内容1.LED 显示器能显示电机速度(0~100%)。提示:可以用PWM的duty映射到电机速度。8个发光管可以采用二进制表示。或者利用三个7段码LED显示电机速度(0~100)2.刹车信号控制电机减速直到停止。3.按键控制整个系统的启动和停止。启动系统按键和关闭系统按键。4.根据手柄输入,使用定时器输出PWM控制调速(此处以蜂鸣器代替)。2.3、实验环境Keil 4软件,烧写软件和avr单片机板。2.4、实验原理将ad的值读取后输出到pwm,再将pwm的输出输出到pd42将pd4与蜂鸣器链接2.5、实验方法1、主程序#include iom16v.h#include macros.h#define uchar unsigned char#define uint unsigned int#include xianshi.cuint mega16_ad(){ uint addata; DDRA=~BIT(PA1); //PA1?aê?è?×′ì? PORTA=~BIT(PA1); //PA1?a??×èì?ê?è? ADMUX=0X41; //AVCC?a?ù×?μ?,AD1?aê?è?í¨μàADCSR=0X80; /ADCSR|=BIT(ADSC);while(!(ADCSR(BIT(ADIF)))); addata=ADCL; addata=addata+ADCH*256;return addata;} void main(){ uint ada,i,ad[6],j;while(1) { ada=mega16_ad();//999 0999for(i=0;i6;i++) { ad[5-i]=ada%2;ada=ada/2; }for(i=0;i6;i++) { show(ad[i],i); delay(2); }}}#include iom16v.h#include macros.h#define uchar unsigned char#define uint unsigned int#include xianshi.c#define BELL_PWM OCR1A #define BELL_PIN PD5 uint mega16_ad(){ uint addata; DDRA=~BIT(PA1); //PA1?aê?è?×′ì? PORTA=~BIT(PA1); //PA1?a??×èì?ê?è? ADMUX=0X41; //AVCC?a?ù×?μ?,AD1?aê?è?í¨μàADCSR=0X80; /ADCSR|=BIT(ADSC);while(!(ADCSR(BIT(ADIF)))); addata=ADCL; addata=addata+ADCH*256;return addata;} void PWM_Init(uint a) { DDRD|=BIT(BELL_PIN); // TCCR1A=0Xa3; TCCR1B=0x0a; BELL_PWM=a; // 512/1024=0.5 } void main(){ uint b,c,d,ada,i,ad[4];while(1) { ada=mega16_ad();PWM_Init(ada); DDRD|=BIT(BELL_PIN); // delay(100); DDRD=~(1BELL_PIN); // delay(100); } }主程序流程图2.6、实验结果按下启动按钮,调节手柄(AD模块中的电位器),蜂鸣器的声音逐渐改变,当前的速度以二进制的方式显示于8个LED中。按下刹车时,蜂鸣器的声音逐渐变弱。LED灯全亮(该程序中8个LED全亮表示速度为零)。按下关闭按钮时,系统关闭。心得体会经过一学期的学习,我对于单片机有了更深

您可能关注的文档

文档评论(0)

cduutang + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档