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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
单片机用的是AT89S51 所有IO口全用上了   P1.2作为按键减  程序不管怎么修改都不能正常按顺序减  我也不改了就这么用了  我做的实物上把它作为星期显示用了  然后温度能显示四位数(含零下) 上传的程序里星期用的是P1.4  : k1 L6 l% A9 F, s
温度用的是P1.5 P1.6 P1.7 只显示三位  想要四位就在程序里改吧) [/ p  G& f4 L4 \

* s7 {% T# K0 B* q; e设置顺序是 年 月 日 星期 时 分 秒  
% C8 s0 q: [& Y- N设置时数码管的小数点(两位数时只个位数小数点亮)点亮以确认设置哪一位  连续按P1.0退出设置状态并保存数据  
7 b6 z6 a2 ]" a1 v在设置状态时按P1.3退出设置状态不保存设置数据   正常走时状态按P1.3切换12小时制24小时制  通电默认12小时制: D4 \+ }1 B3 G5 z$ W0 N
& I0 Z- A/ K6 \! W/ w/ T1 |2 ]
初次使用时可以按住P1.0在通电 把预置好的年月日星期时间写入到1302内   
( L- p7 s% D4 c
. U  X! f+ Q% s2 `我用的晶振每小时快1秒左右 24小时快23秒左右  程序里就加入了误差修正  每小时减一秒 半夜12点不减秒  
4 m% n5 W1 M# `* U# ]0 m5 |4 ^上传的程序里每小时都减一秒 屏蔽了半夜12点不减秒  
# J8 l" u2 ^/ e* z- t) x9 ]3 Z6 E, g* H$ Q% n1 I* [9 B4 n
源程序网上找的  把LCD1602显示变成了数码管显示 并加入了四位温度显示 经过修改后变成现在的样子   3 t8 w3 K6 t9 e. u
制作出来的实物图如下:& q# ^0 N3 y2 Q! c: q2 Z1 t

- a& x, N$ q: ]
  ]/ H* F% p" O, U部分单片机程序
) d& w1 A! l( R                                                                               RST     BIT      P3.5; 5脚   ;1302串行口数据端                                                                                                                                                    SU      BIT      P3.6; 6脚                                                                          
5 U, E, P, \6 P8 V4 p                                                                                CLK     BIT      P3.7; 7脚  
# g3 _7 v  l, R* Q; Z& _                                                                                MOSHI   BIT      P1.0;    ;模式     退出并保存  ( W2 z1 G& v6 j
                                                                                JIA     BIT      P1.1;    ;加   
; n/ b0 c' ]# ^* `- b. E& ?+ c                                                                                JIAN    BIT      P1.2;    ;减       不能正常按顺序减                                                                                  & l  [- h$ p* P  m2 l" b) C
                                                                                ALARM   BIT      P1.3;    闹钟设置  改成退出不保存                                                                                       
2 J! p2 g2 `& C" D+ e7 k2 W) ]                                                                                DQ      BIT      P3.0;   18b20                                                                                 
+ x6 q7 _6 v" m' d, E8 I                                                                        
! z: c; R8 w& R+ [/ F# ?5 V                                                                            TEMPL       DATA  26H                    
7 G1 ^9 i5 V" _: S: Z  S                                                                                TEMPH       DATA  27H        
/ x  t8 a9 C% v) ^$ ~3 [0 w                                                                                                                                                                                       
1 R; M# w+ k0 ~' W# E' L4 M                                                                                TEMPHC      DATA  2AH
! e2 X& Z9 M: U; f2 y                                        TEMPLC      DATA  2BH
" F0 A* s" p$ Y+ T' I% i, O                                                                                TEMP_ZH     DATA  2CH
( r$ g7 O; B9 l. a9 _;==========================================================================================                                                                                                                                                                                               
/ e) T- f! p6 @& Z                                                                            NIAN    EQU      7FH ; 年                                                                                          
# q7 J/ f5 }5 M; f, C                                                                                YUE     EQU      7DH ; 月                                                                                          
* x; F3 `. c- w3 P) S3 r/ S                                                                                DAY     EQU      7CH ; 日  
; p- I) S  ?; H2 t                                                                                WEEK    EQU      29H ; 周                                                                                    
+ E0 l) R4 W# f4 g% p                                                                                HHH     EQU      7EH ;                                                                                                                                                                  
: M# A. s8 H% b+ ^# ?( A; V% o                                                                                SHI     EQU      7BH ; 时                                                                                          
" v( T0 b9 ]/ _                                                                                FEN     EQU      7AH ; 分                                                                                          
& ?+ g- Q/ n2 j( k- D( |4 s. K                                                                                MIAO    EQU      79H ; 秒) Z* o: j$ e# B6 y& U# P
                                                                                SHIHC   EQU      74H;                                                                                  $ A; S5 [/ Y6 `0 H  b# D$ B
;==========================================================================================                                                                                                                                                                           ) F. f. w2 g) V2 H% o' a1 [' ^
;==========================================================================================        
4 A6 C2 j, `( T6 I2 @* T% [2 R) H                                                                        AMPMBZ   EQU      2DH;: d# l5 q" y; h# E
                                                                                WCS     EQU      2EH;! t3 R% i7 J& [8 G8 ]
                                                                                WCF     EQU      2FH;
3 P+ S& H  ~, d  Y* k. g" k4 q3 e                                                                                WCM     EQU      30H;6 g" M/ I# \" a- T# o/ J& }- K

0 o, M: k8 m6 g# U4 X6 k& |9 |5 ^                                                                                SHIA EQU 3AH;
! |6 p! F2 P5 f                                                                                SHIB EQU 3BH;) m4 D: z; ?8 z% @. O: \
                                                                                FENA EQU 3CH;( Y7 F$ L2 ?! u. N
                                                                                FENB EQU 3DH;
7 k% v- V' M* b: E                                                                                MIAOA EQU 3EH;
, ^, X# C' l3 c' m8 ?+ o                                                                                MIAOB EQU 3FH;; Y& e; [0 b7 t5 t8 J: y8 ^
                                                                                GEW     EQU      75H: E% o1 H) {' H- I* v( z

( e$ M0 r) n# U9 t                                                                                SHIBZ EQU   20H.0
  g) y3 ]. X- N" i( d                                                                                FENBZ EQU   20H.1
7 F1 y" l  V; ]# c# S- O& H3 q4 X                                                                                MIAOBZ EQU   20H.2
: [; m; P+ f- `2 C: R                                                                                NIANBZ EQU   20H.3;5 l" {& B" e, S; k" x: ?
                                                                                YUEBZ  EQU   20H.4;
' R+ q0 k" D9 `9 A0 ?, F                                                                                RIBZ   EQU   20H.5;
; N, W* G# Y7 r' O6 b- q/ b                                                                                ZHOUBZ   EQU   20H.6;
/ e; \7 o) Y8 l+ `3 I" ?9 y- x- `# f/ C; v
                                                                                FLAG    EQU      6EH                          ;温度标志位0 j# k" j% N" L' v- ^& ]
                                                                                SETB SHIBZ+ O: D4 q( z3 D8 L  A, e+ \
                                                                                SETB FENBZ6 H$ ~  c; X( p1 Z1 q& q/ o8 v; O/ c" ]
                                                                                SETB MIAOBZ6 b4 t& r% s4 u
                                                                                SETB NIANBZ
( H1 A4 S2 ]* r) _7 W                                                                                SETB YUEBZ0 f( G0 h& V1 M. L( m
                                                                                SETB RIBZ
" U4 l0 k2 o, u5 ^" b% |4 Y                                                                                SETB ZHOUBZ2 c3 N  R, w2 p7 k* a2 \
                                                                                SETB AMPMBZ;# t) f0 _+ T8 c
                                                                        4 N: X6 z, P2 z( e
;==========================================================================================                                                                                                                                                                ' }0 ?: c3 S/ t0 K; U  Y
                                                                                DS1302_ADDR   EQU   6DH                                                                                          6 u2 E1 l) N' I  G" W7 |; `* S
                                                                                DS1302_DATA   EQU   6CH                                                                                          
; g8 a2 h/ L; B* ?( q7 |+ u;==================================================================================                                                                                                                                                                  Y: t6 o! K% \% V. p2 U
                                    ;    ORG      0000H                                                                                                  
) G. q  p' Y) P6 H* Q6 J+ R                                                                        ;        LJMP     START                                                                                                   / O0 j9 Z. l% F% j
                                                                        ;        ORG      0030H                                                                                                   
) f2 D: h. U) K4 @- Z6 F;***************************************************************                                                 ' n, `3 I, w6 a* ~6 J
;  初始化开机时间    &&&&&&&     初始化闹铃时间                                                                                         % g7 H" z) L( K+ S
;***************************************************************  / t3 l* H$ y, N" x
                                START:                                         ; N  a; s/ {* j. Y3 r* `2 e: M  J
                                                                                MOV     HHH,#00H % [8 X. I" W1 x1 l1 F1 [2 z

" F2 ~4 c2 f6 M" |' S                                                                                MOV     WCS,#00H;
9 D5 z0 g6 i# n. u# j/ P' Y& n                                                                                MOV     WCF,#00H;; a0 B4 M* l, \% k& \
                                                                                MOV     WCM,#01H;   每小时误差几秒改成几        误差判断时到整点秒归零
( b; X6 L  P6 |0 M( q9 d0 e4 i( h/ [1 {3 }6 {" v6 t
                                                        JNB MOSHI,YZ;初次使用时按住MOSHI 把预置的时间写入DS1302;& }. p' Z& E. N' u
                                                                                LJMP LCDCSH;  2 \6 |2 ~7 o% R- ]3 q
;===============================================================                                                                                                                                                                                                                                                                                       * l- e2 P2 k; o) g/ ^) ?; \# b
                   YZ:                                 J* l" v9 Y, K) T$ d1 g1 U
                                                                                MOV     NIAN,#20H                                                                                                * h/ a# o/ f( W& l) J; T
                                                                                MOV     YUE,#06H                                                                                                
4 o) C0 n8 I4 X+ }/ R- ]4 K! g2 c, k/ }                                                                                MOV     DAY,#01H
9 S( X& a# C* R% X" P6 X                                                        MOV     WEEK,#1H;                                                                        j4 f% Z: n8 H  `. ~. e5 _
                                                                                MOV     SHI,#07H
4 w  ^+ G2 q% A- }1 |  W                                                                                MOV     FEN,#59H  ) P/ {& K2 f) B
                                                                                MOV     MIAO,#55H   
" }1 l+ ~4 K- S, T. u) z9 s                                                                                LCALL   WR_DS1302 ;写1302子程序1 f  F9 }( U# G, _7 {4 m' w
                                                                                                                                                                                                                                                                                                                                                                                                                     
/ ~. j5 S5 j* x;***************************************************************                                                
  \  _, I+ V8 e2 u/ E/ W9 S" L+ i- a;  初始化LCD1602    &&&&&&&          初始化DS1302                                                                                         
2 u4 K) h; W) {. D  f- B/ F  p;***************************************************************                                                                                                                                                                                       
$ J/ J8 {2 K% g% Q; [  R9 E+ A                    LCDCSH:                        ! P) T7 w5 u/ x9 T) f% J; M
                                                                                lcall   RD_DS1302 ; 读时间日期
7 J- e) G% t4 U6 c$ k# c: w' {                                                                                LCALL WCCS;     时间误差初始化                                                                                                                                                                                                                               " q8 Q5 ?& Z" _$ \3 T1 b% {/ m
;***************************************************************                                                 4 I- r+ g6 r/ {# Q& @
;                   主函数(这个大家都懂的)                                                                                         
3 L7 P* E; x! t3 e* H8 A# Q( Q;***************************************************************     
* Y* T' P- Q! ^8 O1 J7 b( N3 y6 H  U8 N6 L9 y8 k
                                        MAIN:                                                                                                    / O7 |1 P4 h0 ]6 S+ e& g% \
                                        lcall   RD_DS1302 ; 读时间日期   
  d) @2 s( f: V& C7 V3 v" V                                                                                LCALL   WCXZ;     误差修正                                                                                                     
+ |7 I6 z9 A3 n- Z/ X# h                                                                                LCALL   SJ_DIP_2;显示时间动态数据; 显示时间日期                                                                                             
( ]/ ~& k: z3 n. F+ [/ q5 E/ ^                                                                                lcall   key       ; 时间设定 $ }* s4 B% e% g# T* \1 E) K/ X
                                                                                JNB     ALARM,AMPM; 12小时24小时切换                                                                        
& v5 c) J# b/ p, e                                                                                LCALL   RE_TEMP   ; 读温度                                                                                                u9 x6 L" [  X/ d
                                                                                LCALL   CONVER    ; 处理温度  $ S- H2 M( G# G" B
                                                                                LCALL   DISPBCD    ; BCD 码温度值                                                                                          
2 [5 q  @+ h: }6 z/ k& R, _! N                                                                                LCALL   DISPLAY_INT ; 显示温度                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
. v  @& a5 O% ~7 I, e                                        LJMP MAIN      
: Y* d9 O) w2 V
  • 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-7-18 10:24 , Processed in 0.125000 second(s), 23 queries , Gzip On.

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

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

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