ImageVerifierCode 换一换
你正在下载:

罗凯.docx

[预览]
格式:DOCX , 页数:32 ,大小:368.62KB ,
资源ID:28505212      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/28505212.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(罗凯.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

罗凯.docx

1、罗凯济源职业技术学院 毕 业 设 计题目 单片机作息时间控制系统 系别 电气工程系 专业 电气自动化 班级 电气0801 姓名 罗 凯 学号 08040138 指导教师 任艳艳 日期 2010年12月21日 设计任务书设计题目:作息时间的控制设计要求:1、作息时间能控制电铃。2、作息时间能启动和关闭放音机,同时用位七段显示器来显示现在的时间3、显示格式为时分秒从左到右依次显示。4、带有设置功能的按键,可以设置现在的时间以及显示定时设置时间,一旦设置时间到则运行相应的程序发出声响,同时继电器启动,可以控制放音机开。设计进度要求:第一周:领取题目,分析设计题目原理及设计思路第二周:去图书倌查阅资料

2、,制定大纲第三周:编写程序,拟定论文第四周:上机调试,验证实验效果第五周:根据设计要求进行编排电子稿第六周:由指导老师审核,进行更改指正第七周:交正规电子稿,由指导老师评阅第八周:进行毕业论文答辩指导教师(签名):_摘 要MCS-51系列的单片机是现实生活用到最广泛的。本作息时间控制器系统以AT89C51单片机为核心,通过软件设计基本能够实现对学校作息时间的控制的一个模型。通过改变单片机程序能够灵活改变冬、夏季作息时间,同时能够实时显示时间。此控制器模型设置了手动按扭,可以方便对实时显示时间的整分、时、进行校准及对定时时间(作息时间)的调整。该作息时间控制系统主要用于学校,对于以24小时为周期

3、的开关量进行自动控制。根据预先设定好的作息表,当作息时间到达时能进行到自动启停控制电路,完成对外部设备的控制如:蜂鸣器、闪烁灯等。作息时间控制器包括硬件设计和软件设计,硬件设计包括继电器、存储器和显示接口芯片.软件部分主要是主程序设计和软硬件结合在一起,先调试子程序,然后逐级叠加调试,最后系统调试,最后系统调试通过,时间控制系统可以准确的显示时间并准确的实现闹铃的控制。关键词:AT89C51,时间控制器,段码,显示目 录摘 要 3目 录 41 总设计方案 51.1系统总体方案 51.2 系统设计方框图 52 硬件设计 62.1单片机及程序存储器选择 62.2复位电路的设计 72.3蜂鸣器电路设

4、计 72.4 晶振电路的设计 83 软件设计 93.1划分模块 93.2程序流程图 93.3汇编程序 114 proteus软件仿真 224.1进入Proteus ISIS 224.2基本操作 224.3仿真效果 29致 谢 31参考文献 321 总设计方案1.1系统总体方案(1) 系统分析: 基于单片机系统的作息时间控制器的基本结构框图如图1.1所示。该系统主要包含输入控制电路、晶振复位电路、LED显示电路等外围电路组成。(2)统的功能划分: 硬件功能:按键输入控制电路、晶振、复位电路、LED显示器段码驱动电路、LED显示器位码驱动电路、4位LED显示电路、蜂鸣器电路都是有硬件功能来实现。

5、软件功能:LED动态显示、时钟计时、按键判断和处理都是有软件功能来实现。(3)机型器件选择: 单片机采用AT89C51型号、轻触按键、发光二极管、4位七段LED数码管(共阴极)、蜂鸣器。1.2 系统设计方框图基于单片机的作息时间控制器其系统方框图如图1.1所示。由图1.1可知,硬件电路有8个部分组成,即单片机、按键输入电路、单片机时钟电路、复位电路、LED显示器段码驱动电路、LED显示器位码驱动电路、4位LED显示电路、蜂鸣器电路。图1.1 系统方框图2 硬件设计2.1单片机及程序存储器选择在本设计中由于只是一个简单的作息时间控制系统,所要的程序不是很复杂,故程序的所占的容量不是很大,只有几个

6、KB的程序,所以我们不需要选取很大程序存储器的单片机,更不用说开扩展外部程序存储器了。这里我们选用AT89C51的单片机来作为我们的核心器件,是因为它内部有4KB的FLASH存储器,可供我们应用及反复擦写,其可供我们反复擦写1000次,因此它内部的资源已完全可以够我们本次的设计应用,故最终我们选择了该芯片作为本设计的核心器件。引脚如图2.1所示,各引脚功能如下:图2.1 AT89C51引脚功能介绍VCC +5VGND 地ALE 地址锁存允许/PSEN 程序存储器允许EA/VPP 为0访问外部程序存储器为1访问内部程序存储器RST 复位信号输入XTAL1、XTAL2 外部晶振P0.0P0.7 I

7、/O端口(P0口)P1.0P1.7 I/O端口(P1口)P2.0P2.7 I/O端口(P2口)P3.0P3.7 I/O端口(P3口)2.2复位电路的设计单片机在开机时或在工作中因干扰而使程序失控,或工作中程序处于某种死循环状态,在这种情况下都需要复位。 复位的作用是使中央处理器CPU以及其他功能部件都恢复到一个确定的初始状态,并从这个状态重新开始工作。AT89C51单片机的复位靠外部电路实现,信号由RESET(RST)引脚输入,高电平有效,在振荡器工作时,只要保持RST引脚高电平两个机器周期,单片机即复位。 复位后,PC程序计数器的内容为0000H,片内RAM中内容不变。 复位电路一般有上电复

8、位、手动开关复位和自动复位电路3种,如图2.2所示。而本设计采用的是手动复位方式,如图2.2所示:图2.2 单片机复位电路2.3蜂鸣器电路设计 设计要求定时时间到,要有到时提示。可以选择一只蜂鸣器(HA)作为三极管VT1的集电极负载,当VT1导通时,蜂鸣器发出呜叫声;VT1截止时,蜂鸣器不发声。R5是限流电阻。图2.3 为蜂鸣器驱动电路。图2.3 蜂鸣器驱动电路蜂鸣器用三极管VT1的基极接到单片机的P1.7管脚。当P1.7=0时,VT1导通,使蜂鸣器的两个管脚间获得将近5V的直流电压,蜂鸣器中有电流通过,而产生蜂鸣声; 当P1.7=1时,VT1截止,蜂鸣器的两个管脚间的直流电压接近于0,蜂鸣器

9、不发声。驱动电路如图2.3所示: 图2.3 蜂鸣器驱动电路 2.4 晶振电路的设计单片机的晶振电路,如图2.4所示图2.4晶振电路石英晶体也连接在晶振引脚的输入和输出之间,等效为一个并联谐振回路,振荡频率应该是石英晶体的并联谐振频率。晶体旁边的两个电容接地,实际上就是电容三点式电路的分压电容, 接地点就是分压点。以接地点即分压点为参考点,振荡引脚的输入和输出是反相的,但从并联谐振回路即石英晶体两端来看, 形成一个正反馈以保证电路持续振荡。3 软件设计3.1划分模块 根据设计要求,定时闹钟程序可分为以下几个模块:1)显示时间的设置;2)闹钟时间的设置:4)定时时间的响应。3.2程序流程图 如下图

