单片机原理与接口技术课程设计(论文)用单片机控制直流电动机并测量转速院(系):电子与信息工程学院专业班级:计算机122班学号:120401053学生姓名:木尼尔丁·哈帕尔指导教师:瞿涛教师职称:讲师起止时间:2015.7.6——2015.7.17实验设计(论文)任务及评语院(系):电子与信息工程学院教研室:计算机科学与技术学号120401053学生姓名木尼尔丁·哈帕尔专业班级计算机122班实验设计(论文)题目用单片机控制直流电动机并测试转速实验设计(论文)任务设计规划实施了四路抢答器的设计与测试解决方案,完成开放实验设计论文的书写,并根据该设计论文完成答辩。实验设计主要内容包括:1.用keill软件实现单片机控制直流电动机并测试转速程序的编写与测试,采用中断控制方式实现。2.用proteus7完成硬件电路设计与仿真,通过改变A/D输入端可变电阻来改变A/D的输入电压,D/A输入检测量大小,进而改变直流电动机的转速;3.用显示器显示的数码移动的速度,来及时的形象的跟踪直流电动机转速的变化情况;指导教师评语及成绩平时成绩:________答辩成绩:__________论文成绩:______总成绩:指导教师签字:年月日本科生课程设计(论文)目录第1章方案设计..........................................................................11.1设计要求..............................................................................11.2总体方案设计.......................................................................1第2章硬件电路设计....................................................................22.1控制芯片..............................................................................22.2模数转化器件-----ADC0809...............................................42.3模块电路设计.......................................................................52.3.1直流测速发电机电路设计............................................52.3.2ADC0809与单片机电路设计.........................................52.3.3数码管电路设计..........................................................62.3.4电源模块电路设计.......................................................62.3.5综合电路设计..............................................................7第3章软件设计............................................................................83.1系统程序设计........................................................................83.2主程序流程图........................................................................83.3ADC0809工作流程图及程序....................................................93.4数码管工作流程及程序........................................................10第4章心得与体会......................................................................13参考文献.......................................................................................14本科生课程设计(论文)1第1章方案设计1.1设计要求(1)通过改变A/D输入端可变电阻来改变A/D的输入电压,D/A输入检测量大小,进而改变直流电动机的转速;(2)手动控制:在电路上上设置按键——①直流电动机加速键;②直流电动机减速键。在手动状态下,每按一次键,电动机的转速均按照约定的速率改变;(3)用显示器显示的数码移动的速度,来及时的形象的跟踪直流电动机转速的变化情况;(4)直流电动机双极性控制:00H——逆时针转最快,80H——停止,FFH——顺时针转最快;1.2总体方案设计方案:依据课题要求,基于AT89C51单片机制作的抢答器,其最大的好处就是处理快,准确性高、可靠性好、控制功能强。而本次微机控制原理课程设计的任务是直流电机速度的测量与显示。主要要求是通过测速直流发电机作为传感器,检测直流电机的转速,并输出与转速相关的电压,通过ADC0809芯片将测速发电机输出电压转换成电压的数字信号。控制芯片采用AT89C51将采集转换后的数字信号进行处理,得到转速,并通过四位数码管予以显示。整体上能够完成从转速检测到数据处理到显示的一整套功能。其系统原理框图如图1.1所示:图1.1系统原理框图测速直流发电机检测速度ADC0809模数转换四位数码管显示数码管驱动器本科生课程设计(论文)2第2章硬件电路设计2.1控制芯片本课题中控制芯片的作用主要是与ADC0809相连接,采集模数转换后得到的8位二进制码,经过公式计算后得到电压值,同时连接四位数码管进行显示。综合考虑,选用AT89C51即满足要求。一.简介:AT89C51是一种带4K字节FLASH存储器的低电压、高性能CMOS8位微处理器。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器。AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。二.AT89C51引脚图:图2.1AT89C51引脚图本科生课程设计(论文)3三.引脚说明:CVV:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。P2口:P2口为一个内部上拉电阻的8位图2.1stc89c52双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。P3口也可作为AT89C51的一些特殊功能口:P3.0RXD(串行输入口);P3.1TXD(串行输出口);P3.2/INT0(外部中断0);P3.3/INT1(外部中断1);P3.4T0(记时器0外部输入);P3.5T1(记时器1外部输入);P3.6/WR(外部数据存储器写选通);P3.7/RD(外部数据存储器读选通)。RST:复位输入。EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器,不管是否有内部程序存储器。当/EA端保持高电平时,此间内部程序存储器。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。本科生课程设计(论文)42.2模数转化器件-----ADC0809一.简介:ADC0809是美国国家半导体公司生产的CMOS工艺8通道,8位逐次逼近式A/D模数转换器。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。是目前国内应用最广泛的8位通用A/D芯片。二.引脚图:图2.2ADC0809引脚图三.引脚说明:D7-D0:8位数字量输出引脚。IN0-IN7:8位模拟量输入引脚。VCC:+5V工作电压。GND:地。VREF(+):参考电压正端。VREF(-):参考电压负端。START:A/D转换启动信号输入端。ALE:地址锁存允许信号输入端。(以上两种信号用于启动A/D转换).EOC:转换结束信号输出引脚,开始转换时为低电平,当转换结束时为高电平。OE:输出允许控制端,用以打开三态数据输出锁存器。本科生课程设计(论文)5CLK:时钟信号输入端(一般为500KHz)。A、B、C:地址输入线。2.3模块电路设计2.3.1直流测速发电机电路设计本课题选用55CY61系列他励测速发电机,由于ADC0809对输入模拟量信号要求电压在0~5V范围内,而测速直流发电机的输出电压普遍在几十伏,因此需要利用滑动变阻器使满额时电压值为5V。接线如图:图2.3直流测速发电机2.3.2ADC0809与单片机电路设计ADC0809与51单片机之间的连接主要有两部分,一是地址部分,0809的A,B,C三个引脚决定IN0~IN7的选通,即地址问题,因系统中只用了IN0通道,因此将A,B,C接地,即000选定IN0;二是D0~D7的数据端口,接51单片机的P0口的八位;其次,由于ADC0809在进行A/D转换时需要有CLK信号,而此时的ADC0809的CLK是接在AT89C51单片机的P3.7端口上,也就是要求从P3.7输出CLK信号供ADC0809使用。因此产生CLK信号的方法就得用软件来产生了。其他控制引脚,EOC接P2.0口,OE接P2.1口,START接P2.2口。综上所述,接线方式如下图所示:本科生课程设计(论文)6图2.4ADC0809与单片机连接图2.3.3数码管电路设计选用四位共阳数码管对转速值进行显示。数码管的位选端接P3口的低四位,段选端接P1口。此外,段选端应连接330Ω的上拉电阻,本处使用排阻,位选端应用PNP型三极管作为数码管的驱动。2.3.4电源模块电路设计图2.5电源模块电路本科生课程设计(论文)72.3.5综合电路设计将上述模块综合,衔接后,得到如下系统接线图:图2.6系统综合电路本科生课程设计(论文)8第3章软件设计3.1系统程序设计针对与转速对应的电压值的测量,严格按照ADC0809要求的时序图设定相关控制端口的状态,读入转换后的数据,数学运算处理成转速后用数码管显示,数码管采用动态扫描法显示,在中断中完成动态扫描。3.2主程序流程图图3.1主程序流程图启动ADC0809进行本次转换延时等待AD转换结束读取AD转换结果将电压结果转换成转速调用显示程序显示转速本科生课程设计(论文)93.3ADC0809工作流程图及程序启动ADC0809对模拟量输入信号进行转换,通过判断EOC(P2.0引脚)来确定转换是否完成,若EOC为0,则继续等待;若EOC为1,则把OE置位,读入数据。流程图如下:NY图3.2ADC0809的工作流程图该部分程序如下:sbitEOC=P2^0;sbitOE=P2^1;sbitST=p2^2