光电转速计的设计课程设计Word下载.docx
- 文档编号:17612495
- 上传时间:2022-12-07
- 格式:DOCX
- 页数:14
- 大小:203.60KB
光电转速计的设计课程设计Word下载.docx
《光电转速计的设计课程设计Word下载.docx》由会员分享,可在线阅读,更多相关《光电转速计的设计课程设计Word下载.docx(14页珍藏版)》请在冰豆网上搜索。
2011年12月19日~2011年12月23日:
查资料
12月24日~12月31日:
在指导教师指导下设计方案
2012年1月1日~1月5日:
学生完成实验,指导教师辅导
完成课程设计说明书
1月6日:
答辩
系主任审查意见:
签字:
年月日
目录
一、关键字……………………………………………………………………1
二、项目设计目的及技术要求……………………………………………1
1)设计目的………………………………………………………………1
2)技术要求………………………………………………………………1
三、项目设计方案论证………………………………………………………2
1)方案结构图……………………………………………………………3
2)方案论证………………………………………………………………3
3)程序流程………………………………………………………………5
4)电路图…………………………………………………………………6
四、项目设计结果分析……………………………………………………8
1)系统调试……………………………………………………………9
2)实验结果分析………………………………………………………9
3)元件清单……………………………………………………………9
五、程序清单…………………………………………………………………10
六、参考文献…………………………………………………………………13
一、关键字
光电转速计51单片机光电传感器
二、项目设计目的及技术要求
1)设计目的:
1.熟悉掌握AT89C51系列单片微型计算机的工作原理;
2.掌握利用MCU创建工程项目,并可用于实际项目;
3.理解51系列单片机的信号采集,及其数据处理的过程;
4.了解光电传感器的工作原理及其使用方法。
2)技术要求:
1.光电转速计要求:
1).设计完整的转速计智能产品;
2).利用光电传感器采集数据;
3).利用AT89C52作为MCU,处理数据,并显示转速。
2.扩展部分要求:
1).使用LCD1602显示信息;
2).扩展计算里程功能,计算产品运行的距离;
3).扩展外部存储器EEPROM,记录总行程。
3.报告要求:
1).根据设计的电路,用protel工具,画出完整的硬件电路图及PCB板图;
2).熟悉C51语言,用C51完成系统的软件编程,完成交通灯的控制程序;
3).按要求撰写课程设计报告。
三、项目设计方案论证
1)方案结构图:
2)方案论证:
1.电源供电模块
为使模块稳定工作,须有可靠电源。
我们考虑了两种电源方案
方案一:
采用独立的稳压电源。
此方案的优点是稳定可靠,且有各种成熟电路可供选用;
缺点是各模块都采用独立电源,会使系统复杂,且可能影响电路电平。
方案二:
采用单片机控制模块提供电源。
改方案的优点是系统简明扼要,节约成本;
缺点是输出功率不高。
综上所述,我们选择第二种方案。
2.信号采集模块
该模块分为两个部分:
光电传感器部分和光脉冲信号整形部分。
(1)光电传感器部分:
选用单光束反射式红外光电传感器(ST188),其特点是:
采用高发射功率红外光电二极管和高灵敏度光电晶体管组成;
其检测距离为4--13mm。
如右上图为ST188封装实物图AK为发光二极管,EC为光敏三极管。
它具有很好的开关特性,使用于耦合电路,控制电路,及信号传递电路。
选用光敏电阻(P1201)作为光电传感器。
其特点是:
采用硅光材料感光技术,光敏电阻的阻值与其光强具有很好的线性关系;
其检测距离为:
3mm--20mm
如右上图为P1201实物封装;
其电阻值随光强的增加而减小。
光敏电阻广泛用于光源的检测,光照大小检测。
比较上述两种方案,利用光电对管ST188的开关特性,检测转盘转速比较容易实现,因此选择方案一。
(2)光脉冲信号整形部分:
经电压比较器LM311,对光脉冲信号进行整形,得到一个较好的脉冲信号,在经过施密特触发器进行二次整形,以便于单片机识别信号。
另外,加一个电容进行滤波。
经电压比较器LM393,对光脉冲信号进行整形,再由两个与非门74LS00构成的RS触发器对信号进行滤波及二次整形。
对比两种方案,方案一较为经济,且实现方便,因此选择方案一。
3.按键控制模块
按键是输入设备,是人为控制的关键因素。
利用矩阵按键,有多按键,输入方便,控制简单。
但矩阵按键浪费CPU时间,影响工作效率。
普通单排按键,CPU扫描简便,效率较高,且易于控制。
效率较矩阵按键有明显提高。
方案三:
只用一个按键,利用其复用,可实现一个按键控制多个功能。
效率高实现方便。
使用一个按键方便用户控制,且节约成本。
因此选择方案三。
4.EEPROM数据存储模块
显示里程需要记录数据,89C51系列片内没有EEPROM,因此,需要外接EEPROM。
方案一:
选用并行EEPROM(2804),4K内存的EEPROM。
并行EEPROM写入数据及读出数据速度快,但其可擦写次数少,不宜用于记录里程。
选用串行EEPROM(AT24C02),2K内存的EEPROM。
串行EEPROM使用的是总线技术,单片机模拟总线方式,可实现对串行EEPROM的读写操作。
AT24C02可擦写次数达10万次左右,可用于更新数据快的产品。
综合上述两种方案,选择价格较低的串行EEPROM(AT24C02),较为合适。
5.信息输出显示模块
显示模块是输出设备,是人机交互的重要环节。
选用开发板上的串行LED显示转速及里程,四位数码管显示的数据制约性比较大,无法实现显示多个信息。
选用LCD1602显示信息,LCD1602可显示2*16个字符。
极大地满足了多信息输出的需要。
综合上述两种方案,因此选择方案二的LCD1602进行信息输出。
3)程序流程:
该产品系统程序分为四个部分:
LCD驱动,EEPROM驱动,初始化,定时器及中断采样!
各个部分详细程序流程图如下所示:
4)电路图:
原理图
仿真图
PCB图
四、项目设计结果分析
1)系统调试
(1).LCD显示初始化测试
搭建完成LCD1602,下载程序,调试结果。
在LCD上从左到右显示“DANPIANJIKESHE!
”“GUANGDIANZHUANSUJI!
”显示完毕后清屏。
接着从左到右依次显示姓名学号!
然后显示出示的转速及里程。
初始化完毕!
(2).AT24C02读写的测试
连接AT24C02到电路上,下载程序,调试结果。
先向AT24C02中写入数据123456,掉电后读取AT24C02内存的数据,并在里程中显示,得到结果12.3456。
调试完成
(3).按键功能测试
以上部分调试完成后,测试按键功能,按下按键切换显示的状态。
可在转速及速度中循环转换显示。
若长按按键,转速及里程数据清空。
功能实现则调试完成!
(4).系统测试
连接电路,下载程序,单片机上电,进行系统测试!
初始化完成后,光电对管对检测盘进行检测,引入INT1引脚中,进行信号采集及其处理,显示转速信息,存储里程信息并显示。
用按键控制显示方式,切换显示转速及速度。
长按清空所有存储数据。
系统测试完成!
2)实验结果分析
运行程序,LCD上显示转速和里程或速度和里程。
调节调速电位计,电机转速发生变化,并在LCD上显示相对应的转速或速度。
长按控制按钮,将里程数据清零,使遮光板转动进行检测。
由于遮光板有八条反射板,因此每接收八个光脉冲信号,里程将自动加1.57M,并加以显示。
没接收两个光脉冲信号,读取之间的时间值为int_tpms。
因此可以计算出相应的速度值和转速值!
3)元件清单
元件型号数量
LCD1602JHD162A1个
光电对管ST1881个
电压比较器LM3111个
施密特触发器CD401061个
EEPROMAT24C021个
电阻180,10K10个
五、程序清单:
//16022*16字符第一行0x80第二行0xc0
//24C02存储0x00-0x06:
99999999cm
//0x2e,0x6b,0x6d,0x06,0x07,0x20,0x3d0x30-0x36开始是数字0-9
//------头--------------------------------------------------------
//申明
#include"
REG52.H"
INTRINS.H"
#defineucharunsignedchar
#defineuintunsignedint
//轮周长1.57m及各位值1ms取1.57*(1/1)*1000*100/8
#definespee19625
#defineroun12500
#definemile_h1
#definemile_m5
#definemile_l7
unsignedcharcodedisplay_kecheng[]={"
DanPianJiKeShe!
"
};
//单片机课设
unsignedcharcodedisplay_timu[]={"
GuangDianZhuanSu!
"
//光电转速计
unsignedcharcodedisplay_xingming[]={"
MaShuGuangGaoYangMaRui"
//姓名
unsignedcharcodedisplay_xuehao[]={"
080501413408050141130805014129"
//学号
unsignedcharcodedisplay_round[]={"
*Round=.r/s"
//显示速度
unsignedcharcodedisplay_speed[]={"
*Spped=.m/s"
unsignedcharcodedisplay_mile[]={"
*Mile=.km"
//显示里程
unsignedcharcodedigit[]={"
0123456789"
//数字代码
//单片机IO连接
#defineLCD1602A_IOP0
sbitLCD1602A_RS=P1^0;
sbitLCD1602A_RW=P1^1;
sbitLCD1602A_EN=P1^2;
sbitAT24C02_SDA=P3^0;
sbitAT24C02_SCL=P3^1;
sbitSIGN=P3^3;
sbitKEY=P3^4;
//液晶驱动函数定义`
voidLCD_RD_BUSY(void);
//读忙信号
voidLCD_WR_CMD(uchar);
//写操作命令
voidLCD_WR_DAT(uchar);
//写数据
voidLCD_WR(uchar,uchar);
//输出一个字符
//存储IC驱动函数定义
voidAT24C02_START(void);
//开启
voidAT24C02_STOP(void);
//停止
voidAT24C02_CK(void);
//时钟
voidAT24C02_WR_byte(uchar);
//写入单字节
ucharAT24C02_RD_byte(void);
//读入单字节
ucharAT24C02_RD(uchar);
//从24c02的地址address中读取一个字节数据
voidAT24C02_WR(uchar,uchar);
//向24c02的address地址中写入一字节数据info
voidAT24C02_WRAMD(void);
//向AT24C02写入数据
voidAT24C02_RDAMD(void);
//向AT24C02读出数据
//函数定义
void_init(void);
//软硬件初始化
voidLCD_init(void);
//显示题目,姓名,学号初始化
voidAT24C02_init(void);
//里程初始化
voidT1_INT1_init(void);
//定时器初始化
voiddis_speed(void);
//显示速度
voiddis_round(void);
//显示转速
voiddis_dis(void);
//显示里程
voidkey_cont(void);
//按键控制显示
void_nus(uchar);
//us延时
void_nms(uchar);
//ms延时
//变量定义
uchard_var[6]={0,0,0,0,0,0};
//距离的cm值0x00-0x05双数计算
uinttimej;
//时间周期个数
uinttimei;
//显示周期
uintint_tp;
//周期个数传递
uintsj;
//s指示计数存储
uintml;
//里程末位0.01m
uintsh;
//显示转变
//------主体--------------------------------------------------------
//主函数
voidmain()
{
_init();
while
(1)
{
key_cont();
};
}
//----END---------------------------------------------------------------
六、参考文献
[1]楼然苗等51系列单片机设计实例北京航空航天出版社2003.3
本书是为希望掌握单片机设计应用技术的电子爱好者而编著的,除简要地介绍51系列单片机的硬件资源及指令外,本书重点列举了13个实际应用设计实例。
文中对实例的硬件电路原理、软件设计的思路及功能模块进行了详细的介绍,并给出了完整的源程序及注释,这对单片机初学者迅速理解单片机的设计应用原理具有很好的效果。
读者可以参考书中给出的硬件电路及源程序进行实验设计练习,从而逐步掌握具体应用系统的设计方法。
[2]唐俊翟等单片机原理与应用冶金工业出版社2003.9
本书详细讲解了NCS-51单片机的原理及应用。
全书共11章,内容包括单片机概述,硬件结构,指令系统及程序设计,定时器/计数器,中断系统,串行通信,扩展存储器技术,I/O口扩展设计,与键盘、显示器、打印机的接口,与A/D、D/A转换器的接口等,最后还介绍了应用系统设计,并以实例的形式加以说明。
[3]刘瑞新等单片机原理及应用教程机械工业出版社2003.7
本书详尽地介绍了MCS—51系列单片机的硬件结构、指令系统及编程、内部功能及接口、系统外部功能的扩展、单片机系统开发及应用实例,最后介绍了新型串行总线接口芯片、其他单片机类型及选购。
书中通过大量的例题和由浅入深的单片机应用实例,引导读者逐步认识、熟知、应用单片机。
各章后配有习题以巩固学生所学的知识。
[4]吴国经等单片机应用技术中国电力出版社2004.1
本书为高等学校培养应用型人才教材之一,由具有丰富教学经验的一线教师编写。
本书是通用单片微型计算机应用技术的入门教材,全书共12章及5附录。
内容包括:
计算机应用的基础知识、MCS-51单片机的内部结构原理和存储系统、MCS-51系列单片机指令系统、汇编语言程序设计、中断与定时/计数器、单片机输入/输出端口及常用接口技术、单片机应用系统的设计方法及3个具体的应用实例(包括硬件设计原理图和软件例程)、单片机仿真实验系统和DBUGX编程软件的使用方法、26个单片机软硬件实验指导。
附录中还附有常用集成电路引脚图等参考资料以及学生实验参考程序。
[5]马忠梅等单片机C语言应用程序设计北京航空航天大学出版社2003
本书是针对目前最通用的单片机8051和目前最流行的程序设计语言C,以Franklin/Keil的C51编译器为工具,讲解单片机的C语言程序设计的教材。
全书共十三章,既有单片机基础知识部分;
C5lP6基础部分:
数据与运算控制语句、构造数据类型及函数与程序结构;
又有C51的应用部分:
内部资源、扩展资源、输出控制、数据采集、机间通信及人机交互的C编程。
本书还软件工程推祟的模块化编程技术有所阐述,特别还为实时控制的精确定时讲述了与汇编语言的混合编程技术。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 光电 转速 设计 课程设计