色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > PIC單片機(jī)計(jì)時(shí)秒表程序設(shè)計(jì)

          PIC單片機(jī)計(jì)時(shí)秒表程序設(shè)計(jì)

          作者: 時(shí)間:2012-12-11 來(lái)源:網(wǎng)絡(luò) 收藏

          ;*********** TMR0初始化子程序***************
          CLKINSUB
          MOVLW 0XCF
          MOVWF T0CON ;設(shè)定TMR0L工作于8位定時(shí)器方式
          ;內(nèi)部時(shí)鐘,TMR0不用分頻
          BCF INTCON,TMR0IF ;清除TMR0的中斷標(biāo)志
          BCF INTCON,GIE ;總中斷禁止
          BSF INTCON,TMR0IE ;TMR0中斷允許
          BSF INTCON2,2 ;TMR0中斷高優(yōu)先級(jí)
          BSF RCON,7 ;使能中斷優(yōu)先級(jí)
          RETURN
          ;***************系統(tǒng)初始化子程序*****************
          MAINSUB
          BCF TRISA,5 ;置RA5為輸出方式,以輸出鎖存信號(hào)
          BCF TRISB,1
          BCF TRISA,3
          BCF TRISE,0
          BCF TRISE,1
          BSF TRISB,4 ;設(shè)置與鍵盤(pán)有關(guān)的各口的輸入輸出方式
          BCF TRISC,5
          BCF TRISC,3 ;設(shè)置SCK與SDO為輸出方式
          BCF INTCON,GIE ;關(guān)閉所有中斷
          MOVLW 0XC0
          MOVWF SSPSTAT ;設(shè)置SSPSTAT寄存器
          MOVLW 0X30
          MOVWF SSPCON1 ;設(shè)置SPI的控制方式,允許SSP方式,
          ;并且時(shí)鐘下降沿發(fā)送,與"74HC595當(dāng)
          ;其SCLK從低到高平跳變時(shí),串行輸入數(shù)據(jù)
          ;(DI)移入寄存器"的特點(diǎn)相對(duì)應(yīng)
          RETURN ;返回
          ;***********鍵掃描子程序********************
          KEYSCAN
          BCF PORTB,1
          BCF PORTA,3
          BCF PORTE,0
          BCF PORTE,1 ;送低電平至K1,K2,K3,K4
          RETURN
          ;*********鍵盤(pán)去抖子程序(8ms的延時(shí))******************
          KEYDELAY
          MOVLW 0X0A
          MOVWF DEYH
          AGAIN2 MOVLW 0XFF
          MOVWF DEYL
          AGAIN1 DECFSZ DEYL,1
          GOTO AGAIN1
          DECFSZ DEYH,1
          GOTO AGAIN2 ;具體程序語(yǔ)句參考3. 2節(jié)
          RETURN
          ;*************顯示緩沖區(qū)處理子程序****************
          XIANHUAN
          MOVLW 0XA0
          MOVWF FSR0L
          RLNCF S0,0
          MOVWF TEMP
          INCF TEMP,0
          MOVWF INDF0
          INCF FSR0L
          RLNCF S1,0
          MOVWF TEMP
          INCF TEMP,0
          MOVWF INDF0
          INCF FSR0L
          RLNCF S2,0
          MOVWF TEMP
          INCF TEMP,0
          MOVWF INDF0
          INCF FSR0L
          RLNCF S3,0
          MOVWF TEMP
          INCF TEMP,0
          MOVWF INDF0
          RETURN
          ;**************主程序******************
          MAIN NOP
          CALL MAINSUB ;系統(tǒng)初始化
          CALL CLKINSUB ;調(diào)用時(shí)鐘初始化子程序
          DENJIAN BCF INTCON,GIE
          CLRF S0
          CLRF S1
          CLRF S2
          CLRF S3
          CLRF SREG
          CLRF LEDF ;S0=S1=S2=S3=0
          CALL XIANHUAN ;把S3、S2、S1、S0的值裝入顯示緩沖區(qū)
          CALL DISPLAY ;顯示
          DENAN BCF INTCON,GIE ;關(guān)中斷
          CALL KEYSCAN ;進(jìn)行鍵掃描
          BTFSS PORTB,4
          GOTO XIAODOU1 ;如起始鍵按下,則消抖動(dòng)
          GOTO DENAN ;如起始鍵沒(méi)按下,則繼續(xù)等待
          XIAODOU1
          CALL KEYDELAY ;延時(shí)消抖動(dòng)
          CALL KEYSCAN ;再次進(jìn)行鍵掃描
          BTFSC PORTB,4
          GOTO DENAN ;若為干擾,則再次等待鍵按下
          CLRF S0
          CLRF S1
          CLRF S2
          CLRF S3
          CLRF SREG ;設(shè)置新一次計(jì)時(shí)的初始條件
          WAITS CALL KEYSCAN
          BTFSS PORTB,4
          GOTO WAITS ;為了防止按鍵過(guò)于靈敏,等鍵松開(kāi)后再進(jìn)行
          ;下面的操作
          BSF INTCON,GIE ;開(kāi)總中斷
          HERE CALL XIANHUAN ;顯示緩沖區(qū)處理
          CALL DISPLAY ;即時(shí)更新顯示內(nèi)容
          CALL KEYSCAN
          BTFSS PORTB,4
          GOTO XIAODOU ;若停止計(jì)時(shí)鍵按下,則消抖
          GOTO HERE ;若停止計(jì)時(shí)鍵沒(méi)按下,則繼續(xù)等待中斷計(jì)時(shí)
          XIAODOU
          CALL DISPLAY ;利用消抖動(dòng)時(shí)間調(diào)用顯示程序
          CALL DISPLAY
          CALL DISPLAY
          CALL DISPLAY
          CALL DISPLAY
          CALL DISPLAY
          CALL DISPLAY
          CALL DISPLAY
          CALL DISPLAY
          CALL KEYSCAN
          BTFSC PORTB,4
          GOTO HERE ;若為干擾,則繼續(xù)等待停止鍵按下
          BCF INTCON,GIE ;若停止鍵按下,則禁止中斷
          CALL DISPLAY ;若不為干擾,則禁止中斷,更新顯示內(nèi)容
          WAITR CALL KEYSCAN
          BTFSS PORTB,4
          GOTO WAITR ;為了防止按鍵過(guò)于靈敏,等鍵松開(kāi)后再進(jìn)行
          ;下面的操作
          DENDAI CALL KEYSCAN
          BTFSC PORTB,4
          GOTO DENDAI ;循環(huán)進(jìn)行鍵掃描,等待清0鍵按下
          CALL KEYDELAY ;延時(shí)消抖
          CALL KEYSCAN
          BTFSC PORTB,4
          GOTO DENDAI
          WAIT19 CALL KEYSCAN
          BTFSS PORTB,4
          GOTO WAIT19 ;等鍵松開(kāi)
          GOTO DENJIAN ;新一次計(jì)時(shí)開(kāi)始
          END

          51單片機(jī)相關(guān)文章:51單片機(jī)教程


          c語(yǔ)言相關(guān)文章:c語(yǔ)言教程


          單片機(jī)相關(guān)文章:單片機(jī)教程


          單片機(jī)相關(guān)文章:單片機(jī)視頻教程


          單片機(jī)相關(guān)文章:單片機(jī)工作原理



          上一頁(yè) 1 2 3 下一頁(yè)

          評(píng)論


          相關(guān)推薦

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

          關(guān)閉