单片机-航标灯控制课程设计
- 格式:doc
- 大小:194.50 KB
- 文档页数:20
单片机设计航标灯控制航标灯是用来指示水域中航行安全的导航灯。
在船舶和飞机中被广泛使用。
航标灯的控制系统需要能够实现独立控制每个灯的亮灭,同时还要能够根据不同时间段和天气条件进行灯光的调节。
在本文中,我们将设计一个基于单片机的航标灯控制系统。
首先,我们需要确定系统的硬件组成。
航标灯控制系统主要包括单片机、灯光模块、光敏电阻、电源等组件。
单片机是系统的核心控制器,用于接收输入信号并控制灯光模块的亮灭。
在设计航标灯控制系统时,我们需要考虑以下几个方面:1.输入信号处理:航标灯控制系统可以通过光敏电阻接收外界光照强度信号作为输入,根据不同的光照强度控制灯光的亮度。
通过模数转换技术将光敏电阻的电压信号转换为数字信号,并传输给单片机进行处理。
2.灯光控制:我们需要通过单片机控制灯光模块实现灯光的亮灭。
灯光模块可以使用LED灯或者其他类型的灯具。
通过控制灯光模块的通电和断电,我们可以实现灯光的闪烁和变化。
3.时间段和天气条件控制:航标灯的亮灭需要根据不同的时间段和天气条件进行调节。
例如,在白天和晚上,航标灯的亮度要求不同;在雾天或者风雨天气条件下,航标灯的亮度和闪烁频率也需要进行相应的调整。
这些需求可以通过设置系统的时间和天气条件参数,在程序中进行控制。
4.电源管理:为了保证航标灯的正常运行,我们还需要设计一个电源管理模块。
电源管理模块可以根据输入电压来控制电源的开关,并通过电压检测电路来保持电源的稳定输出。
在程序设计方面,我们需要实现以下功能:1.光敏电阻读取:通过单片机的模拟输入引脚,读取光敏电阻的电压信号,并进行模数转换。
2.时间和天气条件判断:通过单片机的定时器和外部输入引脚,判断当前的时间和天气条件,并进行相应的控制逻辑。
3.灯光控制:通过单片机的数字输出引脚,控制灯光模块的通电和断电,实现灯光的亮灭。
4.输入信号处理:根据光敏电阻的电压信号,控制灯光的亮度。
可以使用PWM技术实现灯光的调光。
5.电源管理:通过单片机的数字输出引脚,控制电源的开关,并通过电压检测电路实现电源的稳定输出。
利用单片机为核心设计一个航标灯控制系统,要求为在黑夜中航行的船只提供灯光指示。
1)确定系统设计方案;2)进行系统的硬件设计;3)完成必要的参数计算与元器件选择;4)完成应用程序设计;5)进行部份单元电路及应用程序的调试;本系统要求: 1)航标灯在黑夜能定时闪闪发光,亮2s,熄灭 2s 周期循环。
2)白日应住手航标灯工作。
3)枯水季节应检测水位高度,低于通航水位时要发出警告信号。
4)向控制台发送实际水位数据。
1. 课程设计任务书2. 目录3. 系统总体方案选择与说明4. 系统结构框图与工作原理5. 各单元硬件设计说明及计算方法6. 软件设计与说明(包括流程图)7. 调试结果与必要的调试说明8. 使用说明9. 总结10、参考文献附录设计时间为两周第一周星期一、上午:布置课题任务,讲课及课题介绍下午:借阅有关资料,总体方案讨论星期二、确定总体设计方案星期三、硬件模块方案设计星期四、软件模块方案设计星期五、各硬件模块设计第二周星期一、各硬件模块设计星期二、各软件模块设计星期三、各软件模块设计星期四、写说明书星期五、上午:写说明书,整理资料下午:交设计资料,答辩1、教材《单片微型计算机技术》刘国荣编机械工业出版社2、《单片微型计算机原理、应用及接口技术》张迎新编国防工业出版社3、单片机实用系统设计技术》房小翠编国防工业出版社4、《单片机应用系统设计》何立民编北航出版社5、《单片机原理及接口技术曹琳琳编国防科技大学出版社.......................31.1 设计方案选择 (3)1.2 设计方案说明 (3).......................52.1 系统结构框图 (5)2.2 系统的工作原理 (5).........................73.1 80C51 管脚图及功能介绍 (7)3.2 光敏二极管 (9)3.3 发光二极管的原理 (10)..................124.1 软件设计 (12)4.2 软件设计流程图 (13).....................155.1 枯水期 (15)5.2 正常水位——白昼 (16)5.3 正常水位——黑夜 (17).....................................18.........................................19 .....................................21 (24)第一章 系统总体方案选择与说明水位测量模块 8051电流测量电压测量光强测量模块LED 航标性能测 试模块电源模块单片机是指一个集成在一块芯片上的完整计算机系统。
新型遥控遥测航标灯1.项目背景:水路航运系统是运输系统中很重要的一部分,而航道的正确标识是船舶航运安全的重要保障。
在我们长达数千公里的河道和海岸沿线,每隔一定距离就必须有一个航标灯,用来指示航道的安全水位区域。
以前的航标灯是独立分布的,从被放置后,就独自运行。
为了检查航标灯是否运转正常,必须定期的派人去现场巡查。
由于距离遥远,需要检查的地点很多,所以经常要派一些船只和人员不断的巡视。
因为事先不知道航标灯的情况,对航标灯的巡视维护缺乏目的性,有时一个航标灯的维护和更换器件需要一个来回。
这样不但准确性不好,而且船只和人员的开销费用都很大。
为了能及时地了解各航标灯的工作状态和工作正常与否,以便有针对性地对出现故障的航标灯进行维护,我们需要一个新的航标灯,这个航标灯能用无线通信方式(GSM或VHF)远程向中心站报告自己的状态,根据这些状态信息,中心站可以做出是否需要派人进行维护及如何维护的决定。
航标灯应该有一定的自检功能,在出现故障的情况下能及时向中心站发出报警信息,并且能重新启动以便从故障环节中跳出来,能最大限度的保证航标灯的正常工作。
为了在某些情况下能改变灯的灯质(灯的闪亮规律)和其他运行参数,以及对中心站的其他控制做出响应,航标灯应能够执行中心站发来的控制命令。
由于海外的环境恶劣,有时航标灯会脱离固定的位置,航标灯应该有定位装置(GPS),能够检测到漂移的出现,并及时向中心站报警。
中心站知道了航标灯的位置,就不必大范围的搜索而是能根据位置信息直接找到漂移的航标灯。
另外,由于航标灯的能量供给是独立的和有限的,为了延长其持续的工作时间,采用了白天太阳能电池充电和蓄电池蓄电相结合,晚上用蓄电池供电的方式。
所以尽量降低功耗对增加航标灯的使用期限十分重要。
2.项目所实现的功能:基于以上的考虑,本项目就是实现以上设想,设计一个能够进行远程遥控遥测的新型航标灯。
航标灯可采集的参数:1)电流模拟输入量:●太阳能电池充电电流●电池供电电流●航标灯工作电流2)电压模拟输入量:●太阳能电池充电电压●蓄电池电压●航标灯工作电压3)光传感器输入:●日光值,并以此判别白天和晚上航标灯可以执行的遥控命令:1.航标灯参数召测。
实验报告课程名称:PIC单片机实验任课教师:周燕实验名称:航标灯年级、专业:09级电子信息科学与技术学号:20091050146姓名:院睿智日期:2012 年 5 月11 日云南大学信息学院一、实验目的1.熟悉TMR1模块的内部结构和工作过程,了解其中每一位相关设置项的功能含义。
2.了解电路原理图,掌握航标灯控制线的连接方法;3.练习先编写流程图,再编写程序代码的能力,练习程序代码片段的功能测试;4.进一步熟练掌握集成开发环境的使用方法;二、实验内容利用外接的低频晶体振荡器T1作为TMR1时钟源,完成高精度的定时任务,实现航标灯每间隔半秒,定时闪烁。
三、实验步骤和过程记录步骤:1.在PIC板子上将跳线器用跳线器将JP_RD的第0位与LED0短接2.在MPLAB上新建工程和文件,编写程序,并调试3.运行观察结果,并将程序烧到板子里脱机运行4.运行程序,查看LED 的的情况。
问题:此次程序中出现的主要是问题是体的转换,因为用到的几个特殊寄存器要在体1和体0之间转换好几次,刚开始还只是转了一次体,所以导致错误,更改后程序正常运行四、主要算法与程序#include p16f877a.incw_temp EQU 20Hstatus_temp EQU 21Hpch_temp EQU 22HCOUNT EQU 23HCOUNT1 EQU 24HCOUNT2 EQU 25HPORTD_TEMP EQU 26HCOUNT3 EQU 27HORG 00HNOPGOTO MAINORG 0004H ;中断入口地址MOVWF w_tempMOVF STATUS,wCLRF STATUSMOVWF status_tempMOVF PCLATH,WMOVWF pch_tempGOTO INTTMR1MAINORG 20HBCF STATUS,RP1BSF STATUS,RP0 ;转到体1CLRF TRISD ;设置PORTD口为输出BCF STATUS,RP0 ;转到体0MOVLW 0EHMOVWF T1CON ;TMR1配置为对外计数模式,使用T1自带振荡器,不使用预分频和同步电路BSF STATUS,RP0 ;转到体1BSF PIE1,TMR1IE ;允许TMR1中断BSF INTCON,GIE ;开启全局中断BSF INTCON,PEIE ;开启外设中断BCF STATUS,RP0 ;转到体0BCF PIR1,TMR1IFMOVLW 00HADDWF TMR1L,fMOVLW 0C0HADDWF TMR1H,f ;设定TMR1定时半秒初值为0xC0h,低位可用默认值00,只需送入高位TMR1HCLRF PORTDBSF T1CON,TMR1ONGOTO $INTTMR1BTFSS PIR1,TMR1IFGOTO RECOVERBCF PIR1,TMR1IFMOVLW 0C0HADDWF TMR1H,fBTFSC PORTD,0GOTO CRL_PORTD0GOTO SET_PORTD0CRL_PORTD0BCF PORTD,0GOTO RECOVERSET_PORTD0BSF PORTD,0GOTO RECOVERRECOVERCLRF STATUSMOVF pch_temp,wMOVWF PCLATHMOVF status_temp,wMOVWF STATUSSWAPF w_temp,fSWAPF w_temp,wRETFIE;******************************************************************** *************************************END五、实验结果与分析本次实验用TMR1的计数空能,可以对LED0进行0。
常州机电职业技术学院毕业设计(论文)题目:单片机控制“航标灯”的控制系统的设计与调试摘要单片微型计算机简称单片机。
它是把组成微型计算机的各功能部件:中央处理器、CPU、随机存取存储器RAM、只读存储器ROM、I/O接口电路、定时器/计数器以及串行通信接口等制作在一块集成芯片中,构成一个完整的微型计算机。
单片机主要应用于控制领域,由于其具有可靠性高、体积小、价格低、易于产品化等特点,因而在智能仪器仪表、实时工业控制、智能终端、通信设备、导航系统、家用电器等自控领域获得广泛应用[1]。
步进电机是一种能将电脉冲信号转换成角位移或线位移的机电元件,实质上是一种数字/角度转换器步进电机控制系统主要由步进控制器,功率放大器及步进电机等组成.步进控制器由缓冲寄存器,环形分配器,控制逻辑及正,反转控制门等组成,能把输入的脉冲转换成环形脉冲,以便控制步进电机,并能进行正反向控制.但由于步进控制器线路复杂.成本高.采用单片机控制,用软件代替上述步进控制器,使得线路简单,成本低,可靠性大大增加,灵活改变步进电机的控制方案,无需逻辑电路组成时序发生器.软件编程可灵活产生不同类型步进电机励磁序列来控制各种步进电机的运行方式并可实现一台单片机控制多台电机.提供灵活多样的控制手段和提高控制精度对复杂繁琐的控制易于实现,尤其在本系统中更显示出微机控制的优越性。
本设计采用凌阳16 位单片机SPCE061A对步进电机进行控制,通过IO口输出的具有时序的方波作为步进电机的控制信号,信号经过芯片L298N驱动步进电机;同时,用4X4的键盘来对电机的状态进行控制,并用数码管显示电机的转速,采用74LS164作为4位单个数码管的显示驱动,从单片机输入信号;利用凌阳单片机的语音功能播报电机的转速。
关键词:单片机步进电机ABSTRACT[2]The single slice of microcomputers is abbreviated as the one-chip computer. It is every function part which makes up the microcomputer: Central processing unit, CPU, arbitrary access memory RAM , read-only memory ROM,, I/O interface circuit , timer / counter and serial communicationinterface ,etc. make in the integrated chip together, form an intact microcomputer. One-chip computer apply controlled field to mainly, because it have dependability high , small , price low , easy commercialization ,etc. characteristic, therefore won extensive application in fields of automatic control such as intellectual instrument and apparatus , real-time industrial control , intelligent terminal , communication equipment , navigation system , household appliances ,etc.It is that one kind can change the electric pulse signal into a electromechanical component of angle displacement or line displacement to walk into the electrical machinery, it is a kind of figure / angle converter that is walked into the control system of the electrical machinery to mainly walk into the controller in fact, power amplifier and walking into the electrical machinery ,etc. make up . Walked into the controller to buffer the register , the annular distributor, control logic and, overturn , control door ,etc. make up , can change the pulse input into into an annular pulse , in order to control , walk into electrical machinery , can carry on positive and negative to control. But because walk into the controller circuit complicatedly. With high costs. Adopt one-chip computer control , replace with software described above to walk into the controller , make the circuit simple, with low costs, dependability increases greatly, change the control scheme of walking into the electrical machinery flexibly , do not need logical circuit to make up the time sequence generator . Software programming very flexible to produce , walk into electrical machinery excitation array come , control various operation way to walk into electrical machinery and can realize one machine control many sets of electrical machinery while being different kinds of. It is easy to realize to offer the flexible control means and improving the precision of controlling to complicated and tedious control, demonstrate the superiority that the computer controls especially in this system even more.Design , adopt , insult male genital 16 one-chip computer SPCE061A to walk into electrical machinery control originally, square wave with time sequence as the control signal of walking into the electrical machinery through what IO mouth is outputted, the signal drives and walks into the electrical machinery through the chip L298N; Meanwhile , come state in electrical machinery go on , control with keyboard of 4X4 , in charge of rotational speed to reveal electrical machinery with number, adopt 74LS164 urge as 4 single number display that in charge of , from the input signal of the one-chip computer; Utilize the pronunciation function of insulting the open one-chip computer to report the rotational speed of the electrical machinery. Keyword: One-chip computer Walk into the electrical machinery绪论近十几年来,单片机在生产过程控制、自动检测、数据采集与处理、科技计算、商业管理和办公室自动化等方面获得了广泛的应用。
单片机实验报告课程名称单片机技术与应用实验名称简易航标灯设计实验专业光电信息工程班级光电121班学号050312122姓名汪洋实验地点躬行楼528实验日期2015. 5 .28简易航标灯设计实验实验目的1、掌握定时器/计数器原理及其应用;2、了解航标灯控制要求;器件清单实验流程操作图图1 实验操作流程图实验内容图2简易航标灯控制结构图1、2 位拨码开关:灯质设定(频率与占空比)2、光敏电阻:实现光照采集(光照强,电阻小;光照弱,电阻大)3、灯驱动:发光二极管采用12V 供电,要实验单片机驱动电路设计,三极管驱动要求:通过光敏电阻采集光照度,白天灯熄灭,黑夜灯按照上表闪烁。
1.软件部分C语言程序//No3_HBD.c#include "reg51.h"#include "No3_HBD.h"sbit D=P0^0; //灯输出控制,高电平有效sbit OPCON=P1^2; //光照检测,高电平(亮)//结构体全局变量定义,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;unsigned char k; //定义静态变量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灯}if(i>=Counter50ms.state[5]){D=D_OPEN; //点亮LED灯i=0;}i++;//若是黑夜,根据灯质设定控制灯LED灯闪烁}else{//若是白天,熄灭LED灯D=D_CLOSE;i=0;}}////////////////////////////////////////////////////////按键判断/////////////////////////////////////////////////////////////////////////////////////////unsigned char GetKey(void){unsigned char key;key=0;//此处添加按键Key1、Key0代码if(P1&0x01) //低电平有效key|=0x01;if(P1&0x02)key|=0x02;return(key);}////////////////////////////////////////////////////////定时器0初始化////////////////////////////////////////////////////////////////////////////////////void T0_Init(void){TMOD=(TMOD&0xf0)|0x01; //定义T0为16位定时方式TH0=(65536-COUNT_50MS)/256; //赋计数初值的高8位TL0=(65536-COUNT_50MS)%256; //赋计数初值的低8位ET0=1; //T0中断使能EA=1; //总中断使能TR0=1; //T0启动}////////////////////////////////////////////////////////主程序///////////////////////////////////////////////////////////////////////////////////////////void main(void){unsigned char key,pre_key=0,i;unsigned int sum;T0_Init();D=0;while(1){key=GetKey(); //获取key1、Key0特征码if(key!=pre_key) //若有新的按键,载入控灯时间{sum=0;for(i=0;i<6;i++){sum=sum+IALA4[key].gcd*IALA4[key].state[i];Counter50ms.state[i]=sum;}}pre_key=key;}2. 硬件部分实验原理图图3中断原理图图4实验原理图第一种状态仿真波形第二种状态仿真波形第三种状态仿真波形3.调试部分调试先在Keil uVision4软件环境下进行程序编写,利用C语言来编写本次实验所需程序。
(完整版)基于51单⽚机航标灯控制器的设计与实现毕业设计本科毕业设计论⽂题⽬基于51单⽚机航标灯控制器的设计与实现毕业设计(论⽂)原创性声明和使⽤授权说明原创性声明本⼈郑重承诺:所呈交的毕业设计(论⽂),是我个⼈在指导教师的指导下进⾏的研究⼯作及取得的成果。
尽我所知,除⽂中特别加以标注和致谢的地⽅外,不包含其他⼈或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历⽽使⽤过的材料。
对本研究提供过帮助和做出过贡献的个⼈或集体,均已在⽂中作了明确的说明并表⽰了谢意。
作者签名:⽇期:指导教师签名:⽇期:使⽤授权说明本⼈完全了解⼤学关于收集、保存、使⽤毕业设计(论⽂)的规定,即:按照学校要求提交毕业设计(论⽂)的印刷本和电⼦版本;学校有权保存毕业设计(论⽂)的印刷本和电⼦版,并提供⽬录检索与阅览服务;学校可以采⽤影印、缩印、数字化或其它复制⼿段保存论⽂;在不以赢利为⽬的前提下,学校可以公布论⽂的部分或全部内容。
作者签名:⽇期:学位论⽂原创性声明本⼈郑重声明:所呈交的论⽂是本⼈在导师的指导下独⽴进⾏研究所取得的研究成果。
除了⽂中特别加以标注引⽤的内容外,本论⽂不包含任何其他个⼈或集体已经发表或撰写的成果作品。
对本⽂的研究做出重要贡献的个⼈和集体,均已在⽂中以明确⽅式标明。
本⼈完全意识到本声明的法律后果由本⼈承担。
作者签名:⽇期:年⽉⽇学位论⽂版权使⽤授权书本学位论⽂作者完全了解学校有关保留、使⽤学位论⽂的规定,同意学校保留并向国家有关部门或机构送交论⽂的复印件和电⼦版,允许论⽂被查阅和借阅。
本⼈授权⼤学可以将本学位论⽂的全部或部分内容编⼊有关数据库进⾏检索,可以采⽤影印、缩印或扫描等复制⼿段保存和汇编本学位论⽂。
涉密论⽂按学校规定处理。
作者签名:⽇期:年⽉⽇导师签名:⽇期:年⽉⽇西安电⼦科技⼤学长安学院毕业设计(论⽂)诚信声明书本⼈声明:本⼈所提交的毕业论⽂《基于51单⽚机航标灯控制器的设计与实现》是本⼈在指导教师指导下独⽴研究、写作的成果,论⽂中所引⽤他⼈的⽆论以何种⽅式发布的⽂字、研究成果,均在论⽂中加以说明;有关教师、同学和其他⼈员对本⽂的写作、修订提出过并为我在论⽂中加以采纳的意见、建议,均在我的致谢中加以说明并深致谢意。
最新单片机课程设计报告:广告灯控制实验姓氏:裴长青专业:电子信息工程技术。
:070301116班级级别:电信071讲师:吴海红设计完成日期:xx年6月18日目录第一章前言……………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………….8051引脚及功能介绍4.2 每个端口的输入/输出命令控制格式4.3 硬件接线图第五章软件设计65 .1 程序流程图5.2 源程序和注释第六章实用proteus软件调试模拟说明9第7章总结和经验.确认1+ …9第八章参考. ……10第一章介绍了单片机的应用,单片机具有体积小.可靠性高.功能强.灵活方便等优点,广泛应用于国民经济的各个领域。
单片机的应用从根本上改变了传统控制系统的设计思想和设计方法。
大多数以前由模拟电路和数字电路实现的电路现在可以由单片机通过软件方法实现。
从以下几个方面简要介绍了单片机的应用。
微控制器广泛应用于导弹导航装置.飞机上各种仪器的控制.计算机的通信和数据传输.机器人.工业自动化过程的实时控制和数据处理。
在这些实时控制系统中,单片机可以用作控制器。
单片机的实时数据处理能力和控制功能可以使系统保持最佳工作状态,提高系统的工作效率和产品质量。
在复杂系统中,通常使用分布式多机系统。
多机系统通常由几台功能不同的单片机组成,每台单片机完成一项特定的任务。
它们通过串行通信相互连接.以协调工作。
该系统通常采用单片机作为终端,安装在系统的某些节点上,实时测量和控制现场信息。
单片机的高可靠性和强抗干扰能力使其工作在恶劣环境的前端。
单片机在工业控制中的应用,特别是在实时检测和自动控制的单片机应用系统中,单片机往往被作为核心部件使用,仅有单片机的知识是不够的,还应根据具体的硬件结构和软件组合针对具体应用对象的特点进行改进。
无人职守航标灯航标灯广泛地应用于江河大海的航行中,为来往船只在黑夜中航行提供安全保障。
我们可以利用MCS—51单片机的定时器和中断功能对航标灯进行自动控制。
1.硬件电路航标灯的硬件控制电路原理如图6-8所示。
2.工作原理控制的具体功能如下。
图6-8 航标灯控制电路航标灯在黑夜能够定时闪烁发光,设定时间间隔为2s,即点亮2s熄灭2s周期循环进行;当白天到来时,航标灯熄灭,停止工作。
对于此航标灯的设计,可以选择多种方案。
方案一:(1)控制电路。
见图6-8,8051定时的启停控制信号由INT0来控制(夜晚使得INT0=0,白天INT0=1)。
(2)实现较长时间的定时,,采用Y0定时加软件计数的方法实现定时2s。
(3)识别白天与黑夜。
采用如图6-8所示的光敏三极管来区分白天与黑夜。
其:工作原理为:当黑夜降临时,无光照,VTl、VT2均截止,VT2输出高电平反相后使INT0=0,向单片机发出中断请求,CPU接受外部中断请求后,进入1Nl0 中断处理程序,启动定时器工作;利用定时器中断控制航标灯定时闪烁发光。
在黑夜结束之前,—直处在外部中断过程中。
另外,从硬件上看,加在1NT0引脚的低电平并未撤销,因此可以川软竹:查询INTO引脚,只要INTO=0,定时器继续工作,当白天到来时,日光照到光敏三极管VTl的基极,使VTl导通,VT2输出低电平反相使INT0为高电平,软件查询到INT0=1时,立即关闭定时器,结束外部中断处理,返回到主程序,等待下一次黑夜的到来再产生中断。
在INTO请求的外中断处理过程中,又用软件查询INTO引脚,这种用法很特殊。
此外,本例中选用了两种中断,外部中断和定时器中断,定时器中断发生在外部中断正在进行的时候,因此要将定时器中断设为高优先级的中断。
根据以上分析,可编写出如下控制程序1。
设T0定时50ms,方式1,计数初值X:X=216—12 X50 X 1000/12=3CB0HR7软件计数2X1000/50=40T0的定时和R7软件计数达到延时2s。
目录一.系统总体方案选择与说明 (1)1.1 设计方案选择 (1)1.2 设计方案说明 (1)二.系统结构框图与工作原理 (2)2.1 系统结构框图 (2)2.2 系统的工作原理 (3)三.各单元硬件设计说明及计算方法 (4)3.1 单片机简介 (4)3.2 80C51管脚图及功能介绍 (7)3.3 光敏二极管 (9)四.软件设计及说明(含流程图) (11)五.调试结果与必要的调试说明 (12)5.1水位安全时间——黑夜 (12)5.2水位安全时间——白昼 (13)5.3 枯水季节 (14)六.使用说明 (15)七.总结与体会 (16)八.参考文献 (17)九.附录 (18)一.系统总体方案选择与说明1.1 设计方案选择以89C51单片机为核心,逻辑电路为辅助的制作开发自动控制航标灯,以实现设计要求。
1.2 设计方案说明以89C51单片机为核心制作开发的自动控制航标灯系统,实现1)航标灯在黑夜能定时闪闪发光,亮3s,熄灭3s周期循环。
2)白天应停止航标灯工作。
3)枯水季节应检测水位高度,低于通航水位时要发出警告信号,定时闪闪发光,亮1s,熄灭1s周期循环。
二.系统结构框图与工作原理2.1 系统结构框图图2.12.2 系统的工作原理本电路选用了MCS87C51 单片微处理器作为航标控制电路的核心,时钟选频为12MHZ。
87C51 是INTEL 公司MCS-51 系列单片机中基本型产品,它采用INTEL 公司可靠的CHMOS 工艺技术制造的高性能8 位单片机,属于标准的MCS-51 的体系结构和指令系统。
它结合了HMOS 的高速和高密度技术及CHMOS的低功耗特征,是80C51BH 的EPROM 版本,电改写光擦除的片内4kB EPROM。
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周期循环。
三.各单元硬件设计说明及计算方法3.1 单片机简介AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM —Falsh Programmable and Erasable Read Only Memory)的低电压,高性能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.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(记时器0外部输入)P3.5 T1(记时器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.2 80C51管脚图及功能介绍Vss(20脚):接地VCC(40脚): 主电源+5VXTAL1(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结的结深比普通半导体二极管做得浅,这些结构上的特点都是为了提高光电转换的能力。
另外,与普通半导体二极管一样,在硅片上生长了一层S i O2保护层,它把PN结的边缘保护起来,从而提高了管子的稳定性,减少了暗电流。
光敏二极管与普通光敏二极管一样,它的PN结具有单向导电性,因此,光敏二极管工作时应加上反向电压,如图所示。
当无光照时,电路中也有很小的反向饱和漏电流,一般为1 * 10-8 -- 1X10 -9A(称为暗电流),此时相当于光敏二极管截止;当有光照射时,PN结附近受光子的轰击,半导体内被束缚的价电子吸收光子能量而被击发产生电子一空穴对O这些载流子的数目,对于多数载流子影响不大,但对P区和N区的少数载流子来说,则会使少数载流子的浓度大大提高,在反向电压作用下,反向饱和漏电流大大增加,形成光电流,该光电流随入射光强度的变化而相应变化。