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

    基于单片机的电子万历设计1.doc

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

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

    基于单片机的电子万历设计1.doc

    基于单片机的电子万年历设计 唐 山 学 院 单片机原理及应用 课 程 设 计 题 目 基于单片机的电子万年历设计系 (部) 信息工程系班 级姓 名学 号指导教师 2013 年 12 月 30 日至 2014 年 1 月 3 日共 1 周2014年 1 月 3 日 课程设计说明书目录1 引言. 12 设计要求与方案论证. 22.1 设计要求 . 22.2 系统基本方案选择和论证 . 22.2.1单片机芯片的选择方案和论证. 22.2.2 显示模块选择方案和论证 . 22.2.3时钟芯片的选择方案和论证. 32.3 电路设计最终方案决定 . 33 系统的硬件设计与实现. 43.1 电路设计框图 . 43.2 系统硬件概述 . 43.3 主要单元电路的设计 . 43.3.1单片机主控制模块的设计. 43.3.2时钟电路模块的设计. 53.3.3 电路原理及说明 . 63.3.4 显示模块的设计 . 84 系统的软件设计. 94.1程序流程框图 . 94.2 子程序的设计 . 125 实验测试部分. 135.1硬件测试 . 135.2软件测试 . 135.3 测试结果分析与结论 . 145.3.1 测试结果分析 . 145.3.2 测试结论 . 15参考文献. 16程序清单. 17 课程设计说明书1 引言单片机应用技术飞速发展,纵观我们现在生活的各个领域,从导弹的导航装置,到飞机上各种仪表的控制,从计算机的网络通讯与数据传输,到工业自动化过程的实时控制和数据处理,以及我们生活中广泛使用的各种智能IC卡、电子宠物等,这些都离不开单片机。单片机是集CPU ,RAM ,ROM ,定时,计数和多种接口于一体的微控制器。它体积小,成本低,功能强,广泛应用于智能产业和工业自动化上。电子万年历是一种非常广泛日常计时工具,对现代社会越来越流行。它可以对年、月、日、星期、时、分、秒进行计时,还具有闰年补偿等多种功能,而且DS1302的使用寿命长,误差小。对于数字电子万年历采用直观的数字显示,可以同时显示年、月、日、星期、时、分、秒等信息,还具有时间校准等功能。该电路采用AT89C52单片机作为核心,功耗小,能在3V的低压工作,电压可选用3-5V电压供电。电子万年历作为电子类小设计不仅是市场上的宠儿,也是是单片机实验中一个很常用的题目。因为它的有很好的开放性和可发挥性,因此对作者的要求比较高,不仅考察了对单片机的掌握能力更加强调了对单片机扩展的应用。而且在操作的设计上要力求简洁,功能上尽量齐全,显示界面也要出色。数字显示的日历钟已经越来越流行,特别是适合在家庭居室、办公室、大厅、会议室、车站和广场等使用,壁挂式LED数码管显示的日历钟逐渐受到人们的欢迎。LED数字显示的日历钟显示清晰直观、走时准确、可以进行夜视,并且还可以扩展出多种功能。 所以,电子万年历无论作为比赛题目还是练习题目都是很有价值。本次万年历的设计过程在硬件与软件方面进行同步设计。硬件部分主要由AT89C52单片机,LED显示电路,以及调时按键电路等组成。在单片机的选择上本人使用了AT89C52单片机,该单片机适合于许多较为复杂控制应用场合。显示器使用1片7SEG-MPX4-CA、7片7SEG-MPX2-CA和1片7SEG-MPX1-CA。7SEG-MPX4-CA是一种四个共阳二极管显示器,7SEG-MPX2-CA是一种两个共阳二极管显示器,7SEG-MPX1-CA是一种一个共阳二极管显示器。为了能更轻松的控制这些显示器,本人使用了3片74LS47移位寄存器,串行输入数据,然后并行输出。74LS138 是3-8线译码器,用来控制要显示的数字。软件方面主要包括日历程序、时间调整程序,公历转阴历程序,显示程序等。程序采用汇编语言编写,以便更简单地实现调整时间及阴历显示功能。所有程序编写完成后,在看Keil软件中进行调试,确定没有问题后,在Proteus软件中嵌入单片机内进行仿真。最后,在老师同学的帮助以及自己的努力下完成了此次电子万年历的设计。 1课程设计说明书2 设计要求与方案论证2.1 设计要求(1)具有年、月、日、星期、时、分、秒等功能;(2)时间与阴、阳历能够自动关联;(3)具备年、月、日、星期、时、分、秒校准功能;2.2 系统基本方案选择和论证2.2.1单片机芯片的选择方案和论证方案一:采用89C51芯片作为硬件核心,采用Flash ROM,内部具有4KB ROM 存储空间,能于3V的超低压工作,而且与MCS-51系列单片机完全兼容,但是运用于电路设计中时由于不具备ISP在线编程技术, 当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,对芯片的多次拔插会对芯片造成一定的损坏。方案二:采用AT89C52,片内ROM全都采用Flash ROM;能以3V的超底压工作;同时也与MCS-51系列单片机相同,该芯片内部存储器为8KB ROM 存储空间,同样具有89C51的功能,且具有在线编程可擦除技术,当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,不需要对芯片多次拔插,所以不会对芯片造成损坏。所以选择采用AT89C52作为主控制系统.2.2.2 显示模块选择方案和论证方案一:采用LED液晶显示屏,液晶显示屏的显示功能强大,可显示大量文字,图形,显示多样,清晰可见,但是价格昂贵,需要的接口线多,所以在此设计中不采用LED液晶显示屏.方案二:采用点阵式数码管显示,点阵式数码管是由八行八列的发光二极管组成,对于显示文字比较适合,如采用在显示数字显得太浪费,且价格也相对较高,所以也不用此种作为显示.方案三:采用LED数码管动态扫描,LED数码管价格适中,对于显示数字最合适,而且采用动态扫描法与单片机连接时,占用的单片机口线少。2课程设计说明书所以采用了LED数码管作为数据的显示。2.2.3时钟芯片的选择方案和论证方案一:直接采用单片机定时计数器提供秒信号,使用程序实现年、月、日、星期、时、分、秒计数。采用此种方案虽然减少芯片的使用,节约成本,但是,实现的时间误差较大。所以不采用此方案。方案二:采用DS1302时钟芯片实现时钟,DS1302芯片是一种高性能的时钟芯片,可自动对秒、分、时、日、周、月、年以及闰年补偿的年进行计数,而且精度高,位的RAM做为数据暂存区,工作电压2.5V5.5V范围内,2.5V时耗电小于300nA.2.3 电路设计最终方案决定综上各方案所述,对此次作品的方案选定: 采用AT89C52作为主控制系统; DS1302提供时钟;LED数码管动态扫描作为显示。 3课程设计说明书3 系统的硬件设计与实现3.1 电路设计框图图 3-1 电路设计框图3.2 系统硬件概述本电路是由AT89C52单片机为控制核心,具有在线编程功能,低功耗,能在3V超低压工作;时钟电路由DS1302提供,它是一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V5.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302如图3-2 所示: 4课程设计说明书 图3-2 主控制系统3.3.2时钟电路模块的设计图3-3示出DS1302的引脚排列,其中Vcc1为后备电源,Vcc2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302由Vcc1或Vcc2两者中的较大者供电。当Vcc2大于Vcc1+0.2V时,Vcc2给DS1302供电。当Vcc2小于Vcc1时,DS1302由Vcc1供电。X1和X2是振荡源,外接32.768KHz晶振。RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。RST输入有两种功能:首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段。当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。如果在传送过程中RSTS置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。上电动行时,在Vcc大于等于2.5V之前,RST必须保持低电平。中有在SCLK 为低电平时,才能将RST置为高电平,I/O为串行数据输入端(双向)。SCLK始终是输入端。如图3-3所示: 5课程设计说明书 图3-3 DS1302的引脚图3.3.3 电路原理及说明(1) 时钟芯片DS1302的工作原理:DS1302在每次进行读、写程序前都必须初始化,先把SCLK端置 “0”,接着把RST端置“1”,最后才给予SCLK脉冲;读/写时序如下图3-4所示。图3-5为DS1302的控制字,此控制字的位7必须置1,若为0则不能把对DS1302进行读写数据。对于位6,若对程序进行读/写时RAM=1,对时间进行读/写时,CK=0。位1至位5指操作单元的地址。位0是读/写操作位,进行读操作时,该位为1;该位为0则表示进行的是写操作。控制字节总是从最低位开始输入/输出的。表6为DS1302的日历、时间寄存器内容:“CH”是时钟暂停标志位,当该位为1时,时钟振荡器停止,DS1302处于低功耗状态;当该位为0时,时钟开始运行。“WP”是写保护位,在任何的对时钟和RAM的写操作之前,WP必须为0。当“WP”为1时,写保护位防止对任一寄存器的写操作。(2) DS1302的控制字节DS1302的控制字如表3-1所示。控制字节的高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入DS1302中,位6如果0,则表示存取日历时钟数据,为1表示存取RAM数据;位5至位1指示操作单元的地址;最低有效位(位0)如为0表示要进行写操作,为1表示进行读操作,控制字节总是从最低位开始输出 6课程设计说明书 表3-1 DS1302的控制字格式RAM RD 1 A4 A3 A2 A1 A0/WR(3) 数据输入输出(I/O)在控制指令字输入后的下一个SCLK时钟的上升沿时,数据被写入DS1302,数据输入从低位即位0开始。同样,在紧跟8位的控制指令字后的下一个SCLK脉冲的下降沿读出DS1302的数据,读出数据时从低位0位到高位7。如下图3-4所示 图3-4 DS1302读/写时序图(4) DS1302的寄存器DS1302有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD码形式,其日历、时间寄存器及其控制字见表3-2。表3-2 DS1302的日历、时间寄存器 此外,DS1302 还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与RAM相关的寄存器等。时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器内容。 DS1302与RAM相关的寄存器分为两类:一类是单个RAM单元,共31个,每个单元组态为一个8位的字节,其命令控制字为C0HFDH, 7课程设计说明书其中奇数为读操作,偶数为写操作;另一类为突发方式下的RAM寄存器,此方式下可一次性读写所有的RAM的31个字节,命令控制字为FEH(写)、FFH(读)。3.3.4 显示模块的设计如图35所示,采用动态扫描显示,由19个数码管,3-8译码器74LS138接1K限流电阻,再接8050三极管接到共阳数码管的CoM端作为选通位码,每位选择相应的列。74LS47接240限流电阻,再接共行的LED数码管的断码。 图3-5 LED动态扫描显示 8课程设计说明书4 系统的软件设计4.1程序流程框图主流程序图如图4-1所示: 图4-1 主程序流程图 9课程设计说明书 图4-2 计算阳历程序流程图 图4-3 阴历程序流程图 10课程设计说明书 图4-4 时间调整程序流程图 11课程设计说明书4.2 子程序的设计 ;写1302程序WRITE: CLR SCLK NOPSETB RST NOPMOV A,32H MOV R4,#8 WRITE1:RRC A ;送地址给1302NOPNOPCLR SCLK NOPNOPNOPMOV IO,C NOPNOPNOPSETB SCLK NOPNOPDJNZ R4,WRITE1 CLR SCLK NOPMOV A,31H MOV R4,#8 WRITE2:RRC ANOP ;送数据给1302CLR SCLK NOPNOPMOV IO,C NOPNOPNOPSETB SCLK NOPNOPDJNZ R4,WRITE2 CLR RST RET ;读1302程序 READ: CLR SCLK NOP NOP SETB RST NOP MOV A,32H MOV R4,#8 READ1: RRC A ;送地址给1302 NOP MOV IO,C NOP NOP NOP SETB SCLK NOP NOP NOP CLR SCLK NOP NOP DJNZ R4,READ1 MOV R4,#8 READ2: CLR SCLK NOP ;从1302中读出数据 NOP NOP MOV C,IO NOP NOP NOP NOP NOP 12 RRC A NOP NOP NOP NOP SETB SCLK NOP DJNZ R4,READ2 MOV 31H,A CLR RST RET5 实验测试部分5.1硬件测试电子万年历的电路系统较大,对于焊接方面更是不可轻视,庞大的电路系统中只要出于一处的错误,则会对检测造成很大的不便,而且电路的交线较多,对于各种锋利的引脚要注意处理,否则会刺被带有包皮的导线,则会对电路造成短路现象。在本成电子万年历的设计调试中遇到了很多的问题。回想这些问题只要认真多思考都是可以避免的,以下为主要的问题:(1)LED数码管的断码错乱,原因出于没有认真看清 a、b 、c等引脚信息。解决:重新排列74LS47的输出端,相应接入LED数码管,即可解决出现在的断码或乱码。(2)对万年历修改时间或日期时,有时LED数码管被屏蔽掉,造成不亮现象。解决:根据仪器的测试,发现电路的驱动能力不足,最后在DS1302时钟芯片的/CS、SCLK、RET端接入5.1K的上拉电阻后,电路的驱动能力才能满足,即可解决不亮现象。5.2软件测试电子成年历是多功能的数字型,可以看当前日期(阴、阳历),时间,还有温度的仪器。电子成年历功能很多,所以对于它的程序也较为复杂,所以在编写程序和调试时出现了相对较多的问题。最后经过多次的模块子程序的修改,一步一步的完成,最终解决了软件。在软件的调试过程中主要遇到的问题如下:1烧入程序后,LED数码管显示闪动,而且亮度不均匀。解决:首先对调用的延时进行逐渐修改,可以解决显示闪动问题。其次,由于本作品使作动态扫描方式显示的数字,动态扫描很快,人的肉眼是无法看出,但是调用的显示程序时,如果不在反回时屏蔽掉最后的附值,则会出现很亮的现象,所以在显示的后面加了屏蔽子令,最后解决了此问题。2修改时间、日期时没有农历没有自动对应上。解决:把不相关的程序暂时屏蔽,地农历的子程序独立调试,发现在调用农历自动更新时,对十进制和十六进制处理不好,所以会造成错乱。最后把相应的十进制进行修改,使得可以与十六进制对应,最后解决了此问题. 课程设计说明书5.3 测试结果分析与结论5.3.1 测试结果分析(1)在测试中遇到发光二极管、LED数码管为不显示时,首先使用试测仪对电路进行测试,观察是否存在漏焊,虚焊,或者元件损坏。(2)LED 数码管显示不正常,还有亮度不够,首先使用试测仪对电路进行测试,观察电路是否存在短路现象。查看烧写的程序是否正确无误,对程序进行认真修改。(3)DS1302 与微处理器进行数据交换时,首先由微处理器向电路发送命令字节,命令字节最高位MSB(D7)必须为逻辑1,如果D7=0,则禁止写DS1302,即写保护;D6=0,指定时钟数据,D6=1,指定RAM 数据;D5D1 指定输入或输出的特定寄存器;最低位LSB(D0)为逻辑0,指定写操作(输入), D0=1,指定读操作(输出)。在DS1302 的时钟日历或RAM 进行数据传送时,DS1302 必须首先发送命令字节。若进行单字节传送,8 位命令字节传送结束之后,在下2 个SCLK 周期的上升沿输入数据字节,或在下8 个SCLK 周期的下降沿输出数据字节。DS1302 与RAM 相关的寄存器分为两类:一类是单个RAM 单元,共31 个,每个单元组态为一个8 位的字节,其命令控制字为C0HFDH,其中奇数为读操作,偶数为写操作;再一类为突发方式下的RAM 寄存器,在此方式下可一次性读、写所有的RAM 的31 个字节。要特别说明的是备用电源B1,可以用电池或者超级电容器(0.1F 以上)。虽然DS1302 在主电源掉电后的耗电很小,但是,如果要长时间保证时钟正常,最好选用小型充电电池。可以用老式电脑主板上的3.6V 充电电池。如果断电时间较短(几小时或几天)时,就可以用漏电较小的普通电解电容器代替。100 F 就可以保证1 小时的正常走时。DS1302 在第一次加电后,必须进行初始化操作。 初始化后就可以按正常方法调整时间。14课程设计说明书 图5-1 总设计图 图5-2 调试效果图5.3.2 测试结论经过多次的反复测试与分析,可以对电路的原理及功能更加熟悉,同时提高了设计能力与及对电路的分析能力,同时在软件的编程方面得到更到的提高,对编程能力得到加强,同时对所学的知识得到很大的提高与巩固。 15课程设计说明书参考文献1 彭为等.单片机典型系统设计实例精讲M.北京:电子工业出版社,20062 李群芳.单片机原理、接口及应用M.北京:清华大学出版社,20053 陈正振 编 电子电路设计与制作 广西交通职业技术学院信息工程系 20074 杨子文 编 单片机原理及应用 西安电子科技大学出版社 20065 王法能 编 单片机原理及应用 科学出版社 2004 16课程设计说明书程序清单CONFIG12 E QU 7FHTEMPH EQU 21H TEMPL EQU 20H REG2 EQU 22H REG3 EQU 23H REG4 EQU 24H DAT EQU P0.7 SCLK EQU P3.2 IO EQU P3.3 RST EQU P3.4 year DATA 66H month DATA 65H week DATA 64H day DATA 63H hour DATA 62H mintue DATA 61H second DATA 60HORG 0000H LJMP START ORG 001BH LJMP INTT1START: ;初值LCALL ZJ SETB EAMOV TMOD,#10H ;计数器1,方式1 MOV TL1,#00H MOV TH1,#00H MOV 32H,#8EHMOV 31H,#00H ;允许写1302LCALL WRITE MOV 32H,#90H MOV31H,#0A6H ;1302充电,充电电流1.1MA LCALL WRITE ;主程序 MAIN1:MOV 32H,#8DH ;读出年LCALL READ MOV year,31HMOV 32H,#8BH ;读出星期LCALL READ MOV week,31HMOV 32H,#89H ;读出月LCALL READ MOV month,31HMOV 32H,#87H ;读出日LCALL READ MOV day,31HMOV 32H,#85H ;读出小时LCALL READ MOV hour,31HMOV 32H,#83H ;读出分钟LCALL READ MOV mintue,31HMOV 32H,#81H ;读出秒LCALL READ MOV second,31H;分离缓存MOV R0,year ;年分离,送显示缓存 LCALL DIVIDE17MOV 7BH,R1 MOV 4BH,R1 MOV 7CH,R2 MOV 4CH,R2 MOV 78H,week MOV 48H,weekMOV R0,month ;月分离,送显示缓存 LCALL DIVIDE MOV 79H,R1 MOV 49H,R1 MOV 7AH,R2 MOV 4AH,R2MOV R0,day ;日分离,送显示缓存LCALL DIVIDE MOV 76H,R1 MOV 46H,R1 MOV 77H,R2 MOV 47H,R2MOV R0,hour ;小时分离,送显示缓存 LCALL DIVIDE MOV 74H,R1 MOV 44H,R1 MOV 75H,R2 MOV 45H,R2MOV R0,mintue ;分钟分离,送显示缓存 LCALL DIVIDE MOV 72H,R1 MOV 42H,R1 MOV 73H,R2 MOV 43H,R2MOV R0,second ;秒分离,送显示缓存 LCALL DIVIDE MOV 70H,R1 MOV 40H,R1 MOV 71H,R2 MOV 41H,R2 CLR EA课程设计说明书LCALL TOUTOU LCALL NS SETB EALCALL DISPLAYLCALL GENGXIAN ; MOV R7,66H ;年加一LCALL ADD1 MOV 66H,A CJNEJNB P0.3,JIANMONTH AJMP SETG3 GADDMONTH:MOV R7,65H ;月加一更新农历程序JNB P0.1,SETG111 JNB F0,SSSSETB P0.4 ;非闰月,则p0.4清零,指示灯亮LJMP MAIN1 SETG111: LJMP SETG SSS:CLR P0.4 ;闰月,则p0.4置位,指示灯不亮LJMP MAIN1;公历设置程序SETG :SETB TR1 SETB ET1MOV 32H,#8EHMOV 31H,#00H ;允许写1302LCALL WRITE MOV 32H,#80H MOV31H,#80H ;1302停止振荡LCALL WRITEGWAIT: ; LCALL DISPLAY JNB P0.1,GWAIT SETG1:LCALL DISPLAY JNB P0.1,SETG2JNB P0.2,GADDYEAR JNB P0.3,JIANYEAR AJMP SETG1 GADDYEAR: A,#51H,GADDYEAR1 MOV 66H,#00HAJMP GADDYEAR1 JIANYEAR:MOV R7,66H ;年减一LCALL JIAN1 MOV 66H,A CJNEA,#00H,GADDYEAR1 MOV 66H,#51H GADDYEAR1:MOV 32H,#8CH ;年值送人1302MOV 31H,66H LCALL WRITE MOV R0,66HLCALL DIVIDE ;年分离送显示缓存 MOV 4BH,R1 MOV 7BH,R1 MOV 4CH,R2 MOV 7CH,R2WAITT1: ;LCALL DISPLAY JNB P0.2,WAITT1 JNB P0.3,WAITT1 AJMP SETG1 SETG2:SETB 0AH ;调月时闪标志 GWAIT2:LCALL DISPLAY JNB P0.1,GWAIT2 SETG3:LCALL DISPLAY JNB P0.1,SETG4JNB P0.2,GADDMONTH18LCALL ADD1 MOV 65H,A CJNEA,#13H,GADDMONTH1 MOV 65H,#01HAJMP GADDMONTH1 JIANMONTH:MOV R7,65H ;月减一LCALL JIAN1 MOV 65H,A CJNEA,#00H,GADDMONTH1 MOV 65H,#12H GADDMONTH1:MOV 32H,#88H ;月值送人1302MOV 31H,65H LCALL WRITE MOV R0,65HLCALL DIVIDE ;月分离,送显示缓存 MOV 79H,R1 MOV 49H,R1 MOV 7AH,R2 MOV 4AH,R2WAITT2: ; LCALL DISPLAY JNB P0.2,WAITT2 JNB P0.3,WAITT2 AJMP SETG3 SETG4:SETB 0BH ;调日时闪标志 GWAIT4:LCALL DISPLAY JNB P0.1,GWAIT4 SETG5:LCALL DISPLAY课程设计说明书JNB P0.1,SETG6 JNB P0.2,GADDDAY JNB P0.3,JIANDAY AJMP SETG5 GADDDAY:MOV R7,63H ;日加一LCALL ADD1 MOV 63H,A CJNEA,#32H,GADDDAY1 MOV 63H,#01H JIANDAY:MOV R7,63H ;日减一LCALL JIAN1 MOV 63H,A CJNEA,#00H,GADDDAY1 MOV 63H,#31H GADDDAY1:MOV 32H,#86H ;日值送人1302MOV 31H,63H LCALL WRITE MOV R0,63HLCALL DIVIDE ;日分离,送显示缓存 MOV 76H,R1 MOV 46H,R1 MOV 77H,R2 MOV 47H,R2WAITT3: ;LCALL DISPLAY JNB P0.2,WAITT3 JNB P0.3,WAITT3 AJMP SETG5 SETG6:SETB 0CH ;调星期时闪标志 GWAIT6:LCALL DISPLAY JNB P0.1,GWAIT6 SETG7:LCALL DISPLAY JNB P0.1,SETG8JNB P0.2,GADDWEEK JNB P0.3,JIANWEEK AJMP SETG7 GADDWEEK:MOV R7,64H ;星期加一LCALL ADD1 MOV 64H,A CJNEA,#07H,GADDWEEK1 MOV 64H,#00H AJMP GADDWEEK1 JIANWEEK:MOV R7,64H ;星期减一LCALL JIAN1 MOV 64H,A CJNEA,#00H,GADDWEEK1 MOV 64H,#06H GADDWEEK1: MOV 32H,#8AHMOV 31H,64H ;星期值送人1302 LCALL WRITE MOV R0,64HLCALL DIVIDE ;星期值分离送显示缓存 MOV 48H,R1 MOV 78H,R1WAITT4: ;LCALL DISPLAY JNB P0.2,WAITT4 JNB P0.3,WAITT4 AJMP SETG7 SETG8:SETB 0DH ;调小时时闪标志 GWAIT8:LCALL DISPLAY19JNB P0.1,GWAIT8 SETG9:LCALL DISPLAY JNB P0.1,SETG10JNB P0.2,GADDHOUR JNB P0.3,JIANHOUR AJMP SETG9 GADDHOUR:MOV R7,62H ;小时加一LCALL ADD1 MOV 62H,A CJNEA,#24H,GADDHOUR1 MOV 62H,#00HAJMP GADDHOUR1 JIANHOUR:MOV R7,62H ;小时减一LCALL JIAN1 MOV 62H,A CJNEA,#00H,GADDHOUR1 MOV 62H,#23H GADDHOUR1:MOV 32H,#84H ;小时值送人1302 MOV 31H,62H LCALL WRITE MOV R0,62HLCALL DIVIDE ;小时值分离送显示缓存 MOV 74H,R1 MOV 44H,R1 MOV 75H,R2 MOV 45H,R2WAITT5: ;LCALL DISPLAY JNB P0.2,WAITT5 JNB P0.3,WAITT5 AJMP SETG9 SETG10:SETB 0EH ;调分课程设计说明书时候闪标志 GWAIT10:LCALL DISPLAY JNB P0.1,GWAIT10 SETG11:LCALL DISPLAY JNB P0.1,SETGOUT JNBP0.2,GADDMINTUEJNB P0.3,JIANMINTUE AJMP SETG11 GADDMINTUE:MOV R7,61H ;分钟加一LCALL ADD1 MOV 61H,A CJNEA,#60H,GADDMINTUE1 MOV 61H,#00HAJMP GADDMINTUE1 JIANMINTUE:MOV R7,61H ;分钟减一LCALL JIAN1 MOV 61H,A CJNEA,#00H,GADDMINTUE1 MOV 61H,#59H GADDMINTUE1:MOV 32H,#82H ;分钟值送人1302 MOV 31H,61H LCALL WRITE

    注意事项

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

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




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开