ImageVerifierCode 换一换
格式:DOCX , 页数:38 ,大小:30.83KB ,
资源ID:16330940      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/16330940.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(6位LED时钟设计的源程序清单Word文件下载.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

6位LED时钟设计的源程序清单Word文件下载.docx

1、 CONR6 EQU 36H CONR7 EQU 37H CONR5 EQU 35H ;以上唱歌程序寄存器 DELAYR3 EQU 38H ;以下延时程序用寄存器 DELAYR5 EQU 39H ; DELAYR6 EQU 3AH ; DELAYR7 EQU 3BH ;*; 中断入口程序 ; ORG 0000H ;程序执行开始地址 LJMP START ;跳到标号START执行 ORG 0003H ;外中断0中断程序入口 RETI ;外中断0中断返回 ORG 000BH ;定时器T0中断程序入口 LJMP INTT0 ;跳至INTT0执行 ORG 0013H ;外中断l中断程序人口 RETI

2、;外中断1中断返回 ORG 001BH ;定时器T1中断程序入口 LJMP INTTI ;跳至INTTI执行 ORG 0023H ;串行中断程序入口地址串行中断程序返回*; 以下为程序开始 ;*;整点报时功能程序ZDBS: MOV A,#10 ;十位数乘10加上个位数为报时的次数 MOV B,79H MUL AB ADD A,78H MOV CONBS,A ;报时次数计算完成 JZ OUT00 ;如为午夜零点不报时BSLOOP:LCALL DS20ms ;以下按次数鸣叫 MOV P3,#00H LCALL DLIS MOV P3,#0FFH DJNZ CONBS,BSLOOP ;报时完成OUT

3、00: CLR 08H ;清整点报时标志 AJMP START1 ;返回主程序以下为闹钟功能时的唱歌程序SPPP: ;LCALL MUSIC0 ;调用唱歌程序 MOV B,#10 ;闹钟叫10下BLOOP: LCALL DS20ms LCALL DLIS ; LCALL DLIS ; DJNZ B,BLOOP CLR 0AH ;清闹钟时的唱歌标志 CLR 05H ;清止闹标志 AJMP START1 ;倒计时程序进入程序DJS: LCALL DS20mS JB P1.4, START1 WAITH111: JNB P1.4, WAITH111;等待键释放 LJMP DJSST*; 主程序开始

4、;*;START: MOV SP, #80H ; 堆栈在80H以上 LCALL ST ; 上电显示年月日及班级学号 LCALL STFUN0 ; 流水灯 LCALL STMEN ; 时钟程序初始化子程序 SETB EA ;中断开放 SETB ET0 ;允许T0中断 SETB TR0 ;开启T0定时器 MOV R4, #14 ;1s定时用计数值(50ms20) MOV DISPFIRST,#70H ;显示单元为70H75H LCALLL MUSIC0 ;唱歌测试程序以下为主程宇循环START1:LCALL DISPLAY ;调用显示子程序 JNB P1.0,SETMM1 ;PI.0口为0时转时间

5、调整程序 JNB Pl.1,FUNSS ;秒表功能,P1.1按键调时作减l功能 JNB Pl.2,FUNPT ;秒表STOP,PUSE,CLR JNB Pl.3,TSFUN ;定时闹铃设定 JNB Pl.4,DJS ;倒计时功能 JB 08H, ZDBS ;08H为l,整点到,进行整点报时 JB 0AH, SPPP ;0AH为1时,闹铃时间到,进行提醒P1.0口为l时跳回START1FUNPT: LJMP FUNPTT以下为闹铃时间设定程序,按P1.3进入设定TSFUN:LCALL DS20ms JB Pl.3,STARTI ;WAIT113:JNB Pl.3,WAIT113 ; JB 05H

6、,CLOSESP ;闹铃已开的话,关闹铃 MOV DISPFIRST,#50H ;显示50H55H闹钟定时单元 MOV 50H,#0CH ;”-”闹铃设定时显示格式00:- MOV 5IH, #0AH ;”黑”DSWAIT: SETB EA LCALL DISPLAY JNB Pl.2,DSFINC ;分加l JNB Pl.0,DSDEC ;分减1 JNB Pl.3,DSSFU ;进入时调整 AJMP DSWAITCLOSESP:CLR 05H ;关闹铃标志 CLR BELL AJMP STARTIDSSFU: LCALL DS20ms ;消抖 JB Pl.3DSWAIT LJMP DSSFU

7、NN ;SETMM1:LJMP SETMM ;转到时间调整程序SETMMDSFINC: LCALL DS20ms ; 消抖 JB Pl.2DSWAITDSWAIT12: LCALL DISPLAY ; 等键释放 JNB Pl.2, DSWAIT12 CLR EA MOV R0, #53H LCALL ADD1 ;闹铃设定分加l MOV A, R3 ;分数据放入A CLR C ;清进位标志 CJNE A,#60H, ADDHH22ADDHH22:JC DSWAIT ;小于60分时返回 ACALL CLR0 ;大于或等于60分时分计时单元清oDSDEC: JB Pl.0DSWAITDSWAITEE

8、: LCALL DISPLAY ;等键释放 JNB Pl.0, DSWAITEE MOV R0,#53H LCALL subl ;闹铃设定分减1 LJMP DSWAIT以下为秒表功能时钟转换程序按下P1.1可进行功能转换FUNSS: JB Pl.1,START11WAIT11: JNB Pl.1,WAIT11 CPL 03H JNB 03H, TIMFUN MOV DISPFIRST,#60H ;显示秒表数据单元 MOV 60H,#00H MOV 6IH,#00H MOV 62H,#00H MOV 63H,#00H MOV 64H,#00H MOV 65H,#00H MOV TL1,#0F0H

9、 ;l0ms定时初值 MOV THl,#0D8H ; SETB TR1 SETB ET1START11: LJMP START1TIMFUN: MOV DISPFIRST, #70H ;显示时钟数据单元 CLR ET1 CLR TR1START12:LJMP START1以下为秒表暂停/清零功能程序按下P1.2暂停或清0,按下P1.1退出秒表回到时钟计时FUNPTT: JB Pl.2, START12WAIT22: JNB Pl.2, WAIT21WAIT33: JNB P1.1, FUNSS JB Pl.2 , WAIT31 JB Pl.2, WAIT33WAIT66: JNB Pl.2,W

10、AIT61 MOV 60H, #00H MOV 6IH, #00H MOV 62H, #00HWAIT44: JNB Pl.1,FUNSS JB Pl.2WAIT41 JB Pl.2,WAIT44WAIT55: JNB Pl.2,WAIT51 AJMP START1以下为键等待释放时显示不会熄灭程序WAIT21: AJMP WAIT22WAIT31: AJMP WAIT33WAIT41: AJMP WAIT44WAIT51: AJMP WAIT55WAIT61: AJMP WAIT66 1秒计时程序 ;T0中断服务程序INTT0: PUSH ACC ;累加器入栈保护 PUSH PSW ;状态字

11、入栈保护 CLR ET0 ;关T0中断允许 CLR TR0 ;关闭定时器T0 MOV A,#0B7H ;中断响应时间同步修正 ADD A,TL0 ;低8位初值修正 MOV TL0,A ;重装初值(低8位修正值) MOV A,#3CH ;高8位初值修正 ADDC A,TH0 ; MOV TH0,A ;重装初值(高8位修正值) SETB TR0 ;开启定时器T0 SETB P3.6 SETB P3. 5 DJNZ R4,OUTT0 ;20次中断未到中断退出ADDSS: MOV R4,#14H ;20次中断到(ls)重赋初值 CLR P3.6 CLR P3.5 CPL 07H ;闹铃时间隔呜叫用 M

12、OV R0,#7IH ;指向秒计时单元(7IH72H) ACALL ADD1 ;调用加l程序(加1s操作) MOV A,R3 ;秒数据放入A(R3为2位十进制数组合) CJNE A,#60H,ADDMM;ADDMM: JC OUTT0 ;小于60s时中断退出 ACALL CLR0 ;大于或等于60s时对秒计时单元清0 MOV R0,#77H ;指向分计时单元(76H77H)分计时单元加1分钟 CLR C ; CJNE A,#60H,ADDHH ;ADDHH:小于60min时中断退出 ACALL CLR0 ;大于或等于60min时分计时单元清0正点报时 SETB 08H MOV R0,#79H

13、;指向小时计时单元(78H79H) ACALL ADD1 ; 小时计时单元加l小时 MOV A, R3 ; 时数据放八A CLR C ; 清进位标志 CJNE A, #24H, HOURHOUR:小于24小时中断退出大于或等于24小时,计时单元清0OUTT0: MOV 72H,76H ;中断退出时将分、时计时单元数据移入 MOV 73H,77H ; 对应显示单元 MOV 74H,78H ; MOV 75H.79H ; LCALL BAOJ POP PSW ;恢复状态字(出栈) POP ACC ;恢复累加器 SETB ET0 ;开放T0中断中断返回 闪动调时程序/秒表功能程序 ;TI中断服务程序

14、,用作时间调整时调整单元闪烁指示或秒表计时INTT1I: PUSH ACC ;中断现场保护 PUSH PSW ; JB 09H, SPCC JB 06H, DJSFUN JB 03H, MMFUN ;03H=1时秒表 MOV TL1,#0B0H ;装定时器T1定时初值 MOV TH1,#3CH DJNZ R2,INTTlOUT ;0.3s未到退出中断(50ms中断6次 MOV R2,#06H ;重装0.3s定时用初值 CPL 02H ;0.3s定时到对闪烁标志取反 JB 02H,FLASH1 ;02H位为1时显示单元”熄灭” MOV 72H,76H ;02H位为0时正常显示 MOV 73H,7

15、7H ; MOV 74H,78H ; MOV 75H,79H ;INTT1OUT:POP PSW ;恢复现场 POP ACC ;中断退出FLASH1: JB 01H,FLASH2 ;01H位为1时,转小时熄灭控制 MOV 72H, 7AH ;01H位为0时,”熄灭符”数据放入分 MOV 73H, 7AH ;显示单元(72H73H),将不显示分数据 MOV 74H, 78H ; MOV 75H, 79H ; AJMP INTT1OUT ;转中断退出FLASH2:01H位为1时,“熄灭符”数据放入小时 MOV 73H,77H ; 显示单元(74H75H),小时数据将不显示 MOV 74H, 7AH

16、 ; MOV 75H, 7AH ; AJMP INTT1OUT ;SPCC: INC SONGCON ;中断服务中断计数器加1 MOV TH1#0D8H MOV TL1,#0EFH ;DJSFUN: LJMP DJSSMMFUN: MOV A,#0F7H ;中断响应时间同步修正,重装初值(l0ms) ADD A,TL1 ; MOV TL1,A ; MOV A,#0D8H ; ADDC A,TH1 MOV TH1,A ; SETB TR1 ; MOV R0,#61H ;调用加1程序(加1s操作) CLR C MOV A, R3 JZ FSS1 ;加1后为00,C=0 AJMP OUTT01 ;加

17、l后不为00,C=1FSS1: MOV R0#63H ;指向分计时单元(76H77H) CJNE A,60H, ADDHH1 ADDHH1:JC OUTT01 ; LCALL CLR0 ;大于或等于60min时,计时单元清0 MOV R0.#65H ;指向小时计时单元(78H79H)小时计时单元加l小时OUTT01:中断返回 ; 加l子程序 ;ADD1: MOV A,R0 ;取当前计时单元数据到A DEC R0 ;指向前一地址 SWAP A ;A中数据高四位与低四位交换 ORL A,R0 ;前一地址中数据放入A中低四位 ADD A,#01H ;A加1操作 DA A ;十进制调整 MOV R3,

18、A ;移入R3寄存器 ANL A,#0FH ;高四位变0 MOV R0, A ;放回前一地址单元取回R3中暂存数据 INC R0 ;指向当前地址单元 ANL A,#0FH ; MOV R0,A ;数据放入当前地址单元中 RET ;子程序返回 分减1子程序 ;*;SUB1: SWAP A ; A中数据高4位与低4位交换 ORL AR0 ;前一地址中数据放入A中低4位 JZ SUB11 DEC A ;A减1操作SUB111: MOV R3,A ; 移入R3寄存器高4位变0 SUBB A,#0AHSUB1111:JC SUB1110 MOV R0,#09H ;大于等于0AH,为9SUB110:A中数

19、据高4位与低4位交换 ANL A,#0FH ; MOV R0,A ; RET ;SUB11: MOV A, #59H AJMP SUB111SUB1110: MOV A,R3 ;移人R3寄存器 MOV R0,A AJMP SUB110* *; 时减l子程序 ;SUBB1: DEC R0 ; JZ SUBB11 ;00减l为23(小时) DEC A ;SUBBl11:MOV R3,A ; SUBB A,#0AH ;时个位大于9,为9SUBB1111:JC SUBB1110 :SUBB110:MOV A.R3 ; SWAP A ; ANL A, #0FH ;时十位数数据放入SUBB11:MOV A,#23H AJMP SUBB111SUBB1110:MOV A,R3 ;时个位小于0A不处理 ANL A, #0FH ;个位移入 AJMP SUBB110 清零程序 ;对计时单元复零用CLR0:CLR A ;清累加器 MOV R0,A ;清当前地址单元前一地址单元清0 RET ;*

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1