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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
单片机用的是AT89S51 所有IO口全用上了   P1.2作为按键减  程序不管怎么修改都不能正常按顺序减  我也不改了就这么用了  我做的实物上把它作为星期显示用了  然后温度能显示四位数(含零下) 上传的程序里星期用的是P1.4  4 \& l2 T% w1 ?9 b' h1 J
温度用的是P1.5 P1.6 P1.7 只显示三位  想要四位就在程序里改吧
( O4 a4 X/ V( q4 K! I
* g' a: E9 X) ^$ l. N2 k$ |, p设置顺序是 年 月 日 星期 时 分 秒  
( O  Z- F0 N1 i- g- z5 n4 f设置时数码管的小数点(两位数时只个位数小数点亮)点亮以确认设置哪一位  连续按P1.0退出设置状态并保存数据  & q) [) L$ c7 b- n5 S$ p. b  C, j5 B
在设置状态时按P1.3退出设置状态不保存设置数据   正常走时状态按P1.3切换12小时制24小时制  通电默认12小时制; ~8 y4 [3 Q+ u7 }; m" \$ c

' U* E( d. e7 g# ~, G. w初次使用时可以按住P1.0在通电 把预置好的年月日星期时间写入到1302内   
/ g6 e3 u6 m, ~- e: `. O
- ^. C% X- z. R5 a我用的晶振每小时快1秒左右 24小时快23秒左右  程序里就加入了误差修正  每小时减一秒 半夜12点不减秒  
( M7 ^1 y. b% o) c. Q( y上传的程序里每小时都减一秒 屏蔽了半夜12点不减秒  
4 X( e# ^+ y9 c! \7 i" M  r% D, F+ v: {* v/ P  P
源程序网上找的  把LCD1602显示变成了数码管显示 并加入了四位温度显示 经过修改后变成现在的样子   " u; H3 ]& h8 V* L0 U* a; S7 J1 h% v
制作出来的实物图如下:
& z1 h! i$ m2 A$ F. ~1 U, u4 i- i
) z, l3 y9 F# n) Y) j; x: ^! K
7 I. n, Z! l2 R# w4 f部分单片机程序
( D! y$ g9 z' _) b' {& t1 {5 J1 @                                                                               RST     BIT      P3.5; 5脚   ;1302串行口数据端                                                                                                                                                    SU      BIT      P3.6; 6脚                                                                          5 r5 \& o- r: |& J: g5 C
                                                                                CLK     BIT      P3.7; 7脚  
) @: r+ B! j6 ]0 L! K7 u                                                                                MOSHI   BIT      P1.0;    ;模式     退出并保存  : r! ]8 B7 K. P
                                                                                JIA     BIT      P1.1;    ;加   
7 d5 v; s: h0 F3 V8 B* L                                                                                JIAN    BIT      P1.2;    ;减       不能正常按顺序减                                                                                  $ z% Z! `8 E7 J
                                                                                ALARM   BIT      P1.3;    闹钟设置  改成退出不保存                                                                                       
' P& l6 p5 X5 D  b                                                                                DQ      BIT      P3.0;   18b20                                                                                 
, f9 T. e: q4 Y& F# r1 ~3 b  N5 I7 I                                                                        " G) t) ^: x3 N" k6 m7 g
                                                                            TEMPL       DATA  26H                    : s5 e+ m% f) k  r5 l% Q  {
                                                                                TEMPH       DATA  27H        
  c- ^* _/ p) d0 U0 g                                                                                                                                                                                       
5 }$ c1 [3 m$ j+ x                                                                                TEMPHC      DATA  2AH
3 e% W$ q4 P8 ?; P# b0 n                                        TEMPLC      DATA  2BH4 p, g/ n1 O5 Y# C& H, v
                                                                                TEMP_ZH     DATA  2CH
$ C) V  f1 z& ~4 R. \8 x;==========================================================================================                                                                                                                                                                                               
9 k9 P3 X, t$ q( A* |: h5 n( N                                                                            NIAN    EQU      7FH ; 年                                                                                          
! g+ W- \- t1 g5 f                                                                                YUE     EQU      7DH ; 月                                                                                          
) o, N9 W4 m9 J; i                                                                                DAY     EQU      7CH ; 日  / C* H% i5 g0 y9 J2 G# o: a
                                                                                WEEK    EQU      29H ; 周                                                                                     2 S' t( k; l2 s& l
                                                                                HHH     EQU      7EH ;                                                                                                                                                                  
' y& e: L3 k& r* v1 l6 C3 a                                                                                SHI     EQU      7BH ; 时                                                                                          
9 _: m4 z' }3 O+ C                                                                                FEN     EQU      7AH ; 分                                                                                          
& _0 ^, a- ^: r1 v+ v                                                                                MIAO    EQU      79H ; 秒/ m  U! B; w7 ^! s, S, k: E
                                                                                SHIHC   EQU      74H;                                                                                  , ^8 I7 S0 m* z' L- K
;==========================================================================================                                                                                                                                                                           - x3 x" L! x9 a/ H, L7 J2 v
;==========================================================================================        
4 c) z2 p5 R8 U. R/ o* u                                                                        AMPMBZ   EQU      2DH;, r, H0 ~. y& g5 L
                                                                                WCS     EQU      2EH;
  g6 S/ d% ?; y                                                                                WCF     EQU      2FH;/ l: x! A/ J) _
                                                                                WCM     EQU      30H;
