




已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课程设计(论文)任务书 信息工程学院 计算机科学与技术专业 (1) 班 一、课程设计(论文)题目用单片机控制直流电机并测量转速二、课程设计(论文)工作自 2012 年 6 月 11 日起至 2012 年 6 月 22 日止。三、课程设计(论文) 地点: 4、 课程设计(论文)内容要求: 1本课程设计的目的1)、使学生掌握系统各功能模块的基本工作原理; 2)、培养学生基本掌握电路设计的基本思路和方法; 3)、使学生掌握接收系统调试;4)、培养学生分析、解决问题的能力 2课程设计的任务及要求 1)基本要求分析调频接收系统各功能模块的工作原理;选用合适的器件;提出系统的设计方案; 对所设计电路进行调试。 2)创新要求在基本要求达到后,可进行创新设计,如改善电路性能;对系统进行仿真分析。 3)课程设计论文编写要求 要按照书稿的规格打印誊写毕业论文 论文包括目录、绪论、正文、小结、参考文献、谢辞、附录等 毕业论文装订按学校的统一要求完成 3.答辩与评分标准 1)、完成原理分析:20分; 2)、完成设计过程:30分; 3)、完成调试:30分; 4)、回答问题:20分。 4.参考文献 1)、彭喜元.单片机原理与应用设计 电子工业出版社 2)、张毅刚.单片机原理及应用高等教育出版社 3)、/soft/33/ 5.课程设计进度安排内容 天数地点构思及收集资料 2图书馆组装与调试 5实验室撰写论文 3图书馆、实验室学生签名: 年 月 日课程设计(论文)评审意见(1)完成原理分析(20分):优()、良()、中()、一般()、差(); (2)设计分析(30分):优()、良()、中()、一般()、差(); (3)完成调试(30分):优()、良()、中()、一般()、差();(4)回答问题(20分):优()、良()、中()、一般()、差();(5)格式规范性及考勤是否降等级:是()、否() 评阅人: 职称: 副教授 2012年 6 月 27日目录1、 课程设计任务介绍.41.1题目简介.41.2设计简介.41.3涉及器件简介.4二、硬件电路设计.52.1总体电路视图.52.2实验箱连线图.52.2电路图设计原理.63、 程序设计.73.1程序流程图.73.2各功能模块程序设计示例.74、 调试与问题.135、 小结.131、 课程设计任务介绍1.1题目介绍利用单片机设计一个控制直流电动机并测量转速的装置。实验要求有:1)、通过改变A/D输入端可变电阻来改变A/D的输入电压,D/A输入检测量大小,进而改变直流电动机的转速。2)、手动控制:在键盘上设置两个按键,直流电动机加速键和直流电动机减速键。在手动状态下,每按一次键,电动机的转速按照约定的速率改变。3)、用液晶显示数码移动的速度,及时形象地跟踪直流电动机转速的变化情况。4)、直流电动机双极性控制。1.2设计介绍通过单片机控制PCF5591芯片,实现A/D和D/A的功能。通过D/A将设定的数字量转换成模拟量来控制直流电机的转速并且设定的数字量可以改变;A/D则采集直流电机的工作电压通过相应的公式转换生成转速。通过设计按键改变设定的数字量的值;将D/A输出的电压大小和采集转换的速率通过液晶LCD1602显示出来。设计H型双臂桥的电路来改变直流电机的转动方向。1.3涉及涉及器件简介1) 、LCD1602液晶显示器:5X8的像素显示,基本上不可显示汉字。指令集有: 功能RSR/WDB7DB6DB5DB4DB3DB2DB1DB0清屏0000000001输入方式设置00000001I/DSDDRAM地址设置001/NA6A5A4A3A2A1A0读BF01BF*写数据10数据读数据11数据.I/D=1/0:数据读、写操作后,AC自动增一/减一;S=1/0:数据读、写操作后,环面平移/不动;N=0;一行显示A6-A0=0-4FHN=1;两行显示,首行A6-A0=00H-2FH,次行A6-A0=40H-6FHBF;忙标志位2) 、PCF8591具有I2C总线接口的8位A/D及D/A转换器,它有4路的A/D转换和1路的D/A模拟输出。器件地址: 1001A2A1A0R/W控制字:0D6D5D40D2D1D0 D6 模拟输出标志位I2C总线时序:二、硬件电路设计 3.1总体电路图视图3.2实验箱连线图3.3电路图设计原理PCF8591的基准电压为5V,电路设计主要在于驱动直流电机,将D/A的Aout输出口直接给直流电机,并通过A/D测量其电压大小。本款直流电机最小工作电流为400mA,为了能够驱动直流电机接了个上拉电阻,阻值大小为10欧左右。并且接了个滑动变阻器,能够控制直流电机的转速。在控制直流电机的转向问题上有H型双臂侨法这里没有设计,实验箱上少了开关。3、 程序设计3.1程序设计流程图3.2各功能模块程序设计示例LCD1602驱动程序:#include #include #define uchar unsigned char #define uint unsigned int sbit LCD_RS = P26; sbit LCD_RW = P25; sbit LCD_EN = P27; uchar code dis1 = Microcpu AT89C51; uchar code dis2 = DA: AD: ; void delay(int ms) int i; while(ms-) for(i = 0; i 250; i+) _nop_(); _nop_(); _nop_(); _nop_(); bit lcd_busy() bit result; LCD_RS = 0; LCD_RW = 1; LCD_EN = 1; _nop_(); _nop_(); _nop_(); _nop_(); result = (bit)(P0&0x80); LCD_EN = 0; return result; void lcd_wcmd(uchar cmd) while(lcd_busy(); LCD_RS = 0; LCD_RW = 0; LCD_EN = 0; _nop_(); _nop_(); P0 = cmd; _nop_(); _nop_(); _nop_(); _nop_(); LCD_EN = 1; _nop_(); _nop_(); _nop_(); _nop_(); LCD_EN = 0; void lcd_wdat(uchar dat) while(lcd_busy(); LCD_RS = 1; LCD_RW = 0; LCD_EN = 0; P0 = dat; _nop_(); _nop_(); _nop_(); _nop_(); LCD_EN = 1; _nop_(); _nop_(); _nop_(); _nop_(); LCD_EN = 0; void lcd_wdatstr(uchar ch14) uchar i=0;while(chi!=0)lcd_wdat(chi);i+; void lcd_pos(uchar pos,uchar ch2) lcd_wcmd(pos|0x80); lcd_wdatstr(ch); void lcd_init() delay(15); lcd_wcmd(0x38); delay(5); lcd_wcmd(0x38); delay(5); lcd_wcmd(0x38); delay(5); lcd_wcmd(0x0c); delay(5); lcd_wcmd(0x04); delay(5); lcd_wcmd(0x01); delay(5); lcd_pos(0x00,dis1); lcd_pos(0x40,dis2); PCF驱动程序:#include#include #define NOP() _nop_() /* 定义空指令 */#define _Nop() _nop_() /*定义空指令*/sbit SCL=P21; /I2C 时钟 sbit SDA=P20; /I2C 数据 bit ack; /*应答标志位*/ extern bit ack;/起动总线函数extern void Start_I2c();/结束总线函数 extern void Stop_I2c();/应答子函数extern void Ack_I2c(bit a);/字节数据发送函数extern void SendByte(unsigned char c);/有子地址发送多字节数据函数 extern bit ISendStr(unsigned char sla,unsigned char suba,unsigned char *s,unsigned char no) ;/无子地址发送多字节数据函数 extern bit ISendStrExt(unsigned char sla,unsigned char *s,unsigned char no);/无子地址读字节数据函数 extern unsigned char RcvByte();void Start_I2c() SDA=1; _Nop(); SCL=1; _Nop(); _Nop(); _Nop(); _Nop(); _Nop(); SDA=0; _Nop(); _Nop(); _Nop(); _Nop(); _Nop(); SCL=0; _Nop(); _Nop();void Stop_I2c() SDA=0; _Nop(); SCL=1; /*结束条件建立时间大于4s*/ _Nop(); _Nop(); _Nop(); _Nop(); _Nop(); SDA=1; _Nop(); _Nop(); _Nop(); _Nop();void SendByte(unsigned char c) unsigned char BitCnt; for(BitCnt=0;BitCnt8;BitCnt+) if(cBitCnt)&0x80)SDA=1; else SDA=0; _Nop(); SCL=1; _Nop(); _Nop(); _Nop(); _Nop(); _Nop(); SCL=0; _Nop(); _Nop(); SDA=1; _Nop(); _Nop(); SCL=1; _Nop(); _Nop(); _Nop(); if(SDA=1)ack=0; else ack=1; SCL=0; _Nop(); _Nop(); unsigned char RcvByte() unsigned char retc; unsigned char BitCnt; retc=0; SDA=1; for(BitCnt=0;BitCnt8;BitCnt+) _Nop(); SCL=0; _Nop(); _Nop(); /时钟低电平周期大于4.7s _Nop(); _Nop(); _Nop(); SCL=1; _Nop(); _Nop(); retc=retc1; if(SDA=1)retc=retc+1; _Nop(); _Nop(); SCL=0; _Nop(); _Nop(); return(retc);void Ack_I2c(bit a) if(a=0)SDA=0; else SDA=1; _Nop(); _Nop(); _Nop(); SCL=1; _Nop(); _Nop(); /*时钟低电平周期大于4s*/ _Nop(); _Nop(); _Nop(); SCL=0; _Nop(); _Nop(); 主程序设计#include #include #include #define PCF8591 0x90 /PCF8591 地址/此表为 LED 的字模, 共阴数码管 0-9 - unsigned char code Disp_Tab = 0,1,2,3,4,5,6,7,8,9;unsigned char AD_CHANNEL;unsigned int D5;bit DACconversion(unsigned char sla,unsigned char c, unsigned char Val) Start_I2c(); /启动总线 SendByte(sla); /发送器件地址 if(ack=0)return(0); SendByte(c); /发送控制字节 if(ack=0)return(0); SendByte(Val); /发送DAC的数值 if(ack=0)return(0); Stop_I2c(); /结束总线 return(1);bit ISendByte(unsigned char sla,unsigned char c) Start_I2c(); /启动总线 SendByte(sla); /发送器件地址 if(ack=0)return(0); SendByte(c); /发送数据 if(ack=0)return(0); Stop_I2c(); /结束总线 return(1);unsigned char IRcvByte(unsigned char sla) unsigned char c; Start_I2c(); /启动总线 SendByte(sla+1); /发送器件地址 if(ack=0)return(0); c=RcvByte(); /读取数据0 Ack_I2c(1); /发送非就答位 Stop_I2c(); /结束总线 return(c);/*/main() D4=500;AD_CHANNEL=0;lcd_init();while(1)switch(AD_CHANNEL)/*case 0: ISendByte(PCF8591,0x41);D0=IRcvByte(PCF8591)*2; /ADC0 模数转换1 放大2倍显示break; */case 0: ISendByte(PCF8591,0x41);D1=IRcvByte(PCF8591)*2*25*10/256; /ADC1 模数转换2break; /*case 2: ISendByte(PCF8591,0x43);D2=IRcvByte(PCF8591)*2; /ADC2模数转换3break; case 3: ISendByte(PCF8591,0x40);D3=IRcvByte(PCF8591)*2; /ADC3 模数转换4break; */case 1: DACconversion(PCF8591,0x40, D4/2); /DAC 数模转换break;+AD_CHANNEL;AD_CHANNEL%=2;if(P2&0x08) D4-;if(D4=0) D4=509; D4%=510; if(P2&0x04) D4+;D4%=510;lcd_pos(0x43,);lcd_wdat(Disp_TabD4%1000/100);/da输出量lcd_wdat(Disp_TabD4%100/10);lcd_wdat(Disp_TabD4%10);lcd_pos(0x
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年宠物美容AI技术面试题库
- 2025年安全战略填空题库
- 2025年导盲犬训练高级面试实战题库
- 2025年广播电视台后期制作面试常见问题解答
- 2025年语音合成师职业发展面试题及答案
- 2025年高效学习方法与技巧高级笔试预测题
- 2025年地震救援面试重点题解析及答案
- 2025年建筑装饰设计师专业技术考核试卷及答案解析
- 课件中控件的使用
- 2025年环保工程技术师资格考试试题及答案解析
- 2025北京平谷区初三二模数学试题及答案
- 2025年中级会计职称考试经济法冲刺试题及答案
- 乐器供销合同范本
- 2025年辽宁省中考生物学试卷真题附答案
- 2025-2030牛肉分销渠道冲突与供应链协同优化报告
- 《法律职业伦理(第3版)》全套教学课件
- 2025年青岛市崂山旅游集团招聘考试笔试试题
- 2025年秋季新学期全体中层干部会议校长讲话:在挑战中谋突破于坚实处启新篇
- 2025年幼儿园保育员考试试题(附答案)
- 2025年上半年中国铁路兰州局集团有限公司校招笔试题带答案
- 《物联网导论》课程标准
评论
0/150
提交评论