为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

定时闹钟设计

2017-09-24 30页 doc 120KB 21阅读

用户头像

is_531654

暂无简介

举报
定时闹钟设计定时闹钟设计 河南理工大学本科课程设计报告 本设计是以AT89S51单片机为核心,设计并制作定时闹钟,在此设计的定时 闹钟基础上,能显示时时分分秒秒,能够设定定时时间以及修改定时时间,定时 时间到能发出警报声或者启动继电器,从而控制电器的启停。现在是自动化高度 发达的时代,特别是电子类产品都是靠内部的控制电路来实现对产品的控制,达 到自动运行的目的,这就需要我们这里要做的设计中的电器元件及电路的支持 了。 AT89S51是此次课程设计的核心部件,利用共阴极显示器件,用LED来显示数字。AT89S51单片机属于MCS-51...
定时闹钟设计
定时闹钟 河南理工大学本科课程设计 本设计是以AT89S51单片机为核心,设计并制作定时闹钟,在此设计的定时 闹钟基础上,能显示时时分分秒秒,能够设定定时时间以及修改定时时间,定时 时间到能发出警报声或者启动继电器,从而控制电器的启停。现在是自动化高度 发达的时代,特别是电子类产品都是靠内部的控制电路来实现对产品的控制,达 到自动运行的目的,这就需要我们这里要做的设计中的电器元件及电路的支持 了。 AT89S51是此次课程设计的核心部件,利用共阴极显示器件,用LED来显示数字。AT89S51单片机属于MCS-51单片机的一种,采用单总线结构。在显示发 面用计数器和七段显示数码管组成闹钟电路的基本电路和显示电路,由4个开关来控制闹钟的显示及定时,一个开关控制小时一个控制分钟一个控制秒钟,通过 4个按键调节,也采用中断的方式进行溢出数据 在这次设计中主要是用AT89S51来进行定时,也结合着其他辅助电路实施控 制,在定时的时候,按一下控制小时的键对小时加一;按一下控制分钟的键对分 钟加一;按一下控制秒钟的键对秒钟加一,秒计时器和分计时器都是满60加一,到达预设的时间,此电路就会发出报警声音提示已经到点,俗话说时间就是生命, 有了定时闹钟,让人们的时间观念更强更优质。 - 1 - 河南理工大学本科课程设计报告 „„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„3 1.1定时闹钟课程设计的意义 „„„„„„„„„„„„„„„„„„„„3 1.2总体设计过程的概述 „„„„„„„„„„„„„„„„„„„„„„3 1.3系统的主要功能简介 „„„„„„„„„„„„„„„„„„„„„„3 „„„„„„„„„„„„„„„„„„„„„„5 2.1系统核心AT89S51单片机概述 „„„„„„„„„„„„„„„„„„5 2.2独立式键盘电路 „„„„„„„„„„„„„„„„„„„„„„„„6 2.3 LED结构与原理 „„„„„„„„„„„„„„„„„„„„„„„„7 2.4定时控制寄存器 „„„„„„„„„„„„„„„„„„„„„„„„7 „„„„„„„„„„„„„„„„„„„„„„„„„„„„„8 3.1系统流程图 „„„„„„„„„„„„„„„„„„„„„„„„„„8 3.2键盘及按键功能设定 „„„„„„„„„„„„„„„„„„„„„„8 3.3动态数码显示及其处理 „„„„„„„„„„„„„„„„„„„„„9 3.4简单的运算„„„„„„„„„„„„„„„„„„„„„„„„„„10 „„„„„„„„„„„„„„„„„„„„„„„„115„„„„„„„„„„„„„„„„„„„„„„„„„„13 „„„„„„„„„„„„„„„„„„„„„„„„„„„„„14 „„„„„„„„„„„„„„„„„„„„„„„„„15 „„„„„„„„„„„„„„„„„„„„„„„„„23 - 2 - 河南理工大学本科课程设计报告 1 1.1定时闹钟课程设计的意义 现在是一个高度发达的高科技时代,目前单片机正朝向高性能和多品种方向 发展,并且进一步向低功耗,小体积,大容量,高性能,低价格和外围电路内装 化等几个方向发展。单片机的应用还从根本上改变了传统的控制系统设计思想和 方法。从前必须由模拟电路和数字电路实现的大部分功能,现在已经能够用单片 机运用软件方法来实现了,因此称之为软件代替硬件的控制技术。 定时闹钟是用数字电路技术实现时分秒计时的装置,有更高的准确性和直观 性,寿命更长,得到了广泛的应用。 定时闹钟是采用数字电路实现对时分秒数字显示的计时装置,广泛应用于家 庭,车站,办公室等场所,成为人们日常生活不可缺少的必需品,它给人们带来 了很大的方便 1.2总体设计过程的概述 在此次设计中,AT89S51单片机是主要的元器件,通过它来控制电路的各个元器件以及显示器件的工作,本次设计用到了AT89S51单片机,LED七段显示器,RP电阻及一些小电阻,电容,开关,电源,接地线以及一个LS小发声喇叭组成,通过对对应端口的连接来实现其功能,在电路设计中还运用到了保护电路,起到保护元器件的目的, 首先就是选择器件,在选材方面一定要仔细,有些器件之间只有一点点区别,即便是那一点点区别就会导致整个电路不可用,因此要慎重选材。在材料选好之 前,要好好的规划一下设计的电路,设计的思想,总体的思路。在这之后,就是 开始怎么来组织设计的时候了,运用逻缉的思维来组织。 我们运用AT89S51这个主要的单片机器件,它是核心,它有40个引脚,分别有I/O接口,电源接口等等,分别从那引出接线,然后分别与各部件连接,发 出控制信号对各个部件进行控制,让各部件都工作起来,实现各自的功能。对于 在连接接口时注意一一对应,不要接反了。在总体设计好之后进行调试,避免错 误的产生。 1.3系统的主要功能简介 定时闹钟是采用数字电路实现对时分秒数字显示的控制装置,在电路中,有 中断电路,保护电路,触发电路,显示电路等,它们各显其功能,然后通过自己 的功能来组合成一个整体的功能,也就是此次设计的定时闹钟的功能,通过这些 - 3 - 河南理工大学本科课程设计报告 元器件组成的电路,定时闹钟有了自己的本领。 在整体电路中,保护电路起着保护各元器件不会因为接错线或者是电源电压 不合理而导致的对器件的损坏,保护各电路的正常工作。触发电路起着给出触发 信号的作用,显示电路是起着显示的作用。定时闹钟可以显示时分秒,并且在同 时可以进行定时,分别对时分秒的设计来定时,在时间到了后可以发出声音提示, 起着报警提示的目的。现在是个高度发达的社会,时间很重要,对时间的控制是 自古以来都是棘手的问题,现在有了定时闹钟,就大大的提高人们的时间观。显 示电路及LED显示器是其中最重要的部分之一,有动态显示和静态显示两种方 式,通过它来观察时间数,很直观,方便。 - 4 - 河南理工大学本科课程设计报告 2.1系统核心AT89S51单片机概述 图2-1 单片机AT89S51的引脚图 本系统的核心元件为单片机AT89S51,利用共阴显示器件。在此设计中接入一个 共阴LED显示器,其中2个用于显示时钟,其中2个用于显示分钟,2个用于显示秒钟。 AT89S51属于MCS-51单片机系列中的其中一种,单片机内部总线是单 总线结构,即数据总线和地址总线是公用的。该芯片具有40引脚,这40条引脚可分为I/O接口线、电源线、外接晶振线4部分。8051单片机为双列直插式封装结构,本设计利用的核心元件便是它了。 其引脚功能说明: VCC:+5V电源线; XTAL1:片内振荡器反向放大器的输入端和内部时钟工作的输入端; XTAL2:片内振荡器反向放大器的输出端; P0口:是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口对端口P0写‘1’时,可作为高阻抗输入端用,在访问外部数据存储器或程序存储器时, 这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电 阻; - 5 - 河南理工大学本科课程设计报告 P1口:是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端 口拉到高电平,此时可作输出口。作输入口使用时,因为内部存在上拉电阻,某 个引脚被外部信号拉低时会输出一个电流; P2口:是一个带内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口P2写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻, 某个引脚被外部信号拉低时会输出一个电流; P3口:是一组带有内部上拉电阻的8位双向I/O口。P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。此时,被外部拉低的P3口将用上拉电阻输出电流。 RST——复位输入; ALE/PROG——当访问外部程存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节; PSEN:程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号; EA/VPP:外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态; 如EA端为高电平(接Vcc端),CPU则执行内部程序存储器的指令 2.2独立式键盘电路 在单片机系统的输入电路中,经常需要独立式键盘。 a.独立式键盘的接口电路:在单片机应用系统中,有时只需要几个简单的按 键向系统输入信息。这时,可将每个按键接在一根I/O接口线上,这种方式的连接称为独立式键盘。每个独立式按键单独占有一根 I/O接口线,每根I/O接口线的工作状态不 会影响到其他 I/O接口线 。这种按键接口电路配置灵活,硬 件结构简单,但每个按键必须占用一根I/O接口线,I/O接口线浪费较大。故只在按键数量不多时采用这种按键电路。在此电路中,按键输入都采用低电平有效。 上拉电阻保证了按键断开时,I/O接口线有确定的高电平。当I/O接口内部有上拉电阻时,外电路可以不配置上拉电阻。 - 6 - 河南理工大学本科课程设计报告 b.独立式键盘的编程:独立式键盘的编程常采用查询式结构。先逐位查询每 根I/O接口线的输入状态,如某一根I/O接口线输入为低电平,则可确定该I/O接口线所对应的按键以按下,然后,再转向按键的功能处理程序。 图2-2 定时闹钟的键盘电路图 2.3 LED结构与原理 图2-3 LED元件引脚图 a~g为数字和字符显示段,h段为小数点显示,通过a~g为7个发光段的不同组合,可以显示0~9和A~F共16个数字和字母,本设计采用的是共阴极 接法。点亮LED显示器有两种方式:一是静态显示:二是动态显示。 所谓静态显示,就是当显示器显示某一个字符时,相应的发光二极管恒定的导通 或截止。所谓动态显示,就是将要显示的多位LED显示器采用一个8位的段选端口,然后采用动态扫描方式一位一位地轮流点亮各位显示器。 2.4 定时控制寄存器 TCON:该寄存器单元地址为88H,位地址为88H-8FH;其及位地址见 - 7 - 河南理工大学本科课程设计报告 8FH 8EH 8DH 8CH 8BH 8AH 89H 88H TFTRTFTRIEITIEIT1 1 0 0 1 1 0 0 该寄存器具有定时器/计数器的控制功能和中断控制功能,其中与中断有关的控 制位共有6位: TF:定时器/计数器T1溢出中断标志。 1 TF:定时器/计数器T0溢出中断标志。其功能类似于TF。1 1IT :外部中断1触发方式标志。 1 IE:外部中断0中断请求标志。其功能类似于IE。01 IT:外部中断1触发方式标志。其功能类似于IT。 01 IE:外部中断1中断请求标志。 1 - 8 - 河南理工大学本科课程设计报告 3.1系统流程图 显示初始化 开始 定时器初始化 中断初始化 定时器赋初值 开启中断 调用显示,按键 图3-1 系统流程图 3.2键盘及按键功能设定 图3-2 开关电路图 - 9 - 河南理工大学本科课程设计报告 在此开关电路路图中,一共用了4个开关K1,K2,K3,K4。在开关上也同时接 了4个上拉电阻R5,R6,R1,R2。同时开关左边接了地,上拉电阻一端接了电源。 4个开关和上拉电阻同时起了不同的作用。在整个定时闹钟电路运行时,先按下 K1,然后再按K2,因此就可以给时钟加1;按K3是给分钟加1。开关K2控制定 时状态,K1控制分钟,K3控制时钟,K4是退出键。 3.3动态数码显示及其处理 此电路中就是靠LED数码管来显示时间的,LED数码管一般采用的是7段显 示,可以显示0-9的数字,它是从a~g的7段管显示数字的,分别控制这7段 的亮与灭来显示0-9这几个数字。动态数码管是靠动态驱动来使其发光的,动 态驱动是将所有数码管使用一个专门的译码驱动器,使各位数码管逐个轮流受控 显示。显示子程序为: DISPLAY1:MOV R0,#30H MOV R3,#0FEH MOV A,R3 PLAY1: MOV P2,A MOV A,@R0 MOV DPTR,#DSEG1 MOVC A,@A+DPTR MOV P0,A LCALL DL1 ;调用延时 MOV P2,#0FFH MOV A,R3 RL A JNB ACC.6,LD1 ;判位并进行下一位操作 INC R0 MOV R3,A LJMP PLAY1 LD1: RET DISPLAY2:PUSH ACC ;保护现场 PUSH PSW MOV R0,#36H MOV R3,#0FBH MOV A,R3 PLAY2: MOV P2,A ;轮流选通显示 MOV A,@R0 MOV DPTR,#DSEG1 - 10 - 河南理工大学本科课程设计报告 MOVC A,@A+DPTR MOV P0,A LCALL DL1 MOV P2,#0FFH MOV A,R3 RL A JNB ACC.6,LD2 INC R0 MOV R3,A LJMP PLAY2 LD2: POP PSW POP ACC RETI DL1: MOV R7,#02H ;延时程序2 DL: MOV R6,#0200H DL6: DJNZ R6,$ DJNZ R7,DL RETI DSEG1: DB 3FH,06H,5BH,4FH,66H ;//字符转换显示// DB 6DH,7DH,07H,7FH,6FH 3.4简单的运算 在开关电路中,存在着上拉电阻,它们同时对时间进行着控制。在运行时, 按下K1,然后再按下K2,这就可以对时钟加1,按下K3可以对分钟加1,但这 两个都不是对闹钟定时所做的操作。 先按下K2就可以对闹钟进行定时了,按下K1,对分钟进行加1,按下K3对时钟 进行加1,因此就可以想定多少时间就行。就比如说我们将定到11点11分报时, 那我们就先按K2,再按K1,按十一下K1,把分钟调到11;然后再按十一下K3, 把时钟调到11,然后按K4退出就可以了,这个简单的操作就这样完成了。举例 如下: GO22:MOV B,#0AH DIV AB MOV 38H,B MOV 39H,A - 11 - 河南理工大学本科课程设计报告 在软件设计中提到的定时操作,我选择了定时到11点11分,一下为定时后的截图 RP1GND C2C347p47pX19876U25CRYSTAL19394XTAL1P0.0/AD0383P0.1/AD1372RESPACK-8P0.2/AD21836XTAL2P0.3/AD3351P0.4/AD434P0.5/AD533P0.6/AD6932R3RSTP0.7/AD721P2.0/A810k22P2.1/A923P2.2/A10VCC2924R4PSENP2.3/A113025ALEP2.4/A12VCC312610kEAP2.5/A13C127P2.6/A1428P2.7/A1511047pP1.0P3.0/RXDK1211P1.1P3.1/TXD312P1.2P3.2/INT0413K2P1.3P3.3/INT1514P1.4P3.4/T0615K3P1.5P3.5/T1716P1.6P3.6/WR817P1.7P3.7/RDK4LS1 AT89C51R5SPEAKERGNDR610kR110kR210kGND10k VCC 图4-1 设定定时后的电路图 上述为结果图,以下为具体操作的过程: 点了电路运行按钮后,就可以开始对其进行设定了。先按K2,进入定时状态,然后再按下K1,可以在分钟上加1,其运行效果图为: - 12 - 河南理工大学本科课程设计报告 RP1GNDC2C347p47pX1987U26CRYSTAL51939XTAL1P0.0/AD0438P0.1/AD1337RESPACK-8P0.2/AD221836XTAL2P0.3/AD335P0.4/AD4134P0.5/AD533P0.6/AD6932RSTP0.7/AD7R321P2.0/A810k22P2.1/A923P2.2/A102924VCCR4PSENP2.3/A113025ALEP2.4/A123126VCCEAP2.5/A1310kC127P2.6/A1428P2.7/A15110P1.0P3.0/RXD47p211K1P1.1P3.1/TXD312P1.2P3.2/INT0413P1.3P3.3/INT1K2514P1.4P3.4/T0615P1.5P3.5/T1K3716P1.6P3.6/WR817P1.7P3.7/RDK4LS1 AT89C51R5SPEAKERGNDR610kR110kR210kGND10k VCC 图4-2 运行效果图 再按K3,对时钟加1,其运行效果图为: GND 9RP18765C2C3447p47p3X121U2CRYSTAL1939XTAL1P0.0/AD038P0.1/AD1RESPACK-837P0.2/AD21836XTAL2P0.3/AD335P0.4/AD434P0.5/AD5R333P0.6/AD6VCC932RSTP0.7/AD710kVCC21P2.0/A822R4P2.1/A923P2.2/A1010k2924C1PSENP2.3/A113025ALEP2.4/A123126EAP2.5/A132747pP2.6/A14K128P2.7/A15K2110P1.0P3.0/RXD211K3P1.1P3.1/TXD312P1.2P3.2/INT0K4413P1.3P3.3/INT1514LS1P1.4P3.4/T0615P1.5P3.5/T1716P1.6P3.6/WR817P1.7P3.7/RDAT89C51R5SPEAKERR610kGNDR110kR2GND10k10k VCC 图4-3 运行效果图 。 - 13 - 河南理工大学本科课程设计报告 我们每天都在为起床起不来而发愁,因此就我就打算设计了这个定时闹钟来 提醒我们早早起床,这样我们就有了个提醒我们起床的东西了。经过一周的忙碌, 这次课程设计也到了尾声,在做设计的过程中也遇到了不少的困难,但我们都没 被打倒,还经常跑图书馆去查阅一些相关的资料,经过老师的细心指导和同学们 的热情帮助,经过仔细的检查和修改把过程中遇到的种种故障排除,过程中遇到 了其他的一些困难也解决掉。总体来说,设计这个东西需要的是各个学科的综合 知识,不是单靠一科就能解决得了的,因此对我们的综合知识是很大的考验,现 在才深有体会的,学好一门课程是很不容易的事情。平常上课时可能没太在意, 学这些东西的重要性,实用性,因此就没认真的去听,现在做这个设计才发现这 些学科的重要性,并且在做这个设计后我们能更好的把所学的知识更系统的连续 起来、结合起来,已达到突出运用的目的。从开始不断的需要去图书馆跑找资料, 不仅使自己长了知识也使我明白了一些道理。设计当中不仅运用了在大学几年所 学的东西,而且还运用了从未接触过的一些东西。学习不认真,就不会很好的完 成这次设计。 此次设计也使我明白,它可能需要多方面的东西,是通过各个方面的知识积 累以及动手实践做出来,而绝非凭空想出来的,它是实实在在不打水瓢的,只有 自己掌握了各方面的知识才能更好的去设计,才能走到成功的目的地。 - 14 - 河南理工大学本科课程设计报告 [1]余发山.单片机原理及应用技术.中国矿业大学出版社,2003.21-45,98-118,185-198 [2]刘和平. 单片机编程与入门.重庆大学出版社,2002.68-99,111-122 [3]陈明荧. 89C51单片机课程设计实训教材.清华大学出版社,2003.38-67,102-118 [4]刘瑞新. 单片机原理及应用教程.北京机械工业出版社,2005.78-109 [5]杨文龙. 单片机原理及应用.西安电子科技大学出版社,2002.33-62 [6]董国增. 单片机接口及应用实验和训练指导.北京机械工业出版社,1998.43-70 [7]付寿英,张登举,徐飞. 单片机接口技术及在工业控制中的应用.陕西科学技术出版,2001.78-101 - 15 - 河南理工大学本科课程设计报告 ORG 0000H LJMP MAIN ORG 000BH LJMP TIME ;************ MAIN PROGRAM *************** ORG 0100H MAIN:MOV SP,#50H MOV 20H,#00H ;BIN SECOND //程序赋初值// MOV 21H,#00H ;BIN MINUTE MOV 22H,#00H ;BIN HOUR MOV 23H,#01H MOV 24H,#01H MOV 25H,#00H MOV 30H,#00H ;BCD SECOND MOV 31H,#00H ; MOV 32H,#00H ;BCD MINUTE MOV 33H,#00H ; MOV 34H,#00H ;BCD HOUR MOV 35H,#00H MOV 36H,#01H MOV 37H,#00H MOV 38H,#01H MOV 39H,#00H MOV TMOD,#01H ;16位计数器//工作方式选择// MOV TH0,#03CH ;//赋初值// MOV TL0,#0B0H MOV IE,#10000111B SETB TR0 ;T0启动计数 MOV R2,#14H MOV P2,#0FFH LOOP:LCALL TIMEPRO ;//子程序调用// LCALL DISPLAY1 ;//显示程序调用// JB P1.1,M1 ;消除按键抖动 LCALL SETTIME LJMP LOOP - 16 - 河南理工大学本科课程设计报告 M1:JB P1.2,M2 LCALL SETATIME LJMP LOOP M2:JB P1.4,M4 LCALL LOOKATIME M4:LJMP LOOP DELAY:MOV R4,#030H ;//延时程序// DL00:MOV R5,#0FFH DL11:MOV R6,#9H DL12:DJNZ R6,DL12 DJNZ R5,DL11 DJNZ R4,DL00 RET SETTIME: L0: LCALL DISPLAY1 MM1: JB P1.2,L1 ;//p1.2为1时跳转到L1子程序// MOV C,P1.2 JC MM1 LCALL DELAY1 JC MM1 MSTOP1: MOV C,P1.2 JNC MSTOP1 LCALL DELAY1 MOV C,P1.2 JNC MSTOP1 INC 22H MOV A,22H CJNE A,#18H,GO12 MOV 22H,#00H ;重新赋值 MOV 34H,#00H MOV 35H,#00H LJMP L0 L1:JB P1.3,L2 MOV C,P1.3 JC L1 LCALL DELAY1 JC L1 MSTOP2: MOV C,P1.3 - 17 - 河南理工大学本科课程设计报告 JNC MSTOP2 LCALL DELAY1 MOV C,P1.3 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 MOV 32H,B ;保存当前显示输出值 MOV 33H,A LJMP L0 GO12:MOV B,#0AH DIV AB MOV 34H,B MOV 35H,A LJMP L0 L2:JB P1.4,L0 ;进位判断 MOV C,P1.4 JC L2 LCALL DELAY1 MOV C,P1.4 JC L2 STOP1: MOV C,P1.4 ;暂停状态 JNC STOP1 LCALL DELAY1 MOV C,P1.4 JNC STOP1 LJMP LOOP SETATIME:LCALL DISPLAY2 ;加位操作程序 N0: LCALL DISPLAY2 MM2: JB P1.3,N1 MOV C,P1.3 JC MM2 - 18 - 河南理工大学本科课程设计报告 LCALL DELAY1 JC MM2 MSTOP3: MOV C,P1.3 ;条件判断是否成立 JNC MSTOP3 LCALL DELAY1 MOV C,P1.3 JNC MSTOP3 INC 24H ;执行操作并保存相应状态 MOV A,24H CJNE A,#24,GO22 MOV 24H,#00H MOV 38H,#00H MOV 39H,#00H LJMP N0 N1:JB P1.1,N2 MOV C,P1.1 JC N1 LCALL DELAY1 JC N1 MSTOP4: MOV C,P1.1 ;中转位状态保存 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,#00H LJMP N0 GO21:MOV B,#0AH ;十六进制转化为十进制 DIV AB MOV 36H,B MOV 37H,A LJMP N0 GO22:MOV B,#0AH DIV AB - 19 - 河南理工大学本科课程设计报告 MOV 38H,B MOV 39H,A LJMP N0 N2:JB P1.4 ,N0 MOV C,P1.4 JC N2 LCALL DELAY1 MOV C,P1.4 ;进位标志位判断 JC N2 STOP2: MOV C,P1.4 JNC STOP2 LCALL DELAY1 MOV C,P1.4 JNC STOP2 LJMP LOOP TIMEPRO: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 JC XX XX:LCALL TIMEOUT BK:RET TIMEOUT: X1:LCALL BZ ;时间完成处理程序 LCALL DISPLAY2 CLR 25H.0 JB P1.4, X1 LCALL DELAY CLR 25H.0 ;清除标志位状态 LJMP DISPLAY1 BZ:CLR P3.7 MOV R7,#250 T2: MOV R6,#124 T3: DJNZ R6,T3 DJNZ R7,T2 - 20 - 河南理工大学本科课程设计报告 SETB P3.7 RET LOOKATIME:LCALL DISPLAY2 MM: JB P1.4,LOOKATIME ;重新设置时间 MOV C,P1.4 JC MM LCALL DELAY1 MOV C,P1.4 JC MM STOP3: MOV C,P1.4 JNC STOP3 LCALL DELAY1 MOV C,P1.4 JNC STOP3 LJMP LOOP DELAY1: MOV R4,#14H //延时程序1// DL001: MOV R5,#0FFH DL111: DJNZ R5,DL111 DJNZ R4,DL001 RET ;*********** TIME PROCESS ************** 定时器中断程序 TIME: PUSH ACC //保存现场,进行压栈操作// PUSH PSW MOV TH0,#03CH 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 - 21 - 河南理工大学本科课程设计报告 MOV 32H,#0 MOV 33H,#0 MOV A,22H INC A CJNE A,#18H,GO3 MOV 22H,#00H MOV 34H,#0 MOV 35H,#0 AJMP RET0 GO1: MOV 20H,A ;依此转化保留各个显示状态 MOV B,#0AH DIV AB MOV 31H,A MOV 30H,B AJMP RET0 GO2: MOV 21H,A MOV B,#0AH DIV AB MOV 33H,A MOV 32H,B AJMP RET0 GO3: MOV 22H,A MOV B,#0AH DIV AB MOV 35H,A MOV 34H,B AJMP RET0 RET0: POP PSW ;//回到中断现场// POP ACC RETI ;--DISPLAY PART---//显示子程序// DISPLAY1:MOV R0,#30H MOV R3,#0FEH MOV A,R3 PLAY1: MOV P2,A MOV A,@R0 MOV DPTR,#DSEG1 MOVC A,@A+DPTR - 22 - 河南理工大学本科课程设计报告 MOV P0,A LCALL DL1 ;调用延时 MOV P2,#0FFH MOV A,R3 RL A JNB ACC.6,LD1 ;判位并进行下一位操作 INC R0 MOV R3,A LJMP PLAY1 LD1: RET DISPLAY2:PUSH 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 MOV P0,A LCALL DL1 MOV P2,#0FFH MOV A,R3 RL A JNB ACC.6,LD2 INC R0 MOV R3,A LJMP PLAY2 LD2: POP PSW POP ACC RETI DL1: MOV R7,#02H ;延时程序2 DL: MOV R6,#0200H DL6: DJNZ R6,$ DJNZ R7,DL RETI DSEG1: DB 3FH,06H,5BH,4FH,66H ;//字符转换显示// DB 6DH,7DH,07H,7FH,6FH END - 23 - 河南理工大学本科课程设计报告 RP1GND C2C347p47pX19876U25CRYSTAL19394XTAL1P0.0/AD0383P0.1/AD1372RESPACK-8P0.2/AD21836XTAL2P0.3/AD3351P0.4/AD434P0.5/AD533P0.6/AD6932R3RSTP0.7/AD721P2.0/A810k22P2.1/A923P2.2/A10VCCR42924PSENP2.3/A113025ALEP2.4/A12VCC312610kEAP2.5/A13C127P2.6/A1428P2.7/A1511047pP1.0P3.0/RXD211P1.1P3.1/TXD312P1.2P3.2/INT0413P1.3P3.3/INT1514P1.4P3.4/T0615P1.5P3.5/T1716P1.6P3.6/WR817P1.7P3.7/RDLS1 AT89C51R5SPEAKERGNDR610kR110kR210kGND10k VCC - 24 -
/
本文档为【定时闹钟设计】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索