应用电子技术毕业设计(论文)-基于AT89C2051的数字电子钟的设计.doc

上传人:good****022 文档编号:116653329 上传时间:2022-07-06 格式:DOC 页数:49 大小:1,014.50KB
返回 下载 相关 举报
应用电子技术毕业设计(论文)-基于AT89C2051的数字电子钟的设计.doc_第1页
第1页 / 共49页
应用电子技术毕业设计(论文)-基于AT89C2051的数字电子钟的设计.doc_第2页
第2页 / 共49页
应用电子技术毕业设计(论文)-基于AT89C2051的数字电子钟的设计.doc_第3页
第3页 / 共49页
点击查看更多>>
资源描述
金金 华华 职职 业业 技技 术术 学学 院院 JINHUAJINHUA COLLEGECOLLEGE OFOF VOCATIONVOCATION ANDAND TECHNOLOGYTECHNOLOGY 毕业教学环节成果毕业教学环节成果 (2011 届) 题 目基于 AT89C2051 的数字电子钟的设计 2010 年 5 月 16 日 目目 录录 摘要1 英文摘要.1 引言.2 1 任务分析 .3 2 总的方案及框图 .3 3 硬件总的设计 .3 4 分模块硬件电路设计 .4 4.1 单片机最小系统.4 4.2 显示电路7 4.3 按键电路9 4.4 时钟芯片电路.10 5 软件总的设计 11 6 软件分模块设计 12 6.1 显示程序流程图.12 6.2 闹钟比较程序流程图.13 7 调试结果记录 13 8 总结 14 结论与谢辞14 参考文献15 附件 1程序清单 16 附件 2仿真电路图 46 附件 3PCB 图 47 理工类 -1- 基于基于 AT89C2051AT89C2051 的数字电子钟的设计的数字电子钟的设计 摘要摘要: : 本文介绍了一款基于 AT89C51 单片机数字钟的设计,通过数字电子钟的设计思 路,详细叙述了系统硬件、软件的具体实现过程。论文重点阐述了数字钟硬件中 MCU 模块、时钟模块和相关控制模块等的模块化设计与制作;软件同样采用模块化的设计, 包括中断模块、闹钟模块、时间调整模块设计,并采用简单流通性强的 MEDWIN 语言编 写实现。本设计实现了时间与闹钟的修改功能、年、月、日和星期的显示功能。并且 通过对比实际的时钟,查找出了误差的来源,确定了调整误差的方法,尽可能的减少 误差,使得系统可以达到实际数字钟的允许误差范围内。 关键词关键词: : AT89C51 单片机;数字钟 Design of digital electronic clock Based on SCM of AT89C2051 (Major of Applied Electronic Technology Information and Engineering College Tao Cun-zhen) Abstract: This paper introduced the design of digital clock based on SCM of AT89S51, the specific process of how the system hardware and software achieved were detailed description through the design of digital clock. The modular design and production, which consisted of MCU module, clock module and the associated control module, were mainly recounted;As well as hardware designing,software design use the same method, consists suspension module,alarm clock module, time adjust module, and that use the MEDWIN language to achieve because of its simple and strong negotiability. In this design the functions of time and alarm clock run and change, functions of the year, month, day and week display have been achieved. And by comparing the actual clock, find out the source of the error and determined the method of adjusting error, reduce errors as much as possibly, so this system can achieve a practical digital clock with error within the permissible range. Key words :AT89S51 microcontroller; Digital clock 引言引言 -2- 数字电子钟具有走时准确,一钟多用等特点,在生活中已经得到广泛的应用。 虽然现在市场上已有现成的电子钟集成电路芯片出售,价格便宜、使用也方便,但 是人们对电子产品的应用要求越来越高,数字钟不但可以显示当前的时间,而且可 以显示日期、农历 、以及星期等,给人们的生活带来了方便。另外数字钟还具备 秒表和闹钟的功能,且闹钟铃声可自选,使一款电子钟具备了多媒体的色彩。 时间对人们来说总是那么宝贵,工作的忙碌性和繁杂性容易使人忘记当前的时 间。忘记了要做的事情,当事情不是很重要的时候,这种遗忘无伤大雅。但是,一 旦重要事情,一时的耽误可能酿成大祸。电子钟已成为人们日常生活中必不可少的 必需品,广泛用于个人家庭以及车站、码头、剧院、办公室等公共场所,给人们的 生活、学习、工作、娱乐带来极大的方便。由于数字集成电路技术的发展和采用了 先进的石英技术,使电子钟具有走时准确、性能稳定、携带方便等优点,它还用于 计时、自动报时及自动控制等各个领域。 1 任务分析任务分析 -3- 生产中常用的电子钟有:LCD 电子钟、LED 电子钟、电子万年历文具礼品、电波气 象钟、多功能投影钟、语音报时钟、电子钟收音机、便携式万年历等。 (1)以 24h 计时方式工作; (2)用液晶显示时间和日期; (3)通过按键可以选择显示内容、修改时间; (4)具有整点报时功能; (5)时间误差:0.02。 设置四个按键,各按键功能是移位、增一、减一、定时 2 总的方案及框图总的方案及框图 电子钟主要有单片机最小系统、按键电路、显示电路、时钟芯片电路、指示灯蜂 鸣器电路构成。 图 2-1 电子钟框图 3 硬件总的设计硬件总的设计 电子钟主要有单片机最小系统、按键电路、显示电路、时钟芯片电路、指示灯蜂 鸣器电路构成。 单单片片机机 电电源源 时时钟钟电电路路 复复位位电电路路 时时钟钟芯芯片片 显显示示器器 蜂蜂鸣鸣器器 指指示示灯灯 按按键键 -4- 图 3-1 电子钟原理图 4 分模块硬件电路设分模块硬件电路设计计 4.1 单片机最小系统单片机最小系统 单片机最小系统由单片机、电源电路、时钟电路和复位电路构成。 89C51 介绍 -5- 图 4-1 89C51 芯片 P0 口特点 P0 口作为通用 I/O 使用,是一个准双向口;作为地址/数据总线时,是一个真正的 双向接口。 (1)P0 口可作通用 I/O 口使用,又可作地址/数据总线口; (2)P0 既可按字节寻址,又可按位寻址; (3)作通用 I/O 口输出时:是开漏输出,应外接上拉电阻; (4)作地址/数据总线口时,P0 是一真正双向口,而作通 用 I/O 口时,只是一个准双向口。 P1 口特点 (1)只能作 I / O 口,没有地址/数据复用功能 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 24 22 21 8031 8051 8751 89C51 -6- (2)可按字节寻址,也可按位寻址 (3)是一准双向口,输出驱动接有上拉电阻,不是开漏输出。 P2 口特点 (1)当 P2 口作为通用 I / O 时,是一准双向口。 (2)从 P2 口输入数据时,先向锁存器写“1” 。 (3)可位寻址,也可按字节寻址。 (4)可输出地址高 8 位。 P3 口特点 当 P3 口作为通用 I/O 接口时, 第 2 功能输出线为高电平, 使与非门 3 的输出取决 于口锁存器的状态。 在这种情况下, P3 口仍是 1 个准双向口, 它的工作方式、 负载 能力均与 P1、 P2 口相同。 当 P3 口作为第 2 功能使用时, 其锁存器 Q 端必须为高电平, 否则 V1 管导通, 引 脚被箝位在低电平, 无法输入或输出第 2 功能信号。当 Q 端为高电平时, P3 口的口线 状态就取决于第 2 功能输出线的状态。 并行 I/O 口的使用特性 MCS-51 系列单片机的 4 个并行 I/O 口均由内部总线控制,端口的功能复用会自动 识别,不用指令选择。 P0 是 8 位、漏极开路的双向 I/O 口,当用作片外存储器或接口扩展时,分时复用 为数据总线和低 8 位地址总线,可驱动 8 个 LSTTL 负载。 P1 是 8 位、准双向 I/O 口,具有内部上拉电阻,驱动为 4 个 LSTTL 负载。 P2 是 8 位、准双向 I/O 口,具有内部上拉电阻,可驱动 4 个 LSTTL 负载,外部扩 展时用作高 8 位地址总线。 P3 是 8 位、准双向 I/O 口,具有内部上拉电阻,可驱动 4 个 LSTTL 负载。P3 口的 所有口线都具有第二功能,实现控制总线的作用。 - 7 - 4.2 显示电路显示电路 图 4-2 显示电路原理图 液晶 LCD1602 介绍 1602LCD 主要技术参数: 显示容量:162 个字符 芯片工作电压:4.55.5V 工作电流:2.0mA(5.0V) 模块最佳工作电压:5.0V 字符尺寸:2.954.35(WH)mm 引脚功能说明 1602LCD 采用标准的 14 脚(无背光)或 16 脚(带背光)接口,各引脚接口说明如表 4-1 所示: 表 4-1 引脚接口说明表 编号符号引脚说明编号符号引脚说明 1VSS电源地 9D2 数据 2VDD电源正极 10D3 数据 3VL液晶显示偏压11D4数据 - 8 - 4RS数据/命令选择12D5数据 5R/W读/写选择13D6数据 6E使能信号14D7数据 7D0数据15BLA背光源正极 8D1数据16BLK 第 1 脚:VSS 为地电源。 第 2 脚:VDD 接 5V 正电源。 第 3 脚:VL 为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高, 对比度过高时会产生“鬼影”,使用时可以通过一个 10K 的电位器调整对比度。 第 4 脚:RS 为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。 第 5 脚:R/W 为读写信号线,高电平时进行读操作,低电平时进行写操作。当 RS 和 R/W 共同为低电平时可以写入指令或者显示地址,当 RS 为低电平 R/W 为高电平时可 以读忙信号,当 RS 为高电平 R/W 为低电平时可以写入数据。 第 6 脚:E 端为使能端,当 E 端由高电平跳变成低电平时,液晶模块执行命令。 第 714 脚:D0D7 为 8 位双向数据线。 第 15 脚:背光源正极。 第 16 脚:背光源负极。 1602 液晶模块内部的控制器共有 11 条控制指令,如表 4-2 所示: 表 4-2 控制命令表 序 号 指令 RS R/ W D7D6D5D4D3D2D1D0 1清显示0000000001 2光标返回000000001* 3置输入模式00000001I/DS 4显示开/关控制0000001DCB 5 光标或字符移位 000001 S/ C R/ L * 6 置功能 00001DLNF* 7置字符发生存贮器地址0001字符发生存贮器地址 8置数据存贮器地址001显示数据存贮器地址 9读忙标志或地址01BF计数器地址 10 写数到 CGRAM 或 DDRAM) 10 要写的数据内容 11 CGRAM 或 DDRAM 读数 11 读出的数据内容 1602 液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。 (说明:1 为高电平、0 为低电平) 指令 1:清显示,指令码 01H,光标复位到地址 00H 位置。 指令 2:光标复位,光标返回到地址00H。 - 9 - 指令 3:光标和显示模式设置 I/D:光标移动方向,高电平右移,低电平左移 S:屏幕 上所有文字是否左移或者右移。高电平表示有效,低电平则无效。 指令 4:显示开关控制。 D:控制整体显示的开与关,高电平表示开显示,低电平表 示关显示 C:控制光标的开与关,高电平表示有光标,低电平表示无光标 B:控制光 标是否闪烁,高电平闪烁,低电平不闪烁。 指令 5:光标或显示移位 S/C:高电平时移动显示的文字,低电平时移动光标。 指令 6:功能设置命令 DL:高电平时为 4 位总线,低电平时为 8 位总线 N:低电平 时为单行显示,高电平时双行显示 F: 低电平时显示 5x7 的点阵字符,高电平时显示 5x10 的点阵字符。 指令 7:字符发生器 RAM 地址设置。 指令 8:DDRAM 地址设置。 指令 9:读忙信号和光标地址 BF:为忙标志位,高电平表示忙,此时模块不能接收命 令或者数据,如果为低电平表示不忙。 指令 10:写数据。 指令 11:读数据。 4.3 按键电路按键电路 图 4-3 按键电路原理图 按键按照结构原理可分为两类,一类是触点式开关按键,如机械式开关、导电橡 胶式开关等;另一类是无触点式开关按键,如电气式按键,磁感应按键等。前者造价 - 10 - 低,后者寿命长。目前,微机系统中最常见的是触点式开关按键。 按键按照接口原理 可分为编码键盘与非编码键盘两类。这两类键盘的主要区别是识别键符及给出相应键 码的方法。编码键盘主要是用硬件来实现对键的识别,非编码键盘主要是由软件来实 现键盘的定义与识别。 全编码键盘能够由硬件逻辑自动提供与键对应的编码,此外,一般还具有去抖动 和多键、窜键保护电路。这种键盘使用方便,但需要较多的硬件,价格较贵,一般的 单片机应用系统较少采用。非编码键盘只简单地提供行和列的矩阵,其它工作均由软 件完成。由于其经济实用,较多地应用于单片机系统中。 按键结构与特点: 微机键盘通常使用机械触点式按键开关,其主要功能是把机械 上的通断转换成为电气上的逻辑关系。也就是说,它能提供标准的 TTL 逻辑电平,以 便与通用数字系统的逻辑电平相容。 4.4 时钟芯片电路时钟芯片电路 图 4-4 时钟芯片电路原理图 DS1302 介绍 DS1302 的引脚排列,其中 Vcc1 为后备电源, VCC2 为主电源。在主电源关闭的 情况下,也能保持时钟的连续运行。 DS1302 由 Vcc1 或 Vcc2 两者中的较大者供电。 当 Vcc2 大于 Vcc1+0.2V 时,Vcc2 给 DS1302 供电。当 Vcc2 小于 Vcc1 时,DS1302 - 11 - 由 Vcc1 供电。X1 和 X2 是振荡源,外 接 32.768kHz 晶振。RST 是复位/片选线, 通过把 RST 输入驱动置高电平来启动所 有的数据传送。 RST 输入有两种功能:首 先,RST 接通控制逻辑,允许地址 /命令序列送入移位寄存器;其次, RST 提供终 止单字节或多字节数据的传送手段。当RST 为高电平时,所有的数据传送被初始 化,允许对 DS1302 进行操作。如果在传送过程中 RST 置为低电平,则会终止此次 数据传送,I/O 引脚变为高阻态。上电运行时,在Vcc2.0V 之前,RST 必须保持 低电平。只有在 SCLK 为低电平时,才能将 RST 置为高电平。 I/O 为串行数据输入 输出端(双向),后面有详细说明。 SCLK 为时钟输入端。 下图为 DS1302 的引脚功 能图: 图 4-5 DS1302 引脚图 5 软件总的设计软件总的设计 图 5-1 主程序流程图 开开始始 初初始始化化 校校时时状状态态? 读读DS1302 数数据据格格式式变变换换 显显示示 按按键键扫扫描描处处理理 整整点点查查询询 N Y - 12 - 6 软件分模块设计软件分模块设计 6.1 显示程序流程图显示程序流程图 图 6-1 显示程序流程图 - 13 - 6.2 闹钟比较程序流程图闹钟比较程序流程图 图 6-2 闹钟比较程序流程图 7 调试结果记录调试结果记录 用 MEDWIN 语言进行编程,采用 Proteus 软件进行电路图的仿真,把程序烧写进去 进行调试,出现如下的结果,可以显示年月日时分秒以及日期。 图 7-1 调试结果记录图 - 14 - 8 总结总结 这次仿真实现了电子钟设计的任务,并在要求的功能上增加了年月日以及星期的功 能。对所学的知识进行了巩固,练习了汇编软件、Proteus 软件和 Protel 绘图软件。 结论与谢辞结论与谢辞 感谢学院在我们即将踏入社会时,给我们这次理论联系实际的机会,通过这次毕 业设计,我们更好地将已经学过的知识进行巩固,也很感谢余红娟老师对我的论文的 不厌其烦的细心指点。 通过这段时间对专业基础理论的学习与巩固,通过查阅一些有关专业资料的学习, 使自己对专业知识有了进一步的理解。虽然在此过程中感觉有点不是太顺利,但从毕 业设计过程中,我的确学到了很多东西,在巩固专业知识的同时也让我学到了坚持和 努力,让我受益匪浅。毕业设计是我们在学校的最后一个环节,也是最后一次考验我 们在校学习的理论知道是否扎实,从中提高我们的设计、掌握技术知识的能力。为我 们踏上社会奠定扎实的基础。 时光如梭,大学三年即将结束。感谢母校对我大学三年来的照顾,也很感谢老师 们的精心教导。在以后的日子里我还会利用现在已经学习的内容更深入地学习,也会 用好现在的所学在以后的工作中发挥自己的能力,时刻铭记老师的教导,并在实践中 不断提高完善自己。 - 15 - 参考文献参考文献 1 沈红卫,基于单片机的智能系统设计与实现,电子工业出版社,2005。 2 楼然苗,51 系列单片机设计实例. 北京航空航天大学出版社,2003。 3 董传岱、于云华,数字电子技术. 石油大学出版社,2001。 4 何立民,单片机应用系统设计? 北京航空航天大学出版社,1995。 5 贡春梅,日历电子钟设计 西安航空技术高等专科学校学报 2004。 6 胥筱门,单片机系统的试验及应用? 电子制作 1999(6)20-30。 7 谭浩强,C 程序设计(第二版). 清华大学出版社. 1999 年 12 月第 2 版 - 16 - 附件附件 1程序清单程序清单 RS BITP1.1 RWBITP3.2 EN BITP3.3 S1 BITP1.3 S2 BITP1.4 S3 BITP1.5 S4 BITP1.6 LED1BITP3.4 B1 BITP1.0 RSTBITP3.5 SCLKBITP3.6 IO BITP3.7 ORG0000H LJMPMAIN ORG000BH LJMPTIMER0 ORG001BH LJMPTIMER1 ORG0030H MAIN: LCALL INIT LCALL DS1302_INIT1 LOOP: LCALL KEYSCAN LCALL S4CANS CJNER2,#0,LOOP1 SJMPLOOP LOOP1:LCALL ZENGJIAN SJMPLOOP TIMER1: MOVTH1,#3CH MOVTL1,#0B0H INCR5 - 17 - CJNER5,#4,ZZ CLRTR1 MOVR5,#0 LCALL DS1302_READ_TIME LCALL DISPLAY_TIME LCALL ZHENGD MOVA,36H CJNEA,#0,ZZ2 LCALL NAOZHONG ZZ2:MOVA,36H CJNEA,#1,ZZ1 CPLLED1 MOVA,43H CJNEA,#1,ZZ3 MOV43H,#2 MOV30H,#0CEH LCALL WRITECOM MOV30H,#20H LCALL WRITEDATE SJMPZZ1 ZZ3:MOVA,43H CJNEA,#2,ZZ1 MOV43H,#1 MOV30H,#0CEH LCALL WRITECOM MOV30H,#01H LCALL WRITEDATE ZZ1:SETBTR1 ZZ: RETI TIMER0: MOVTH0,#3CH MOVTL0,#0B0H MOVA,36H CJNEA,#0,TI1 - 18 - INC41H MOVA,41H CJNEA,#20,TI0 MOV41H,#0 SETBB1 CLRTR0 SJMPTI0 TI1:INC46H MOVA,46H CJNEA,#20,TI0 MOV46H,#0 INC47H MOVA,47H CJNEA,#60,TI0 MOV47H,#0 INC48H MOVA,48H CJNEA,#5,TI0 MOV48H,#0 CLRTR0 SETBB1 SETBLED1 MOV36H,#0 MOV43H,#0 CLRTR1 MOV30H,#0CEH LCALL WRITECOM MOV30H,#01H LCALL WRITEDATE SETBTR1 TI0:RETI INIT: MOV33H,#22H MOV34H,#17H - 19 - MOV35H,#15H MOV39H,#00H MOV3AH,#00H MOV41H,#0 MOV42H,#0 MOV43H,#0 MOV46H,#0 MOV47H,#0 MOV48H,#0 MOV36H,#0 MOV37H,#0 MOVR1,#35H LCALL LIUTOSHI MOV35H,A MOVR1,#34H LCALL LIUTOSHI MOV34H,A MOVR1,#33H LCALL LIUTOSHI MOV33H,A MOVR2,#0 MOVR5,#0 MOVR6,#0 MOVTMOD,#11H MOVTH1,#3CH MOVTL1,#0B0H MOVTH0,#3CH MOVTL0,#0B0H SETBEA SETBET1 SETBET0 SETBTR1 CLRRST CLRSCLK - 20 - MOV30H,#38H LCALL WRITECOM MOV30H,#0CH LCALL WRITECOM MOV30H,#06H LCALL WRITECOM MOV30H,#01H LCALL WRITECOM MOV30H,#82H LCALL WRITECOM MOV30H,#32H LCALL WRITEDATE MOV30H,#30H LCALL WRITEDATE MOV30H,#86H LCALL WRITECOM MOV30H,#2FH LCALL WRITEDATE MOV30H,#89H LCALL WRITECOM MOV30H,#2FH LCALL WRITEDATE MOV30H,#0C6H LCALL WRITECOM MOV30H,#3AH LCALL WRITEDATE MOV30H,#0C9H LCALL WRITECOM MOV30H,#3AH LCALL WRITEDATE MOVDPTR,#TAB2 MOV38H,#0 MOV30H,#40H - 21 - LCALL WRITECOM MOVA,38H LLL:MOVC A,A+DPTR MOV30H,A LCALL WRITEDATE INC38H MOVA,38H CJNEA,#24,LLL MOV30H,#0CDH LCALL WRITECOM MOV30H,#02H LCALL WRITEDATE RET READBF: MOVP2,#0FFH CLREN CLRRS SETBRW SETBEN NOP MOVA,P2 CLREN JB ACC.7,READBF RET WRITECOM:LCALLREADBF CLRRS CLRRW CLREN MOVP2,30H NOP SETBEN NOP CLREN NOP - 22 - RET WRITEDATE:LCALLREADBF SETBRS CLRRW CLREN MOVP2,30H NOP SETBEN NOP CLREN NOP RET DS1302_WRITE: CLRRST CLRSCLK SETBRST MOVA,50H MOVR7,#8 WRITE_ADD: RRCA MOVIO,C SETBSCLK CLRSCLK DJNZR7,WRITE_ADD MOVA,40H MOVR7,#8 WRITE_DATE: RRCA MOVIO,C SETBSCLK CLRSCLK DJNZR7,WRITE_DATE CLRRST - 23 - RET DS1302_READ: CLRRST CLRSCLK SETBRST MOVA,50H MOVR7,#8 WRITE_ADD1: RRCA MOVIO,C SETBSCLK CLRSCLK DJNZR7,WRITE_ADD1 MOVR7,#8 READ_DATE: NOP MOVC,IO RRCA SETBSCLK CLRSCLK DJNZR7,READ_DATE CLRRST RET DS1302_INIT1: MOV50H,#81H LCALL DS1302_READ RLCA JNCTF MOV50H,#8EH MOV40H,#00H LCALL DS1302_WRITE MOV50H,#7EH MOVR3,#0 - 24 - MOVDPTR,#TAB LL1:MOVA,#2 ADDA,50H MOV50H,A MOVA,R3 MOVC A,A+DPTR MOV40H,A LCALL DS1302_WRITE INCR3 CJNER3,#7,LL1 MOV50H,#8EH MOV40H,#80H LCALL DS1302_WRITE TF: RET DS1302_READ_TIME: MOV50H,#7FH MOVR3,#0 MOVR0,#60H LL2:movA,#2 ADDA,50H MOV50H,A LCALL DS1302_READ MOV45H,A ANLA,#0F0H RR A RR A RR A RR A MOVB,#10 MULAB MOV44H,A MOVA,45H ANLA,#0FH ADDA,44H - 25 - MOVR0,A INCR0 INCR3 CJNER3,#7,LL2 RET DISPLAY_TIME: MOVDPTR,#TAB1 MOVR3,#0 MOVR0,#60H LL3:MOVA,R3 MOVC A,A+DPTR MOV30H,A LCALL WRITECOM MOVA,R0 MOVB,#10 DIVAB ADDA,#30H MOV30H,A LCALL WRITEDATE MOVA,B ADDA,#30H MOV30H,A LCALL WRITEDATE INCR3 INCR0 CJNER3,#5,LL3 MOV30H,#8DH LCALL WRITECOM MOVR0,#65H LCALL WEEKDISPLAYCHANGE MOV30H,#84H LCALL WRITECOM MOVA,66H MOVB,#10 - 26 - DIVAB ADDA,#30H MOV30H,A LCALL WRITEDATE MOVA,B ADDA,#30H MOV30H,A LCALL WRITEDATE RET KEYSCAN: MOVP1,#0FFH JB S1,EXT1 LCALL DELAY MOVP1,#0FFH JB S1,EXT1 AA:MOVP1,#0FFH JNBS1,AA LCALL XIDIAO MOVA,36H JNZW2 CLRTR1 INCR2 SJMPEXT1 W2:SETBB1 SETBLED1 MOV36H,#0 MOV43H,#0 CLRTR1 MOV30H,#0CEH LCALL WRITECOM MOV30H,#01H LCALL WRITEDATE SETBTR1 EXT1: RET - 27 - ZENGJIAN: CJNER2,#1,DD LCALL SECONDPLUS LJMPEXT2 DD:CJNER2,#2,FF LCALL MINPLUS LJMPEXT2 FF: CJNER2,#3,HH LCALL HOURPLUS LJMPEXT2 HH:CJNER2,#4,JJ LCALL WEEKPLUS LJMPEXT2 JJ: CJNER2,#5,LL LCALL DAYPLUS LJMPEXT2 LL: CJNER2,#6,NN LCALL MONTHPLUS LJMPEXT2 NN:CJNER2,#7,PP LCALL YEARPLUS LJMPEXT2 PP: CJNER2,#8,EXT1 SETBTR1 CLRF0 MOV30H,#0CH LCALL WRITECOM MOVR2,#0 EXT2: RET SECONDPLUS: MOV30H,#0CAH LCALL WRITECOM MOV30H,#0FH - 28 - LCALL WRITECOM LCALL S2CANS CJNER6,#1,OO1 MOVR6,#0 JB F0,A1 INC60H MOVR4,60H CJNER4,#60,CC MOV60H,#0 LJMPCC A1: INC35H MOVR4,35H CJNER4,#60,CC1 MOV35H,#0 LJMPCC1 OO1:CJNER6,#2,LS MOVR6,#0 JB F0,A11 DEC60H MOVR4,60H CJNER4,#0FFH,CC MOV60H,#59 LJMPCC A11:DEC35H MOVR4,35H CJNER4,#0FFH,CC1 MOV35H,#59 CC1:MOV30H,#0CAH LCALL WRITECOM MOVA,35H MOVB,#10 DIVAB ADDA,#30H MOV30H,A - 29 - LCALL WRITEDATE MOVA,B ADDA,#30H MOV30H,A LCALL WRITEDATE MOV30H,#0CAH LCALL WRITECOM LJMPLS CC:MOV30H,#0CAH LCALL WRITECOM MOVR0,#60H LCALL DISPLAYCHANGE MOV30H,#0CAH LCALL WRITECOM MOVA,60H LCALL SHITOLIU MOV51H,A MOV50H,#8EH MOV40H,#00H LCALL DS1302_WRITE MOV50H,#80H MOV40H,51H LCALL DS1302_WRITE MOV50H,#8EH MOV40H,#80H LCALL DS1302_WRITE LS: RET MINPLUS: MOV30H,#0C7H LCALL WRITECOM LCALL S2CANS CJNER6,#1,PP1 MOVR6,#0 JB F0,E1 - 30 - INC61H MOVR4,61H CJNER4,#60,EE MOV61H,#0 LJMPEE E1: INC34H MOVR4,34H CJNER4,#60,EE1 MOV34H,#0 LJMPEE1 PP1:CJNER6,#2,LMI MOVR6,#0 JB F0,E11 DEC61H MOVR4,61H CJNER4,#0FFH,EE MOV61H,#59 LJMPEE E11:DEC34H MOVR4,34H CJNER4,#0FFH,EE1 MOV34H,#59 EE1:MOV30H,#0C7H LCALL WRITECOM MOVA,34H MOVB,#10 DIVAB ADDA,#30H MOV30H,A LCALL WRITEDATE MOVA,B ADDA,#30H MOV30H,A LCALL WRITEDATE - 31 - MOV30H,#0C7H LCALL WRITECOM LJMPLMI EE: MOV30H,#0C7H LCALL WRITECOM MOVR0,#61H LCALL DISPLAYCHANGE MOV30H,#0C7H LCALL WRITECOM MOVA,61H LCALL SHITOLIU MOV52H,A MOV50H,#8EH MOV40H,#00H LCALL DS1302_WRITE MOV50H,#82H MOV40H,52H LCALL DS1302_WRITE MOV50H,#8EH MOV40H,#80H LCALL DS1302_WRITE LMI:RET HOURPLUS: MOV30H,#0C4H LCALL WRITECOM LCALL S2CANS CJNER6,#1,QQ MOVR6,#0 JB F0,G1 INC62H MOVR4,62H CJNER4,#24,GG MOV62H,#0 LJMPGG - 32 - G1: INC33H MOVR4,33H CJNER4,#24,GG1 MOV33H,#0 LJMPGG1 QQ:CJNER6,#2,LH MOVR6,#0 JB F0,G11 DEC62H MOVR4,62H CJNER4,#0FFH,GG MOV62H,#23 LJMPGG G11:DEC33H MOVR4,33H CJNER4,#0FFH,GG1 MOV33H,#23 GG1:MOV30H,#0C4H LCALL WRITECOM MOVA,33H MOVB,#10 DIVAB ADDA,#30H MOV30H,A LCALL WRITEDATE MOVA,B ADDA,#30H MOV30H,A LCALL WRITEDATE MOV30H,#0C4H LCALL WRITECOM LJMPLH GG:MOV30H,#0C4H LCALL WRITECOM - 33 - MOVR0,#62H LCALL DISPLAYCHANGE MOV30H,#0C4H LCALL WRITECOM MOVA,62H LCALL SHITOLIU MOV53H,A MOV50H,#8EH MOV40H,#00H LCALL DS1302_WRITE MOV50H,#84H MOV40H,53H LCALL DS1302_WRITE MOV50H,#8EH MOV40H,#80H LCALL DS1302_WRITE LH:RET WEEKPLUS: MOV30H,#8DH LCALL WRITECOM LCALL S2CANS CJNER6,#1,RR1 MOVR6,#0 INC65H MOVR4,65H CJNER4,#8,II MOV65H,#1 LJMPII RR1:CJNER6,#2,LW MOVR6,#0 DEC65H MOVR4,65H CJNER4,#0,II MOV65H,#7 - 34 - II:MOV30H,#8DH LCALL WRITECOM MOVR0,#65H LCALL DISPLAYCHANGE LCALL WEEKDISPLAYCHANGE MOV30H,#8DH LCALL WRITECOM MOVA,65H LCALL SHITOLIU MOV56H,A MOV50H,#8EH MOV40H,#00H LCALL DS1302_WRITE MOV50H,#8AH MOV40H,56H LCALL DS1302_WRITE MOV50H,#8EH MOV40H,#80H LCALL DS1302_WRITE LW:RET DAYPLUS: MOV30H,#8AH LCALL WRITECOM LCALL S2CANS CJNER6,#1,SS MOVR6,#0 INC63H MOVR4,63H CJNER4,#32,KK MOV63H,#1 LJMPKK SS: CJNER6,#2,LD MOVR6,#0 DEC63H - 35 - MOVR4,63H CJNER4,#0,KK MOV63H,#31 KK:MOV30H,#8AH LCALL WRITECOM MOVR0,#63H LCALL DISPLAYCHANGE MOV30H,#8AH LCALL WRITECOM MOVA,63H LCALL SHITOLIU MOV54H,A MOV50H,#8EH MOV40H,#00H LCALL DS1302_WRITE MOV50H,#86H MOV40H,54H LCALL DS1302_WRITE MOV50H,#8EH MOV40H,#80H LCALL DS1302_WRITE LD:RET MONTHPLUS: MOV30H,#87H LCALL WRITECOM LCALL S2CANS CJNER6,#1,TT MOVR6,#0 INC64H MOVR4,64H CJNER4,#13,MM MOV64H,#1 LJMPMM TT: CJNER6,#2,LM - 36 - MOVR6,#0 DEC64H MOVR4,64H CJNER4,#0,MM MOV64H,#12 MM:MOV30H,#87H LCALL WRITECOM MOVR0,#64H LCALL DISPLAYCHANGE MOV30H,#87H LCALL WRITECOM MOVA,64H LCALL SHITOLIU MOV55H,A MOV50H,#8EH MOV40H,#00H LCALL DS1302_WRITE MOV50H,#88H MOV40H,55H LCALL DS1302_WRITE MOV50H,#8EH MOV40H,#80H LCALL DS1302_WRITE LM:RET YEARPLUS: MOV30H,#84H LCALL WRITECOM LCALL S2CANS CJNER6,#1,UU MOVR6,#0 INC66H MOVR4,66H CJNER4,#100,OO MOV66H,#0 - 37 - LJMPOO UU:CJNER6,#2,LY MOVR6,#0 DEC66H MOVR4,66H CJNER4,#0FFH,OO MOV66H,#99 OO:MOV30H,#84H LCALL WRITECOM MOVR0,#66H LCALL DISPLAYCHANGE MOV30H,#84H LCALL WRITECOM MOVA,66H LCALL SHITOLIU MOV57H,A MOV50H,#8EH MOV40H,#00H LCALL DS1302_WRITE MOV50H,#8CH MOV40H,57H LCALL DS1302_WRITE MOV50H,#8EH MOV40H,#80H LCALL DS1302_WRITE LY:RET SHITOLIU: MOVB,#10 DIVAB MOV44H,B RL A RL A RL A RL A - 38 - ORLA,44H RET LIUTOSHI: MOVA,R1 ANLA,#0F0H RR A RR A RR A RR A MOVB,#10 MULAB MOV44H,A MOVA,R1 ANLA,#0FH ADDA,44H RET S2CANS: MOVP1,#0FFH JB S2,WW LCALL DELAY MOVP1,#0FFH JB S2,WW BB:MOVP1,#0FFH JNBS2,BB LCALL XIDIAO CJNER6,#0,EXT3 INCR6 LJMPEXT3 WW:MOVP1,#0FFH JB S3,EXT3 LCALL DELAY MOVP1,#0FFH JB S3,EXT3 - 39 - YY:MOVP1,#0FFH JNBS3,YY LCALL XIDIAO CJNER6,#0,EXT3 INCR6 INCR6 EXT3: RET DISPLAYCHANGE: MOVA,R0 MOVB,#10 DIVAB ADDA,#30H MOV30H,A LCALL WRITEDATE MOVA,B ADDA,#30H MOV30H,A LCALL WRITEDATE RET WEEKDISPLAYCHANGE: MOVDPTR,#TAB3 MOV58H,#0 MOVA,R0 CJNEA,#1,WEEK2 MOVA,58H XX1:MOVC A,A+DPTR MOV30H,A LCALL WRITEDATE INC58H MOVA,58H CJNEA,#3,XX1 LJMPWEEKEND WEEK2:CJNEA,#2,WEEK3 MOV58H,#3 - 40 - MOVA,58H XX2:MOVC A,A+DPTR MOV30H,A LCALL WRITEDATE INC58H MOVA,58H CJNEA,#6,XX2 LJMPWEEKEND WEEK3:CJNEA,#3,WEEK4 MOV58H,#6 MOVA,58H XX3:MOVC A,A+DPTR MOV30H,A LCALL WRITEDATE INC58H MOVA,58H CJNEA,#9,XX3 LJMPWEEKEND WEEK4:CJNEA,#4,WEEK5 MOV58H,#9 MOVA,58H XX4:MOVC A,A+DPTR MOV30H,A LCALL WRITEDATE INC58H MOVA,58H CJNEA,#12,XX4 LJMPWEEKEND WEEK5:CJNEA,#5,WEEK6 MOV58H,#12 MOVA,58H XX5:MOVC A,A+DPTR MOV30H,A LCALL WRITEDATE - 41 - INC58H MOVA,58H CJNEA,#15,XX5 LJMPWEEKEND WEEK6:CJNEA,#6,WEEK7 MOV58H,#15 MOVA,58H XX6:MOVC A,A+DPTR MOV30H,A LCALL WRITEDATE INC58H MOVA,58H CJNEA,#18,XX6 LJMPWEEKEND WEEK7:MOV58H,#18 MOVA,58H XX7:MOVC A,A+DPTR MOV30H,A LCALL WRITEDATE INC58H MOVA,58H CJNEA,#21,XX7 WEEKEND:RET S4CANS: CJNER2,#0,EXT4 MOVP1,#0FFH JB S4,EXT4 LCALL DELAY MOVP1,#0FFH JB S4,EXT4 AAA:MOVP1,#0FFH JNBS4,AAA LCALL XIDIAO MOVA,36H - 42 - JNZW1 MOVA,42H JZ W5 MOVA,37H JNZW4 INC37H SETBF0 CLRTR1 LCALL S4DISPLAY SJMPEXT4 W5:CLRTR1 INC42H MOV30H,#0CD LCALL WRITECOM MOV30H,#00H LCALL WRITEDATE MOV30H,#01H LCALL WRITEDATE SETBTR1 SJMPEXT4 W4:MOV37H,#0 MOV42H,#0 MOV30H,#0CDH LCALL WRITECOM MOV30H,#02H LCALL WRITEDATE MOV30H,#20H LCALL WRITEDATE CLRF0 SETBTR1 SJMPEXT4 W1:SETBLED1 SETBB1 MOV36H,#0 - 43 - MOV43H,#0 CLRTR1 MOV30H,#0CEH LCALL WRITECOM MOV30H,#01H LCALL WRITEDATE SETBTR1 EXT4: RET S4DISPLAY: MOV30H,#0CAH LCALL WRITECOM MOVA,35H MOVB,#10 DIVAB ADDA,#30H MOV30H,A LCALL WRITEDATE MOVA,B ADDA,#30H MOV30H,A LCALL WRITEDATE MOV30H,#0C7H LCALL WRITECOM MOVA,34H MOVB,#10 DIVAB ADDA,#30H MOV30H,A LCALL WRITEDATE MOVA,B ADDA,#30H MOV30H,A LCALL WRITEDATE MOV30H,#0C4H - 44 - LCALL WRITECOM MOVA,33H MOVB,#10 DIVAB ADDA,#30H MOV30H,A LCALL WRITEDATE MOVA,B ADDA,#30H MOV30H,A LCALL WRITEDATE RET NAOZHONG: MOVA,37H JNZQ2 SJMPQ1 Q2: MOVA,62H CJNEA,33H,Q1 MOVA,61H CJNEA,34H,Q1 MOVA,60H CJNEA,35H,Q1 CPLLED1 CLRB1 MOV30H,#0CEH LCALL WRITECOM MOV30H,#20H LCALL WRITEDATE INC36H INC43H INC43H SETBTR0 Q1: RET ZHENGD: - 45 - MOVA,61H CJNEA,39H,Q3 MOVA,60H CJNEA,3AH,Q3 MOVA,36H CJNEA,#0,Q3 CLRB1 SETBTR0 Q3: RET XIDIAO: CLRB1 LCALL DELAY1 SETBB1 LCALL DELAY1 CLRB1 LCALL DELAY1 SETBB1 RET DELAY:MOV32H,#100 LR2:MOV31H,#50 DJNZ31H,$ DJNZ32H,LR2 RET DELAY1:MOV49H,#249 NOP DJNZ49H,$ RET TAB:DB 54H,59H,23H,31H,12H,03,10H TAB1: DB 0CAH,0C7H,0C4H,8AH,87H,8DH,84H TAB2: DB 01H,03H,15H,15H,15H,03H,01H,00H,0FH,00H,0FH,00H,0FH,00H,0FH,00H,11H,0BH, 15H,17H,15H,03H,01H,00H TAB3: DB - 46 - 4DH,6FH,6EH,54H,75H,65H,57H,65H,64H,54H,68H,75H,46H,72H,69H,53H,61H,74H, 53H,75H,6EH END 附件附件 2仿真电路图仿真电路图 - 47 - 附件附件 3PCB 图图
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑环境 > 招标文件


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!