多段定时控制在养鸡场的应用.docx
《多段定时控制在养鸡场的应用.docx》由会员分享,可在线阅读,更多相关《多段定时控制在养鸡场的应用.docx(17页珍藏版)》请在冰豆网上搜索。
多段定时控制在养鸡场的应用
编号
淮安信息职业技术学院
毕业论文
多段定时控制在养鸡场的应用
学生姓名王磊
学号15071124
系部电子工程系
专业应用电子
班级150711
指导教师刁志刚
顾问教师
二〇一〇年六月
摘要
当今,电子定时器在社会生活中许多领域均得到普遍应用,诸如在演讲比赛、公共汽车到站时间等统计中需进行计时和统计。
本次设计作品系统主要由单片机系统、独立键盘按键电路、LED显示系统等系统组成。
系统能通过设置按键对各功能进行切换,采用LED数码显示以实现时间显示、一定时间内倒计时及秒计时等功能。
同时系统具有设计成本低廉,利用显示电路,配合按键提供友好的用户界面,操作简单等优点,使得此定时器实用性很强。
关键词:
多功能电子定时器,AT89S52,ULN2003A,74LS48。
目录
摘要I
第一章绪论1
1.1研究课题的背景1
1.2相关开发技术2
第二章对系统要求的分析3
2.1多段定时控制在养鸡场应用的功能要求3
2.2多段定时控制在养鸡场应用的工作过程4
第三章元器件的选择5
3.1型号选择:
AT89S525
3.2显示元器件的选择5
第四章对多段定时控制器电路板的设计与分析7
4.1多段定时控制器的电路结构7
4.2硬件电路设计7
第五章程序设计9
5.1【按键电路程序】9
5.2【时钟电路程序】9
第六章总结11
致谢12
第一章绪论
1.1研究课题的背景
随着电子技术的不断发展,大厂都实现自动化,人性化,应此对技术的开发要很大的提高和改善,就这养鸡场每天对养鸡措施实现自动化。
在早期养鸡都是很吃苦的活,起早熬夜,这是对人的折磨,实现自动化改善人的合理的生活。
应此我们开设多段定时器这一课程是有必要的。
1.2相关开发技术
1.2.1单片机技术
1.单片机概述
一个单片机系统,就是一个微型化的计算机。
个人计算机主要由以下几个部份构成:
1)CPU(运算,个人控制);
2、RAM(数据存储);
3)、ROM(程序存储);
4)、输入/输出设备(例如:
串行口、并行输出口等)。
在个人计算机上,这些部份被分成若干个独立芯片模块,安装在主板上。
而在单片机中,这些部份全部被集成到一颗芯片中了,所以就称为单片(单芯片)机。
有一些单片机中除了上述部份外,还集成了其它部份如A/D、D/A、PWM等。
下面我们将分别介绍一下有关概念。
2.存储器
单片机的一个主要作用就是数据信息的处理,而在处理数据的过程中,需要一些“容器”来存放这些数据。
存储器是用来存储单片机工作时使用的信息(程序和数据)的部件。
常见存储类型
1)、数据存储器(RAM)
2)、程序存储器(ROM)
3)、外部数据存储器(如:
E2PROM)
概念
3.I/O口
I/O口是单片机与外界联系的通道。
它可对各类外部信号(开关量、模拟量、频率信号)进行检测、判断、处理,并可去控制各类外部设备。
现在的单片机I/O口集成了更多的功能。
学习单片机需要了解I/O口的以下特性:
1)、输入/输出概念及注意事项(输入门槛电平、输出电流和电压)
2)、上拉/下拉电阻
3)、R-OPTION
4)、漏极开路的作用(线与、电平转化)
5)、IO口功能的拓展与复用(中断、唤醒、ADC检测、PWM输出)
4.堆栈
堆栈是一种比较重要的线性数据结构,如果对数据结构知识不是很了解的话,我们可以把它简单的看作一维数组。
对一维数组进行元素的插入、删除操作时,可以在任何位置进行,而对于栈来说,插入、删除操作是固定在一端进行的,这一端称为栈顶,另一端称为栈底(bottom)。
向栈中插入数据的操作称为压入(Push),从栈中删除数据称为弹出(Pop)。
堆栈的特性先进后出,后进先出 堆栈指针用于指示栈顶位置 堆栈应用的领域
1)、调用子程序
2)、中断
3)、临时变量存取
注意事项
1)、堆栈的大小(避免溢出)。
2)、进栈和出栈的匹配。
5.定时器
什么是定时/计数器
所谓的定时/计数器其实质都是计数器,只不过在定时时是对微机内部时钟脉冲进行计数,而工作在计数器时是对微机外部输入的脉冲进行计数。
如果输入的脉冲是周期相同的,
也可将计数器作为定时器来使用,视具体情况而定。
定时/计数器的作用
1)、计时、定时或延时控制
2)、脉冲计数
3)、测量脉冲宽度
3种方法实现定时的方法
1)、软件延时方法:
编制一个循环程序段让CPU执行,这种方法通用性和灵活性好,但占用系统的时间。
2)、不可编程的硬件方法:
设计一个数字逻辑电路,例如555定时电路,这种方法不占用CPU时间,但通用性、灵活性差。
3)、可编程定时器/计数器方法:
可由软件设定定时与计数功能,设定后与CPU并行工作,不占用CPU时间,功能强,使用灵活。
6.中断
什么是中断
优先级更高的事件发生,打断优先级低的事件进程时,称为中断。
可以引起中断的事件,称之为中断源。
中断的嵌套与优先级当一个低级中断尚未执行完毕,又发生了一个高优先级的中断,系统转而执行高级中断,称为中断的嵌套。
中断的响应过程具体地说,中断响应可以分为以下几个步骤:
1)、现场保护。
将当前地址、ACC、状态寄存器保存到堆栈中。
2)、切换PC指针,根据不同的中断源所产生的中断,切换到相应的入口地址。
3)、执行中断处理程序。
4)、现场恢复。
将保存在堆栈中的主程序地址、ACC、状态寄存器恢复。
5)、中断返回。
执行完中断指令后,就从中断处返回到主程序,继续执行
第二章对系统要求的分析
2.1多段定时控制在养鸡场应用的功能要求
1.养鸡场照明有3个时段控制
2.人为设定在鸡饿的时候添加适当的食料,分别为早中晚.
3.人为设定在天黑的时候开灯一段时间延时,天亮的时候关灯
2.2多段定时控制在养鸡场应用的工作过程
1.在第一个时间到来,早上到来,加食料开灯一段时间。
2.第二个时间段到来时,中午到来,加食料一段时间,不用开灯。
3.第三个时间段到来时,晚上到来,加食料开灯一段时间,这样一天喂鸡就到此为止了
第三章元器件的选择
3.1型号选择:
AT89S52
与MCS-51产品兼容、8K字节在系统可编程Flash存储器、1000次擦写周期、全静态操作:
0Hz~33Hz、三级加密程序存储器、32个可编程I/O口线、三个16位定时器/计数器八个中断源、全双工UART串行通道、低功耗空闲和掉电模式、掉电后中断可唤醒、看门狗定时器、双数据指针、掉电标识符。
功能特性描述
At89s52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。
使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。
片上Flash允许程序存储器在系统可编程,亦适于常规编程器。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
AT89S52具有以下标准功能:
8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。
另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
8位微控制器8K字节在系统可编程FlashAT89S52
P0口:
P0口是一个8位漏极开路的双向I/O口。
作为输出口,每位能驱动8个TTL逻
辑电平。
对P0端口写“1”时,引脚用作高阻抗输入。
当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。
在这种模式下,
P0具有内部上拉电阻。
在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。
程序校验
时,需要外部上拉电阻。
P1口:
P1口是一个具有内部上拉电阻的8位双向I/O口,p1输出缓冲器能驱动4个
TTL逻辑电平。
对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入
口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2
的触发输入(P1.1/T2EX),具体如下表所示。
在flash编程和校验时,P1口接收低8位地址字节。
引脚号第二功能
P1.0T2(定时器/计数器T2的外部计数输入),时钟输出
P1.1T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)
P1.5MOSI(在系统编程用)
P1.6MISO(在系统编程用)
P1.7SCK(在系统编程用)
P2口:
P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个
TTL逻辑电平。
对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入
口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX@DPTR)
时,P2口送出高八位地址。
在这种应用中,P2口使用很强的内部上拉发送1。
在使用
8位地址(如MOVX@RI)访问外部数据存储器时,P2口输出P2锁存器的内容。
在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。
P3口:
P3口是一个具有内部上拉电阻的8位双向I/O口,p3输出缓冲器能驱动4个
TTL逻辑电平。
对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入
口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
P3口亦作为AT89S52特殊功能(第二功能)使用,如下表所示。
在flash编程和校验时,P3口也接收一些控制信号。
端口引脚第二功能
P3.0RXD(串行输入口)
P3.1TXD(串行输出口)
P3.2INTO(外中断0)
P3.3INT1(外中断1)
P3.4TO(定时/计数器0)
P3.5T1(定时/计数器1)
P3.6WR(外部数据存储器写选通)
P3.7RD(外部数据存储器读选通)
此外,P3口还接收一些用于FLASH闪存编程和程序校验的控制信号。
RST——复位输入。
当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位。
ALE/PROG——当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。
一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。
要注意的是:
每当访问外部数据存储器时将跳过一个ALE脉冲。
对FLASH存储器编程期间,该引脚还用于输入编程脉冲(PROG)。
如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。
该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。
此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。
PSEN——程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。
EA/VPP——外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。
需注意的是:
如果加密位LB1被编程,复位时内部会锁存EA端状态。
如EA端为高电平(接Vcc端),CPU则执行内部程序存储器的指令。
FLASH存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。
3.2显示元器件的选择
在系统中要显示时间,就必需有显示无器件,目前市场上显示元器件很多,有LCD、点阵显显、7段数码管显示等。
LED显示器与LCD显示器相比,LED在亮度、功耗、可视角度和刷新速率等方面,都更具优势。
LED与LCD的功耗比大约为10:
1,而且更高的刷新速率使得LED在视频方面有更好的性能表现,能提供宽达160°的视角,可以显示各种文字、数字、彩色图像及动画信息,也可以播放电视、录像、VCD、DVD等彩色视频信号,多幅显示屏还可以进行联网播出。
有机LED显示屏的单个元素反应速度是LCD液晶屏的1000倍,在强光下也可以照看不误,并且适应零下40度的低温。
利用LED技术,可以制造出比LCD更薄、更亮、更清晰的显示器,拥有广泛的应用前景。
由此可知LCD缺点是比较耗电,而且成本也较高。
从节约成本和节约能源的角度作为出发点,我们选择两组4位7段共阴数码管作为时间显示,以便节约成本和功耗。
数码管的驱动方式:
数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据数码管的驱动方式的不同,可以分为静态式和动态式两类。
静态显示驱动:
静态驱动也称直流驱动。
静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。
静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要5×8=40根I/O端口来驱动,要知道一个89S51单片机可用的I/O端口才32个呢:
),实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。
动态显示驱动:
数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。
通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。
在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。
第四章对多段定时控制器电路板的设计与分析
4.1多段定时控制器的电路结构
根据对系统需求的分析,这个多段定时控制器的系统功能结构框图如下:
整个定时控制系统电路可分为五大部分:
单片机最小系统、电源电路部分、显示部分和按键输入部分。
1.复位电路
复位是由外部的复位电路来实现的。
复位电路采用上电自动复位和按钮复位两种方式,此电路系统采用的是上电与按钮复位电路。
2.时钟电路
系统的时钟电路设计是采用的内部方式,即利用芯片内部的振荡电路。
AT89单片机内部有一个用于构成振荡器的高增益反相放大器。
引脚XTAL1和XTAL2分别是此放大器的输入端和输出端。
这个放大器与作为反馈元件的片外晶体谐振器一起构成一个自激振荡器。
外接晶体谐振器以及电容C1和C2构成并联谐振电路,接在放大器的反馈回路中。
复位及时钟电路如下图:
3.显示电路
显示部分是时钟最为重要的部分,共需要8位LED显示器。
采用动态显示方式,由于端口的问题以及动态显示方式的优越性,在此设计的连接方式上采用共阴级接法。
显示器LED有段选和位选两个端口,首先说段选端,它由LED八个端口构成,通过对这八个端口输入的不同的二进制数据使得它的时间显示也不同,从而可以得到我们所要的时间显示。
由于单片机I/O口不能直接驱动数码管子所以要用PNP三极管来驱动。
管动原理如下图:
4.按键电路
它是整个系统中最简单的部分,根据功能要求,本系统共需五个按键:
功能选择键、功能加键、功能减键、确定键、定时开关键。
按确定键将依次业显时间和各个定时时间,如果再按选择就可以选择要调整的时间(时、分、秒)按加(减)键就可以调整时间或定时时间。
调整完成后按确定键就完成参数设定。
调时间步骤如下:
1按确定键-----数码管显示当前时间并定留不动
2按选择键-----数码管显示当前时间,并有两位闪烁。
3按增加键-----就可以调整,长按就可以快整增加。
调整定时间和调整时间方法一样。
4.2硬件电路设计
1.画硬件原理图
控制电路如下:
显示电路如下:
2.画印刷电路板PCB图
控制电路板如下:
显示电路板如下:
3.打印PCB图
将画好的PCB图打印好,并紧贴到电路板上,送入转印机之后就可以进行腐蚀了,接下来就是打孔了,打好孔之后就进行元器件的焊接。
第五章程序设计
硬件制作完毕之后,接下来就是程序设计,本设计采用汇编语言,在主程序中,主要实现初始化,按键处理,时间采用动态显示方式。
当有键按下时,进入
按键处理程序。
第六章总结
通过这次对多段定时器的编写论文,我知道了很多单片机的基本知识,对单片机的程序设计有了深刻的认识。
写论文中遇到这样或那样的问题,在指导老师的协助下,有了很好的改善。
我们应该把多段定时器这一项技术学的更透彻一些,能实际的应用到每一个生活角落,不仅仅是这一项,实际生活中有很多对定时器的应用。
我对定时器的知识还有待提高,自身的不足对实现透彻生活应用有很大的阻碍,我要加紧对自身的提高进行学习,努力做到在用到知识的时候后悔自己学的少。
在设计这一论文要具备严谨,大胆,勇于创新的精神。
我从中也学到了小心谨慎,实事求是的态度。
第七章致谢
对我们的指导老师刁志刚,我深深的感谢他的谆谆教诲,对我永不放弃的执着精神,给我很大的鼓舞,让我有面对这一项“宏图巨作”的勇气,对困难要勇于面对的道理。
在学校的时候,刁老师给予我们全方位对于这一论文的讲解,让我们有一个准确的方向。
还有同学们在写论文对我格式的指导,让我更能明白Word的知识。
感谢爸妈对我的教育指导。