课程设计报告

课程名称: 微机原理课程设计

题 目: 基于51单片机的光电编码器测速

摘要

光电编码器是高精度位置控制系统常用的一种位移检测传感器。在位置控制系统中,由于电机既可能正转,也可能反转,所以要对与其相连的编码器输出的脉冲进行计数,要求相应的计数器既能实现加计数,又能实现减计数,即进行可逆计数。其计数的方法有多种,包括纯粹的软件计数和硬件计数。文中分别对这两种常用的计数方法进行了分析,对其优缺点进行了对比,最后提出了一种新的计数方法,利用80C51单片机内部的计数器实现对光电编码器输出脉冲的加减可逆计数,既节省了硬件资源,又能得到较高的计数频率。本设计就是由单片机STC89C52RC芯片,光电编码器和1602液晶为核心,辅以必要的电路,构成了一个基于51单片机的光电编码器测速器。该系统有两个控制按键,分别用于控制每秒的转速和每分钟的转速,并将速度用1602液晶显示出来。该测速器测速精准,具有实时检测的功能,操作简单。

关键词:光电编码器,51单片机,C语言,1602液晶

目录

一、设计任务与要求4

1.1 设计任务4

1.2 设计要求4

二、方案总体设计5

2.1 方案一5

2.2 方案二5

2.3 系统采用方案5

三、硬件设计7

3.1 单片机最小系统7

3.2 液晶显示模块7

3.3 系统电源8

3.4光电编码器电路8

3.5 整体电路9

四、软件设计10

4.1 keil软件介绍10

4.2 系统程序流程10

五、仿真与实现12

5.1 proteus软件介绍12

5.2 仿真过程12

5.3 实物制作与调试13

5.4 使用说明14

六、总结15

6.1 设计总结15

6.2 经验总结15

七、参考文献16

一、设计任务与要求

1.1 设计任务

要求

二、方案总体设计

设计一个基于51单片机的光电编码器测测速。设计一个电路来实现光电编码器测量;利用单片机内部精确到微妙的定时计数器来实现一个周期的时间来统计脉冲数;74LS74作为辅助芯片来完善光电编码器测转向的功能;P0和P2口控制1602液晶显示转速;利用P1^1和P1^2来实现液晶显示每秒钟和每分钟转速的功能;利用复位按键功能来实现复位操作。调节蓝白滑动变阻器来调节液晶亮度。

2.1 方案一

51单片机的定时/计数器工作在模式2时是一个可以自动重装载的8位定时/计数器。工作时高八位和低八位装入相同的初值,当低八位装满时,高八位的值自动装入到第八位中,从而可以省去用户软件中重装初值常数的语句,可产生相当精确的定时时间。由于只有八位参与计数,所以其计数周期最大为256微妙。采用初值装入0x38,每个200微妙进入一次中断,5000次中断为100毫秒,即实现周期为1秒的脉冲计数。光电编码器的A相接在单片机的外部中断,光电编码器的B相接在单片机的P1^0。A相发出的脉冲每触发一次中断就就计数一个脉冲,并且再对P1^0的高低电平进行检测,如果为高电平则为反转,如果是低电平则为正转。反向器中的两个作为放大作用。再接两个三极管作为开关作用,组成一个直流电机的驱动电路。P1^1和P1^2分别控制液晶显示每分钟的转速和每秒钟的转速。P2口控制1602液晶的数据口,P0的三个引脚控制1602液晶的数据/命令选择端、读/写选择端、使能端来显示速度。

2.2 方案二

51单片机的定时/计数器工作在模式0时是一个16位位定时/计数器。工作时高八位和低八位各装入初值,当低八位装满时,高八位加1。由于是16位参与计数,所以其计数周期最大为65536微妙。采用初值高八位装入0xfc,初值低八位装入0x18,每个1000微妙进入一次中断,1000次中断为1秒,即形成周期为1秒的脉冲计数。本方案在方案1的基础上外接一个74LS74的芯片。光电编码器的A相接在单片机的P3^4的引脚,利用单片机的计数器1进行脉冲计数,同时接在74LS74的时钟信号接口。光电编码器的B相接在74LS74的D接口。Q端接在P3^2引脚,Q非端接在P3^3引脚。利用两个外部中断来判断正反转。P1^1和P1^2分别控制液晶显示每分钟的转速和每秒钟的转速。P2口控制1602液晶的数据口,P0的三个引脚控制1602液晶的数据/命令选择端、读/写选择端、使能端来显示速度。

2.3 系统采用方案

1)总体设计图1 系统总体框架

2)总体工作原理

三、硬件设计

3.1 单片机最小系统

单片机要正常工作,首先要产生片内时钟信号。在单片机内部的振荡器的输入端XTAL1和输出端XTAL2之间接一个石英晶振就可以够成一个自激振荡器。再在两端之间串联接个电容并且在两个电容之间接地以便于稳定频率还对振荡频率有微调作用

