单片机航标灯控制课程设计.docx

上传人:b****6 文档编号:5920037 上传时间:2023-01-02 格式:DOCX 页数:14 大小:162.38KB
下载 相关 举报
单片机航标灯控制课程设计.docx_第1页
第1页 / 共14页
单片机航标灯控制课程设计.docx_第2页
第2页 / 共14页
单片机航标灯控制课程设计.docx_第3页
第3页 / 共14页
单片机航标灯控制课程设计.docx_第4页
第4页 / 共14页
单片机航标灯控制课程设计.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

单片机航标灯控制课程设计.docx

《单片机航标灯控制课程设计.docx》由会员分享,可在线阅读,更多相关《单片机航标灯控制课程设计.docx(14页珍藏版)》请在冰豆网上搜索。

单片机航标灯控制课程设计.docx

单片机航标灯控制课程设计

一.系统总体方案选择与说明

1.1设计方案选择

以89C51单片机为核心,逻辑电路为辅助的制作开发自动控制航标灯,以实现设计要求。

1.2设计方案说明

以89C51单片机为核心制作开发的自动控制航标灯系统,实现1)航标灯在黑夜能定时闪闪发光,亮3s,熄灭3s周期循环。

2)白天应停止航标灯工作。

3)枯水季节应检测水位高度,低于通航水位时要发出警告信号,定时闪闪发光,亮1s,熄灭1s周期循环。

 

二.系统结构框图与工作原理

2.1系统结构框图

图2.1

 

2.2系统的工作原理

本电路选用了MCS87C51单片微处理器作为航标控制电路的核心,时钟选频为12MHZ。

87C51是INTEL公司MCS-51系列单片机中基本型产品,它采用INTEL公司可靠的CHMOS工艺技术制造的高性能8位单片机,属于标准的MCS-51的体系结构和指令系统。

它结合了HMOS的高速和高密度技术及CHMOS的低功耗特征,是80C51BH的EPROM版本,电改写光擦除的片内4kBEPROM。

87C51内置8位中央处理单元、128字节内部数据存储器RAM、32个双向输入/输出(I/O)口、2个16位定时/计数器和5个两级中断结构,一个全双工串行通信口,片内时钟振荡电路。

快速脉冲编程,如编写4kB片内ROM仅需12秒。

检测P1.1口的电平(即水位的高度),当P1.1为低电平时(即为枯水期),P2.1输出为高电平,灯亮0.5s,熄灭0.5s周期循环。

当P1.1为高电平时(即为安全期),此时P1.0为高电平时(即为白昼),灯不工作;当P1.1为高电平时,此时P1.0为低电平(即为夜晚),灯亮3s,熄灭3s周期循环。

 

P1.1

P1.0

航标灯工作状态

0

0

灯亮1s,熄灭1s周期循环

0

1

1

0

灯亮3s,熄灭3s周期循环

1

1

灯不工作

 

三.各单元硬件设计说明及计算方法

3.1单片机简介

 AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—FalshProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。

AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。

单片机的可擦除只读存储器可以反复擦除100次。

该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。

由于将多功能8位CPU和闪烁存储器组合在单个芯片中。

3.1.1.主要特性:

·与MCS-51兼容

·4K字节可编程闪烁存储器

寿命:

1000写/擦循环

数据保留时间:

10年

·全静态工作:

0Hz-24Hz

·三级程序存储器锁定

·128*8位内部RAM

·32可编程I/O线

·两个16位定时器/计数器

·5个中断源

·可编程串行通道

·低功耗的闲置和掉电模式

·片内振荡器和时钟电路

3.1.2.管脚说明:

    VCC:

供电电压。

    GND:

接地。

    P0口:

P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。

当P1口的管脚第一次写1时,被定义为高阻输入。

P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。

在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。

    P1口:

P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。

P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。

在FLASH编程和校验时,P1口作为第八位地址接收。

    P2口:

P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。

并因此作为输入时,P2口的管脚被外部拉低,将输出电流。

这是由于内部上拉的缘故。

P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。

在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。

P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

    P3口:

P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。

当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。

作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。

P3口也可作为AT89C51的一些特殊功能口,如下表所示:

口管脚备选功能

P3.0RXD(串行输入口)

P3.1TXD(串行输出口)

P3.2/INT0(外部中断0)

P3.3/INT1(外部中断1)

P3.4T0(记时器0外部输入)

P3.5T1(记时器1外部输入)

P3.6/WR(外部数据存储器写选通)

P3.7/RD(外部数据存储器读选通)

P3口同时为闪烁编程和编程校验接收一些控制信号。

    RST:

复位输入。

当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。

ALE/PROG:

当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。

在FLASH编程期间,此引脚用于输入编程脉冲。

在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。

因此它可用作对外部输出的脉冲或用于定时目的。

然而要注意的是:

每当用作外部数据存储器时,将跳过一个ALE脉冲。

如想禁止ALE的输出可在SFR8EH地址上置0。

此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。

另外,该引脚被略微拉高。

如果微处理器在外部执行状态ALE禁止,置位无效。

   /PSEN:

外部程序存储器的选通信号。

