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

📄 7segmentledclockinasm.txt

📁 毕业设计的时候用吧
💻 TXT
📖 第 1 页 / 共 2 页
字号:
                                  SETB  SCLK
                                  NOP
                                  NOP
                                  DJNZ  R2,WRI_02
                                  CLR  SCLK
                                  NOP
                                  NOP
                                  CLR  RST
                                  NOP
                                  NOP
                                  RET
                        ;=================================================
                        ;读 DS1302 子程序
                        ;=================================================
                        READ:
                                  CLR   SCLK
                                  NOP
                                  NOP
                                  SETB  RST
                                  NOP
                                  NOP
                                  MOV  A,R1
                                  MOV  R2,#08H
                        READ_01:
                                  RRC  A
                                  NOP               ;先传输地址到DS1302
                                  MOV  IO_DATA,C
                                  NOP
                                  NOP
                                  SETB  SCLK
                                  NOP
                                  NOP
                                  CLR  SCLK
                                  NOP
                                  NOP
                                  DJNZ  R2,READ_01
                                  NOP
                                  NOP
                                  SETB  IO_DATA
                                  CLR  A
                                  CLR  C
                                  MOV  R2,#08H
                        READ_02:
                                  CLR  SCLK
                                  NOP
                                  NOP         
                                  MOV  C,IO_DATA
                                  NOP
                                  NOP         
                                  RRC  A                ;再从DS1302接收数据
                                  NOP
                                  NOP          
                                  SETB  SCLK
                                  NOP
                                  NOP          
                                  DJNZ  R2,READ_02
                                  MOV  R0,A
                                  CLR  RST
                                  RET
                        ;==============================================
                        ;实时时间、日期数据处理子程序
                        ;==============================================
                         CHULI:
                                  MOV A,40H               ;处理秒数据
                                  ANL A,#0FH
                                  MOV 50H,A
                                  MOV 70H,A
                                  MOV A,40H
                                  ANL A,#11110000B
                                  SWAP A
                                  MOV 51H,A
                                  MOV 71H,A
                        ;---------------------------------------------
                                  MOV A,41H               ;处理分数据
                                  ANL A,#0FH
                                  MOV 52H,A
                                  MOV 72H,A
                                  MOV A,41H
                                  ANL A,#11110000B
                                  SWAP A
                                  MOV 53H,A
                                  MOV 73H,A
                        ;---------------------------------------------
                                  MOV A,42H               ;处理时数据
                                  ANL A,#0FH
                                  MOV 54H,A
                                  MOV 74H,A
                                  MOV A,42H
                                  ANL A,#11110000B
                                  SWAP A
                                  MOV 55H,A
                                  MOV 75H,A
                        ;----------------------------------------------
                                  MOV A,43H               ;处理日数据
                                  ANL A,#0FH
                                  MOV 60H,A
                                  MOV 76H,A
                                  MOV A,43H
                                  ANL A,#11110000B
                                  SWAP A
                                  MOV 61H,A
                                  MOV 77H,A
                        ;---------------------------------------------
                                  MOV A,44H               ;处理月数据
                                  ANL A,#0FH
                                  MOV 62H,A
                                  MOV 78H,A
                                  MOV A,44H
                                  ANL A,#11110000B
                                  SWAP A
                                  MOV 63H,A
                                  MOV 79H,A
                        ;---------------------------------------------
                                  MOV A,45H               ;处理年数据
                                  ANL A,#0FH
                                  MOV 64H,A
                                  MOV  7AH,A
                                  MOV A,45H
                                  ANL A,#11110000B
                                  SWAP A
                                  MOV 65H,A
                                  MOV 7BH,A
                        ;----------------------------------------------
                                  MOV A,46H               ;处理周数据
                                  MOV 66H,A
                                  MOV 7CH,A
                                  RET
                        ;=============================================
                        ;实时时间、日期查表取数子程序
                        ;=============================================
                        DISP:     ;MOV  R0,#TIME_DATA
                                  MOV R3,#06H
                        DISP1:    MOV A,@R0
                                  MOV DPTR,#TAB_NU
                                  MOVC A,@A+DPTR
                                  MOV @R0,A
                                  INC R0
                                  DJNZ R3,DISP1
                                  RET
                        ;====================================================
                        ;时间、日期显示子程序
                        ;====================================================
                        TIME_DISPLAY:
                                  ;MOV  R0,#TIME_DATA      ;取得显示单元首地址
                                  MOV  R1,#07FH          ;从第一个数码管开始
                                  MOV  R2,#08H           ;共8个数码管
                        DISLP:    MOV  P0,@R0            ;获得当前单元数据
                                  MOV  A,R1
                                  MOV  P2,A             ;数码显示
                                  JB  ACC.5,DISLP1      ;第三位数码管显示 -
                                  MOV  P0,#0BFH
                                  JMP  DISLP3
                        DISLP1:   JB  ACC.2,DISLP2      ;第六位数码管显示 -
                                  MOV  P0,#0BFH
                                  JMP  DISLP3
                        DISLP2:   INC  R0
                        DISLP3:   MOV  A,R1              ;为下一个数准备
                                  RR  A                  ;下一个单元
                                  MOV  R1,A              ;保存
                                  LCALL  DELAY           ;为了保证数码管亮度,延时
                                  DJNZ  R2,DISLP        ;重复显示,直到全部数据刷新过
                                  RET                   ;返回
                        DELAY:
                                  MOV  R4,#0AH
                          L15:    MOV  R5,#64H
                          L16:    DJNZ  R5,L16
                                  DJNZ  R4,L15
                                  RET
                        ;******************************************************
                        SET_KEY:
                                 SETB  K1             ;增加键
                                 SETB  K2             ;减少键
                                 SETB  K3             ;选择键
                                 SETB  K4             ;定时设定功能键
                                 NOP
                                 JB  K4,KEY01
                                 LCALL  BEEP_BL
                                 JMP  DS_KEY          ;进入定时值设定子程序

⌨️ 快捷键说明

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