新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 單片機秒表課程設計

        單片機秒表課程設計

        作者: 時間:2013-03-12 來源:網絡 收藏

        ;***********************************************************
        ; 暫停鍵K3,快加鍵K4程序
        ;***********************************************************
        here:jb p1.0,here
        show:clr tr1
        clr tr0
        acall xianshi
        kuaijia:jb p1.2,kuaijia ;等待P1.2為0 快加
        clr tr0
        setb tr1
        here3:jnb p1.2,here3
        ajmp here
        ;***********************************************************
        ; 外部中斷INT0子程序-----計時按鍵K1子程序
        ;***********************************************************
        zhongduan0: setb tr0 ;計時按鍵
        reti
        ;***********************************************************
        ; 外部中斷INT1子程序----復位按鍵K2子程序
        ;***********************************************************
        zhongduan1:clr tr0 ;復位按鍵
        clr tr1
        mov 12h,#00h
        mov 11h,#00h
        acall xianshi ;調用顯示子程序
        mov r1,#00h
        mov r2,#00h
        reti
        ;***********************************************************
        ; 加一子程序
        ;***********************************************************
        jia1: inc r1 ;加1子程序
        cjne r1,#0ah ,loop ;判斷是否到表尾
        mov r1,#00h
        inc r2
        cjne r2,#0ah,loop
        mov r2,#00h
        loop: mov 12h,r1 ;重新賦值
        mov 11h,r2
        ret
        ;***********************************************************
        ; 顯示子程序
        ;***********************************************************
        xianshi:mov r7,#02h ;2個數碼管顯示子程序
        mov r0,#12h
        loop5: mov r6,#08h ;8位2進制數
        mov a,@r0
        movc a,@a+dptr
        loop6:rlc a ;循環左移
        clr p3.1
        mov p3.0,c
        setb p3.1
        djnz r6,loop6
        dec r0
        djnz r7,loop5
        ret
        ;***********************************************************
        ; 定時器T0子程序
        ;***********************************************************
        yanshi: mov tl0,#2Ch ;定時子程序
        mov th0,#0CFh
        djnz r3,loop7
        acall jia1 ;調用加1子程序
        acall xianshi ;調用顯示子程序
        mov r3,#40
        loop7: reti
        ;***********************************************************
        ;定時器T1子程序
        ;***********************************************************
        dingshi1:mov tl1,#78h ;置初值,定時10MS
        mov th1,#0ech
        clr tr0
        setb tr1
        mov 12h,r1
        mov 11h,r2
        jnb p1.0,show
        acall jia1
        acall xianshi
        lop7:reti
        ;***********************************************************
        tab:db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh
        end

        十一、課程設計心得體會
        1、 認真審題,看懂題目的要求!選擇適當的課題,不益太簡單或者太難。做到既能把課題完成又能鍛煉自己的能力!
        2、 根據課題要求,復習相關的知識,查詢相關的資料。
        3、 根據實驗條件,找到適合的方案,找到需要的元器件及工具,準備實驗。
        4、 根據課程設計的要求和自己所要增加的功能寫好程序流程圖,在程序流程圖的基礎上,根據芯片的功能寫出相應的程序。然后再進行程序調試和相應的修改,以達到能夠實現所要求的功能的目的。
        5、 還要根據實驗的實際情況,添加些額外程序來使系統更加的穩定,如開關的消震蕩(采用延遲)。
        6、 程序要盡量做到由各個子程序組成,在有些程序后面最好加注釋,這樣在程序出錯的檢查過程中可以更容易查找的到,也更簡潔,更明白易懂。
        7、 該實驗的程序可以參考DVCC系列微機仿真實驗系統實驗指導書中的串并轉換實驗,也可自己根據自己熟悉的方法來編程。
        8、 在設計控制開關時,注意2個中斷的打開和關閉的先后順序,否則就會出錯。
        9、 這次的課程設計重點是理論與實際的相結合。不再只讀書了。
        10、 該設計從頭到尾都要自己參與,熟悉了對整個設計的過程,更系統的鍛煉了自己。

        此設計完畢!!

        -------------------------------------------------------
        下面提供一個程序(供參考的)
        ;開機初始化
        MOV P3,#0FFH;對P3口初始化,設置為高電平,用于
        MOV P0,#0FFH;使顯示時間數碼管熄滅
        CLR F0
        CLR F1
        MOV DPTR,#NUMTAB ;指定查表啟始地址
        ;等待
        ;根據按鍵的輸入判斷執行什么功能

        ;按鍵1按下則執行功能1
        MOV P3,#0FFH;對P3口初始化,設置為高電平,用于
        MOV P0,#0FFH;使顯示時間數碼管熄滅
        START:JB P3.6,START1;循環判斷開始按鈕K1是否按下?
        ACALL DELAY10;延時10毫秒觸點消抖
        JB P3.6,START;如果是干擾就返回
        JNB P3.6,$;等待按鍵松開
        LJMP GN1

        ;按鍵2按下則執行功能2

        START1: JB P3.7,START;循環判斷開始按鈕K2是否按下?
        ACALL DELAY10;延時10毫秒觸點消抖
        JB P3.7,START1;如果是干擾就返回
        JNB P3.7,$
        LJMP GN2



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 睢宁县| 大兴区| 柘荣县| 江都市| 尚义县| 江源县| 报价| 吐鲁番市| 盈江县| 呈贡县| 永福县| 丰城市| 万荣县| 甘孜县| 闵行区| 临夏县| 贵港市| 建阳市| 类乌齐县| 安吉县| 黔西| 中牟县| 贞丰县| 南郑县| 太仓市| 安吉县| 怀集县| 扎鲁特旗| 南靖县| 乐昌市| 南开区| 读书| 中西区| 华亭县| 雷州市| 衡山县| 商水县| 荥经县| 独山县| 临安市| 化隆|