航标灯实验c语言程序,简易航标灯设计实验(7页)-原创力文档

晞敦2Y工年沈

单片机实验报告

课程名称 单片机技术与应用

实验名称 简易航标灯设计实验

专 业 光电信息工程

班级 光电121班

学号 050312109

姓 名 冯晓飞

实验地点躬行楼528

实验日期

2015. 5

.28

简易航标灯设计实验

一、实验目的

1、掌握定时器/计数器原理及其应用;

2、了解航标灯控制要求;

二、器件清单

编亏

仪器设备

数量

单位

1

WD990微机电源

1

2

8051最小系统板

1

3

键盘显示接口板

1

4

万用表

1

5

示波器

1

6

Proteus7.8 SP2 仿真软

1

7

单芯杜邦线

三、实验流程操作图

图一实验操作流程图

四、实验内容

ttffj 1 质设定

J *

光照采集

?

MCU

>

发光二极管

图3-1简易航标灯控制结构图

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

拨码

状态1

状态2

状态3

暗1

*

0

全亮

1

0.5S

1. 5S

0

0 二

0 」

0

2

0. 5S

0. 5S

0.5S

3. 5S

L 0」

」0

3

i 0.5S

1S

0. 5S

1S

0. 5S

2. 5S

2、灯驱动:发光二极管采用12V供电,要实验单片机驱动电路设计,三极管驱动 要求:通过光敏电阻采集光照度,白天灯熄灭,黑夜灯按照上表闪烁。

1.软件部分

C语言程序

No3_HBD.c

#include "reg51.h"

#include "No3_HBD.h"

sbit D=P0A0;〃灯输出控制,高电平■有效

sbit OPCON=P1A2;〃光照检测 ,高电平(亮)

〃结构体全局变量定义,code :常数

struct IALA code IALA4[4]=(

//Num gcd ON1 OFF1 ON2 OFF2 ON3 OFF3

(0, 0,0,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}

};

〃结构体全局变量定义

struct Turn Counter50ms;

///

/T0_ISR 程序

///

void T0_ISR(void) interrupt 1

{

static unsigned int i=0;〃定义静态变量i,用于统计进入T0中断的次数

unsigned char k;

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])

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值