在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。

但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。

    /EA/VPP:

当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。

注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。

在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。

    XTAL1:

反向振荡放大器的输入及内部时钟工作电路的输入。

高低电平要求的宽度。

    XTAL2:

来自反向振荡器的输出。

3.280C51管脚图及功能介绍

Vss(20脚):

接地

VCC(40脚):

主电源+5V

XTAL1(19脚):

接外部晶体的一端。

在片内它是振荡电路反相放大器的输入端。

在采用外部时钟时,对于HMOS单片机,该端引脚必须接地;对于CHMOS单片机,此引脚作为驱动端。

 XTAL2(18脚):

接外部晶体的另一端。

在片内它是一个振荡电路反相放大器的输出端,振荡电路的频率是晶体振荡频率。

若需采用外部时钟电路,对于HMOS单片机,该引脚输入外部时钟脉冲;对于CHMOS单片机,此引脚应悬浮。

RST(9脚):

单片机刚接上电源时,其内部各寄存器处于随机状态,在该脚输入24个时钟周期宽度以上的高电平将使单片机复位(RESET)

 PSEN(29脚):

在访问片外程序存储器时,此端输出负脉冲作为存储器读选通信号。

CPU在向片外存储器取指令期间,PSEN信号在12个时钟周期中两次生效。

不过,在访问片外数据存储器时,这两次有效PSEN信号不出现。

PSEN端同样可驱动8个LSTTL负载。

我们根据PSEN、ALE和XTAL2输出端是否有信号输出,可以判别80C51是否在工作。

 ALE/PROG(30脚):

在访问片外程序存储器时,此端输出负脉冲作为存储器读选通信号。

CPU在向片外存储器取指令期间,PSEN信号在12个时钟周期中两次生效。

不过,在访问片外数据存储器时,这两次有效PSEN信号不出现。

PSEN端同样可驱动8个LSTTL负载。

我们根据PSEN、ALE和XTAL2输出端是否有信号输出,可以判别80C51是否在工作。

 EA/VPP(31脚):

当EA端输入高电平时,CPU从片内程序存储器地址0000H单元开始执行程序。

当地址超出4KB时,将自动执行片外程序存储器的程序。

当EA输入低电平时,CPU仅访问片外程序存储器。

在对87C51EPROM编程时,此引脚用于施加编程电压VPP。

 输入/输出引脚:

(1)P0.0—P0.7   (39脚—32脚)

(2)P1.0—P1.7  (1脚—8脚)

(3)P2.0—P2.7  (26脚—21脚)

(4)P3.0—P3.7  (10脚—17脚)

3.3光敏二极管

光敏二极管也叫光电二极管。

光敏二极管与半导体二极管在结构上是类似的,其管芯是一个具有光敏特征的PN结,具有单向导电性,因此工作时需加上反向电压。

无光照时,有很小的饱和反向漏电流,即暗电流,此时光敏二极管截止。

当受到光照时,饱和反向漏电流大大增加,形成光电流,它随入射光强度的变化而变化。

当光线照射PN结时,可以使PN结中产生电子一空穴对,使少数载流子的密度增加。

这些载流子在反向电压下漂移,使反向电流增加。

因此可以利用光照强弱来改变电路中的电流。

上图是光敏二极管的结构图。

在光敏二极管管壳上有一个能射入光线的玻璃透镜,入射光通过透镜正好照射在管芯上。

发光二极管管芯是一个具有光敏特性的PN结,它被封装在管壳内。

发光二极管管芯的光敏面是通过扩散工艺在N型单晶硅上形成的一层薄膜。

光敏二极管的管芯以及管芯上的PN结面积做得较大,而管芯上的电极面积做得较小,PN结的结深比普通半导体二极管做得浅,这些结构上的特点都是为了提高光电转换的能力。

另外,与普通半导体二极管一样,在硅片上生长了一层SiO2保护层,它把PN结的边缘保护起来,从而提高了管子的稳定性,减少了暗电流。

光敏二极管与普通光敏二极管一样,它的PN结具有单向导电性,因此,光敏二极管工作时应加上反向电压,如图所示。

当无光照时,电路中也有很小的反向饱和漏电流,一般为1*10-8--1X10-9A(称为暗电流),此时相当于光敏二极管截止;当有光照射时,PN结附近受光子的轰击,半导体内被束缚的价电子吸收光子能量而被击发产生电子一空穴对O这些载流子的数目,对于多数载流子影响不大,但对P区和N区的少数载流子来说,则会使少数载流子的浓度大大提高,在反向电压作用下,反向饱和漏电流大大增加,形成光电流,该光电流随入射光强度的变化而相应变化。

光电流通过负载RL时,在电阻两端

将得到随人射光变化的电压信号。

光敏二极管就是这样完成电功能转换的。

