当前位置:首页 > 51单片机万年历毕业设计
图-4 DS1302读写时序图
(4) DS1302的寄存器
DS1302有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD码形式,其日历、时间寄存器及其控制字见表-2。
表-2 DS1302的日历、时间寄存器
此外,DS1302 还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与RAM相关的寄存器等。时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器内容。 DS1302与RAM相关的寄存器分为两类:一类是单个RAM单元,共31个,每个单元组态为一个8位的字节,其命令控制字为C0H~FDH,其中奇数为读操作,偶数为写操作;另一类为突发方式下的RAM寄存器,此方式下可一次性读写所有的RAM的31个字节,命令控制字为FEH(写)、FFH(读)。 2.3.5显示模块的设计
如图-5所示,采用动态扫描显示,由21个数码管,3-8译码器74LS138接1K限流电阻,再接8550三极管接到共阳数码管的CoM端作为选通位码,每位选择相应的列。74ls47接 240Ω限流电阻,再接共行的LED数码管的断码。
图-5 LED动态扫描显示
三:系统的软件设计 3.1程序流程框图
图-A 主程序流程图
图-B计算阳历程序流程图
图-C 时间调整程序流程图
图-D 阴历程序流程图 3.2 子程序的设计
3.2.1 DS18B20温度子程序 CONFIG12 EQU 7FH TEMPH EQU 21H TEMPL EQU 20H REG2 EQU 22H REG3 EQU 23H REG4 EQU 24H DAT EQU P0.7 TOUTOU:
LCALL CHUSHI LCALL RDTEMP MOV A,TEMPL MOV TEMPL,A MOV A,TEMPH ORL A,TEMPL SWAP A MOV 25H,A MOV A,25H MOV B,#64H DIV AB MOV A,B
MOV B,#0AH DIV AB SWAP A ORL A,B MOV 10H,A RET CHUSHI:
LCALL RESET MOV A,#0CCH LCALL WRITE111 MOV A,#4EH
LCALL WRITE111 MOV A,#CONFIG12 LCALL WRITE111 RET RDTEMP:
LCALL RESET MOV A,#0CCH LCALL WRITE111 MOV A,#44H
LCALL WRITE111 LCALL DL1MS LCALL RESET MOV A,#0CCH LCALL WRITE111 MOV A,#0BEH LCALL WRITE111 LCALL ERAD111 MOV TEMPL,A LCALL ERAD111 MOV TEMPH,A RET RESET: LA:
SETB DAT
MOV 52H,#200 LB:
CLR DAT
DJNZ 52H,LB SETB DAT
共分享92篇相关文档