专科毕业设计说明书(论文)
附件:
第 19 页 共 I 页
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
DS1302元器件明细表
型号 数量 PCB编号 接线座2芯 1 J1 5.1K 5 R1~R5 680欧姆 8 Ra~Rg Rdp IN4184 1 D5 DS1302 1 U2 22P 2 C8~C9 32768HZ晶振 1 Y2 自锁开关 1 AT89C51 1 跳线(32768晶振固定) 1 自备 0.1Uf(104) 1 C4 1u(105) 1 C5 2SA1015 5 Q1~Q5 数码管座 2 DIP20座 1 12MHZ晶振 1 Y1 30P 2 C6~C7 微动开关 2 SW SWJ 电池座 1 220uF 1 C3 5V蜂鸣器 1 BZ1 2032-3V电池 1 BT1 四位七段LED 1 DS1 PCB 1 原程序
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 SSF SSM
DATA DATA DATA
24H ;显示用 时 25H ;显示用 分
2CH ;秒,自动调整时间用 2DH ;计数用,显示秒 2EH ;秒,显示秒用 26H ;闹钟用 时 27H ;闹钟用 分 28H ;闹钟暂停
29H ;长时间不操作返回 2AH ;长时间不操作返回 2BH ;每天加减的秒数 2FH ;显示屏类型(1,2)
第 20 页 共 I 页
XSMZT DATA SSMM NZS NZF NZZT FHL FHH KMKM XSP
DATA DATA DATA DATA DATA DATA DATA DATA
RcvDat DATA 30H ; 接收数据缓冲区 XmtDat DATA 40H ; 发送数据缓冲区 ;端口位定义
IO_DATA bit P3.0 ; 数据传送总线 SCLK RST D1 D2 D3
bit P3.1 ; 时钟控制总线 bit P3.7 ; 复位总线 BIT BIT BIT
P3.0 P3.1 P3.2
专科毕业设计说明书(论文)
D4 NZ SW SWJ
BIT BIT BIT BIT
P3.3 P3.4 P3.5 P1.7
;闹钟
第 21 页 共 I 页
ZSMS EQU R6 ;进入置数模式, 01B(1)---进入置时间小时,10B(2)--进入置
时间分钟,11B(3)--置闹钟小时,100B(4)--进入置闹钟分钟,101B(5)置闹钟开关,110B(6)设置时间快慢
X1302 EQU NPS NPF MSS NZK
EQU EQU EQU EQU
20H.0 ;需要写1302标志,1--要写 20H.1 ;扫描段时小时显示判断 1-不显示 20H.2 ;扫描段时分钟时显示判断 1-不显示 20H.3 ;秒闪位 0---亮秒灯 20H.4 ;闹钟开 , 1--开闹钟
20H.5 ;快慢是否调整过, 1---已调整过了 20H.6 ;显示秒位,1---显示秒
20H.7 ;1302不写当前时间(未改变时间),1---写;0--不写
KMTZ EQU XSMWEI EQU X1302SJ EQU
ZTSJW EQU ;TEMP_1 MOV
23H.0 ;自动调整时间 + or - 0---减 1--加 EQU
23H.1 ;临时调试1
23H,#00H
;========================= ;D1---段1(最高位),D2,D3,D4 ;R0,R1--读写1302 ;R2--延时使用 ;R3---秒闪计时 ;R4---闹钟闹计时
;R5-供时显示闪烁用记200ms
专科毕业设计说明书(论文)
第 22 页 共 I 页
;R6--进入置数模式, 01B(1)---进入置时间小时,10B(2)--进入置时间分钟,11B(3)--置闹钟小时,100B(4)--进入置闹钟分钟,101B(5)置闹钟开关,110B(6)设置时间快慢 ;R7--要显示的段
;========================= MOV SP,#60H ;设置堆栈 MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV CLR
XSMZT,#0H SSM,#0FFH 20H,#00H 2BH,#00H ZSMS,#00H FHL,#0FFH FHH,#3 R3,#80 R4,#01H R5,#5 R7,#4 P1,#0FFH P3,#0FFH RST
MOV TMOD,#00010001B;定时/计数器0 ;工作于方式1 ;定时器1,工作于方式1
SETB EA ;中断总允许 SETB ET0 SETB ET1 MOV TH0,#0ECH MOV TL0,#07CH MOV TH1,#03CH
MOV TL1,#0B0H ;50MS
;定时器0--5ms
;中断0允许
专科毕业设计说明书(论文)
;单字节读出秒单元的内容
MOV Command,#81h ; 命令字节为81h MOV ByteCnt,#1 ; 单字节传送模式 MOV R1,#RcvDat; 数据地址覆给R1 ACALL Receive_Byte; 调用读出数据子程序 MOV
A,RcvDat
第 23 页 共 I 页
;判断时钟是否停止,如果停止,就写入初始值 JNB
ACC.7,CC1
;多字节写 (写入09 年5 月27 日星期三14 时59 分59 秒) MOV Command,#0BEh ;命令字节为BEh
MOV ByteCnt,#8 ;多字节写入模式此模块为8 个 MOV R0,#XmtDat ;数据地址覆给R0 MOV XmtDat,#59h ;秒单元 MOV XmtDat+1,#59h ;分单元 MOV XmtDat+2,#14h ;时单元 MOV XmtDat+3,#27h ;日期单元 MOV XmtDat+4,#05h ;月单元 MOV XmtDat+5,#03h ;星期单元 MOV XmtDat+6,#09H ;年单元
MOV XmtDat+7,#0 ;写保护单元内容为00h ACALL Send_Byte ;调用写入数据子程序
;RAM操作
MOV Command,#0C0h ; 命令字节 MOV ByteCnt,#1 ; 单字节传送模式 MOV R0,#XmtDat ;数据地址覆给R0 MOV XmtDat,#12H ;数据内容