- |) n0 a1 N7 p0 t8 F" ~2 f
/ o+ t3 Q, k  Z- d1 b                                                                                SHIA EQU 3AH;' M/ I) p2 D; i' W, v; B
                                                                                SHIB EQU 3BH;
4 o; Z/ Q) O' e7 q) [; O4 ^                                                                                FENA EQU 3CH;; o9 ]6 b9 m3 T' [
                                                                                FENB EQU 3DH;9 ^+ x1 F2 ^! V  K: R. g
                                                                                MIAOA EQU 3EH;
6 k/ r8 ]+ s, v/ ~$ A' |                                                                                MIAOB EQU 3FH;3 _% i/ \* {2 v! E; P
                                                                                GEW     EQU      75H0 M8 w) z9 M2 ?$ Q  j
( q: Q/ g$ j3 E( G, f! ~7 I
                                                                                SHIBZ EQU   20H.0! v! \( ~+ V; y" ]; V0 ?! Z
                                                                                FENBZ EQU   20H.1
& ?6 c) E& |# w5 g$ H3 f& z                                                                                MIAOBZ EQU   20H.2, a- K) O2 n, P
                                                                                NIANBZ EQU   20H.3;* [( N/ g  o# ?1 e; N
                                                                                YUEBZ  EQU   20H.4;7 |# s* |1 |( p. e
                                                                                RIBZ   EQU   20H.5;
+ H1 h2 Z& u! c. I9 R$ |                                                                                ZHOUBZ   EQU   20H.6;# q7 v3 P& p; m& o6 ~- A0 f. {. k2 u
3 L+ K4 M  C( o2 o
                                                                                FLAG    EQU      6EH                          ;温度标志位: d1 }( g$ e8 B
                                                                                SETB SHIBZ7 C' t1 i  O6 N. H
                                                                                SETB FENBZ
: h$ v3 v* {$ b* }% g6 Z                                                                                SETB MIAOBZ( M: h3 K4 q2 N1 W: O9 b4 o/ C2 q
                                                                                SETB NIANBZ
% v0 j6 s' q) T2 s$ f& N                                                                                SETB YUEBZ
8 u& U. \, v, u# ^& H7 W                                                                                SETB RIBZ
! W) L. N- y  [- X                                                                                SETB ZHOUBZ2 M! j% ^* ~" N7 l6 W* J: v
                                                                                SETB AMPMBZ;& S) C, `1 ^9 n, e) n3 N& r
                                                                        & o" c+ P. A  {( S  v, a* n3 P/ r
;==========================================================================================                                                                                                                                                                3 D; m6 Y/ X) q1 @+ p; T* s2 h8 e
                                                                                DS1302_ADDR   EQU   6DH                                                                                          9 y- D* n6 y/ ]- E$ U! q& X( j
                                                                                DS1302_DATA   EQU   6CH                                                                                          8 _2 t5 W7 n/ y( Z9 H( A' G
;==================================================================================                                                                                                                                                               
4 r2 t- U" J0 C, q6 |+ X' }                                    ;    ORG      0000H                                                                                                  
& i2 M1 _+ p4 \1 f                                                                        ;        LJMP     START                                                                                                   
5 R1 w$ p9 W1 ]9 [: m                                                                        ;        ORG      0030H                                                                                                   
2 X. X8 u" K* F) A" i;***************************************************************                                                 - V, Z* ?  M! B! P
;  初始化开机时间    &&&&&&&     初始化闹铃时间                                                                                         ( _% n) w$ o- a6 ~( G8 o* }
;***************************************************************  5 P0 M% |% N  Q" f1 j: f4 }
                                START:                                         9 g" h; e# j& P: K
                                                                                MOV     HHH,#00H
1 U! o% V) B1 v0 b
( @9 \# v; i7 w! G                                                                                MOV     WCS,#00H;
3 k, ^2 [' U( @                                                                                MOV     WCF,#00H;- B  k# X5 a( A3 q  Q6 f
                                                                                MOV     WCM,#01H;   每小时误差几秒改成几        误差判断时到整点秒归零
" ~" T/ P1 b0 L/ S' p' I8 e7 |0 j7 H8 D$ ^, d8 X
                                                        JNB MOSHI,YZ;初次使用时按住MOSHI 把预置的时间写入DS1302;
+ a$ b4 ^* c; {& ~4 y+ {                                                                                LJMP LCDCSH;  
5 ?' |8 Z+ F$ l# m7 @2 U;===============================================================                                                                                                                                                                                                                                                                                       
0 l, S2 y- Y% c                   YZ:                               ; R& H: ^: z* q' H( Y
                                                                                MOV     NIAN,#20H                                                                                                
1 W- F+ x! V( R6 G                                                                                MOV     YUE,#06H                                                                                                 * E  U& d" u/ X4 |9 F- S- f
                                                                                MOV     DAY,#01H
( t8 F0 V. @; k                                                        MOV     WEEK,#1H;                                                                      - l3 W4 X. S9 K' d6 W& _
                                                                                MOV     SHI,#07H $ ]$ y5 n) T" Z) O8 Y8 x- I. i
                                                                                MOV     FEN,#59H  8 ^+ m& Y! ^! C/ s5 F& ?2 S
                                                                                MOV     MIAO,#55H   
' S; F2 D1 J/ k" d- @                                                                                LCALL   WR_DS1302 ;写1302子程序
( i  H" O: q4 I4 w9 t% n1 D% B                                                                                                                                                                                                                                                                                                                                                                                                                      - G; B9 i$ n' ]/ g
;***************************************************************                                                 + ?! J) [+ ?! G; h% b) j! H
;  初始化LCD1602    &&&&&&&          初始化DS1302                                                                                         
4 l- w$ z! Y, t2 r  O;***************************************************************                                                                                                                                                                                       
9 n  j* _4 @& v" n5 r- I                    LCDCSH:                        
" M# q7 k4 l$ O/ f6 {, G                                                                                lcall   RD_DS1302 ; 读时间日期 . M' e7 F" W! `5 c
                                                                                LCALL WCCS;     时间误差初始化                                                                                                                                                                                                                              
) i* a' o/ U5 v8 Q0 t;***************************************************************                                                 & L" \* P& C8 a$ F- J* E9 p. j
;                   主函数(这个大家都懂的)                                                                                         ) Y/ K9 _3 H* _* D+ p4 S! ^- x
;***************************************************************     
+ U' E& T0 L& v/ c1 C0 x
3 i  l( j5 j: b7 S                                        MAIN:                                                                                                    % O% @9 O+ J9 H1 c% h9 E0 U. S
                                        lcall   RD_DS1302 ; 读时间日期   
1 k- [1 w4 }0 D6 u5 O4 q. r- B0 g, @                                                                                LCALL   WCXZ;     误差修正                                                                                                     5 {6 h6 d/ H& W  M0 u
                                                                                LCALL   SJ_DIP_2;显示时间动态数据; 显示时间日期                                                                                             
1 a5 e4 U: o& H* x9 i! R$ b                                                                                lcall   key       ; 时间设定 - b, y, k( p% O( O: E
                                                                                JNB     ALARM,AMPM; 12小时24小时切换                                                                        
* D. |8 g3 T9 }                                                                                LCALL   RE_TEMP   ; 读温度                                                                                             
4 L7 M- V3 c' o8 r$ L( z& Z4 j                                                                                LCALL   CONVER    ; 处理温度  
1 S# G2 w; o- @                                                                                LCALL   DISPBCD    ; BCD 码温度值                                                                                          
  c& u- }5 i, @+ R                                                                                LCALL   DISPLAY_INT ; 显示温度                                                                                                                                                                                                                                                                                                                                                                                                                                                                        . f$ T5 T1 [0 a! a5 {
                                        LJMP MAIN      
' }% r" ?0 I) ^
  • 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-8-4 21:44 , Processed in 0.140625 second(s), 23 queries , Gzip On.

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

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

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