10、3.1所示 图3.1 程序流程图3.3汇编程序 ORG 0000H LJMP START ORG 000BH LJMP TIME;初始化;START: MOV SP, #50H MOV 20H,#00H ;定义秒 MOV 21H,#00H ;定义分 MOV 22H,#00H ;定义时 MOV 23H,#01H ;定义闹钟分钟 MOV 24H,#01H ;定义闹钟小时 MOV 25H,#00H MOV 26H,#01H MOV 30H,#00H ;BCD SECOND MOV 31H,#00H MOV 32H,#00H ;BCD MINUTE MOV 33H,#00H MOV 34H,#00H

11、;BCD HOUR MOV 35H,#00H MOV 36H,#01H MOV 37H,#00H MOV 38H,#01H MOV 39H,#00H MOV 50H,#00H ;按键次数 MOV TMOD,#01H ;16位计数器 MOV TH0, #03CH ;赋初值 MOV TL0, #0B0H MOV IE, #87H ;中断允许 SETB TR0 ;启动T0 MOV R2,#14H MOV P2,#0FFH CLR P3.7;主程序;MAIN: LCALL TIMEPRO ;调用闹钟判断GB: LCALL DISPLAY1 ;调用时间显示 JB P1.3,M1 ;P1.3=1时转移 S

