|

楼主 |
发表于 2012-9-8 09:59
|
显示全部楼层
ORG 0000H ;定位
AJMP START ;跳转到主程序
ORG 000BH ;定位
AJMP TIME0
ORG 001BH ;定位
AJMP TIME1
ORG 0100H ;定位
START:
;内存数据定义
BitCnt data 21h ; 数据位计数器
ByteCnt data 22h ; 数据字节计数器
;Command data 23h ; 命令字节地址
Command data 31h ; 命令字节地址
SSS DATA 24H ;显示用 时
SSF DATA 25H ;显示用 分
SSM DATA 2CH ;秒,自动调整时间用
XSMZT DATA 2DH ;计数用,显示秒
SSMM DATA 2EH ;秒,显示秒用
NZS DATA 26H ;闹钟用 时
NZF DATA 27H ;闹钟用 分
NZZT DATA 28H ;闹钟暂停
FHL DATA 29H ;长时间不操作返回
FHH DATA 2AH ;长时间不操作返回
KMKM DATA 2BH ;每天加减的秒数
XSP DATA 2FH ;显示屏类型(1,2)
RcvDat DATA 30H ; 接收数据缓冲区
XmtDat DATA 40H ; 发送数据缓冲区
;端口位定义
IO_DATA bit P3.0 ; 数据传送总线
SCLK bit P3.1 ; 时钟控制总线
RST bit P3.7 ; 复位总线
D1 BIT P3.0
D2 BIT P3.1
D3 BIT P3.2
D4 BIT P3.3
NZ BIT P3.4 ;闹钟
SW BIT P3.5
SWJ BIT P1.7
ZSMS EQU R6 ;进入置数模式, 01B(1)---进入置时间小时,10B(2)--进入置时间分钟,11B(3)--置闹钟小时,100B(4)--进入置闹钟分钟,101B(5)置闹钟开关,110B(6)设置时间快慢
X1302 EQU 20H.0 ;需要写1302标志,1--要写
NPS EQU 20H.1 ;扫描段时小时显示判断 1-不显示
NPF EQU 20H.2 ;扫描段时分钟时显示判断 1-不显示
MSS EQU 20H.3 ;秒闪位 0---亮秒灯
NZK EQU 20H.4 ;闹钟开 , 1--开闹钟
KMTZ EQU 20H.5 ;快慢是否调整过, 1---已调整过了
XSMWEI EQU 20H.6 ;显示秒位,1---显示秒
X1302SJ EQU 20H.7 ;1302不写当前时间(未改变时间),1---写;0--不写
ZTSJW EQU 23H.0 ;自动调整时间 + or - 0---减 1--加
;TEMP_1 EQU 23H.1 ;临时调试1
MOV 23H,#00H
;=========================
;D1---段1(最高位),D2,D3,D4 |
|