中文字幕 另类精品,亚洲欧美一区二区蜜桃,日本在线精品视频免费,孩交精品乱子片免费

<sup id="3hn2b"></sup>

    1. <sub id="3hn2b"><ol id="3hn2b"></ol></sub><legend id="3hn2b"></legend>

      1. <xmp id="3hn2b"></xmp>

      2. 新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 單片機打鈴器設(shè)計

        單片機打鈴器設(shè)計

        作者: 時間:2013-03-12 來源:網(wǎng)絡(luò) 收藏

        ;**** 設(shè)計 **************************************************
        ;* 編號:LRDZAVR0100 
        ;* 標題: 32點例程
        ;* 文件名:timecontr.asm
        ;* 版本: 1.0
        ;* 開始日期: 02.06.13
        ;* 目標MCU:
        ;* 技術(shù)支持: http://www.dianz.cn
        ;* 硬件結(jié)構(gòu): PA0-5對應(yīng)6個LED數(shù)顯管的位 ,PC0-7對應(yīng)各LED數(shù)顯管的段 ,PB4-7為鍵盤。
        ;* 軟件描述: 上電后,時鐘從00.00.00(時/分/秒)自動走時,在走時狀態(tài)時 , 按PB4(設(shè)定
        ;* 鍵)超過3秒可循環(huán)選擇調(diào)整時間/工作參數(shù) ,接著按PB5以確定選擇的操作 ,進入調(diào)整操作后 ,
        ;* 按PB5選擇欲調(diào)整參數(shù),按PB6(增加鍵)完成調(diào)整參數(shù)操作 。按PB7,進入時控運行,PB1亮,
        ;* 再按PB7停止時控運行,回顯走時。在定時到時,PB0點亮。
        ;******************************************************

        .device
        .include "8515def.inc"
        .equ DISBUF = $0060 ;顯示緩沖區(qū)起始地址
        .equ TIMEDIS = $0066 ;時鐘時分秒存放單元
        .equ XSDBZ = $0073 ;小數(shù)點位標志
        .equ DISTBL = $0f00 ;顯示字符編碼表起始地址
        .equ TIMECTR = $0010 ;32段時間控制表首址(EEPRON)
        .equ TIMECBZ = $0080 ;控制時間到標志
        .cseg
        .org $0000
        rjmp RESET
        .org $0007
        rjmp TIM0_OVF

        ;****設(shè)計主程序*****************************************************

        .def cntms =r9
        .def hour =r10
        .def minute =r11
        .def second =r12
        .def EEdwr =r16
        .def EEawr =r17
        .def EEawrh =r18
        .def EEdrd =r16
        .def EEard =r17
        .def EEardh =r18
        .def temp =r20
        .def temp1 =r21
        .def temp2 =r22
        .def temp3 =r23
        .def temp4 =r24
        .def TIM0INT =r19

        .org $0020
        RESET: ldi temp,low(ramend) ;設(shè)置堆棧指針
        out spl,temp
        ldi temp,high(ramend)
        out sph,temp
        ldi temp,0b11111111 ;設(shè)置各口線輸入輸出狀態(tài)
        out ddra,temp
        ldi temp,0b00000011
        out ddrb,temp
        ldi temp,0b11111111
        out ddrc,temp
        ldi zl,TIMECBZ
        clr zh
        clr temp
        st y,temp
        clr r9 ;清各工作寄存器
        clr r10
        clr r11
        clr r12
        clr r13
        clr r14
        clr r15
        clr r16
        clr r17
        clr r18
        clr r19
        clr r25
        ldi temp,$5
        out tccr0,temp ;T0設(shè)置ck/1024分頻
        ldi temp,256-195
        out tcnt0,temp ;裝T0時間常數(shù)
        res1: ldi temp,$02 ;允許T0中斷,并計時
        out timsk,temp
        sei ;開中斷
        res2: clr r6
        clr r7
        sbi PORTb,1
        sbi PORTB,0
        res3: ldi temp,$af
        res4: rcall colodis ;時鐘走時顯示
        dec temp
        brne res4
        sbis pinb,7 ;鍵掃描
        rjmp PB7M
        sbis pinb,4
        rjmp BP4M ;去參數(shù)設(shè)置
        rjmp res3

        ;****《系統(tǒng)功能程序》

        .org $0080 ;定義系統(tǒng)功能程序存放區(qū)首址

        ;****32點打鈴器工作程序*******************************************************

        PB7M: cbi PORTb,1 ;置運行指示燈亮
        clr r25
        clr r7
        GNCX11:ldi r17,TIMECTR ;首個控制點EEPRON地址
        clr r18
        lsl r25
        lsl r25
        add r17,r25 ;取得EEPRON中控制點地址(Aj=A0+4*j),A=(r17),j=(r25)
        lsr r25
        lsr r25
        rcall EERead
        cpi r16,0
        breq GNCX12 ;r16=(r17)=0為“ON”
        inc r25
        cpi r25,31
        brmi GNCX11
        rjmp GNCX16
        GNCX12:inc r17
        rcall EERead
        cp r16,r10
        brne GNCX13
        inc r17
        rcall EERead
        cp r16,r11
        brne GNCX14
        inc r17
        rcall EERead
        mov r7,r16
        inc r7
        cbi PORTb,0
        rjmp GNCX15
        GNCX13:dec r17
        inc r25
        rjmp GNCX11
        GNCX14:dec r17
        dec r17
        inc r25
        rjmp GNCX11
        GNCX15:cpi TIM0INT,1
        brne GNCX17
        clr TIM0INT
        dec r7
        brne GNCX17
        clr r7
        sbi PORTb,0
        rjmp GNCX16
        GNCX17:rcall colodis
        sbic pinb,7
        rjmp GNCX15
        rjmp res2
        GNCX16:ldi temp,$5f
        GNCX18:rcall colodis
        dec temp
        brne GNCX18
        sbic pinb,7
        rjmp GNCX11
        rjmp res2

        ;****打鈴器參數(shù)設(shè)置

        BP4M: ldi temp3,$ff
        ldi temp4,$f
        BP4M1: nop
        rcall colodis
        sbic pinb,4
        rjmp res1
        dec temp3 ;PB4有按下
        brne BP4M1
        inc temp3
        dec temp4
        brne BP4M1
        ldi temp3,$ff ;超3秒進入
        ldi temp4,$f
        BP4M2: clr yh
        ldi yl,low(DISBUF) ;設(shè)置顯示cloc.
        ldi temp,25
        st y+,temp
        st y+,temp
        ldi temp,18
        st y+,temp
        ldi temp,19
        st y+,temp
        ldi temp,20
        st y+,temp
        ldi temp,18
        st y,temp
        ldi zl,low(XSDBZ)
        clr zh
        ldi temp,0b00100000 ;b0-5對應(yīng)LED自左到右1-6位的小數(shù)點,置“1”在該位置小數(shù)點。


        上一頁 1 2 3 下一頁

        關(guān)鍵詞: 單片機 打鈴器 AT90S8515

        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