12、4没有按下 LCALL SETTIME ;调用SETTIME调时子程序 LJMP MAINM1: JB P1.2,M2 ;P1 g.2=1时转移S3 LCALL SETATIME ;调用SETATIME子程序 LJMP MAINM2: JB P1.0,M4 ;P1.01时转移 S1 LCALL LOOKATIME ;调用LOOKATIME显示闹钟子程序M4: LJMP MAIN;延时子程序 ;DELAY: MOV R4,#030HDL00: MOV R5,#0FFHDL11: MOV R6,#9HDL12: DJNZ R6,DL12 DJNZ R5,DL11 DJNZ R4,DL00 RET

13、;时间调整;SETTIME: ;设置时间L0: LCALL DISPLAY1MM1: JB P1.3,L1 ;P1.3=1时转移 MOV C,P1.3 JC MM1 LCALL DELAY1 ;延时 JC MM1MSTOP1: MOV C,P1.3 ;P1.3为0时转移 JNC MSTOP1 LCALL DELAY1 ;延时 MOV A,50H INC 50H CJNE A,#00H,HJ1 LJMP L0HJ1: MOV C,P1.3 JNC MSTOP1 INC 22H ;小时自加一 MOV A,22H CJNE A,#18H,GO12 ;小时计数循环 MOV 22H,#00H ;复位 M

14、OV 34H,#00H MOV 35H,#00H LJMP L0L1: JB P1.1,L2 ;P1.1=1时转移 MOV C,P1.1 JC L1 LCALL DELAY1 ;延时 JC L1MSTOP2: MOV C,P1.1 ;P1.10时转移 JNC MSTOP2 LCALL DELAY1 ;延时 MOV C,P1.1 JNC MSTOP2 INC 21H ;分钟加一 MOV A,21H CJNE A,#3CH,GO11 ;分钟计数循环 MOV 21H,#00H ; 复位 MOV 32H,#00H MOV 33H,#00H LJMP L0 GO11: MOV B,#0AH DIV AB

15、 MOV 32H,B ; 将A的低4位存入32单元 MOV 33H,A ; 将A的高4位存入33单元 LJMP L0GO12: MOV B,#0AH DIV AB MOV 34H,B ;将A的低4位存入34单元 MOV 35H,A ; 将A的高4位存入35单元 LJMP L0L2: JB P1.0,L0 ; P1.01时转移 MOV C,P1.0 JC L2 LCALL DELAY1 ;延时 MOV C,P1.0 JC L2STOP1: MOV C,P1.0 ; P1.00时转移 JNC STOP1 LCALL DELAY1 ;延时 MOV C,P1.0 JNC STOP1 MOV 50H,#

16、00H LJMP MAIN; 设置闹钟;SETATIME:LCALL DISPLAY2 ; 调用DISPLAY2显示闹钟N0: LCALL DISPLAY2MM2: JB P1.2,N1 ;P1.2=1时转移 MOV C,P1.2 JC MM2 LCALL DELAY1 ; 延时 JC MM2MSTOP3: MOV C,P1.2 ; P1.20时转移 JNC MSTOP3 LCALL DELAY1 ; 延时 MOV A,50H INC 50H CJNE A,#00H,HJ2 LJMP N0HJ2: MOV C,P1.2 JNC MSTOP3 INC 24H ;小时加一 MOV A,24H CJ

17、NE A,#24,GO22 ;小时计数循环 MOV 24H,#00H ;复位 MOV 38H,#00H MOV 39H,#00H LJMP N0N1: JB P1.1,N2 ;P1.11时转移 MOV C,P1.1 JC N1 LCALL DELAY1 ;延时 JC N1MSTOP4: MOV C,P1.1 ;P1.10时转移 JNC MSTOP4 LCALL DELAY1 ;延时 MOV C,P1.1 JNC MSTOP4 INC 23H ;分钟加一 MOV A,23H CJNE A,#60,GO21 ;分钟计数循环 MOV 23H,#00H ;复位 MOV 36H,#00H MOV 37H

