找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 11639|回復(fù): 5
打印 上一主題 下一主題
收起左側(cè)

單片機(jī)電子鐘制作 數(shù)碼管顯示小時(shí)—分鐘—秒 有程序 實(shí)物圖

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:85192 發(fā)表于 2015-7-9 23:25 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
本電子時(shí)鐘主要是由AT89S51單片機(jī)及8個(gè)共陽(yáng)數(shù)碼管組成。由于數(shù)碼管引腳比較多,占用單片機(jī)的I\O口也比較多,由于單片機(jī)最多只有32個(gè)I\O口,在數(shù)碼管比較多時(shí)(兩個(gè)以上),就滿足不了實(shí)際需要,因此在數(shù)碼管比較多時(shí),采用動(dòng)態(tài)掃描的方式使數(shù)碼管逐個(gè)點(diǎn)亮。本電子時(shí)鐘就是采用的這種顯示方式。利用取表指令“MOV DPTR,#TABLEMOVC A,@A+DPTR”和條件轉(zhuǎn)移指令“CJNE A,#data,rel”所要顯示的時(shí)間送入單片機(jī)的端口(P0口和P2口)并放大后,驅(qū)動(dòng)數(shù)碼管顯示出所要顯示的具體時(shí)間。采用單片機(jī)內(nèi)部定時(shí)器定時(shí),計(jì)數(shù),時(shí)間非常準(zhǔn)確!
顯示的時(shí)間格式為:120000,即“小時(shí)—分鐘—秒”。P0口為數(shù)碼管的各段位接口,P2口為8個(gè)數(shù)碼管的電源端。P3.2口為“小時(shí)”調(diào)整,P3.3口為“分鐘”調(diào)整,P3.4口為“秒”調(diào)整。但每個(gè)調(diào)整鍵只能加,不能減。晶振為12MHZ
匯編源程序如下:

SECOND EQU 30H
MINITE EQU 31H
HOUR    EQU 32H
HOURK   BIT P3.2
MINITEK BIT P3.3
SECONDK BIT P3.4
DISPBUF EQU 40H
DISPBIT EQU 48H
T2SCNTA EQU 49H
T2SCNTB EQU 4AH
TEMP    EQU 4BH
ORG 00H
LJMP START
ORG 0BH
LJMP INT_T0
START:MOV SECOND,#00H
      MOV MINITE,#00H
      MOV HOUR,#12
      MOV DISPBIT,#00H
      MOV T2SCNTA,#00H
      MOV T2SCNTB,#00H
      MOV TEMP,#0FEH
      LCALL DISP
      MOV TMOD,#01H
      MOV TH0,#(65536-2000) / 256
      MOV TL0,#(65536-2000) MOD 256
      SETB TR0
      SETB ET0
      SETB EA
WT:JB SECONDK,NK1
   LCALL DELY10MS
   JB SECONDK,NK1
   INC SECOND
   MOV A,SECOND
   CJNE A,#60,NS60
   MOV SECOND,#00H
NS60:LCALL DISP
     JNB SECONDK,$
NK1:JB MINITEK,NK2
    LCALL DELY10MS
    JB MINITEK,NK2
    INC MINITE
    MOV A,MINITE
    CJNE A,#60,NM60
    MOV MINITE,#00H
NM60:LCALL DISP
     JNB MINITEK,$
NK2:JB HOURK,NK3
    LCALL DELY10MS
    JB HOURK,NK3
    INC HOUR
    MOV A,HOUR
    CJNE A,#24,NH24
    MOV HOUR,#00H
NH24:LCALL DISP
     JNB HOURK,$
NK3:LJMP WT
DELY10MS:MOV R6,#10
      D1:MOV R7,#248
         DJNZ R7,$
         DJNZ R6,D1
         RET   
DISP:MOV A,#DISPBUF
     ADD A,#8
     DEC A
     MOV R1,A
     MOV A,HOUR
     MOV B,#10
     DIV AB
     MOV @R1,A
     DEC R1
     MOV A,B
     MOV @R1,A
     DEC R1
     MOV A,#10
     MOV @R1,A
     DEC R1
     MOV A,MINITE
     MOV B,#10
     DIV AB
     MOV @R1,A
     DEC R1
     MOV A,B
     MOV @R1,A
     DEC R1
     MOV A,#10
     MOV@R1,A
     DEC R1
     MOV A,SECOND
     MOV B,#10
     DIV AB
     MOV @R1,A
     DEC R1
   MOV A,B
     MOV @R1,A
     DEC R1
     RET
INT_T0:MOV TH0,#(65536-2000) / 256
       MOV TL0,#(65536-2000) MOD 256
       MOV A,#DISPBUF
       ADD A,DISPBIT
       MOV R0,A
       MOV A,@R0
       MOV DPTR,#TABLE
       MOVC A,@A+DPTR
       MOV P0,A
       MOV A,DISPBIT
       MOV DPTR,#TAB
       MOVC A,@A+DPTR
       MOV P2,A
       INC DISPBIT
       MOV A,DISPBIT
       CJNE A,#08H,KNA
       MOV DISPBIT,#00H
KNA:INC T2SCNTA
    MOV A,T2SCNTA
    CJNE A,#100,DONE
    MOV T2SCNTA,#00H
    INC T2SCNTB
    MOV A,T2SCNTB
    CJNE A,#05H,DONE
    MOV T2SCNTB,#00H
    INC SECOND
    MOV A,SECOND
    CJNE A,#60,NEXT
    MOV SECOND,#00H
    INC MINITE
    MOV A,MINITE
    CJNE A,#60,NEXT
    MOV MINITE,#00H
    INC HOUR
    MOV A,HOUR
    CJNE A,#24,NEXT
    MOV HOUR,#00H
NEXT:LCALL DISP
DONE:RETI
TABLE:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0BFH
TAB:DB 0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,07FH
END
本程序已通過(guò)實(shí)踐驗(yàn)證。。




評(píng)分

參與人數(shù) 1威望 +7 黑幣 +7 收起 理由
王朗的誘惑 + 7 + 7 贊一個(gè)!

查看全部評(píng)分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏3 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:44523 發(fā)表于 2015-8-28 16:26 | 只看該作者
不錯(cuò),很好的資料,謝謝
回復(fù)

使用道具 舉報(bào)

板凳
ID:89071 發(fā)表于 2015-9-1 14:58 | 只看該作者
不錯(cuò) 但是準(zhǔn)確度可能不是很高吧 晶振提供的時(shí)基電路存在漂變 建議升級(jí)一個(gè)時(shí)鐘芯片版
回復(fù)

使用道具 舉報(bào)

地板
ID:102823 發(fā)表于 2016-1-11 21:17 | 只看該作者
樓主,有電路圖嗎
回復(fù)

使用道具 舉報(bào)

5#
ID:103150 發(fā)表于 2016-1-14 07:54 | 只看該作者
不能減。晶振為12MHZ。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表