简易航标灯设计实验

简易航标灯设计实验

ID:14345062

大小:494.50 KB

页数:9页

时间:2018-07-28

简易航标灯设计实验_第1页
简易航标灯设计实验_第2页
简易航标灯设计实验_第3页
简易航标灯设计实验_第4页
简易航标灯设计实验_第5页
资源描述:

《简易航标灯设计实验》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、常熟理工学院课程设计报告单片机实验报告课程名称单片机技术与应用实验名称简易航标灯设计实验专业光电信息工程班级光电121班学号050312122姓名汪洋实验地点躬行楼528实验日期2015.5.28常熟理工学院课程设计报告简易航标灯设计实验实验目的1、掌握定时器/计数器原理及其应用;2、了解航标灯控制要求;器件清单编号仪器设备数量单位1WD990微机电源1个28051最小系统板1套3键盘显示接口板1块4万用表1套5示波器1台6Proteus7.8sp2仿真软件1份实验流程操作图图1实验操作流程图第8页常熟理工学院课程设计报告实验内容图2简易航标灯控制结构图1、2位拨码开关:灯质设定(频率

2、与占空比)2、光敏电阻:实现光照采集(光照强,电阻小;光照弱,电阻大)3、灯驱动:发光二极管采用12V供电,要实验单片机驱动电路设计,三极管驱动要求:通过光敏电阻采集光照度,白天灯熄灭,黑夜灯按照上表闪烁。1.软件部分C语言程序//No3_HBD.c#include"reg51.h"#include"No3_HBD.h"sbitD=P0^0;//灯输出控制,高电平有效sbitOPCON=P1^2;//光照检测,高电平(亮)//结构体全局变量定义,code:常数structIALAcodeIALA4[4]={//NumgcdON1OFF1ON2OFF2ON3OFF3{0,0,0,0,0,

3、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}};第8页常熟理工学院课程设计报告//结构体全局变量定义structTurnCounter50ms;////////////////////////////////////////////////////////T0_ISR程序///////////////////////////////////////////////////////////////////////////////////////voidT0_ISR(void)interrupt1{s

4、taticunsignedinti=0;unsignedchark;//定义静态变量i,用于统计进入T0中断的次数TH0=(65536-COUNT_50MS)/256;//计数初值重载TL0=(65536-COUNT_50MS)%256;if(OPCON==0)//{for(k=0;k<2;k++){if(i==Counter50ms.state[2*k]){D=D_CLOSE;//熄灭LED灯}if(i==Counter50ms.state[2*k+1]){D=D_OPEN;//点亮LED灯}}if(i==Counter50ms.state[4]){D=D_CLOSE;//熄灭LED

5、灯}if(i>=Counter50ms.state[5]){D=D_OPEN;//点亮LED灯i=0;}i++;//若是黑夜,根据灯质设定控制灯LED灯闪烁}else{//若是白天,熄灭LED灯D=D_CLOSE;i=0;}}第8页常熟理工学院课程设计报告////////////////////////////////////////////////////////按键判断/////////////////////////////////////////////////////////////////////////////////////////unsignedcharGetKey(

6、void){unsignedcharkey;key=0;//此处添加按键Key1、Key0代码if(P1&0x01)//低电平有效key

7、=0x01;if(P1&0x02)key

8、=0x02;return(key);}////////////////////////////////////////////////////////定时器0初始化////////////////////////////////////////////////////////////////////////////////////voidT0_Init(void){TMOD=(TMOD&0xf0)

9、0x01;

10、//定义T0为16位定时方式TH0=(65536-COUNT_50MS)/256;//赋计数初值的高8位TL0=(65536-COUNT_50MS)%256;//赋计数初值的低8位ET0=1;//T0中断使能EA=1;//总中断使能TR0=1;//T0启动}////////////////////////////////////////////////////////主程序////////////////////////////////////

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。