⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wds12887.#1

📁 C8051F.rar
💻 #1
字号:
;参考程序A.汇编程序WDS12887.ASM. 程序功能:读取时钟值,并将时,分,秒显示在
;数码管上. 可以实现时钟初始化(授时)操作.
;运行初始化程序DS12INIT之前,要先用当前时间值(年、月、日、时、分、秒)改
;写DS12887的时间寄存器(0000H~0009H)内的数据,见表XX。要先修改程序中的
;初始化子程序DS12INIT中的当前时间值,并在主程序WDS12887.ASM中将< ; Lcall  
 ;DS12INIT>语句的<;>取消(即运行初始化子程序DS12INIT),主程序即被修改成为时
;钟初始化程序.完成初始化后,再将< ; Lcall   DS12INIT>语句的<;>加上(即注销初
;始化子程序),即可恢复主程序WDS12887.ASM.再次运行主程序,就可以实现实时时钟
;在六位数码管上显示.  

;WDS12887.ASM.
$INCLUDE (C8051F020.inc)
 CS12887      	EQU	8300H    ;时钟DS12887的端口地址
 CS12887A     	EQU	830AH    ;
 CS12887B     	EQU	830BH
CS12887C       EQU  830CH
 PPA 	          EQU 	8000H    ;8255的端口地址
 PPB 	          EQU 	8001H
 PPC 	         EQU 	8002H
 CWR             EQU   8003H 
             ORG    0 
STAR: MOV   WDTCN,#0DEH   ;关闭看门狗
	  MOV   WDTCN,#0ADH
MOV   0E3H,#40H; /*使能交叉开关,弱上拉*/
      MOV   0B5H,#0C0H  ;/*设置P7为推拉模式,P4,P5,P6为漏极开路
      MOV   0A3H,#2CH ;/*EMIF工作在地址/数据复用方式,只用外部存储器,
;ALE高/低脉宽占1个SYSCLK周期*/
      MOV   0A1H,#6DH    ;/*地址建立/保持时间占1个SYSCLK周期,
;/WR和/RD占12个SYSCLK周期*/
       ACALL   C8255   ;8255初始化
     ; Lcall   DS12INIT   ; DS12887初始化,授时:设定初始值:年,月,日,时,分,秒
MAIN: Lcall   DS12T    ;从DS12887读出当前时钟值:年,月,日,时,分,秒
	  LCALL   EXCHANG   ;变换数据存放格式
       LCALL   DISPLED   ;用六位数码管显示时,分,秒
      AJMP    MAIN
      end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -