找回密码
 注册
关于网站域名变更的通知
查看: 190|回复: 1
打印 上一主题 下一主题

DS1302数码管电子钟 含年月日星期温度 汇编程序

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2022-6-1 09:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
单片机用的是AT89S51 所有IO口全用上了   P1.2作为按键减  程序不管怎么修改都不能正常按顺序减  我也不改了就这么用了  我做的实物上把它作为星期显示用了  然后温度能显示四位数(含零下) 上传的程序里星期用的是P1.4  5 U# y4 _5 A' R( o* |' B  z' l0 y
温度用的是P1.5 P1.6 P1.7 只显示三位  想要四位就在程序里改吧! }$ C5 r  f3 X

4 e  y2 W0 s4 }9 j5 Y: Y设置顺序是 年 月 日 星期 时 分 秒  3 ?6 n( W7 Y, N' P
设置时数码管的小数点(两位数时只个位数小数点亮)点亮以确认设置哪一位  连续按P1.0退出设置状态并保存数据  , K; v; W6 ^" N( @' ]1 F3 x
在设置状态时按P1.3退出设置状态不保存设置数据   正常走时状态按P1.3切换12小时制24小时制  通电默认12小时制" G) L' Z" F( A/ d- E
$ ^/ P" v0 D: g, A
初次使用时可以按住P1.0在通电 把预置好的年月日星期时间写入到1302内   
! l0 v; g3 Z- a2 d* r. }
3 n+ W2 {6 P7 A+ N6 g我用的晶振每小时快1秒左右 24小时快23秒左右  程序里就加入了误差修正  每小时减一秒 半夜12点不减秒  
/ G7 M5 `: ^0 X1 i4 e上传的程序里每小时都减一秒 屏蔽了半夜12点不减秒  
+ K2 g+ l9 V6 I. b* m4 k* P# y& K. `! C1 x2 y0 ~8 s
源程序网上找的  把LCD1602显示变成了数码管显示 并加入了四位温度显示 经过修改后变成现在的样子   
7 j# E" {6 e% g& Y8 e7 k) Y0 v制作出来的实物图如下:
9 [4 W+ v, r3 i: C6 ~/ o, E2 Y; n0 w. H& s" x6 W) q: }- ~: }
7 E9 z% q& u8 m
部分单片机程序
0 z+ k6 X7 s  V) l. h, ]5 [* e                                                                               RST     BIT      P3.5; 5脚   ;1302串行口数据端                                                                                                                                                    SU      BIT      P3.6; 6脚                                                                          
8 H: J: p5 J9 T' {8 S( T                                                                                CLK     BIT      P3.7; 7脚  
/ h; W- w& R4 h8 q0 e1 n& o                                                                                MOSHI   BIT      P1.0;    ;模式     退出并保存  : w3 A9 [6 W) j4 [
                                                                                JIA     BIT      P1.1;    ;加   $ I# f$ u  x8 P( i7 f7 S$ \
                                                                                JIAN    BIT      P1.2;    ;减       不能正常按顺序减                                                                                    Y' C0 u, k& t; c5 d$ Q9 T
                                                                                ALARM   BIT      P1.3;    闹钟设置  改成退出不保存                                                                                        ' L- u, G2 M8 n" C! l% n! ~/ V
                                                                                DQ      BIT      P3.0;   18b20                                                                                  % S2 b3 K4 L/ a. K
                                                                        
. N# [: b9 [1 ?0 r+ A+ G- o$ b                                                                            TEMPL       DATA  26H                      Y8 O' N$ d# P; A0 {
                                                                                TEMPH       DATA  27H        8 j$ X1 U( A1 X9 w+ v  C/ u
                                                                                                                                                                                       
+ A8 y+ \/ C5 n2 l( v1 k                                                                                TEMPHC      DATA  2AH7 J6 O6 Z) d8 y
                                        TEMPLC      DATA  2BH" T# d8 `8 D  Z/ {6 |# x$ m
                                                                                TEMP_ZH     DATA  2CH6 a$ k% E6 g3 K; q% `9 Z$ R
;==========================================================================================                                                                                                                                                                                               6 W5 {/ Z( l; ~3 m* V
                                                                            NIAN    EQU      7FH ; 年                                                                                           ) d6 f6 |% |! a1 p- T: L
                                                                                YUE     EQU      7DH ; 月                                                                                           # |. y2 _6 K  A& v7 U, X" u
                                                                                DAY     EQU      7CH ; 日  ) c) {0 ]$ r& s% c+ @8 `
                                                                                WEEK    EQU      29H ; 周                                                                                     * H8 R5 ?5 o. S6 H+ a
                                                                                HHH     EQU      7EH ;                                                                                                                                                                   : |5 Q9 m7 U" d$ Q: {$ a* D* C3 o
                                                                                SHI     EQU      7BH ; 时                                                                                          
# J. ^3 I8 O! x8 J- a, I* j2 y                                                                                FEN     EQU      7AH ; 分                                                                                          
* R' e: y  y6 j; f* p. B* \                                                                                MIAO    EQU      79H ; 秒
8 x! z' c/ m+ _- @                                                                                SHIHC   EQU      74H;                                                                                 
/ c4 `% i2 c/ G( j& O;==========================================================================================                                                                                                                                                                           
' V1 ~4 ~! a4 d% S3 _. k+ c6 [+ o;==========================================================================================        
) A: \# i) E1 V                                                                        AMPMBZ   EQU      2DH;
) Q' F$ u- E: U                                                                                WCS     EQU      2EH;
7 d7 N  M: d4 t4 w/ n                                                                                WCF     EQU      2FH;
, q9 l* J/ `% c( i                                                                                WCM     EQU      30H;
4 f* Q: ^) @- e( c9 F) ~' F1 D' `" ^" y( m
                                                                                SHIA EQU 3AH;
, V3 v2 O+ y, s; [' @                                                                                SHIB EQU 3BH;
8 l$ N8 }) t! h6 ]" z                                                                                FENA EQU 3CH;0 O4 P+ o: l! n* h
                                                                                FENB EQU 3DH;
" o  }9 o& }4 ^( k7 s2 d                                                                                MIAOA EQU 3EH;
+ T/ H) I% t6 c$ {                                                                                MIAOB EQU 3FH;
  b4 B6 a: V7 C( g: `% k                                                                                GEW     EQU      75H) s1 [7 V+ x9 Y8 _- C
8 |7 C" m4 i( z# B* Y7 P5 F) g
                                                                                SHIBZ EQU   20H.0
' z( ~7 V9 C8 E! l" k                                                                                FENBZ EQU   20H.1
$ _* E5 E! K8 X$ D  c5 c7 k                                                                                MIAOBZ EQU   20H.2
9 @. e2 n% r. f, x: ^3 `; j                                                                                NIANBZ EQU   20H.3;
* f. q% G5 D- \' |                                                                                YUEBZ  EQU   20H.4;$ {- v9 l  G5 T) b; E; Z" v% `
                                                                                RIBZ   EQU   20H.5;
8 P& Z0 U! x% ~. x; L! i  y+ {' |                                                                                ZHOUBZ   EQU   20H.6;
5 P  Z) S1 c3 J0 O: S3 R$ i- l! A5 g6 H4 K9 \; d
                                                                                FLAG    EQU      6EH                          ;温度标志位0 V; B8 x% i9 J% X4 C0 ]$ e
                                                                                SETB SHIBZ) a& O3 i5 F+ k7 E$ r3 k4 i
                                                                                SETB FENBZ1 F/ R& B3 g& \0 }: y+ K3 T
                                                                                SETB MIAOBZ- I6 i0 }7 l+ ~; Z
                                                                                SETB NIANBZ
# Z8 C2 e" [; P                                                                                SETB YUEBZ  j* R0 J6 _# _; j
                                                                                SETB RIBZ5 w' l% P4 r  G
                                                                                SETB ZHOUBZ
) K7 I6 s' b9 \7 j4 C                                                                                SETB AMPMBZ;; W$ O7 |6 S# |
                                                                        ! }: x# |$ B& [- p
;==========================================================================================                                                                                                                                                                . {3 a% q" a' T" N
                                                                                DS1302_ADDR   EQU   6DH                                                                                          
" a. m% s; [- [+ K1 F  u' N: ^                                                                                DS1302_DATA   EQU   6CH                                                                                          ' B3 n/ n9 z9 M- G6 p9 h" Z3 g& X
;==================================================================================                                                                                                                                                               
. m3 F' e2 m: O6 X. }& a3 n                                    ;    ORG      0000H                                                                                                  
  P5 I2 V- x# ]  _# k6 h) _* i                                                                        ;        LJMP     START                                                                                                   ) o) B( S) M1 I. j
                                                                        ;        ORG      0030H                                                                                                   , [0 Z+ n1 R  f3 w
;***************************************************************                                                 - o1 h$ [; `$ o; y
;  初始化开机时间    &&&&&&&     初始化闹铃时间                                                                                         , @2 W2 l. u; o" R; F8 a
;***************************************************************  
+ E  {9 M5 Z9 V: M* y. E# O5 P                                START:                                         9 O* n/ p9 B2 h6 {. D$ e8 o
                                                                                MOV     HHH,#00H # Y8 ~) b) \- Z( ?: N: w
/ y( `/ v! V% w. e2 S( N( W! m
                                                                                MOV     WCS,#00H;3 R; Z4 v. _# m- v0 p5 K. i9 W3 q( d
                                                                                MOV     WCF,#00H;: ?/ i. ?) C, C4 O+ Q2 M  ]
                                                                                MOV     WCM,#01H;   每小时误差几秒改成几        误差判断时到整点秒归零
4 S1 f4 ]6 \" \( H  D4 o  N; [: C& l7 z) v
                                                        JNB MOSHI,YZ;初次使用时按住MOSHI 把预置的时间写入DS1302;
6 ^, Q6 w2 P3 q  A5 Q                                                                                LJMP LCDCSH;  ' O, B: Y; N6 H2 M) u
;===============================================================                                                                                                                                                                                                                                                                                       & U' l, s# O1 u2 o# U" ?9 x" h" `
                   YZ:                              
& T8 G6 d9 g3 a                                                                                MOV     NIAN,#20H                                                                                                
9 I2 I0 b* I, S' t; u! M3 _+ Z& c                                                                                MOV     YUE,#06H                                                                                                
5 \, K7 Z( Y& p                                                                                MOV     DAY,#01H
2 w. y# a# t: h- O; k- Y9 G                                                        MOV     WEEK,#1H;                                                                      $ X" Q/ j9 X: Y1 j+ f: }, A
                                                                                MOV     SHI,#07H 8 `5 M$ c; f1 J+ a  A* `: F: \4 Z
                                                                                MOV     FEN,#59H  
2 n0 t$ X' u( j1 F- }                                                                                MOV     MIAO,#55H   
& D# r  y4 b4 n                                                                                LCALL   WR_DS1302 ;写1302子程序
. V( m! r% ~2 |  p4 L1 @* U: Y! r                                                                                                                                                                                                                                                                                                                                                                                                                      ! K) r% ?$ Z9 h7 g3 p
;***************************************************************                                                
% G  J( P6 K: D: s;  初始化LCD1602    &&&&&&&          初始化DS1302                                                                                         & p- s% q/ F6 u9 ^) i
;***************************************************************                                                                                                                                                                                       
4 c: |  b3 \; U/ o8 U1 l8 p8 U                    LCDCSH:                        % r- V6 w( z, \, _+ ^
                                                                                lcall   RD_DS1302 ; 读时间日期
: O& L; g+ z/ z; o  Z0 ]                                                                                LCALL WCCS;     时间误差初始化                                                                                                                                                                                                                              
- h9 r! G4 c' B' k; O4 x6 r* Y;***************************************************************                                                
- D1 U3 H! M) L8 d4 y;                   主函数(这个大家都懂的)                                                                                         
* u, M; ^! c' i3 L( L  x;***************************************************************     
: f- }% s5 {3 v. b
# Z- g% ?3 C2 h                                        MAIN:                                                                                                    ' c4 j8 [$ W4 g+ `" z/ q& |, o. T
                                        lcall   RD_DS1302 ; 读时间日期   
/ X( W# I+ o$ e. D4 Y& r- a                                                                                LCALL   WCXZ;     误差修正                                                                                                     " p" ~0 ?( r. _3 |8 }/ f$ M' S
                                                                                LCALL   SJ_DIP_2;显示时间动态数据; 显示时间日期                                                                                             1 [% [1 j7 D$ ]9 f# `5 i0 C1 t& b
                                                                                lcall   key       ; 时间设定
' R+ }- r: E/ {) A6 t7 N3 E+ T                                                                                JNB     ALARM,AMPM; 12小时24小时切换                                                                        $ p9 E! K# r2 w
                                                                                LCALL   RE_TEMP   ; 读温度                                                                                             
3 A1 m4 i0 w1 c" t$ N9 Y                                                                                LCALL   CONVER    ; 处理温度  
* a, \" ]8 l% {8 h( V, |5 V5 `# F  U                                                                                LCALL   DISPBCD    ; BCD 码温度值                                                                                           7 ~& V) o4 G8 O+ G$ d
                                                                                LCALL   DISPLAY_INT ; 显示温度                                                                                                                                                                                                                                                                                                                                                                                                                                                                        5 T- h) T" K  t/ G7 U
                                        LJMP MAIN         v! V9 ]% ^; F9 U, W4 g
  • TA的每日心情
    开心
    2023-6-1 15:13
  • 签到天数: 1 天

    [LV.1]初来乍到

    2#
    发表于 2022-6-6 10:24 | 只看该作者
    现在C语言用的比较多,汇编移植的时候不方便
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-10-8 23:05 , Processed in 0.203125 second(s), 23 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表