(由于硬件器材的限制,本设计用开关来模拟光敏二极管的状态)(常见的有2CU、2DU等系列。

 

四.软件设计及说明(含流程图)

五.调试结果与必要的调试说明

5.1水位安全时间——黑夜

如下图所示,当‘水位检测’开关断开,‘白天黑夜检测’开关闭合,此时P1.0口为低电平(‘0’状态),P1.1口为高电平(‘1’状态),灯进入亮3秒熄3秒的循环。

图5.3

5.2水位安全时间——白昼

如下图所示,当‘白天黑夜检测’开关与‘水位检测’开关均断开时,P1.0口与P1.1口均为高电平(状态为‘1’),此时灯不工作,为熄灭状态。

(由于硬件器材的限制,本设计用开关来模拟光敏二极管的状态)

图5.2

 

5.3枯水季节

只要水位检测开关闭合,‘天黑夜检测’开关无论开断与否(即无论白天黑夜),此时P1.1口为低电平(状态‘0’),P2.1口做为输出,灯进入亮1秒熄1秒循环。

图5.1

 

  六.使用说明

水路航运系统是运输系统的重要一部分,而航道的正确标识斯船舶航运安全的重要保障。

航标灯(navigationmarklight),是为保证船舶在夜间安全航行而安装在某些航标上的一类交通灯。

它可以在夜间发出规定的灯光颜色和闪光频率,达到规定的照射角度和能见距离。

航标灯有固定灯标、灯浮标、灯船和灯塔4种。

固定灯标、灯浮标和灯船是作导航和警告用的信标。

灯塔在海上昼夜发出可识信号,供船舶测定位置和向船舶提供危险警告。

航标灯多使用蓄电池作电源。

小型灯塔已采用太阳能电池,大型灯塔则采用柴油发电机组作为主电源。

  

  

  

 

七.总结与体会

转眼为期2周的单片机课程设计就结束了,两周的课程设计两周的辛勤付出,终于结出了一定的果实!

本次课程设计就是要求我们做一个航标灯。

思路是比较简单的,用单片机来设计,通过以89C51单片机为核心,逻辑电路为辅助的制作开发自动控制航标灯,以实现设计要求。

关于这次的课程设计,基本的内容和我们上课所学的差不多!

就是把课本的知识综合了一下,并灵活的运用!

无论是整个程序的哪一个环节,单独拿出来让我们设计都不难,但是一综合起来,对于我们这些初学者来说难度就大了。

因为程序要综合起来考虑很多要点,如果只单单完成一种功能我们还可以慢慢弄清思路,一旦综合性加强,马上就会漏洞百出,失误连连。

我们在平时学习的时候是清楚这一点的,但是遇到综合课题的时候,竟然完全忘记了,这说明有思路和能完成是两个完全不同的水平层次,更说明我们仍需要进一步的学习,不断的努力进取,否则以现在处理问题的能力来应对将来的工作是绝对不行滴。

其次,我们平时学习的都是书本上的理论知识,所做实验的综合性灵活性也没有课程设计这么强,所以我初次动手实际去操作时发现,关于这种应用型的学科必须勤动手勤思考努力去实践。

实践能帮助我们积累经验,这次课程设计让我认识到了自己的经验十分欠缺,不能条件反射的想起一些常识性的问题就是我们动手不够的表现。

另外,通过这次课程设计,让我更加领会到了团队精神的重要性和必要性。

~~~~~路漫漫其修远兮~~~~。

我们仍然得努力的提高自己的动手能力设计能力,把书本知识应用到实际当中,不能够只停留在知识的表面,应该深入探索研究,这样才能让我们更好的适应以后的工作和生活。

八.参考文献

1.何立民主编.MCS-51系列单片机应用系统设计配置与接口技术.北京:

北京航空航天大学出版社,1999

2.高锋主编.单片微机应用系统设计及使用技术.北京:

机械工业出版社,1996

3.苏凯,刘庆国,陈国平编著.MCS-51系列单片机系统原理与设计.北京:

冶金工业出版社,2003

4.周向红主编.51系列单片机应用与实践教程.北京:

北京航空航天大学出版社,2008

5.王迎旭编.《单片机原理与应用》[M].机械工业出版社,2004.

6.楼然苗编.《51系列单片机设计实例》[M].北京航空航天大学出版社.

参考文献

 

九.附录

附录A(系统原理图)

附录B(源程序清单)

ORG0100H

MAIN:

MOVSP,#60H

CLRP1.7

LOOP:

MOVA,P1

JNBACC.1,ONE

JNBACC.0,TWO

LCALLDELAY1S

LCALLDELAY1S

AJMPLOOP

ONE:

MOVR0,#02H

SETBP1.7

LOOP1:

LCALLDELAY1S

DJNZR0,LOOP1

CLRP1.7

LCALLDELAY1S

LCALLDELAY1S

AJMPLOOP

TWO:

MOVR0,#0AH

SETBP1.7

LOOP2:

LCALLDELAY1S

DJNZR0,LOOP2

MOVR1,#0AH

CLRP1.7

LOOP3:

LCALLDELAY1S

DJNZR1,LOOP3

AJMPLOOP

DELAY0.5S:

MOVR6,#4

DL1:

MOVR5,#251

DL2:

MOVR4,#24

DL3:

NOP

NOP

DJNZR4,DL3

DJNZR5,DL2

DJNZR6,DL1

RET

END

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1