简易航标灯报告自然科学_第1页
简易航标灯报告自然科学_第2页
简易航标灯报告自然科学_第3页
简易航标灯报告自然科学_第4页
简易航标灯报告自然科学_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

1/1简易航标灯报告-自然科学

单片机试验报告

课程名称单片机技术与应用试验名称简易航标灯设计试验专业光电信息工程班级光电121班学号050312113姓名蒯玄试验地点躬行楼528试验日期2023.5.28

常熟理工学院课程设计报告

一、试验目的

1、把握定时器/计数器原理及其应用;2、了解航标灯掌握要求;二、试验仪器

编号12板3456键盘显示接口板万用表示波器Proteus7.8SP2仿真软件7三、试验内容

仪器设备WD990微机电源8051最小系统数量11单位个套1111块套台份单芯杜邦线若干根按键:灯质设定MCU光照采集图3-1简易航标灯掌握结构图发光二极管常熟理工学院课程设计报告

1、2位拨码开关:灯质设定(频率与占空比)

2、光敏电阻:实现光照采集(光照强,电阻小;光照弱,电阻大)

3、灯驱动:发光二极管采纳12V供电,要试验单片机驱动电路设计,三极管驱动

要求:通过光敏电阻采集光照度,白天灯熄灭,黑夜灯根据上表闪耀。课时数:2课时四、预习要求

1、完成简易航标灯系统的标准DXP原理图;2、编程实现简易航标灯的各项功能;

3、Proteus78仿真说明:光敏电阻:TORCH_LDR,2位拨码开关:DIPSW_2接时不能接上拉电阻,否则仿真不通过;五、试验步骤

KeiluVision工程软件设计、修改Proteus仿真电路设计、修改No仿真功能实现?Yes实际电路接线、功能验证No实际功能实现?Yes试验结束

常熟理工学院课程设计报告

常熟理工学院课程设计报告

1、硬件:Proteus仿真电路设计,实物输入、输出信号模拟;2、软件:在Keil环境下编写程序,生成.hex文件,通过ProteusProteusV78_Timer0_HBD)进行功能仿真;

3、调试:反复修改程序,完善功能。

4、仿真完成后有条件的同学可通过端口模拟进行功能验证。

六、试验过程1、试验原理图

原理图

2、程序部分#include\

#defineCOUNT50000//50msgcd:50ms的倍数#defineD_OPEN1//开灯#defineD_CLOSE0sbitled=P0^0;sbitOPCON=P1^2;

structIALA

//关灯

//灯输出掌握,高电平有效//光照检测,高电平(亮)

常熟理工学院课程设计报告

{};

unsignedintState[6];unsignedcharGetKey(void){

unsignedcharkey;unsignedcharnum;unsignedchargcd;

//拨码开关状态

//各时间间隔最大公约数

unsignedcharstate[6];//无符号字符型时间常数

key=0;}

//猎取键值,两个开关有四种状态,分别是00,01,10,11即可获得四个键值0,1,2,3

conststructIALAIALA4[4]={};

将计数推断点存入数组中

{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}

if((P1

if((P1

return(key);key|=P1;returnkey

常熟理工学院课程设计报告

//设定灯质状态,以及各个状态的时间unsignedintit=0;

voidT0_ISR(void)interrupt1{

unsignedcharj;TH0=(65536-COUNT)/256;TL0=(65536-COUNT)%6;if(OPCON==0)

//黑夜、暗照度

{

it++;

for(j=0;j=State[5]){it=0;}

else{

led=D_CLOSE;

}

}//中断服务程序voidmain(void){

unsignedintsum=0;

常熟理工学院课程设计报告

unsignedcharkey,pre_key=0,i;

TMOD=(TMODTH0=(65536-COUNT)/256;TL0=(65536-COUNT)%6;ET0=1;EA=1;

TR0=1;//T0启动led=1;sum=0;while(1){

key=GetKey;//猎取键值if(key!=pre_key)

//中断使能

{}

3、仿真波形:

}

}

pre_key=key;

for(i=0;i<6;i++)

{sum=sum+(IALA4[key].gcd)*(IALA4[key].state[i]);}

if(sum==1)

led=1;

State[i]=sum;

常熟理工学院课程设计报告

第一种状态仿真波形

第二种状态仿真波形

常熟理工学院课程设计报告

第三种状态仿真波形

第四种状态仿真波形

4、调试过程记录:

调试先在KeiluVision4软件环境下进行程序编写,利用C语言来编写本次实验所需程序。因为本次实验为简易航标灯的控制设计实验,通过两个拨码开关来实现四种状态的变化。并且用一个LED灯,来显示航标灯的亮灭规律。程序编写完成后再生成hex文件在proteus7.8的仿真图中进行模拟仿真,有问题时,再回到KeiluVision4中对程序进行修改。当在proteus中

常熟理工学院课程设计报告

仿真成功以后,再将程序烧写到开发板上,进行实物调试。在进行实物调试时需要将输入信号接到示波器上,这样可以精确观察,以确保编写的程序定时的准确,没有误差,达到精确定时的目的。仿真时发现波形不对,与各种状态的时间不符合,然后我们将程序的50000参数改变为500,这样在仿真的时候就可以观察到完整的波形,也可以进行验证各个状态的参数是否设置正确,最后加以改正,得出了正确的仿真结果,使得程序能正确运行。七、实验小结

经过好几次实验的训练,我们知道了单片机实验最主要的就是程序的编写以及Keil软件的熟练运用。在程序编写好的基础上,我们要进行仿真,只有看到仿真效果才能判别出我们程序的对与错,从而才能进行实物上的操作。如果仿真出不来我们实验所要求的效果,则很大可能就是我们程序的某一部分编写错误,我们要对程序进行修改。本次试验我们在Keil环境下编写了程序并通过Proteus(SY1_Proteus_test)进行了功能仿真,在面包板上搭建了2个按键控制8个发光二极管的跑马灯的设计,总的来说并不是很难,下次实验我们会继续努力,提前做好充分的预习准备,实验前的预习很重要。

常熟理工学院课程设计报告

仿真胜利以后,再将程序烧写到开发板上,进行实物调试。在进行实物调试时需要将输入信号接到示波器上,这样可以精确观看,以确保编写的程序定时的精确     ,没有误差,达到精确定时的目的。仿真时发觉波形不对,与各种状态的时间不符合,然后我们将程序的50000参数转变为500,这样在仿真的时候就可以观看到完整的波形,也可以进行验证各个状态的参数是否设置正确,最终加以改正,得出了正确的仿真结果,使得程序能正确运行。七、试验小结

经过好几次试验的训练,我们知道了单片机试验最主要的就是程序的编写以及Keil软件的娴熟运用。在程序编写好的基础上,我们要进行仿真,只有看到仿真效果才能判别出我们程序的对与错,从而才能进行实物上的

温馨提示

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

评论

0/150

提交评论