在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            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ò) 收藏

            //主程序
            //http://www.51hei.com提供此單片機(jī)程序有問(wèn)題請(qǐng)聯(lián)系
            main()
            {
            tmint(); //TMR0初始化
            initial(); //spi顯示初始化及系統(tǒng)其它部分初始化
            INTCONbits.GIE=0; //總中斷禁止
            while(1)
            {
            for(k=0;k4;k++)
            {
            s[k]=0;
            }
            sreg=0; //賦顯示初值
            dispaly(); //調(diào)用一次顯示子程序
            KEYSCAN(); //鍵掃描,直到開始鍵按下
            keyrelax(); //等鍵松開
            INTCONbits.GIE=1; //總中斷允許
            KEYSCAN(); //鍵掃描直到停止鍵按下,在鍵掃描時(shí)有顯示
            keyrelax(); //等鍵松開
            INTCONbits.GIE=0; //總中斷禁止
            KEYSCAN(); //鍵掃描到清0鍵按下,在鍵掃描時(shí)有顯示
            keyrelax(); //等鍵松開
            }
            }

            ---------------------匯編語(yǔ)言版本的pic單片機(jī)程序設(shè)計(jì)--------------------------------------;此程序?qū)崿F(xiàn)功能
            ;:00.00秒-99.99秒,分辨度:0.01秒
            ;通過(guò)按鍵來(lái)啟動(dòng)計(jì)時(shí)、停止計(jì)時(shí)及清0
            ;即第一次按下任意鍵開始計(jì)時(shí),第二次按下任意鍵停止計(jì)時(shí) ;第三次按下任意鍵使LED清0,等待下一次計(jì)時(shí)開始

            LIST P=18F458
            INCLUDE "P18F458.INC"

            S0 EQU 0X20 ;0.01 秒計(jì)時(shí)器
            S1 EQU S0+1 ;0.1 秒計(jì)時(shí)器
            S2 EQU S0+2 ;1 秒計(jì)時(shí)器
            S3 EQU S0+3 ;10 秒計(jì)時(shí)器
            SREG EQU S0+4 ;軟計(jì)數(shù)器
            LEDF EQU S0+5 ;顯示的LED的位置指示寄存器
            XW_TEMP EQU S0+6 ;用于中斷中保護(hù)W的值
            XHOSTS EQU S0+7 ;用于中斷中保護(hù)STATUS的值
            DEYH EQU S0+8
            DEYL EQU S0+9 ;以上兩個(gè)寄存器用于軟件延時(shí)
            HOSTF EQU S0+0A ;用于中斷中保護(hù)FSR0L的值
            TEMP EQU S0+0B ;用于存放臨時(shí)值

            ORG 0X00
            GOTO MAIN
            ORG 0X08
            GOTO CLKINT ;轉(zhuǎn)向中斷服務(wù)程序
            ORG 0X30

            ;數(shù)字到段碼的轉(zhuǎn)換子程序(最好放在程序開頭,避免超過(guò)2K的空間發(fā)生跨頁(yè)讀表)
            ;************不帶小數(shù)點(diǎn)的共陽(yáng)極碼表**************
            CONVERT ADDWF PCL,1
            RETLW 0XC0 ;0,顯示段碼與具體的硬件連接有關(guān)
            RETLW 0XF9 ;1
            RETLW 0XA4 ;2
            RETLW 0XB0 ;3
            RETLW 0X99 ;4
            RETLW 0X92 ;5
            RETLW 0X82 ;6
            RETLW 0XD8 ;7
            RETLW 0X80 ;8
            RETLW 0X90 ;9
            RETLW 0X88 ;A
            RETLW 0X83 ;B
            RETLW 0XC6 ;C
            RETLW 0XA1 ;D
            RETLW 0X86 ;E
            RETLW 0X8E ;F
            RETLW 0X7F ;"."
            RETLW 0XBF ;"-"
            RETLW 0X89 ;H
            RETLW 0XFF ;DARK
            RETURN

            ;*********帶小數(shù)點(diǎn)的共陽(yáng)極碼表***********
            CONVERT2 ADDWF PCL,1
            RETLW 0X40 ;0
            RETLW 0X79 ;1
            RETLW 0X24 ;2
            RETLW 0X30 ;3
            RETLW 0X19 ;4
            RETLW 0X12 ;5
            RETLW 0X02 ;6
            RETLW 0X78 ;7
            RETLW 0X00 ;8
            RETLW 0X10 ;9
            RETURN

            ;***********SPI發(fā)送顯示子模塊************
            TRANSMIT
            CLRF PORTA ;LACK送低電平,為鎖存做準(zhǔn)備
            MOVWF SSPBUF ;啟動(dòng)發(fā)送
            WAIT NOP
            BTFSS PIR1,SSPIF
            GOTO WAIT ;等待發(fā)送結(jié)束
            BCF PIR1,SSPIF ;清除中斷標(biāo)志
            RETURN

            ;***********顯示子程序模塊************
            DISPLAY
            MOVLW 0X01
            MOVWF LEDF
            MOVLW 0XA0
            MOVWF FSR0L
            AGAINXIAN
            MOVF LEDF,W
            SUBLW 0X03
            BTFSS STATUS,Z
            GOTO XIANB
            MOVF INDF0,W
            CALL CONVERT2 ;若是個(gè)位,則查帶小數(shù)點(diǎn)的碼表
            GOTO TRAN
            XIANB MOVF INDF0,W
            CALL CONVERT
            TRAN CALL TRANSMIT ;發(fā)送一個(gè)顯示數(shù)據(jù)
            INCF FSR0L
            INCF LEDF
            MOVF LEDF,W
            SUBLW 0X05
            BTFSS STATUS,Z
            GOTO AGAINXIAN
            MOVLW 0X01
            MOVWF LEDF
            XIANDARK
            MOVLW 0X27
            CALL CONVERT
            CALL TRANSMIT
            INCF LEDF
            MOVF LEDF,W
            SUBLW 0X05
            BTFSS STATUS,Z
            GOTO XIANDARK ;顯示4個(gè)"DARK"
            BSF PORTA,5 ;最后給一個(gè)鎖存信號(hào),代表一次顯示任務(wù)完成
            RETURN
            ;********** S0計(jì)數(shù)溢出處理子程序***************
            CS0
            CLRF S0
            INCF S1
            RETURN
            ;********** S1計(jì)數(shù)溢出處理子程序***************
            CS1
            CLRF S1
            INCF S2
            RETURN
            ;********** S2計(jì)數(shù)溢出處理子程序***************
            CS2
            CLRF S2
            INCF S3
            RETURN
            ;********** S3計(jì)數(shù)溢出處理子程序***************
            CS3
            CLRF S3
            RETURN
            ;***********時(shí)鐘中斷服務(wù)程序*******************
            CLKINT
            MOVWF XW_TEMP ;保存W的值
            SWAPF STATUS,W
            MOVWF XHOSTS ;暫存STATUS的值
            MOVF FSR0L,W
            MOVWF HOSTF ;保存FSR0L的值。以上程序?yàn)橹袛喱F(xiàn)場(chǎng)保護(hù)
            MOVLW 0X13
            MOVWF TMR0L ;對(duì)TMR0L寫入一個(gè)調(diào)整值,因?yàn)閷懭?BR> ;TMR0L后接著的兩個(gè)周期不能增量
            BCF INTCON,T0IF ;清除中斷標(biāo)志
            INCF SREG
            MOVF SREG,W
            SUBLW 0X28 ;TMR0L 每250us中斷一次
            BTFSS STATUS,Z ;其中斷40次后才執(zhí)行對(duì)S0 S1 S2 S3 的操作
            GOTO TIFAN
            CLRF SREG
            INCF S0
            MOVF S0,W
            SUBLW 0X0A
            BTFSC STATUS,Z
            CALL CS0
            MOVF S1,W
            SUBLW 0X0A
            BTFSC STATUS,Z
            CALL CS1
            MOVF S2,W
            SUBLW 0X0A
            BTFSC STATUS,Z
            CALL CS2
            MOVF S3,W
            SUBLW 0X0A
            BTFSC STATUS,Z
            CALL CS3
            TIFAN
            MOVF HOSTF,W ;以下為中斷現(xiàn)場(chǎng)恢復(fù)
            MOVWF FSR0L ;恢復(fù)間接尋址指針FSR0L的值
            SWAPF XHOSTS,W
            MOVWF STATUS ;恢復(fù)STATUS的值
            SWAPF XW_TEMP,1
            SWAPF XW_TEMP,W ;恢復(fù)W的值
            RETFIE

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


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


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


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


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




            評(píng)論


            相關(guān)推薦

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

            關(guān)閉