单片机c语言编程编码器数值,基于单片机的光电编码器测速报告详解.doc相关推荐

  1. C语言编程johnson算法,基于稀疏图上的Johnson算法的详解

    #include #include #define U    65535 #define PARENT(i)    ((i-1)/2) #define LEFT(i)        (2*(i)+1) ...

  2. 单片机c语言数字频率计课程设计,基于单片机的数字频率计设计开题报告.doc

    基于单片机的数字频率计设计开题报告.doc 皖西学院本科毕业设计(论文)开题报告学院信息工程学院专业通信工程学生姓名裴晓晴学号2010013513指导教师傅思勇职称助教毕业设计(论文)题目基于单片机的 ...

  3. 单片机c语言篮球比分_基于单片机的篮球比赛计时计分器的设计

    摘 要:本系统是采用单片机AT89C51作为本设计的核心原件.利用7段共阴LED作为显示器件.在此设计中共接入了2个7段共阴LED显示器,用于记录得分和比赛时间,显示范围可以达到0到99分,基本满足赛 ...

  4. 单片机c语言出租车计时程序,基于单片机出租车计价器课题设计c语言编写(样例3)...

    <基于单片机出租车计价器课题设计(c语言编写).doc>由会员分享,可免费在线阅读全文,更多与<基于单片机出租车计价器课题设计(c语言编写)>相关文档资源请在帮帮文库(www. ...

  5. 单片机c语言出租车计时程序,基于单片机的出租车计费(c语言).doc

    基于单片机的出租车计费(c语言) 基于单片机的出租车计费(c语言) 基于proteus仿真 一.设计要求: 1.用实现出租车计费器的设计. 出租车起步开始计程和计费,计程系统按实际公里数计程,计费系统 ...

  6. 简单51单片机c语言编程流水灯,51单片机如何实现流水灯?51单片机实现流水灯的三种方法详细分析...

    描述 首先,介绍下原理.下图为主控芯片和流水灯模块的原理图.流水灯模块接在单片机的P1口,由原理图可以知道,在P1口给一个低电平即可点亮LED灯.相反,如果要LED灯熄灭,就要把P1口的电平变为高电平 ...

  7. 单片机c语言篮球比分_基于单片机的篮球记分器设计报告

    设计题目:基于单片机的篮球比赛计分器 设计内容及要求: 1)设计一款显示篮球比分的记分牌: 2)通过加分按钮可以给A队,或B队加分: 3)设计对调功能,更换场地后,AB队分数互换: 4)计时:能实现0 ...

  8. 用51单片机c语言实现电磁炉功能,基于单片机电磁炉控制系统设计..doc

    PAGE 邯郸学院本科毕业论文(设计) 题 目 基于单片机微波炉控制系统设计 学 生 韩浩学 指导教师 李培英 副教授 年 级 2011级专接本 专 业 电气工程及其自动化 二级学院 物理与电气工程系 ...

  9. 单片机c语言编程教学大纲,2014《单片机原理及应用》课程教学大纲.doc

    <单片机原理及应用>课程教学大纲 第一部分 大纲说明 一.课程的性质.目的与任务 <单片机原理及应用>是计算机科学与技术.计算机应用技术.电子信息工程专业的专业课.本课程是以M ...

最新文章

  1. kettle 查询数据库写入文件_怎么连接数据库-详解如何用kettle连接mysql数据库并导出sql查询结果...
  2. WEB前端必须掌握的一些算法题
  3. mysql查询报错: ORDER BY clause is not in GROUP BY..this is incompatible with sql_mode=only_full_group_by
  4. php从入门到放弃表情,Lite语言——从入门到放弃(一)
  5. Nodejs教程09:实现一个带接口请求的简单服务器
  6. Android 组件系列-----Activity生命周期
  7. Android 小组件完整案例
  8. IDEA查看Java源码技巧
  9. 香农编码的gui编码_香农编码
  10. Java网络编程net-1-地址-1
  11. UE4 坐标系坐标轴旋转轴
  12. 常用工具软件的交叉编译
  13. 最新整理:阿里、腾讯、字节、华为、百度等大厂Android岗面经分享!
  14. icafe 同步到主干
  15. JAVA中浮点数取整数部分和取小数部分
  16. 如何快速提高WiFi速度:1个小技巧提升2.5倍
  17. 面向对象之相关综合练习题
  18. 马云卸任后去蹦迪了?都是假的。
  19. [Error]'cout'was not declared in this scope
  20. 设计模式02-动态代理模式

热门文章

  1. orangepi3 -硬件测试,并升级内核到4.9
  2. 长江游艇俱乐部算法题
  3. 模拟电子技术最终章——直流电源:整流+滤波+稳压(知识点归纳总结及例题详细分析)LDO与DCDC详解
  4. 阿里云部署Java网站和微信开发调试心得技巧(上)
  5. Simcenter Amesim 2019.1与Matlab/simulink联合仿真-环境配置与例程联合仿真
  6. 酷我音乐显示服务器怎么办,酷我音乐歌词服务与其他功能的使用方法是什么?...
  7. 小程序swiper带切换按钮
  8. 第三章 函数——自己定义一个函数
  9. 源支付5.18全端带店员监控+免挂源码
  10. 物理服务器、虚拟机、虚拟服务器(VPS)、云服务器几种概念解析