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

QQ登錄

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

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

求助,基于51的數(shù)字時(shí)鐘匯編程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:272432 發(fā)表于 2018-1-6 17:51 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
本帖最后由 dvga 于 2018-1-6 18:58 編輯

P1口段選,P2口位選                 ORG  00H                    JMP MAIN          
                   ORG  0BH
                JMP TIM0
MAIN:
       MOV IE,#82H                ;使能定時(shí)器中斷
           MOV TMOD,#01H           ;設(shè)置計(jì)數(shù)初始值,設(shè)置為4ms中斷一次
           MOV TH0,#0F0H
           MOV TL0,#60H
           MOV R0,#00H                   ;1秒鐘計(jì)數(shù)器,250次后為1s
           MOV 30H,#00H                   ;秒分時(shí)初始值00
           MOV 31H,#00H
           MOV 32H,#00H
           MOV R1,#00H                   ;位選累計(jì)器
           SETB TR0
LOOP:                                           ;按鍵設(shè)置時(shí)分秒,循環(huán)掃描按鍵,否則執(zhí)行中斷程序
           JB P3.0,NOPRESS2         
           CALL FILTER
           MOV A,30H
           ADD A,#01H
           DA A
           MOV 30H,A
           CJNE A,#60H,NOPRESS1;等于60則清零
           MOV 30H,#00H
NOPRESS1:
           JNB P3.0,$
           CALL FILTER
NOPRESS2:
           JB P3.1,NOPRESS4
           CALL FILTER
           MOV A,31H
           ADD A,#01H
           DA A
           MOV 31H,A
           CJNE A,#60H,NOPRESS3;等于60則清零
           MOV 31H,#00H
NOPRESS3:
           JNB P3.1,$
           CALL FILTER
NOPRESS4:
           JB P3.2,LOOP
           CALL        FILTER
           MOV A,32H
           ADD A,#01H
           DA A
           MOV 32H,A
           CJNE A,#24H,NOPRESS5;等于24則清零
           MOV 32H,#00H
NOPRESS5:
           JNB P3.2,$
           CALL FILTER
           JMP LOOP
TIM0:
           PUSH ACC
           CJNE R0,#250,SCAN   ;等于250時(shí)說(shuō)明到1秒,未滿則繼續(xù)掃描顯示
           MOV A,#30H
           ADD A,#01H
           DA A
           MOV 30H,A
           CJNE A,#60H,INCSEC ;等于60時(shí)說(shuō)明到一分
           MOV A,31H
           ADD A,#01H
           DA A
           MOV 31H,A
           CJNE A,#60H,INCMIN ;等于60時(shí)說(shuō)明到一小時(shí)
           MOV A,32H
           ADD A,#01H
           DA A
           MOV 32H,A
           CJNE A,#24H,INCHR ;等于24說(shuō)明到一天,清零時(shí)分秒寄存器
           MOV 30H,#00H
           MOV 31H,#00H
           MOV 32H,#00H
INCSEC:
           JMP INCTIM
INCMIN:
           MOV 30H,#00H        ;滿60秒,清零秒存儲(chǔ)器
           JMP INCTIM
INCHR:
           MOV 30H,#00H ;滿60分,清零分寄存器,秒存儲(chǔ)器
           MOV 31H,#00H         
INCTIM:
           MOV R0,#00H  ;秒存儲(chǔ)器清零
SCAN:
           CJNE R1,#6,DISPLAY ;6位數(shù)碼管掃描值為6,則完成一次掃描
           MOV R1,#00H                  ;清零掃描計(jì)數(shù)器,繼續(xù)掃描
           JMP SCAN
DISPLAY:
           CJNE R1,#0,CHK1          ;秒低位顯示
           MOV A,30H
           ANL A,#0FH
           MOV P2,#0DFH
           JMP RELOAD
CHK1:
           CJNE R1,#1,CHK2          ;秒高位顯示
           MOV A,30H
           SWAP A
           ANL A,#0FH
           MOV P2,#0EFH
           JMP RELOAD
CHK2:
          CJNE R1,#2,CHK3    ;分低位顯示
           MOV A,31H
           ANL A,#0FH
           MOV P2,#0F7H
           JMP RELOAD
CHK3:
           CJNE R1,#3,CHK4          ;分高位顯示
           MOV A,31H
           SWAP A
           ANL A,#0FH
           MOV P2,#0FBH
           JMP RELOAD
CHK4:
           CJNE R1,#4,CHK5           ;時(shí)低位顯示
           MOV A,32H
           ANL A,#0FH
           MOV P2,#0FDH
           JMP RELOAD
CHK5:
           CJNE R1,#5,RELOAD ;時(shí)高位顯示
           MOV A,32H
           SWAP A
           ANL A,#0FH
           MOV P2,#0FEH
RELOAD:
           MOV P1,A                         ;掃描顯示
           INC R0
           INC R1
           MOV TH0,#0F0H
           MOV TL0,#60H
           POP ACC
           RETI
FILTER:
       MOV R6,#60H
D1:           MOV R7,#248
           DJNZ R7,$
           DJNZ R6,D1
           RET
           END,P3.0-3.3調(diào)秒分時(shí)。供電后,程序似乎卡住,求解

數(shù)字表.PDF

52.32 KB, 下載次數(shù): 5, 下載積分: 黑幣 -5

仿真圖

運(yùn)行時(shí)的圖片.pdf

165.3 KB, 下載次數(shù): 3, 下載積分: 黑幣 -5

運(yùn)行失敗圖

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

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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