欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOCX文档下载  

    毕业设计、论文数字电子钟毕业设计.docx

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

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

    毕业设计、论文数字电子钟毕业设计.docx

    湖南铁路科技职业技术学院毕业(设计)论文说明书湖南铁路科技职业技术学院数字电子钟设计专业 应用电子技术班 级307-1班学生姓名 敬勇攀指导教师_ 刘刚老师第1页湖南铁路科技职业技术学院毕业(设计)论文说明书摘要20世纪末,电子技术获得了飞速的发展, 在其推动下,现代电子产品几乎参透 了社会的各个领域,有力地推动了社会声处理的发展和社会信息化程度的提高,同 时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。 simulation Program with Integrated Circuit Emphasis (PSPICE)软件是专门用于电子电 路仿真的“虚拟电子工作台 PSPICE软件具有强大的电路图绘制功能、电路模拟仿 真功能、图形后处理功能和元器件符号制作功能,以图形方式输入,自动进行电路 检查,生成图表,模拟和计算电路。它的用途非常广泛,不仅可以用于电路分析和 优化设计,还可用于电子线路、电路和信号与系统等课程的计算机辅助教学。与印 制版设计软件配合使用,还可实现电子设计自动化。被公认是通用电路模拟程序中 最优秀的软件,具有广阔的应用前景。第2页湖南铁路科技职业技术学院毕业(设计)论文说明书目录摘要2引言4第一章总体设计方案 51.1、 数字电子钟设计方案论证 51.2、 方案选择 5第二章总体设计框图 62.1、 主控制器 62.2、 LED 显示 62.3、 驱动电路 82.4、 存储单元表 8第三章硬件部分 83.1、 数字电子钟与单片机的接口电路 93.2、 系统整体硬件电路11第四章软件部分134.1、 系统软件算法分析 134.2、 主程序 124.3、 中断程序 144.4、 调时功能程序 15第五章总程序清单15第六章总结与体会24参考文献25引言随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所 给人带来的方便也是不可否定的,其中数字温度计就是一个典型的例子,但人们对 它的要求越来越高,要为现代人工作、科研、生活、提供更好的更方便的设施就需 要从单片机技术入手,一切向着数字化控制,智能化控制方向发展。本设计所介绍的数字电子钟与传统的数字钟相比,具有读数方便,测时准确, 其输出时间采用数字显示,主要用于对时间比较准确的场所,或科研实验室使用, 该设计控制器使用单片机 AT89S51用6位共阳极LE躁码管以串口传送数据,实现 时间显示,能准确达到以上要求。第7页第一章总体设计方案1.1、 数字电子钟设计方案论证1.1.1 方案一由于本设计是测时电路,可以使用普通电阻之类的器件利用其限流作用,在将 随被时间变化的电压或电流采集过来,就可以用单片机进行数据的处理,在显示电 路上,就可以将被时间显示出来。1.1.2 方案二进而考虑到用数字电子钟,在单片机电路设计中,大多都是使用计时器,所以 这是非常容易想到的,上电后,系统自动进入计时状态,起始于 00时00分00秒 SB4为年月日显示转换键,可使原来显示时分秒转换显示年月日。1.2、 方案选择从以上两种方案,很容易看出,采用方案二,电路比较简单,软件设计也比较 简单,故采用了方案二。第二章总体设计框图数字电子钟电路设计总体设计方框图如图2-1所示,控制器采用单片机AT89S51用6位LEDR码管以串口传送数据实现时间显示。图2-1整体设计方框图时钟振荡报警点按键调LED显 示报警闹铃2.1、 主控制器单片机AT89S51具有低电压供电和体积小等特点,四个端口只需要两个口就能 满足电路系统的设计需要,很适合便携手持式产品的设计使用系统可用二节电池供 电。2.2、 LED显示数码管显示电路采用6位共阳LED数码管,从P3 口 RXD,TXD1 口输出段码。示。湖南铁路科技职业技术学院毕业(设计)论文说明书41日 a i ca&i c 引脚分布共阴极:3段的玛言显示器鼠 rcccm.Ct)共四极宫段数码管显示器共阴LED数码管结构、字段及引脚排列见图 2图2共阴LED数码管由8只发光二极管VD1至VD8共阴连接并按?8处形结构排列而 成。这样,我们将这些二极管的正极接高低不同的电位,把所有的负极接地,当正 极为高电位时相应的二极管就会导通而发光,从而使数码管呈现不同的字符。而只 有P2相应呈现高电位,VT个管导通,LED1的GND与地相接,LED位被选中才 具备发光的使能条件;可见,在利用 P2 口送出位选码,使各位轮流得到发光使能 条件的同时,通过P0 口分别送出不同的段选码,就会在 LED1至LED4中显示出 不同的数字来。2.3、驱动电路一个CD451侪口一个LEDR码管连接成一个CD451便动电路,数码管可从0-9 显示,以次来检查数码管的好坏,如图所示SEvgN_SEG_OlSPLa¥湖南铁路科技职业技术学院毕业(设计)论文说明书2.4、存储单元分配表,如表 2-4读取按键代码表16进制附P1.0P1.1P1.2P1.3P1.4P1.5PL6PL7SBISB2SR3*4米邛*FE01111111FD1(J111111FB11D11111存储单三分配表时间单元1组开 定时单 元1组关2组开2组关3组开3蛆美Sec32h秒kMin31h分41405150S160Hou;3Qh时424652566266Day35hH434753576367Muu341)月444854586468Year33h年A519555g6569SbOSblSb2Sb3Sb41组输 出2组输 出3组输 出各P 口功能连接.P3.3PLOP1.1P12P3.2pd.OP3.1P3.4调施 时间, 定时中 断+-年月日 显示转 换二极管二极管二极管如表2-4第三章硬件部分3.1、 数字电子钟与单片机的接口电路LED数码管可以采用两种方式供电,一种是共阳的,那它低电平有效,一种是 共阴的,那它高电平有效,如图3-4所示单片机端口接单线总线。第12页图3-4数字钟与单片机的接口电路3.2、 系统整体硬件电路3.2.1 主板电路系统整体硬件电路包括,时间显示电路,上下限报警调整电路,单片机主板电 路等,如图3-5所示。图3-5中有三个独立式按键可以分别调整温度计的上下限报 警设置,图中蜂鸣器可以在被规定的时间不在上下限范围内时,发出报警鸣叫声音,同时LED数码管将没有被测时间值显示,这时可以调整报警上下限,图3-5中的按 健复位电路是上电复位加手动复位, 使用比较方便,在程序跑飞时,可以手动复位, 这样就不用在重起单片机电源,就可以实现复位。3.2.2 显示电路显示电路是使用的串口显示,这种显示最大的优点就是使用口资源比较少,只用p3 口的RXD和TXD,串口的发送和接收,四只数码管采用74LS164右移寄存器驱 动,显示比较清晰,如图3-6所示。LH>1虫PLOPL1PL2 PL? PH PL5 PK5INTIINDOT1TU8051TOO10:P02vcc_TEftVP3 1:P就 J JJ 33423P2436-272S10ii 1TMDj. 430ALE加PSEHT0JT07图3-5单片机主板电路湖南铁路科技职业技术学院毕业(设计)论文说明书第13页呢附日 网 LSI 64 (5)4峙总直a序跄用 74LS1M(3)74 LS 164(6)H修 肾百T TI卜« 6| K2口74LS1鹤的图3-6时间显示电路湖南铁路科技职业技术学院毕业(设计)论文说明书第四章软件部分4.1、 系统软件算法分析系统程序主要包括主程序,中断流程子程序,调试时功能程序等等。4.2、 主程序主程序的主要功能是负责时间的实时显示、读出并处理LED数码管上当前温时间,秒钟每到60秒向分进1,分钟到60分向时进1其程序流程见图4-1所示。图4-1主程序流程图4.3、 中断程序读出时间时其相应的时间进文需要中断来完成,已及时响应外表或内部的电 路。其程序流程图如图4-2示图4-2中断流程图4.4、调时功能程序图系统的另一功能就是实现对执行设备的定时开关控制,其主要控制思想是这样的: 先将执行设备开启的时间和关闭时间置入 RAM某一单元,在计时主程序当中执行 几条比较指令,如果当前计时时间与执行设备的设定开启时间相等,就执行一条CLR指令,将对应的那路P3置为高电位,开启;如果当前计时时间与执行设备设定的关闭时间相等,就执行SETB对应的P3置低电位,二极管截止,功能用到的比较指令为 CJNE A , #direct , rel ,实现此控制如下图谢策年中,二洞曲日单元题鲤时单元SB1中断开嫡 SBO翳(犍,开始 /按SB3期入1路谢年单元月单后SB3检SB2单元加1单元加I I单元加1l-Ke SB3分单元按单 元 加.为定时同的分单元的粘眇聃元第27页第五章总程序清单SEC EQU 32H渺即时时间 伪指令MIN EQU 31H;分HOUR EQU 30H;时DAY EQU 35H;日MON EQU 34H;月YEAR EQU 33H;年MIN_1 EQU 41H;分定时器1路、开存储单元HOUR_1 EQU 42H;时DAY_1 EQU 43H;MON_1 EQU 44H;YEAR_1 EQU 45H;MIN_11 EQU 40H;分定时器1路、关存储单元HOUR_11 EQU 46H;时DAY_11 EQU 47H;日MON_11 EQU 48H;月YEAR_11 EQU 49H;年.* ;ORG 0000HLJMP MAINORG 0003H;中断转换显示年月日、INT0 (SB4 键)LJMP SHOWORG 000BH;计数中断T0、方式1LJMP TIMEORG 0013HLJMP CHANGE;调整时间、定时、INT1 (SB0 键);-主程序ORG 0030HMAIN:;初始化付值MOV YEAR,#02MOV MON,#05MOV DAY ,#01MOV HOUR,#00MOV MIN,#00MOV SEC,#00CLR 40H;定时单元1路清零CLR 41HCLR 42HCLR 43HCLR 44HCLR 45HCLR 46HCLR 47HCLR 48HCLR 49H;开中断MOV TMOD,#01H;计数、模式 1、T0MOV TL0,#0B0H;100sM 计数定时MOV TH0,#3CH;clr p3.0MOV 20H,#0AH;10 次*100SMSETB PT0;T0为最高级SETB TR0;允许计数SETB ET0;允许T0中断SETB EX0;允许INT0中断SETB EX1;允许INT1中断SETB EA;开总中断;-显示、定时器启动判断LOOP:MOV R1,#30H;存储单元MOV R4,#01H;位选通MOV R3,#03H;三组显示NEXT:MOV A,R1;MOV B,#10;将存储单元转换成两高低两组的BCD码DIV ABSWAP AORL A,BMOV P0,A;输出MOV P2,R4INC R1;下一单元MOV A,R4;RL A;位移MOV R4,ALCALL DE5SM;延时 0.5SMDJNZ R3,NEXT;全扫描显示一偏;-判断定时输出(只编写了一路)CJNE R7,#88H,LOOP;是 8 则开,否则、定时已关、转;开MOV A,YEARCJNE A,YEAR_1,LOOP_1;年比较,不等转关MOV A,MONCJNE A,MON_1,LOOP_1MOV A,DAYCJNE A,DAY_1,LOOP_1MOV A,HOURCJNE A,HOUR_1,LOOP_1MOV A,MINCJNE A,MIN_1,LOOP_1CPL P3.0;关LOOP_1:MOV A,YEARCJNE A,YEAR_11,LOOP;年比较MOV A,MONCJNE A,MON_11,LOOPMOV A,DAYCJNE A,DAY_11,LOOPMOV A,HOURCJNE A,HOUR_11,LOOPMOV A,MINCJNE A,MIN_11,LOOPCPL P3.0LJMP LOOP;-年月日显示中断子程序SHOW:PUSH PSWpush ACCPUSH BPUSH 01HPUSH 02HPUSH 03HPUSH 04HMOV R2,#0FFH;中断扫描次数TURN:MOV R1,#33HMOV R4,#01HMOV R3,#03HNEXT_1:MOV A,R1MOV B,#10DIV ABSWAP AORL A,BMOV P0,AMOV P2,R4INC R1RL AMOV R4,ALCALL DE5SMDJNZ R3,NEXT_1DJNZ R2,TURN;反复显示一定时POP 04HPOP 03HPOP 02HPOP 01HPOP BPOP ACCPOP PSWRETI-计数中断服务子程序E:PUSH PSWPUSH ACCPUSH BPUSH 06HMOV TH0,#3CH;重装计数MOV TL0,#0BH;DJNZ 20H,OUT;转到中断跳出MOV 20H,#0AH;重装:100*进位程序INC SECMOV R6,SEC;CJNE R6,#60,OUT;比较MOV SEC,#00;INC MINMOV R6,MINCJNE R6,#60,OUTMOV MIN,#00INC HOURMOV R6,HOURCJNE R6,#25,OUTMOV HOUR,#00INC DAYMOV R5,MONCJNE R5,#1,MON_22;是否MOV R5,DAYCJNE R5,#32,OUT;本月是INC MONMOV DAY ,#1LJMP OUTT:POP 06HPOP BPOP ACCPOP PSWRETIN_22:MOV R5,MONCJNE R5,#2,MON_33;是否MOV A,YEAR;判所是否瑞年MOV B,#4DIV ABMOV A,BJNZ OUT_1;不是则转(A不为MOV R5,DAYCJNE R5,#30,OUT;如是瑞年、INC MONMOV DAY ,#1LJMP OUTT_1:MOV R5,DAYCJNE R5,#29,OUT;平年二月INC MONMOV DAY ,#1LJMP OUTN_33:MOV R5,MONCJNE R5,#3,MON_44MOV R5,DAYCJNE R5,#32,OUTINC MONMOV DAY ,#1LJMP OUTMON_44:MOV R5,MONCJNE R5,#4,MON_55MOV R5,DAYCJNE R5,#31,OUTINC MONMOV DAY ,#1LJMP OUTMON_55:MOV R5,MONCJNE R5,#5,MON_66MOV R5,DAYCJNE R5,#32,OUTINC MONMOV DAY ,#1LJMP OUTMON_66:MOV R5,MONCJNE R5,#6,MON_77MOV R5,DAYCJNE R5,#31,OUTINC MONMOV DAY ,#1LJMP OUTMON_77:MOV R5,MONCJNE R5,#7,MON_88MOV R5,DAYCJNE R5,#32,L1INC MONMOV DAY ,#1L1:LJMP OUTMON_88:MOV R5,MONCJNE R5,#8,MON_99MOV R5,DAYCJNE R5,#32,L2INC MONMOV DAY ,#1L2:LJMP OUTMON_99:MOV R5,MONCJNE R5,#9,MON_00MOV R5,DAYCJNE R5,#31,L3INC MONMOV DAY ,#1L3:LJMP OUTMON_00:MOV R5,MONCJNE R5,#10,MON_AAMOV R5,DAYCJNE R5,#32,L4INC MONMOV DAY ,#1L4:LJMP OUTMON_AA:MOV R5,MONCJNE R5,#11,MON_BBMOV R5,DAYCJNE R5,#31,L5INC MONMOV DAY ,#1L5:LJMP OUTMON_BB:MOV R5,DAYCJNE R5,#32,L6INC YEARMOV MON,#1MOV DAY ,#1L6:LJMP OUT;-校对时间、定时调整中CHANGEPUSH PSWPUSH ACCPUSH BPUSH 00H mov p2,#00h SHOW_1:MOV A,#01H;显示 1MOV P0,AMOV P2,#0FFH;三组数码管都显示 1 路LCALL READ;调用读p1 口键程序 CJNE A,01H,SHOW_1;去抖后比较 LCALL DE250SM;延时 250秒CJNE A,#0FBH,ttT1LJMP SB3_1ttT1:CJNE A,#0FEH,SHOW_1AJMP SHOW_2 ; 二组显示SHOW_2:MOV A,#02H;显示 2MOV P0,AMOV P2,#0FFH;LCALL READCJNE A,01H,SHOW_2;去抖后比较LCALL DE250SM;延时 250秒CJNE A,#0FBH,T2;不等转去判断止匕时SB3按了没LJMP SB3_2T2:CJNE A,#0FEH,SHOW_2AJMP SHOW_3 ;_ 三组显示 SHOW_3:MOV A,#03H;显示 3MOV P0,AMOV P2,#0FFH;位码LCALL READCJNE A,01H,SHOW_3;去抖后比较LCALL DE250SM;延时 250秒CJNE A,#0FBH,T3;不等转去判断止匕时SB3按了没LJMP SB3_3T3:CJNE A,#0FEH,SHOW_3AJMP SHOW_4;即时年单元调时、 显示SHOW_4:MOV A,YEAR;调出年单元MOV B,#10;BCD 转换DIV ABSWAP AORL A,BMOV P0,A;MOV P2,#01H;LCALL READLCALL DE250SMCJNE A,01H,SHOW_4;去抖CJNE A,#0FEH,KEY2_1;按 SB2 转年调 整AJMP MON_CH;按SB1往下调月单元 KEY2_1:CJNE A,#0FDH,SHOW_4 LCALL YEAR_AD;调用年调整 AJMP SHOW_4;MON_CH:MOV A,MON;月单元调整 MOV B,#10DIV ABSWAP AORL A,BMOV P0,A;MOV P2,#02H;LCALL READLCALL DE250SMCJNE A,01H,MON_CH;去抖CJNE A,#0FEH,KEY2_2;按 SB2 转月调 整LJMP DAY_CH;按SB1往下调日单元 KEY2_2:CJNE A,#0FDH,MON_CH LCALL MON_AD;调用月调整 LJMP MON_CH;DAY_CH:MOV A,DAY;日单元调整MOV B,#10DIV ABSWAP AORL A,BMOV P0,A;MOV P2,#04H;LCALL READLCALL DE250SMCJNE A,01H,DAY_CH;去抖CJNE A,#0FEH,KEY2_3;按 SB2 转日调 整LJMP HOUR_CH;按SB1往下调时单 元KEY2_3:CJNE A,#0FDH,DAY_CH LCALL DAY_AD;调用日调整 LJMP DAY_CHHOUR_CH:MOV A,HOUR;时单元调整MOV B,#10 DIV ABSWAP AORL A,BMOV P0,A;MOV P2,#01H;LCALL READLCALL DE250SMCJNE A,01H,HOUR_CH;去抖CJNE A,#0FEH,KEY2_4;按 SB2 转时调 整AJMP MIN_CH;按SB1往下调分单元 KEY2_4:CJNE A,#0FDH,HOUR_CH LCALL HOUR_AD;调用时调整 AJMP HOUR_CH;MIN_CH:MOV A,MIN;分单元调整MOV B,#10 DIV ABSWAP AORL A,BMOV P0,A;MOV P2,#02H;LCALL READLCALL DE250SMCJNE A,01H,MIN_CH;去抖CJNE A,#0FEH,KEY2_5;按 SB2 转分调 整AJMP SEC_CH;按SB1往下调秒单元KEY2_5:CJNE A,#0FDH,MIN_CH LCALL MIN_AD;调用分调整 LJMP MIN_CH;SEC_CH:MOV A,SEC;秒单元调整MOV B,#10DIV ABSWAP AORL A,BMOV P0,A;MOV P2,#04H;LCALL READLCALL DE250SMCJNE A,01H,SEC_CH;去抖CJNE A,#0FEH,KEY2_6;按 SB2 秒调整LJMP OUT_A;按 SB1 跳出KEY2_6:CJNE A,#0FDH,SEC_CH CLR SEC;归零LJMP SEC_CH;按定时器年单元加1子程序SB3_2:LJMP SHOW_2;二路没编返回SB3_3:LJMP SHOW_3;三路没编返回SB3_1:MOV A,YEAR_1;调时年单元MOV B,#10DIV ABSWAP AORL A,BMOV P0,AMOV P2,#01HLCALL READLCALL DE250SMCJNE A,01H,SB3_1CJNE A,#0FBH,KEY2_7;按 SB2 转年调 整LJMP MON_111;按SB1往下调月单元KEY2_7:CJNE A,#0FDH,SB3_1INC YEAR_1;1路年单元加1MOV R5,YEAR_1CJNE R5,#09,SB3_1 益出MOV YEAR_1,#00HAJMP SB3_1;月单元加1子程序MON_111:MOV A,MON_1;调时月单元显示MOV B,#10DIV ABSWAP AORL A,BMOV P0,AMOV P2,#02HLCALL READLCALL DE250SMCJNE A,01H,MON_111CJNE A,#0FBH,KEY2_8;按 SB2 转月调 整LJMP DAY_111KEY2_8:CJNE A,#0FDH,MON_111INC MON_1;1路月单元加1MOV R5,MON_1CJNE R5,#13,MON_111 襦出MOV MON_1,#01HAJMP MON_111;转到月显;_-日单元加1子程序DAY_111:MOV A,DAY_1;调时日单元显示提示MOV B,#10DIV ABSWAP AORL A,BMOV P0,AMOV P2,#04HLCALL READLCALL DE250SMCJNE A,01H,DAY_111CJNE A,#0FBH,KEY2_9;按 SB2 转日调 整LJMP HOUR_111KEY2_9:CJNE A,#0FDH,DAY_111INC DAY_1;1组日单元加1MOV R5,DAY_1CJNE R5,#32,DAY_111 襦出MOV DAY_1,#01HAJMP DAY_111;转至U 日显;按SB2时单元加1子程序HOUR_111:MOV A,HOUR_1;调时时单元显示提示MOV B,#10DIV ABSWAP AORL A,BMOV P0,AMOV P2,#01HLCALL READLCALL DE250SMCJNE A,01H,HOUR_111CJNE A,#0FBH,KEY2_10;按 SB2 转时 调整LJMP MIN_111KEY2_10:CJNE A,#0FDH,HOUR_111INC HOUR_1MOV R5,HOUR_1CJNE R5,#24,HOUR_111益出MOV HOUR_1,#00HAJMP HOUR_111;转至卯寸显;分单元疝1子程序MIN_111:MOV A,MIN_1;调时分单元、并显示提 示MOV B,#10DIV ABSWAP AORL A,BMOV P0,AMOV P2,#02HLCALL READLCALL DE250SMCJNE A,01H,MIN_111CJNE A,#0FBH,KEY2_11;按 SB2 转分 调整AJMP OFF_CH;按SB3往下调定时:关 单元KEY2_11:CJNE A,#0FDH,MIN_111INC MIN_1;1路分单元加1MOV R5,MIN_1CJNE R5,#60,MIN_111;益处MOV MIN_1,#00HAJMP MIN_111;转到分显年单元调整OFF_CH:MOV A,YEAR_11;调时年单 元MOV B,#10DIV ABSWAP AORL A,BMOV P0,AMOV P2,#01HLCALL READLCALL DE250SMCJNE A,01H,OFF_CHCJNE A,#0FBH,KEY2_F7;按 SB2 转年 调整LJMP MON_OFF;按SB1往下调月单元 KEY2_F7:CJNE A,#0FDH,OFF_CHINC YEAR_11;1路年单元加1MOV R5,YEAR_11CJNE R5,#09,OFF_CH;益出MOV YEAR_11,#00HAJMP OFF_CH;月单元加1子程序MON_OFF:MOV A,MON_11;调时月单元显示MOV B,#10DIV ABSWAP AORL A,BMOV P0,AMOV P2,#02HLCALL READLCALL DE250SMCJNE A,01H,MON_OFFCJNE A,#0FBH,KEY2_F8;按 SB2 转月 调整LJMP DAY_OFFKEY2_F8:CJNE A,#0FDH,MON_OFFINC MON_11;1路月序元加1MOV R5,MON_11CJNE R5,#13,MON_OFF;益出MOV MON_11,#01HAJMP MON_OFF;转到月显 ;_-日单元加1子程序 DAY_OFF:MOV A,DAY_11;调时日单元显示提示MOV B,#10DIV ABSWAP AORL A,BMOV P0,AMOV P2,#04HLCALL READLCALL DE250SMCJNE A,01H,DAY_OFFCJNE A,#0FBH,KEY2_F9;按 SB2 转日 调整LJMP HOUR_OFFKEY2_F9:CJNE A,#0FDH,DAY_OFFINC DAY_11;1组日单元加1MOV R5,DAY_11CJNE R5,#32,DAY_OFF;益出MOV DAY_11,#01HAJMP DAY_OFF;转至U 日显 ;按SB2时单元加1子程序 HOUR_OFF:MOV A,HOUR_11;调时时单元显示提 示MOV B,#10DIV ABSWAP AORL A,BMOV P0,AMOV P2,#01HLCALL READLCALL DE250SMCJNE A,01H,HOUR_OFFCJNE A,#0FBH,KEY2_F10;按 SB2 转时 调整LJMP MIN_OFF KEY2_F10:CJNEA,#0FDH,HOUR_OFFINC HOUR_11MOV R5,HOUR_11CJNE R5,#24,HOUR_OFF 襦出MOV HOUR_11,#00HAJMP HOUR_OFF;转至卯寸显;分单元加1子程序MIN_OFF:MOV A,MIN_11;调时分单元、并显示提示MOV B,#10DIV ABSWAP AORL A,BMOV P0,AMOV P2,#02HLCALL READLCALL DE250SMCJNE A,01H,MIN_OFFCJNE A,#0FBH,KEY2_F11;按 SB2 转分 调整LJMP ON_1;按SB3往下调定时:开与 关KEY2_F11:CJNE A,#0FDH,MIN_OFFINC MIN_11;1路分单元加1MOV R5,MIN_11CJNE R5,#60,MIN_OFF;益处MOV MIN_11,#00HLJMP MIN_OFF;转到分显;开、关定时ON_1:CJNE A,#0FBH,MIN_OFFK1:MOV A,#88HMOV R7,AMOV P0,AMOV P2,#0FFH;三组者B显示开LCALL READLCALL DE250SMCJNE A,01H,ON_1;去抖后比较CJNE A,#0FBH,KEY2_12;按 SB2转关LJMP OUT_A;按SB3调出、处于开状 态KEY2_12:CJNE A,#0FDH,K1k2:MOV A,#00H;显示 0 关MOV R7,AMOV P0,AMOV P2,#0FFH;LCALL READLCALL DE250sMCJNE A,01H,K2;去抖后比较CJNE A,#0FBH,KEY2_13;按 SB2 转开LJMP OUT_A;SB3调6、处关状态KEY2_13:CJNE A,#0FDH,K2;比较按了没LJMP K1;按了 SB2、转开OUT_A:POP 00HPOP BPOP ACCPOP PSWRETI;_-读取按键程序READ:MOV A,P1;读取按键MOV R1,ALCALL DE10MSMOV A,P1RET;_-延时程序DE5SM:PUSH 01HMOV R1,#0FFHDJNZ R1,$POP 01HRETDE10MS:PUSH 04HPUSH 05HMOV R4,#0AHDl1:MOV R5,#0FFHdl2:DJNZ R5,$DJNZ R4,dl1POP 05HPOP 04HRETDE250SM:PUSH 02HPUSH 00HMOV R0,#0FFHDEL:MOV R2,#0FFHDJNZ R2,$DJNZ R0,DELPOP 00HPOP 02HRET;_-调整时间进位程序MIN_AD:INC MINMOV R6,MINCJNE R6,#60,OU1MOV MIN,#00OU1:RETHOUR_AD:INC HOURMOV R6,HOURCJNE R6,#25,OU2MOV HOUR,#00OU2:RETDAY_AD:INC DAYMOV R6,DAYCJNE R6,#32,OU3;是否益出MOV DAY,#01HOU3:RETMON_AD:INC MONMOV R6,MONCJNE R6,#13,OU4 是

    注意事项

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

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




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开