简易航标灯报告.doc_第1页
简易航标灯报告.doc_第2页
简易航标灯报告.doc_第3页
简易航标灯报告.doc_第4页
简易航标灯报告.doc_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

常熟理工学院课程设计报告 单片机实验报告 课程名称 单片机技术与应用 实验名称 简易航标灯设计实验 专 业 光电信息工程 班 级 光电121班 学 号 050312113 姓 名 蒯 玄 实验地点 躬行楼528 实验日期 2015.5.28 一、实验目的1、掌握定时器/计数器原理及其应用;2、了解航标灯控制要求;二、实验仪器编号仪器设备数量单位1WD990微机电源1个28051最小系统板1套3键盘显示接口板1块4万用表1套5示波器1台6Proteus7.8 SP2仿真软件1份7单芯杜邦线若干根图3-1 简易航标灯控制结构图三、实验内容1、2位拨码开关:灯质设定(频率与占空比) 2、光敏电阻:实现光照采集(光照强,电阻小;光照弱,电阻大)3、灯驱动:发光二极管采用12V供电,要实验单片机驱动电路设计,三极管驱动要求:通过光敏电阻采集光照度,白天灯熄灭,黑夜灯按照上表闪烁。课时数:2课时四、预习要求1、完成简易航标灯系统的标准DXP原理图; 2、编程实现简易航标灯的各项功能;3、Proteus78仿真说明:光敏电阻:TORCH_LDR,2位拨码开关:DIPSW_2接时不能接上拉电阻,否则仿真不通过;五、实验步骤1、 硬件:Proteus仿真电路设计,实物输入、输出信号模拟;2、 软件:在Keil 环境下编写程序,生成.hex文件,通过ProteusProteusV78_Timer0_HBD)进行功能仿真;3、 调试:反复修改程序,完善功能。4、 仿真完成后有条件的同学可通过端口模拟进行功能验证。六、实验过程1、实验原理图原理图2、程序部分#include reg51.h#define COUNT 50000 /50ms gcd:50ms的倍数#define D_OPEN 1 /开灯#define D_CLOSE 0 /关灯sbit led=P00; /灯输出控制,高电平有效sbit OPCON=P12; /光照检测 ,高电平(亮) struct IALAunsigned char num; /拨码开关状态unsigned char gcd; /各时间间隔最大公约数unsigned char state6;/无符号字符型时间常数;unsigned int State6; unsigned char GetKey(void)unsigned char key; key=0;if(P1&0x01)=0) /低电平有效key|=0x01;if(P1&0x02)=0)key|=0x02;return(key);key|=P1;return key&0x03;/获取键值,两个开关有四种状态,分别是00,01,10,11即可获得四个键值0,1,2,3const struct IALA IALA44=0,10,1,0,0,0,0,0,1,10,1,3,0,0,0,0,2,10,1,1,1,7,0,0,3,10,1,2,1,2,1,5;将计数判断点存入数组中/设定灯质状态,以及各个状态的时间unsigned int it=0;void T0_ISR(void) interrupt 1unsigned char j;TH0=(65536-COUNT)/256;TL0=(65536-COUNT)%256;if(OPCON=0)/黑夜、暗照度 it+; for(j=0;j=State5) it=0; else /白天、亮照度 led=D_CLOSE; /中断服务程序 void main(void) unsigned int sum=0; unsigned char key,pre_key=0,i;TMOD=(TMOD&0xf0)|0x01;TH0=(65536-COUNT)/256;TL0=(65536-COUNT)%256;ET0=1;/中断使能EA=1;TR0=1; /T0启动led=1;sum=0;while(1)key=GetKey();/获取键值if(key!=pre_key) for(i=0;i6;i+)sum=sum+(IALA4key.gcd)*(IALA4key.statei);Statei=sum;if(sum=1)led=1;pre_key=key; 3、仿真波形:第一种状态仿真波形第二种状态仿真波形第三种状态仿真波形第四种状态仿真波形4、调试过程记录:调试先在Keil uVision4软件环境下进行程序编写,利用C语言来编写本次实验所需程序。因为本次实验为简易航标灯的控制设计实验,通过两个拨码开关来实现四种状态的变化。并且用一个LED灯,来显示航标灯的亮灭规律。程序编写完成后再生成hex文件在proteus7.8的仿真图中进行模拟仿真,有问题时,再回到Keil uVision4中对程序进行修改。当在proteus中仿真成功以后,再将程序烧写到开发板上,进行实物调试。在进行实物调试时需要将输入信号接到示波器上,这样可以精确观察,以确保编写的程序定时的准确,没有误差,达到精确定时的目的。仿真时发现波形不对,与各种状态的时间不符合,然后我们将程序的50000参数改变为500,这样在仿真的时候就可以观察到完整的波形,也可以进行验证各个状态的参数是否设置正确,最后加以改正,得出了正确的仿真结果,使得程序能正确运行。七、实验小结经过好几次实验的训练,我们知道了单片机实验最主要的就是程序的编写以及Keil软件的熟练运用。在程序编写好的基础上,我们要进行仿真,只有看到仿真效果才能判别出我们程序的对与错,从而才能进行实物上的操作。如果仿真出不来我们实验所要求的效果,则很大可能就是我们程序的某一部分编写错误,我们要对程序进行修改。本次试验我

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论