新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 51單片機8位數碼管電子時鐘(完結)

        51單片機8位數碼管電子時鐘(完結)

        作者: 時間:2016-11-29 來源:網絡 收藏

        disp10: mov 34h,#0bfh ;"-"顯示
        mov a,34h
        mov p0,a
        clr p2.5
        lcall del1ms
        setb p2.5
        disp11: mov 35h,#0bfh ;"-"顯示
        mov a,35h
        mov p0,a
        clr p2.2
        lcall del1ms
        setb p2.2
        ret
        display1:mov a,38h ;鬧鐘分顯示
        mov b,#10
        div ab
        mov 26h,a
        mov 27h,b
        d1:mov a,26h ;鬧鐘分十位顯示
        mov dptr,#table
        movc a,@a+dptr
        mov p0,a
        clr p2.3
        lcall del1ms
        setb p2.3
        d2:mov a,27h ;鬧鐘分個位顯示
        mov dptr,#table
        movc a,@a+dptr
        mov p0,a
        clr p2.4
        lcall del1ms
        setb p2.4
        dispnz: mov a,39h ;鬧鐘時顯示
        mov b,#10
        div ab
        mov 28h,a
        mov 29h,b
        d5: mov a,28h ;鬧鐘時十位顯示
        mov dptr,#table
        movc a,@a+dptr
        mov p0,a
        clr p2.0
        lcall del1ms
        setb p2.0
        d6: mov a,29h ;鬧鐘時個位顯示
        mov dptr,#table
        movc a,@a+dptr
        mov p0,a
        clr p2.1
        lcall del1ms
        setb p2.1
        mov 35h,#0bfh ;"-"顯示
        mov a,35h
        mov p0,a
        clr p2.2
        lcall del1ms
        setb p2.2
        ret
        table:db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h ;數字0—9
        del1ms:mov r7,#10 ;1ms延時子程序
        del1: mov r6,#50
        del2:djnz r6,del2
        djnz r7,del1
        ret
        del20ms:mov r5,#40 ;20ms延時子程序
        del3: mov r4,#250
        del4: djnz r4,del4
        djnz r5,del3
        ret
        keysan:jnb p3.1,key1 ;秒加1按鈕
        jnb p3.2,key2 ;分加1按鈕
        jnb p3.3,key3 ;時加1按鈕

        sjmp keyout
        key1: lcall del20ms
        jb p3.1,keyout
        jnb p3.1,$
        inc 31h ;秒加1
        mov a,31h
        cjne a,#60,keyout
        mov 31h,#00
        sjmp keyout
        key2:lcall del20ms
        jb p3.2,keyout
        jnb p3.2,$
        inc 32h ;分加1
        mov a,32h
        cjne a,#60,keyout
        mov 32h,#00
        sjmp keyout
        key3:lcall del20ms
        jb p3.3,keyout
        jnb p3.3,$
        inc 33h ;時加1
        mov a,33h
        cjne a,#24,keyout
        mov 33h,#00
        sjmp keyout
        keyout:ret
        keynz:jnb p3.4,keynz4 ;顯示鬧鐘并可修改和顯示當前時間
        jnb p3.7,keynz5
        jnb p3.5,nz3
        jnb p3.6,nz4
        sjmp nzout
        nzout:ret
        nz2:lcall display1
        jnb p3.5,nz3
        jnb p3.6,nz4
        keynz4:jnb p3.4,nz2
        sjmp nzout
        nz3:lcall del20ms
        jb p3.5,nzout
        jnb p3.5,$
        inc 38h
        mov a,38h
        cjne a,#60,nzout
        mov 38h,#00
        sjmp nzout
        nz4:lcall del20ms
        jb p3.6,nzout
        jnb p3.6,$
        inc 39h
        mov a,39h
        cjne a,#24,nzout
        mov 39h,#00
        sjmp keyout
        keynz5:jb p3.7,nzout
        jnb p3.7,$
        setb p1.0
        sjmp nzout
        end

        本文引用地址:http://www.104case.com/article/201611/323550.htm

        上一頁 1 2 下一頁

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 维西| 五常市| 宁陕县| 额敏县| 喀喇| 新巴尔虎左旗| 新宾| 谷城县| 保德县| 怀远县| 长泰县| 桓仁| 通化市| 凤阳县| 革吉县| 元谋县| 噶尔县| 南丹县| 九江县| 江城| 惠水县| 抚州市| 遵化市| 郁南县| 芦山县| 农安县| 聂拉木县| 德兴市| 乌苏市| 淳安县| 祁连县| 五常市| 潜江市| 乌鲁木齐县| 化州市| 威宁| 英吉沙县| 黄骅市| 普陀区| 上虞市| 龙门县|