18、,#00H LJMP N0GO21: MOV B,#0AH DIV AB MOV 36H,B ;将A的低4位存入36单元 MOV 37H,A ;将A的高4位存入37单元 LJMP N0GO22: MOV B,#0AH DIV AB MOV 38H,B ;将A的低4位存入38单元 MOV 39H,A ;将A的高4位存入39单元 LJMP N0N2: JB P1.0 ,N0 ;P1.01时转移 MOV C,P1.0 JC N2 LCALL DELAY1 ;延时 MOV C,P1.0 JC N2STOP2: MOV C,P1.0 JNC STOP2 LCALL DELAY1 MOV C,P1.0 J

19、NC STOP2 MOV 50H,#00H LJMP MAINTIMEPRO: MOV A,21H MOV B,23H CJNE A,B,BK ;判断定时闹钟的分钟 MOV A,22H MOV B,24H CJNE A,B,BK ;判断定时闹钟的小时 SETB 25H.0 MOV C,25H.0 LCALL TIMEOUT ;调用TIMEOUT BK:RETTIMEOUT: X1: LCALL BZ ;调用喇叭响应程序 LCALL DISPLAY2 ;延时 CLR 25H.0 ;调用喇叭响应程序结束 JB P1.0, X1 ;P1.01时转移 LCALL DELAY ;延时 CLR 25H.0

20、 LJMP DISPLAY1 BZ: CLR P3.7 MOV R7,#250 ;喇叭响应时间 T2: MOV R6,#124 T3: DJNZ R6,T3 DJNZ R7,T2 SETB P3.7 RETLOOKATIME:LCALL DISPLAY2 MM: JNB P1.0,LOOKATIME LCALL DELAY1 LJMP MAINDELAY1: MOV R4,#14H ;时间延时DL001: MOV R5,#0FFHDL111: DJNZ R5,DL111 DJNZ R4,DL001 RET;*定时*TIME: PUSH ACC ;保护现场 PUSH PSW MOV TH0,#0

21、3CH ;初值 MOV TL0,#0B0H DJNZ R2,RET0 MOV R2,#14H MOV A,20H CLR C INC A ;秒自加一 CJNE A,#3CH,GO1 ;秒计数循环 MOV 20H,#0 ;复位 MOV 30H,#0 MOV 31H,#0 MOV A,21H INC A ;分钟自加一 CJNE A,#3CH,GO2 ;分钟计数循环 MOV 21H,#0H ;复位 MOV 32H,#0 MOV 33H,#0 MOV A,22H INC A ;小时自加一 CJNE A,#18H,GO3 ;小时计数循环 MOV 22H,#00H ;复位 MOV 34H,#0 MOV 3

22、5H,#0 AJMP RET0GO1: MOV 20H,A MOV B,#0AH DIV AB MOV 31H,A ;将A的低4位存入31单元 MOV 30H,B ;将A的高4位存入30单元 AJMP RET0GO2: MOV 21H,A MOV B,#0AH DIV AB MOV 33H,A ;将A的低4位存入33单元 MOV 32H,B ;将A的高4位存入32单元 AJMP RET0GO3: MOV 22H,A MOV B,#0AH DIV AB MOV 35H,A ;将A的低4位存入35单元 MOV 34H,B ;将A的高4位存入34单元 AJMP RET0RET0: POP PSW ;

23、恢复现场 POP ACC RETI;*显示子程序*DISPLAY1: MOV R0,#30H MOV R3,#0FEH MOV A,R3PLAY1: MOV P2,A MOV A,R0 ;取要显示的数据 MOV DPTR,#DSEG1 ;指向字形段码首地址 MOVC A,A+DPTR CPL A ;查表取字形段码 MOV P0,A ;指向P0口 LCALL DL1 MOV P2,#0FFH MOV A,R3 ;判断是否显示到最低位 RL A ;左移一位 JNB ACC.6,LD1 INC R0 ;缓冲器地址加一 MOV R3,A LJMP PLAY1LD1: RETDISPLAY2: PUSH

