欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载
     

    基于89C52单片机的电子时钟设计毕业设计.doc

    • 资源ID:4147943       资源大小:482KB        全文页数:36页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于89C52单片机的电子时钟设计毕业设计.doc

    东华理工大学长江学院毕业设计题 目 基于89C52单片机的电子时钟设计 英文题目 Electronic Clock Design Based on 89C52 学生姓名 陈志仁 学 号 09325202 专 业 电子信息工程 系 别 机械与电子工程系 指导教师 黄河 职 称 讲 师 二零一三年六月摘 要至今,微处理器的发展已有40多年的历史,起初由美国Intel公司首推的4为微处理器Intel4004,实现将单片处理器和运算器等元件集成在一片电路芯片上。此后微处理器的迅猛发展,微处理器内集成的元件也越来越多,其中包括增加了存储器、I/O接口电路、定时/计数器、串行通信口、中断控制、系统总线以及系统时钟等,大大加强了微处理器的性能,并针对特定的领域制作出最大效率的微处理器。不同功能的微处理器称为微控制器,也被我们简称为单片机。本文主要介绍以单片机ST89C52和DS12C887时钟芯片为核心的电子时钟显示,LCD1602为液晶显示器件,此电子时钟显示具有年月日等基本时间显示,以及秒表计时处理、闹钟定时、蜂鸣、温度的设计。单片机通过对时钟、温度等数据处理后传送至LCD显示输出,也可通过按键对时间进行调节。通过单片机外围接口的扩展实现温度采集等功能。关键词:电子时钟;AT89C52;计时;温度ABSTRACTThis project mainly introduces that the electronic clock which based on microcontroller ST89C52 display.LCD1602 Liquid crystal display devices's electronic clock display has the date and time display.Stopwatch timing processing, alarm clock timing and the design of buzzer, temperature.SCM through the clock, temperature and other data processing and transmits signals to the LCD display output, also by adjusting button for time.Through the expansion of single-chip peripheral interface to achieve temperature acquisition functions.Key words: electronic clock;ST89C52;timing ;temperature第一章 绪论1.1 系统设计的背景和意义1.1.1 电子时钟设计的背景 随着微电子技术的迅猛发展,电子产品技术也得到了很大的提高,单片机技术也同样水涨船高。单片机是把一个计算机系统集成到一个芯片上,它的产生是近代计算机技术发展史上一个重要的里程碑,它标志这计算机正式形成了通用计算机系统和嵌入式计算机系统两大分支。以单片机为核心的智能化产品将计算机技术、信息处理技术和电子测量与控制技术结合在一起,把智能赋予各种机械装置,对传统的产品结构和应用方式产生了本质性的变革。由于其微小的体积和低成本的投入已普遍涉及现代人类生活中所用的电子和机械产品中,其中手机、电话、计算器、家用电器、电子玩具、电脑以及鼠标等电脑配件中都集成有至少1部单片机。1.1.2电子时钟设计的意义从古时的日晷、沙漏计时到近代的机械计时,再延续到现代的通过数字电路实现计时,其定时的准确性和精度都不是非常的理想,随着单片机的体积小、易控制、功能强、价格低廉、稳定可靠、集成度高等优点,注定了它的广泛普及。在智能家居、工业控制、通信、航天等领域有着极大的作用。电子时钟集成的单片机,极大的提高了电子时钟显示的准确性和快捷性,最大化的方便了人们。此外由于单片机的精确性大到工业过程中的大型控制系统,小到早已遍及全世界的儿童玩具和智能家居控制,无时无刻的影响和方便人类的生活。同样的因为单片机的功能强、体积小、质量轻、灵活好用、性价比高等优良的性能,使得它可以更好地融入到更多更全面的系统中,可以构成许多功能不同的微电子产品。根据这种实际情况,设计了只采用一个单片机制作的多功能电子时钟,具备了最基本的时间日期显示功能,定时闹铃功能和温度显示功能,以及秒表功能,还可以针对家电等电气产品的自动控制对其进行相应的扩展,同样可以避免操作繁琐的控制器而产生的失误,准确实现“一对多”的控制;温度传感器的添加,使得此电子时钟可以准确,快捷的进行温度显示,为人们的生活工作提供的极大的便利。对此设计还可以进一步的扩展利用,也可在此设计添加湿度传感器,进而实时进行湿度的显示。1.1.3电子时钟设计的应用 电子钟已成为人们日常生活中不可或缺的生活品,广泛是广场,旅店等公共场合的必须设施,给人们的衣食住行带来极大的方便。由于单片机集成系统技术的迅猛发展,使电子时钟具有走时准确、性能稳定、携带方便、性价比高等优点可以构成许多功能不同的微电子产品。 1.2 方案论证电子时钟电路的种类繁多,有通过数字电路和单片机集成等等,针对各种各样的情况或者不同领域所需要的电子时钟的要求也不尽相同,在生活上需要的电子时钟精度就没有多大的要求,而在工业控制和航天等一些需要精准的时间便需要高精准的电子时钟,本设计的题目是基于89C52单片机的电子时钟设计,此设计的需要正常显示的是年、月、日、星期、时、分、秒。本设计需要硬件系统和软件系统的结合。1.2.1 方案1基于STC89C52单片机的电子时钟的设计此方案是直接使用STC89C52单片机的集成电路来进行电子时钟的设计。相比于常用的51单片机STC89C52增加了一些功能,核心CPU为8位使用灵巧以及可编程Flash存储器,成为了嵌入式系统的应用变得更加的灵活多样,解决方案也变得有效。首先采用单片机的集成电路来进行计时,便需要此单片机的定时器/计数器每隔一定时间产生的一个中断信号,当中断次数到达一定时会产生一个秒信号,当秒信号累加到了一定值便进行分的累加,依次类推,之后便是时、日、星期、月、年的进位。这样也就实现了利用单片机集成电路的电子时钟的设计。其次通过单片机的集成电路来实现电子时钟的设计,不需要再加入其它的芯片,实现了资源的充分,但是用此方案所设计的电子时钟精度不够,且掉电后数据易丢失,编程复杂。1.2.2 方案2基于DS12C887的电子时钟的设计此种方案是在以单片机为核心装置的基础上,加上一个相关的时钟芯片,此类芯片有许多,比如MC146818,DS12887等等。它们虽然可以满足单片机系统对时钟的相关要求,但是此类芯片连接单片机较为复杂,数据总线和地址总线的占用颇多,且芯片的体积相比其它较大,在如今寸土寸金的时代此种芯片已变得越来越不合适,由于近年来愈来愈多串行接口的芯片的广泛应用,也产生了一些串行接口的时钟芯片,其中DS12C887便是其中的一种它的综合性能相比MC146818,DS12887等较好且价格公道的串行接口时钟芯片。通过52单片机的核心控制和DS12C887时钟芯片的辅助,实现单片机的同步信号,加上一些基本必要电路进行集成来构成整个电子时钟设计的完成,其中外加的电路有显示电路、键盘电路、闹铃电路。如果想在此系统进行扩展还可在电路上增设相应的电路。由于在系统设计时,需要考虑诸多因素:功耗、精确度、软件编程的简便,芯片的体积、芯片成本等。结合上述的各种影响DS12C887芯片为最佳选择,故方案2被采用。 第二章 电子时钟的硬件设计2.1 单片机的选择 单片微型计算机简称为单片机,是典型的嵌入式微控制器。通常,单片机由单块集成电路芯片构成,内部包含有计算机的基本功能部件:存储器、中央处理器(CPU)和I/O接口电路等。因此,单片机只需要配合适当的软件及外部设备,便可成为一个单片机控制系统。 单片机经历SCM、MCU、SoC三大阶段的发展,使得单片机具有了多功能、高性能、低电压、低价格、低功耗、大存储容量、强I/O功能及较好的兼容性等优点。1、多功能 单片机中尽可能地把诸多模块都集成在一块芯片上,使得单片机可以实现的功能更加繁多。其中把ADC、DAC以及多路模拟开关和采样/保持器乃至LED等显示驱动器集成在单片机芯片中,也就是外围器件的内置化。2、高性能 为了提高执行速度和执行效率,单片机开始使用RISC结构、流水线和DSP的设计技术,使单片机的性能有了显著的提高。 由于系统资源和系统复杂程度的增加,开始使用高级语言来开发单片机的程序。使用高级语言明显降低开发难度以及缩短了开发的周期,软件的可读性和可移植性也得到了大大的提升,便于改进和扩充功能。3、低电压和低功耗 因单片机使用的场合空间有限,对其体积的要求严格,这也决定了单片机具有低电压和低功耗的特性非常重要。目前单片机制造工艺普遍应用CHMOS工艺,其中HMOS工艺为互补金属氧化物具有高速度、高密度的特点,再加上CMOS工艺具备了低功耗的优良特性。由于CHMOS工艺的大量采用,很多单片机可以在更低的电压下工作(1.2V或0.9V),功耗已经降低到uA级。这些特性使得单片机系统可以在更小电源的支持下工作更长的时间。目前,国内生产单片机的种类繁多,在此,我们采用为89C52单片机为主控制器。89C52内置8位中央处理器、256字节内部数据存储器RAM、8k片内部程序存储器(ROM)32个双向输入/输出(I/O)口、3个16位定时/计数器和5个两级中断结构,一个全双工串行通信口,片内时钟振荡电路。此外,89C52还可工作于低功耗模式,可通过两种软件选择空闲和掉电模式。在空闲模式下冻结CPU而RAM定时器、串行口和中断系统维持其功能。掉电模式下,保存RAM数据,时钟振荡停止,同时停止芯片内其它功能。89C52具有PDIP(40pin)和PLCC(44pin)两种封装形式。2.2 单片机的基本简介单片机有两种基本结构:一种是在通用微型计算机中广泛采用的,数据存储器和程序存储器共用一个存储器空间的结构,称为“冯·诺依曼”(Von Neumann)结构。另一种称为“哈佛”(Harvard)结构是将数据存储器和程序存储器完全分开,采用不同的访问指令进行访问,目前的单片机多采用“哈佛”结构。2.2.1 89C52单片机主要功能特性· 标准MCS-51内核和指令系统· 片内8kROM(可扩充64kB外部存储器)· 32个双向I/O口· 256x8bit内部RAM(可扩充64kB外部存储器)· 3个16位可编程定时/计数器· 时钟频率3.5-12/24/33MHz· 向上或向下定时计数器· 改进型快速编程脉冲算法· 6个中断源· 5.0V工作电压· 全双工串行通信口· 布尔处理器帧错误侦测· 4层优先级中断结构自动地址识别· 兼容TTL和CMOS逻辑电平· 空闲和掉电节省模式· PDIP(40)和PLCC(44)封装形式2.2.2 89C52单片机各引脚功能1 主电源引脚有VCC、VSS。 VCC(40脚):接+5V电源,为程序运行和校检时提供所需的电能。VSS(20脚):为接地端。2 外界晶体引脚有XTAL1、XTAL2。XTAL1(18脚):片内它属于一个反向振荡放大器输入端,此放大器构成了片内振荡器,可以提供单片机相应的时钟控制信号。XTAL2(19脚)在单片机内部,接至上述振荡器的反向输出端。当使用内部时钟时,两引线端用于外接石英晶体和微调电容;当使用外部时钟时,用于接外部时钟信号,外部时钟由XTAL1引入,XTAL2处于悬空状态。 3 控制类引脚包括RESET(即为RST/VPD)、ALE、PSEN、EA,可以提供控制信号,有些具有复用功能。RSR/ VPD(9脚):VPD是单片机内部备用电源,为单片机的上电复位和掉电保护端。振荡器工作时,在此引脚加上两个机器周期的高电平将使单片机进行复位(REST)操作。复位后应使此引脚电平保持为不超过0.5V的低电平,以保证单片机正常运行。当电源端出现故障、小于低电平设定值或者掉电,此引脚可接入备用电源(VPD)以保持内部RAM中的数据不出现异常。ALE/PROG(30脚):地址锁存允许信号,以平均每机器周期两次有效的信号输出。在访问片外存储器或I/O时,用于锁存低八位地址,以实现低八位地址与数据的隔离。在不访问外部RAM和ROM时,ALE可以 1/6的振荡频率固定速率输出,可作为对外输出的时钟或用作外部定时脉冲。注意:在访问外部RAM期间,ALE脉冲会跳过两个机器周期此信号有效3次,此种状态下便不适合作为时钟输出。PSEN(29脚):片外程序存储器读选通信号,低电平有效。在从片外程序存储器取指期间,在每个机器周期中,当有效时,程序存储器的内容被送上 P0口(数据总线)。EA /VPP(31脚):片外程序存储器访问允许控制信号,此控制信号低电平为有效。EA=1(高电平),选择片内程序存储器;EA=0(低电平),则程序存储器全部在片外而不管片内是否有程序存储器4 四个输入/输出引脚包括P0口、P1口、P2口和P3口。P0(39脚-32脚)8位、漏极开路的双向I/O口。当使用片外存储器时,复用作低八位地址和数据总线分时复用。P1(1脚-8脚)8位、准双向I/O 口。P2(21脚-28脚)8位、准双向I/O口。当使用片外存储器时,复用作输出高 8位地址。P3(10脚-17脚)8位、准双向I/O口,具有内部上拉电路。P3口功能表:P3口各引脚的第二功能P3口的位第二功能简要说明P3.0RXD串行数据接收口P3.1TXD串行数据发射口P3.2INT0外部中断0输入P3.3INT1外部中断1输入P3.4T0计数器0计数输入P3.5T1计数器1计数输入P3.6WR外部RAM写信号P3.7RD外部RAM读信号2.2.3 89C52单片机内部结构图: 第三章 电子时钟的软件设计3.1 程序总体设计3.1.1 程序总体流程图: 开始初始化,设置初值功能键调节时间 Y N正常计时闹钟按键 闹钟控制 Y N显示时间确定LCD显示时间结束图3.1 主程序流程图3.2 DS12C887使用说明及流程图主程序运行后,首先DS12C887将会进行初始化的设置,如果串行口中具有相应的数据,然后需要获取时钟信息就必须调用相应的程序来从时钟芯片中获取,最后时钟信息的显示也需要调用相应的程序,依次返复进行。这段程序包括对DS12C887某个单元读写内容和对DS12C887设定时间。DS12C887的流程图如图3.2所示。开始 DS12C887初始化 调用程序获取时钟信息 送数据显示 图3.2 DS12C887的流程图3.3 1602液晶显示屏操作说明及流程图液晶显示屏的显示主要是通过从芯片中加载程序,分别对秒、分、时、星期、日、月、年、温度进行相应的显示,并且对可对时间进行加减操作,可通过键盘进行操作更新时间的显示。1602LCD的流程图如图3.3所示。开始 1602初始化 读取数据 第一行显示 读取数据 第二行显示 结束 图3.3 1602LCD的流程图3.4 键盘控制说明及流程图 当功能键按下时,秒位置闪烁。每次按下功能键按下时,分别在秒、分、时、星期、日、月、年处闪烁。当功能键再次按下时,加一或减一键有效并在相应位置加一或减一。如选定秒位,按下增大键,调整显示位秒的增加,当秒增加至满60后,自动清零,同时调节一次送至下一位显示,显示位置重新回到调节处;当按下减小键时,调整显示位秒的减小,当秒减至0后,自动跳转为59,同时调节一次送至下一位显示,显示位置重新回到调节处;年月日时分的调节原理相同。键盘加一减一流程图如图3-4所示。开始 光标定位秒单元 写入秒 Miao=59 =Miao=0 =Miao=-1? =Miao=60? =Miao-1 =Miao+1 =减小键S3按下 增大键S2按下 Y 功能键S1按下? 图3-4 键盘加一减一流程图3.5 主程序主程序主要对按键进行扫描,以及判断定时和闹铃时间是否已到,若到则调用相关程序,该段程序如下:3.5.1 延时程序动态扫描时液晶显示需要用到延时程序,此设计使用的是延时程序,此程序需要反复调用程序如下:DELAY: MOV R4,#0FH DE1:MOV R5,#0FFH DJNZ R5,$ DJNZ R4,DE1 RET 此类延时程序所延时的程序计算为:由于DJNZ指令执行时间为2个机器周期。假设单片机的工作频率为12MHz,则一个机器周期是1s。上述延时执行的时间0FFH×2s=512s,也是循环一次完成的时间,因其循环0FH次,所以其循环完成总的时间约为512s×0FH=8.192ms。此类延时程序算法与此相同。3.5.2 时钟芯片程序下面给出的便是调用时钟芯片DS12C887的初始化和获取内部事件的汇编程序: ORG 0000H AJMP STARTSTART: ACALL SETTIME;设置初始时间LOOP: ACALL GETTIME;循环读取当前时间 AJMP LOOP;SETTIME: MOV DPTR,#7D0AH;DS12C887的A寄存器MOV A,#20HMOVX DPTR,A;打开DS12C887的内部晶振并使RTC(实时时钟)记录时间INC DPTR;DS12C887的B寄存器MOV A,#08HMOVX DPTR,A;设十进制BCD码,24小时制,不定时MOV DPTR,#7D0DH;DS12C887的D寄存器MOVX A,DPTR;如果D寄存器的第7位为0,表示电池耗尽JNB ACC.7,ERRORMOV DPTR,#7D00H;DS12C887的秒单元MOV A,#00HMOVX DPTR,A;写入秒MOV DPTR,#7D02H;DS12C887分单元MOV A,#21HMOVX DPTR,A;写入分MOV DPTR,#7D04H;DS12C887时单元MOV A,#03HMOVX DPTR,A;写入时MOV DPTR,#7D06H;DS12C887星期单元MOV A,#03HMOVX DPTR,A;写入星期MOV DPTR,#7D07H;DS12C887日单元MOV A,#20HMOVX DPTR,A;写入日MOV DPTR,#7D08H;DS12C887月单元MOV A,#07HMOVX DPTR,A;写入月MOV DPTR,#7D09H;DS12C887年单元MOV A,#05HMOVX DPTR,A;写入年时间ERROR:RETGETTIME: MOV DPTR,#7D0AH MOVX A,DPTR JB ACC.7,GETTIME ;REGISTER A的UIP位=0时才可以读数据 MOV DPTR,#7D00H MOVX A,DPTR MOV R2,A ;SECONDS ACALL DISPLAY MOV DPTR,#7D02H MOVX A,DPTR MOV R1,A ACALL DISPLAY ;MINUTES MOV DPTR,#7D04H MOVX A,DPTR MOV R0,A ;HOURS ACALL DISPLAY ACALL DELAY RETDISPLAY: MOV DPTR,#TAB MOV SCON,#00H MOV R3,A ANL A,#0FH MOVC A,A+DPTR MOV SBUF,A JNB TI,$ CLR TI MOV A,R3 SWAP A ANL A,#0FH MOVC A,A+DPTR MOV SBUF,A JNB TI,$ CLR TI RETDELAY: MOV R4,#0FH DE1:MOV R5,#0FFH DJNZ R5,$ DJNZ R4,DE1 RET TAB: DB 03H,9FH,25H,0DH,99H,49H,41H,1FH,01H,09H,11H,0C1H,63H,85H,61H,71H END日期的显示,秒表的显示,倒计时的显示,调闹铃,调定时的显示,闪烁的显示程序与以上的的扫描相似,有的以子程序的方式出现,通过子程序调用语句ACALL调用;有点直接嵌套在相应的程序里面,顺序执行,或者用调转语句AJMP调用。3.5.2 液晶时钟显示调用程序四个按键控制液晶时钟的显示,P3.2为调时选择键,按第1次为秒钟调整,按第2次为分钟调整,按第3次为时钟调整;P3.3为加1键;P3.4为减1键;P3.5为确认键。 RS BIT P2.0 RW BIT P2.1 E BIT P2.2 LCD EQU P0H_BIT EQU 20HM_BIT EQU 21HS_BIT EQU 22HHH EQU 23HMM EQU 24HSS EQU 25HHH_BIT EQU 26HMM_BIT EQU 27HSS_BIT EQU 28H;=ORG 00HAJMP MAINORG 0BHAJMP TIME0ORG 30H;=主程序=MAIN: MOV SP,#60H MOV P1,#00H MOV R5,#00H MOV H_BIT,#00H MOV M_BIT,#00H MOV S_BIT,#00H MOV HH_BIT,#00H MOV MM_BIT,#00H MOV SS_BIT,#00H MOV HH,#00H MOV MM,#00H MOV SS,#00H MOV TMOD,#01H MOV TH0,#3CH MOV TL0,#0B0H SETB EA SETB ET0 SETB TR0 MOV LCD,#01H LCALL LCDWC;=LOOP: LCALL EY LCALL KEY LCALL EYY LJMP LOOP;=显示子程序=EY: LCALL LOOP1 LCALL LCDSET MOV DPTR,#TAB1 MOV A,H_BIT LCALL DISP MOV A,HH_BIT LCALL DISP MOV A,#58 MOV LCD,A LCALL WRR MOV A,M_BIT LCALL DISP MOV A,MM_BIT LCALL DISP MOV A,#58 MOV LCD,A LCALL WRR MOV A,S_BIT LCALL DISP MOV A,SS_BIT LCALL DISP RET;=BCD码转换子程序=LOOP1: MOV A,SS MOV B,#10 DIV AB MOV S_BIT,A MOV SS_BIT,B MOV A,MM MOV B,#10 DIV AB MOV M_BIT,A MOV MM_BIT,B MOV A,HH MOV B,#10 DIV AB MOV H_BIT,A MOV HH_BIT,B RET;=中断子程序=TIME0: PUSH ACC PUSH PSW MOV TH0,#3CH MOV TL0,#0B0H INC R5 CJNE R5,#20,LOOP2 MOV R5,#00H INC SS MOV A,SS CJNE A,#60,LOOP2 MOV SS,#00H INC MM MOV A,MM CJNE A,#60,LOOP2 MOV MM,#00H INC HH MOV A,HH CJNE A,#24,LOOP2 MOV HH,#00HLOOP2: POP PSW POP ACC RETI;=按键检测子程序=KEY: clr ea JNB P3.2,SS_KEYKEY1: setb ea RET;=秒钟调整子程序=SS_KEY: LCALL EY1 LCALL DIS1 JNB P3.2,SS_KEYSSA: LCALL EY1 JNB P3.3,S_ADDKEY JNB P3.4,S_DECKEY LCALL DIS1 JNB P3.2,MM_KEY JNB P3.5,KEY3 LJMP SSAKEY3: LJMP KEY1;=秒加1=S_ADDKEY: lcall ey1 LCALL DIS1 JNB P3.3,S_ADDKEY INC SS MOV A,SS CJNE A,#60,SS_KEY1 MOV SS,#00HSS_KEY1: LJMP SSA;=秒减1=S_DECKEY: lcall ey1 LCALL DIS1 JNB P3.4,S_DECKEY MOV A,SS CJNE A,#00,SS_KEY2 MOV SS,#60SS_KEY2: DEC SS LJMP SS_KEY1;=分钟调整子程序= MM_KEY: LCALL EY2 LCALL DIS1 JNB P3.2,MM_KEYMMA: LCALL EY2 JNB P3.3,M_ADDKEY JNB P3.4,M_DECKEY LCALL DIS1 JNB P3.2,HH_KEY JNB P3.5,KEY4 LJMP MMAKEY4: LJMP KEY1;=分加1=M_ADDKEY: lcall ey2 LCALL DIS1 JNB P3.3,M_ADDKEY INC MM MOV A,MM CJNE A,#60,MM_KEY1 MOV MM,#00HMM_KEY1: LJMP MMA;=分减1=M_DECKEY: lcall ey2 LCALL DIS1 JNB P3.4,M_DECKEY MOV A,MM CJNE A,#00,MM_KEY2 MOV MM,#60MM_KEY2: DEC MM LJMP MM_KEY1;=时钟调整子程序=HH_KEY: LCALL EY3 LCALL DIS1 JNB P3.2,HH_KEYHHA: LCALL EY3 JNB P3.3,H_ADDKEY JNB P3.4,H_DECKEY LCALL DIS1 JNB P3.2,SSB JNB P3.5,KEY5 LJMP HHAKEY5: LJMP KEY1;=时加1=H_ADDKEY: lcall ey3 LCALL DIS1 JNB P3.3,H_ADDKEY INC HH MOV A,HH CJNE A,#24,HH_KEY1 MOV HH,#00HHH_KEY1: LJMP HHA;=时减1=H_DECKEY: lcall ey3 LCALL DIS1 JNB P3.4,H_DECKEY MOV A,HH CJNE A,#00,HH_KEY2 MOV HH,#24HH_KEY2: DEC HH LJMP HH_KEY1SSB: LJMP SS_KEY DISP: MOVC A,A+DPTR MOV LCD,A LCALL WRR RET;=LCDSET: MOV LCD,#38H LCALL LCDWC MOV LCD,#06H LCALL LCDWC MOV LCD,#0CH LCALL LCDWC MOV LCD,#0C4H LCALL LCDWC RET;=LCDWC: CLR RS CLR RW CLR E LCALL LCDBF SETB E RET;=WRR: SETB RS CLR RW CLR E LCALL LCDBF SETB E RET;=LCDBF: MOV LCD,#0FFH CLR RS SETB RW CLR E NOP SETB E JB LCD.7,LCDBF RET;=EYY: MOV LCD,#80H LCALL LCDWC MOV DPTR,#TAB2 MOV R2,#16 MOV R1,#00HEYY1: MOV A,R1 LCALL DISP INC R1 DJNZ R2,EYY1 RET ;=EY1: MOV LCD,#0C4H LCALL LCDWC MOV R4,#02EY11: LCALL HIND DJNZ R4,EY11 LCALL LOOP1 MOV A,S_BIT LCALL DISP MOV A,SS_BIT LCALL DISP RET;=EY2: MOV LCD,#0C4H LCALL LCDWC LCALL HIND LCALL LOOP1 MOV A,M_BIT LCALL DISP MOV A,MM_BIT LCALL DISP LCALL HIND RET;= EY3: MOV LCD,#0C4H LCALL LCDWC LCALL LOOP1 MOV A,H_BIT LCALL DISP MOV A,HH_BIT LCALL DISP MOV R4,#02EY33: LCALL HIND DJNZ R4,EY33 RET;=HIND: MOV R3,#3HIND1: MOV A,#' ' MO

    注意事项

    本文(基于89C52单片机的电子时钟设计毕业设计.doc)为本站会员(文库蛋蛋多)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开