- 1、本文档共9页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
光电计数器测转速电路图完整C程序
光电计数器设计
班 级 _________
学 号 _____________
姓 名 ____________
指导老师 _______________
光电计数器实验报告
?
摘要 ?
光电计数器有直观和计数精确的优点,目前已在各种行业中普遍使用。光电计数器有多种计数触发方式,它是由实际使用条件和环境决定的。有采用机械方式的接触式触发的,有采用电子传感器的非接触式触发的,光电式传感器是其中之一,它是一种非接触式电子传感器。这种计数器在工厂的生产流水线上作产品统计,有着其他计数器不可取代的优点。。本文针对光电计数器的设计要求,在实现了基本要求的基础上改加了测物体转速的功能。
?
内容简介
光电计数器是通过光电耦合器OPTOISO1发光二极管一端在加电压的条件下发出红外光,红外光照射光电耦合器的光敏三极管一端是光敏三级管导通,从而使光敏三级管集电极一端产生低电平。当有物体遮住红外光时,光敏三极管截止从而产生高低电平的跳变。并通过74LS14反相器整形送入单片机进行处理。
本设计计数器可将机械或人工计数方式变为电子计数形式,并且采用8*8戴南镇显示屏来计数显示。
一、方案设计和论证
采用单片机控制模块提供电源。改方案的优点是系统简明扼要,节约成本;缺点是输出功率不高。
1.2、技术传感器部分
根据老师要求我们一律采用光电耦合器进行计数
1.3、显示部分
根据实验要求我们一律采用8*8点阵进行计数显示。
系统硬件图
2.1 复位电路
为确保微机系统中电路稳定可靠工作,复位电路是必不可少的一部分,复位电路的第一功能是上电复位。一般微机电路正常工作需要供电电源为5V±5%,即4.75~5.25V。由于微机电路是时序数字电路,它需要稳定的时钟信号,因此在电源上电时,只有当VCC超过4.75V低于5.25V以及晶体振荡器稳定工作时,复位信号才被撤除,微机电路开始正常工作。
电路图如下:
上电自动复位是通过外部复位电路的电容充电来实现的。只要Vcc的上升时间不超过1ms,就可以实现自动上电复位。
2.2 时钟电路
时钟电路可以简单定义如下: 1.就是产生象时钟一样准确的振荡电路。 2.任何工作都按时间顺序。用于产生这个时间的电路就是时钟电路。时钟电路一般由晶体震荡器、晶震控制芯片和电容组成。
电路图如下:
2.3 光耦电路
?
三、AT89S52单片机
单片机引脚介绍
XTAL1:接外部晶振体的一个引脚。CHMOS单片机采用外部时钟信号时,时钟信号由此引脚接入。
XTAL2:接外部晶振个一个引脚。CHMOS单片机采用外部时钟信号,外部时钟信号由此引脚接入。
RST/VPD:①复位信号输入。②VCC掉电后,此引脚可接备硬电源,低功耗条件下保持内部RAM中的数据。
ALE/ :①地址锁存允许。当单片机访问外部存储时,该引脚的输出信号ALE用于锁存P0的低8位地址。ALE输出的频率为时钟振荡频率的1/6。
:程序存储器允许。输出读外部程序的选通信号。取指令操作期间。 的频率为振荡频率的1/6;若此期间有访问数据外存储的操作,则有一个机器周期中的 信号将不出现。
/Vpp:① =0,单片机只访问外部程序存储器。
P0.0~P0.7数据/低8位地址复用总线端口。
P1.0~P1.7静态通用端口。
P2.0~P2.7高8位地址总线动态端口
P3.0~P3.7双功能技能静态端口。
四、系统总电路图
五、计数器程序
#include reg51.h
#include absacc.h
#include intrins.h
unsigned char code tab[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
unsigned char code digittab[10][8]={ {0x00,0x00,0x3e,0x41,0x41,0x41,0x3e,0x00}, //0
{0x00,0x00,0x00,0x00,0x21,0x7f,0x01,0x00}, //1
{0x00,0x00,0x27,0x45,0x45,0x45,0x39,0x00}, //2
{0x00,0x00,0x22,0x49,0x49,0x49,0x36,0x00}, //3
{0x00,0x00,0x0c,0x14,0x24,0x7f,0x04,0x00}, //4
{0x00,0x00,0x72,0x51,0x51,0x51,0x4e,0x00}, //5
{0x00,0x00,0x3e,0x49,0x49,0x49,0x26,0x00}, //6
{0x00,0x00,0x40,0x40,0x40,0x4f,
文档评论(0)