24、 ACC ;保护现场 PUSH PSW MOV R0,#36H MOV R3,#0FBH MOV A,R3 PLAY2: MOV P2,A MOV A,R0 ;取要显示的数据 MOV DPTR,#DSEG1 ;指向字形段码首地址 MOVC A,A+DPTR CPL A ;查表取字形段码 MOV P0,A ;指向P0口 LCALL DL1 ;调用DL1 MOV P2,#0FFH MOV A,R3 ;判断是否显示到最低位 RL A ;左移一位 JNB ACC.6,LD2 INC R0 ;缓冲器地址加一 MOV R3,A LJMP PLAY2 ;调用PLAY2LD2: POP PSW POP ACC

25、 ;恢复现场 RET ;DELAY;DL1: MOV R7,#20HDL: MOV R6,#20HDL6: DJNZ R6,$ DJNZ R7,DL RETDSEG1: DB 3FH,06H,5BH,4FH,66H ;七段码表 DB 6DH,7DH,07H,7FH,6FH END4 proteus软件仿真4.1进入Proteus ISIS双击桌面上的ISIS 6 Professional图标或者单击屏幕左下方的“开始”“程序”“Proteus 6 Professional” “ISIS 6 Professional”,出现如图4.1所示屏幕,表明进入Proteus ISIS集成环境。 图4.1

26、启动时的画面4.2基本操作1图形编辑窗口在图形编辑窗口内完成电路原理图的编辑和绘制。为了方便作图坐标系统(CO-ORDINATE SYSTEM)ISIS中坐标系统的基本单位是10nm,主要是为了和Proteus ARES保持一致。但坐标系统的识别(read-out)单位被限制在1th。坐标原点默认在图形编辑区的中间,图形的坐标值能够显示在屏幕的右下角的状态栏中。点状栅格(The Dot Grid)与捕捉到栅格(Snapping to a Grid)编辑窗口内有点状的栅格,可以通过View菜单的Grid命令在打开和关闭间切换。点与点之间的间距由当前捕捉的设置决定。捕捉的尺度可以由View菜单的S

27、nap命令设置,或者直接使用快捷键F4、F3、F2和CTRL+F1。如图4.2所示。若键入F3或者通过View菜单的选中Snap 100th, 图4.2选项图你会注意到鼠标在图形编辑窗口内移动时,坐标值是以固定的步长100th变化,这称为捕捉, 如果你想要确切地看到捕捉位置,可以使用View菜单的X-Cursor命令,选中后将会在捕捉点显示一个小的或大的交叉十字。实时捕捉(Real Time Snap)当鼠标指针指向管脚末端或者导线时,鼠标指针将会被捕捉到这些物体,这种功能被称为实时捕捉,该功能可以使你方便的实现导线和管脚的连接。可以通过Tools菜单的Real Time Snap 命令或者是

28、CTRL+S切换该功能。可以通过View菜单的Redraw命令来刷新显示内容,同时预览窗口中的内容也将被刷新。当执行其它命令导致显示错乱时可以使用该特性恢复显示。2视图的缩放与移动可以通过如下几种方式:(1)用鼠标左键点击预览窗口中想要显示的位置,这将使编辑窗口显示以鼠标点击处为中心的内容。(2) 在编辑窗口内移动鼠标,按下SHIFT键,用鼠标“撞击”边框,这会使显示平移。我们把这称为Shift-Pan。(3) 用鼠标指向编辑窗口并按?缩放键或者操作鼠标的滚动键,会以鼠标指针位置为中心重新显示。3预览窗口该窗口通常显示整个电路图的缩略图。在预览窗口上点击鼠标左键,将会有一个矩形蓝绿框标示出在编

29、辑窗口的中显示的区域。 其他情况下,预览窗口显示将要放置的对象的预览。这种Place Preview特性在下列情况下被激活: 当一个对象在选择器中被选中 当使用旋转或镜像按钮时 当为一个可以设定朝向的对象选择类型图标时(例如:Component icon, Device Pin icon等等) 当放置对象或者执行其他非以上操作时,place preview会自动消除 对象选择器(Object Selector)根据由图标决定的当前状态显示不同的内容。显示对象的类型包括:设备,终端,管脚,图形符号,标注和图形。 在某些状态下,对象选择器有一个Pick切换按钮,点击该按钮可以弹出库元件选取窗体。通过该窗体可以选择元件并置入对象选择器,在今后绘图时使用。4对象选择器窗口通过对象选择按钮,从元

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

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