- 1、本文档共22页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
;;;;;;;;;;;;;;;;;;;电气1002班29号李真海 微机解题闹钟课程设计;;;;;;;;;;;;;;;;;
ORG 0000H ;复位入口
LJMP MAIN
ORG 001BH ;定时器1中断服务子程序入口(进行实时钟计时)
LJMP IT1P
ORG 0030H
MAIN:MOV SP,#6FH ;总初始化。设定栈底指针
LCALL D40MS ;稍加延时(40mS),以待各芯片均退出复位状态
MOV DPTR,#0FEFFH ;对8255A(U3)接口芯片初始化
MOV A,#89H ;设定A输出(驱动字段)、B口输出(驱动字位),C口输入
MOVX @DPTR,A ;写入方式控制字
MOV DPTR,#0FEFDH ;DPTR指向U3-B口
MOV A,#0FFH ;置八位均显示的字位码
MOVX @DPTR,A ;关显示(位驱动全为0无效)
MOV DPTR,#0FEFCH ;DPTR指向U3-A口,检测数码管是否是好的
MOV A,#00H
MOVX @DPTR,A
MOV DPTR,#0FDFFH ;对8255A(U5)接口芯片初始化
MOV A,#8BH ;设定A口输出(驱L8-15),B口输入(按钮PB0-7),C口输入(开关SW0-7)
MOVX @DPTR,A ;写入方式控制字
MOV DPTR,#0FDFCH ;DPTR指向U5-A口
MOV A,#0FFH ;置八位输出均为1无效(8255A初始化后输出寄存器全0)
MOVX @DPTR,A ;令L8-15初始不亮
CLR P3.2 ;蜂鸣器响
LCALL D1S ;延时1S
SETB P3.2 ;关蜂鸣器
MOV R4,#8
MOV 30H,#0FEH ;P1口输出全0,所驱动的L0-L7指示灯全亮
L0:MOV P1,30H ;自检跑马灯
LCALL D40MS ;延时(40mS)
MOV A,30H
RL A ;自左L0向右检测LED灯
MOV 30H,A
DJNZ R4,L0
MOV P1,#0FFH ;LED灯全灭
MOV R4,#9
MOV A,#0FEH
SETB C ;带C为的左移,让最后一位停在C
L1:MOV DPTR,#0FDFCH
MOVX @DPTR,A ;输出驱动L8-15
LCALL D40MS ;延时(40mS)
RLC A
DJNZ R4,L1
MOV P1,#0FFH
SETB EA ;开中断总允许
MOV 38H,#00H ;38H单元为实时钟200uS计数单元,清0
MOV 39H,#00H ;39H单元为10mS计数单元,清0
MOV 3AH,#40H ;秒单元初值
MOV 3BH,#59H ;分单元初值
MOV 3CH,#08H ;时单元初值,时钟初值08:59:45
MOV TMOD,#26H ;初始化T1为定时方式2,T0为计数方式2。
MOV TL1,#00H ;置T1计数初值
MOV TH1,#00H ;即每约200uS请求中断
SETB ET1 ;开T1中断允许
SETB TR1 ;启动T1定时工作
MOV 20H,#00H ;赋初始进程码00H
MOV 21H,#00H ;进程码标志位
MOV 22H,#01H ;整点报时进程码
MOV 23H,#00H ;闹钟模式响铃方式标志位
MOV 24H,#00H ;闹铃DDD进程码
MOV 25H,#09H ;闹钟设置小时初值
MOV 26H,#01H ;闹钟设置分钟初值
MOV 27H,#02H ;闹钟设置模式初值
MOV 28H,#06H ;整点报时模式初值
MOV 64H,#10H ;键盘新键压下值
MOV 65H,#10H ;键盘旧键初值
MOV 52H,#20
文档评论(0)