• <em id="6vhwh"><rt id="6vhwh"></rt></em>

    <style id="6vhwh"></style>

    <style id="6vhwh"></style>
    1. <style id="6vhwh"></style>
        <sub id="6vhwh"><p id="6vhwh"></p></sub>
        <p id="6vhwh"></p>
          1. 国产亚洲欧洲av综合一区二区三区 ,色爱综合另类图片av,亚洲av免费成人在线,久久热在线视频精品视频,成在人线av无码免费,国产精品一区二区久久毛片,亚洲精品成人片在线观看精品字幕 ,久久亚洲精品成人av秋霞

            單片機秒表課程設計(單片機秒表課程設計實驗報告)

            更新時間:2023-02-28 22:53:42 閱讀: 評論:0

            單片機秒表課程設計,急求!!!!

            原理圖如下,

            程序如下:

            ;=================================================

            ;寄存器分配定義

            ;=================================================

            LED_BUF EQU 50H ;顯示數據首址

            COUNTER_INT EQU 3BH ;中斷計數器

            SECOND EQU 3DH ;秒單元

            ;=================================================

            ;常數定義

            ;=================================================

            CN_COUNT_INT EQU 100 ;10ms * 100 = 1S

            SET_MODEL EQU 0FFH ;完全譯碼模式

            SET_BRIGHT EQU 04H ;占空比為15/32;顯示亮度;

            SET_LIMIT EQU 01H ;2位顯示方式;

            SET_NORMAL EQU 01H ;測試模式

            SET_START EQU 01H ;進入啟動工作方式?

            ;=================================================

            ;管腳分配定義

            ;=================================================

            m7219_DIN BIT P3.0

            m7219_LOAD BIT P3.1

            m7219_CLK BIT P3.2

            KEYSTART BIT P1.0

            KEYRESET BIT P1.1

            ;============================================

            ;模擬主程序

            ;===========================================


            org 0000h

            ajmp main

            ORG 000BH

            LJMP Timer0Interrupt

            org 0030h

            main:

            mov sp,#70h


            lcall Init_M7219

            lcall InitTimer0

            ; MOV SECOND,#95H ;TEST

            Loop:

            CALL disp

            key_ret:

            SETB KEYRESET

            JB KEYRESET,key_start

            ; DELAY

            NOP

            NOP

            NOP

            JB KEYRESET,key_start

            JNB KEYRESET,$

            CLR TR0

            MOV A,#0

            MOV SECOND,A

            MOV led_buf,A

            MOV LED_BUF+1,A

            JMP key_SCAN_END

            key_start:

            SETB KEYSTART

            JB KEYSTART,key_SCAN_END

            ; DELAY

            NOP

            NOP

            NOP

            JB KEYSTART,key_SCAN_END

            JNB KEYSTART,$

            SETB TR0

            key_SCAN_END:


            JMP loop

            ;===========================================

            InitTimer0:;10ms一次中斷

            MOV TMOD,#01H

            MOV TH0,#0D8H

            MOV TL0,#0F0H

            SETB EA

            SETB ET0

            RET

            ;===========================================

            Timer0Interrupt:

            PUSH DPH

            PUSH DPL

            PUSH ACC

            MOV TH0,#0D8H

            MOV TL0,#0F0H

            ;========================

            INC COUNTER_INT

            MOV A,COUNTER_INT ;10ms 計數值加1

            CJNE A,#CN_COUNT_INT,Timer0Interrupt_EXIT

            MOV COUNTER_INT,#0

            MOV A,SECOND

            CJNE A,#99H,Timer0Int_c

            CLR TR0;關閉計時

            JMP Timer0Interrupt_EXIT

            Timer0Int_c:

            ADD A,#01 ;秒加1

            DA A

            MOV SECOND,A

            SWAP A

            ANL A,#0fH

            MOV led_buf,A

            MOV A,SECOND

            ANL A,#0FH

            MOV LED_BUF+1,A

            ;========================

            Timer0Interrupt_EXIT:

            POP ACC

            POP DPL

            POP DPH

            RETI

            ;====================================================

            ; function:Init_M7219 ;初始化max719

            ; input: ------------

            ; output: ----------

            ; usage: a,b

            ;====================================================

            Init_M7219: ;初始化Max7219

            MOV a,#0bh ;設置掃描界限

            MOV b,#t_limit ;設置位數

            lcall w_7219

            MOV a,#09h ;設置譯碼模式

            MOV b,#t_model ;00h非譯碼模式;ffh為BCD譯碼模式

            lcall w_7219

            MOV a,#0ah ;設置亮度

            MOV b,#t_bright ;15/32亮度

            lcall w_7219

            MOV a,#0fh ;設置工作方式

            MOV b,#t_normal ;正常工作方式

            lcall w_7219

            MOV a,#0ch ;進入啟動工作方式

            MOV b,#t_start

            lcall w_7219

            RET


            ;===================================================

            ; function:disp ;顯示子程序

            ; input: r0

            ; output: -----------

            ; usage: r0,r3,r4,a,b

            ;===================================================

            disp:

            MOV r0,#led_buf

            MOV r4,#01h

            MOV r3,#t_limit

            INC r3

            disp1:

            MOV a,@r0

            MOV b,a

            MOV a,r4

            lcall w_7219

            INC r0

            INC r4

            djnz r3,disp1

            RET


            ;===================================================

            ; function:w_7219 ;顯示驅動程序;

            ; input: a ;傳送7219的地址

            ; b ;傳送7219的數據

            ; output:-------------

            ; usage: a,r2

            ;====================================================

            w_7219:

            CLR M7219_clk

            CLR M7219_din

            CLR M7219_load ;置load=0

            lcall sd_7219 ;傳送7219的地址

            MOV a,b

            lcall sd_7219 ;傳送數據

            tb M7219_load ;數據裝載

            CLR M7219_din

            RET

            ;=================================================

            ; function:sd_7219 ;向7219傳送數據或地址子程序

            ; input: a

            ; output: max7219

            ; usage: a, r2

            ;==================================================

            sd_7219: ;向7219送地址或數據

            MOV r2,#08h

            c_sd:

            CLR C

            CLR M7219_clk

            RLC a

            MOV M7219_din,c ;準備數據

            NOP

            tb M7219_clk ;上升沿將數據傳入

            NOP

            NOP

            CLR M7219_clk

            djnz r2,c_sd

            RET


            END


            如何用單片機匯編語言設計一個秒表

            設計一個秒表,需要考慮以下因素:

            1、因為視覺暫留的因素,一般而言到0.1秒的精度就可以了。

            2、需要有按鍵控制啟動、停止、清零這些功能。

            KEYVALEQU 30H
            DATEQU 33H
            SCANLEDEQU 39H
            CLKEQU 77H
            SECEQU 78H
            SEC1EQU 79H
            SEC2EQU 7AH
            DOTBIT 00H
            ORG 0000H
            LJMP MAIN
            ORG 0003H
            LJMP EXTINT0
            ORG 000BH
            LJMP T0ISR;50ms定時
            ORG 001BH
            LJMP T1ISR;掃描顯示
            ORG 0030H
            MAIN:
            MOV SP,#5FH
            MOV TMOD,#11H
            MOV TH0,#03CH
            MOV TL0,#0B0H
            MOV TH1,#0ECH
            MOV TL1,#078H
            MOV KEYVAL,#2
            MOV 33H,#10H
            MOV 34H,#10H
            MOV 35H,#10H
            MOV 36H,#10H
            MOV CLK,#0
            SETB IT0
            SETB EX0
            CLR TR0
            CLR ET0
            MOV R2,#0
            SETB TR1
            SETB ET1
            SETB EA
            LOOP:
            MOV A,KEYVAL
            LOOP1:
            JNZ LOOP2;啟動
            SETB TR0
            SETB ET0
            SJMP LOOP
            LOOP2:
            DEC A
            JNZ LOOP3;暫停
            CLR TR0
            CLR ET0
            SJMP LOOP
            LOOP3:
            DEC A
            JNZ LOOP;清零
            MOV 36H,#0
            MOV 35H,#0
            MOV 34H,#0
            MOV 33H,#0
            SJMP LOOP
            EXTINT0:
            PUSH ACC
            INC KEYVAL
            MOV A,KEYVAL
            CJNE A,#3,EXT00
            EXT00:
            JC EXT01
            MOV KEYVAL,#0
            EXT01:
            POP ACC
            RETI
            T0ISR:
            PUSH ACC
            CLR TR0
            MOV TH0,#3CH
            MOV TL0,#0B0H
            SETB TR0
            INC CLK
            MOV A,CLK
            CJNE A,#2,T0ISRE
            MOV CLK,#0
            INC 36H
            MOV A,36H
            CJNE A,#10,T0ISRE
            MOV 36H,#0
            INC 35H
            MOV A,35H
            CJNE A,#10,T0ISRE
            MOV 35H,#0
            INC 34H
            MOV A,34H
            CJNE A,#6,T0ISRE
            MOV 34H,#0
            INC 33H
            MOV A,33H
            CJNE A,#10,T0ISRE
            MOV 33H,#0
            T0ISRE:
            POP ACC
            RETI
            T1ISR:
            PUSH ACC
            CLR TR1
            MOV TH1,#0ECH
            MOV TL1,#78H
            SETB TR1
            MOV DPTR,#LEDTAB
            T100:
            MOV R0,#DAT
            MOV A,SCANLED
            ADD A,R0
            MOV R0,A
            MOV A,SCANLED
            JNZ T101
            MOV P2,#01H
            SETB DOT
            SJMP T1DIS
            T101:
            DEC A
            JNZ T102
            MOV P2,#02H
            CLR DOT
            SJMP T1DIS
            T102:
            DEC A
            JNZ T103
            MOV P2,#04H
            SETB DOT
            SJMP T1DIS
            T103:
            MOV P2,#08H
            CLR DOT
            T1DIS:
            MOV A,@R0
            MOVC A,@A+DPTR
            JNB DOT,T1DIS1
            ORL A,#01H
            T1DIS1:
            CPL A
            MOV P0,A
            INC SCANLED
            MOV A,SCANLED
            CJNE A,#4,T1END
            MOV SCANLED,#0
            T1END:
            POP ACC
            RETI
            LEDTAB:DB 0FCH;"0"00H
            DB 60H;"1"01H
            DB 0DAH;"2"02H
            DB 0F2H;"3"03H
            DB 66H;"4"04H
            DB 0B6H;"5"05H
            DB 0BEH;"6"06H
            DB 0E0H;"7"07H
            DB 0FEH;"8"08H
            DB 0F6H;"9"09H
            DB 0EEH;"A"0AH
            DB 3EH;"B"0BH
            DB 9CH;"C"0CH
            DB 7AH;"D"0DH
            DB 9EH;"E"0EH
            DB 8EH;"F"0FH
            DB 00H;" "10H
            END


            用51單片機做秒表設計

            遇到懶學生了,這個不就是一個定時器加顯示嗎,有什么難的,自己翻翻微機原理書就可以做 了,也就四五十行匯編語言就行了,用C就更加簡單,具體的方法:用定時器定時0.2ms,定時到了就給固定的一個變量加1,然后判斷這個變量是不是到了500,到了就清零然后把秒的變量加1,就是1s了,(分和時也是如此,秒為60,秒清零,分加1);主程序就只管顯示和按鍵,按鍵隨便用中斷還是查詢,我建議你查詢,因為程序簡單,顯示程序就是查個表,自己把數碼顯示的斷碼表編好就可以了,把秒的數值查表對應顯示,完了就查詢按鍵,按鍵累加,值為0是沒按,1是按1次,2是按2次,3是按3次,同時清零,很簡單的

            求用單片機設計一個秒表AT89C51

            ;匯編程序如下。

            ;使用T0定時方式1,每隔50ms中斷一次,用于修改時間及顯示

            ;使用外部中斷0、1,用于控制啟動和清零

            ;========================================================

            ORG0000H

            AJMPMAIN

            ORG0003H

            AJMPX0_INT

            ORG000BH

            AJMPT0_INT

            ORG0013H

            AJMPX1_INT

            MAIN:

            MOVTMOD,#01H;T0定時方式1

            MOVTH0,#(65536-50000)/256;50ms@12MHz

            MOVTL0,#(65536-50000)MOD256;

            SETBTR0

            SETBET0;開啟定時中斷

            SETBEX0

            SETBEX1

            SETBEA;定時器初始化結束,下面循環顯示即可

            MOVR1,#99H;0~99計數.

            MOVR7,#1;50ms計數.

            MOVP0,#0C0H

            MOVP2,#0C0H

            LOOP:

            SJMPLOOP

            ;-----------------------------------------------------------

            DELAY:;延時子程序.

            AA4:MOVR4,#0

            DJNZR4,$

            DJNZR4,$

            RET

            ;-----------------------------------------------------------

            X0_INT:;啟動/停止

            CPLF0

            RETI

            ;-----------------------------------------------------------

            X1_INT:;清零

            MOVR1,#0

            MOVP0,#0C0H

            MOVP2,#0C0H

            RETI

            ;-----------------------------------------------------------

            T0_INT:;50ms中斷執行一次.

            MOVTL0,#(65536-50000)MOD256;

            MOVTH0,#(65536-50000)/256;50ms@12MHz

            DJNZR7,T0_END;中斷不到20次.

            MOVR7,#20

            JNBF0,T0_END

            MOVA,R1

            ADDA,#1

            DAA

            MOVR1,A

            ANLA,#0FH

            MOVDPTR,#TAB

            MOVCA,@A+DPTR;查出段碼

            MOVP2,A

            MOVA,R1

            SWAPA

            ANLA,#0FH

            MOVCA,@A+DPTR;查出段碼

            MOVP0,A;顯示十位數.

            T0_END:

            RETI

            ;-----------------------------------------------------------

            TAB:

            DB0c0H,0f9H,0a4H,0b0H,99H,92H,82H,0f8H,80H,90H

            END

            ;===========================================================

            ;仿真截圖如下:


            用51單片機C語言版設計秒表倒計時

            K1 EQU P1.0
            K2 EQU P1.1
            K3 EQU P1.2
            ORG 0000H
            LJMP MAIN
            ORG 000BH
            LJMP T0ISR
            ORG 0030H
            MAIN:
            MOV TMOD,#01H
            MOV TH0,#HIGH(65536-10000)
            MOV TL0,#LOW(65536-10000)
            SETB ET0
            SETB TR0
            SETB EA
            MOV R0,#9
            MOV R1,#9
            MOV R2,#0
            MOV R3,#99
            CLR 00H
            CLR 01H
            LOOP:
            JB K1,LP01
            JNB K1,$
            CLR 01H
            INC R3
            CJNE R3,#100,LOOP0
            MOV R3,#0
            SJMP LOOP0
            LP01:
            JB K2,LP02
            JNB K2,$
            CLR 01H
            CJNE R3,#0,LP011
            MOV R3,#99
            SJMP LOOP0
            LP011:
            DEC R3
            SJMP LOOP0
            LP02:
            JB K3,LOOP
            JNB K3,$
            SETB 01H
            SJMP LOOP
            LOOP0:
            MOV A,R3
            MOV B,#10
            DIV AB
            MOV R0,B
            MOV R1,A
            SJMP LOOP
            T0ISR:
            CLR TR0
            MOV TH0,#HIGH(65536-10000)
            MOV TL0,#LOW(65536-10000)
            SETB TR0
            MOV DPTR,#TABLE
            T0C:
            CPL 00H
            JB 00H,T001
            MOV P3,#0FDH
            MOV A,R1
            MOVC A,@A+DPTR
            MOV P2,A
            SJMP T002
            T001:
            MOV P3,#0FEH
            MOV A,R0
            MOVC A,@A+DPTR
            MOV P2,A
            T002:
            JNB 01H,T0E
            INC R2
            MOV A,R2
            CJNE A,#100,T0E
            MOV R2,#0
            MOV A,R0
            JZ T003
            DEC R0
            SJMP T0E
            T003:
            MOV A,R1
            JZ T004
            DEC R1
            MOV R0,#9
            T0E:
            RETI
            T004:
            CLR 01H
            MOV R4,#16
            T005:
            CPL P0.0
            LCALL DELAY
            DJNZ R4,T005
            RETI
            DELAY:
            MOV R6,#200
            DLY:
            MOV R7,#250
            DJNZ R7,$
            DJNZ R6,DLY
            RET
            TABLE: ; 共陰極數碼管顯示代碼表
            DB 3FH,06H,5BH,4FH,66H ;01234
            DB 6DH,7DH,07H,7FH,6FH ;56789
            END

            本文發布于:2023-02-28 19:03:00,感謝您對本站的認可!

            本文鏈接:http://www.newhan.cn/zhishi/a/167759602252315.html

            版權聲明:本站內容均來自互聯網,僅供演示用,請勿用于商業和其他非法用途。如果侵犯了您的權益請與我們聯系,我們將在24小時內刪除。

            本文word下載地址:單片機秒表課程設計(單片機秒表課程設計實驗報告).doc

            本文 PDF 下載地址:單片機秒表課程設計(單片機秒表課程設計實驗報告).pdf

            標簽:秒表   單片機   課程設計   報告
            相關文章
            留言與評論(共有 0 條評論)
               
            驗證碼:
            推薦文章
            排行榜
            Copyright ?2019-2022 Comsenz Inc.Powered by ? 實用文體寫作網旗下知識大全大全欄目是一個全百科類寶庫! 優秀范文|法律文書|專利查詢|
            主站蜘蛛池模板: 猫咪社区免费资源在线观看| 日本一区二区不卡精品| 午夜福利偷拍国语对白| 国产av亚洲精品ai换脸电影 | 99精品伊人久久久大香线蕉| 两个人的视频高清在线观看免费| 成人网站免费观看永久视频下载| av无码东京热亚洲男人的天堂 | 99e久热只有精品8在线直播| 就去色最新网址| 免费无码一区无码东京热| 久久精品无码专区免费青青| 亚洲欧美综合中文| 婷婷丁香五月激情综合| 日韩一本不卡一区二区三区| 国产一区二区三区禁18| 久久精品国产一区二区蜜芽| 日韩国产亚洲一区二区三区| 中文字幕最新精品资源| 国产精品三级中文字幕| 国产精品无圣光一区二区| 国产精品一二区在线观看| 国产免费午夜福利在线播放| 成人看的污污超级黄网站免费| 制服丝袜长腿无码专区第一页| 国产成人剧情av在线| 成人午夜福利免费专区无码| 久久免费精品国产72精品| 国产精品无码a∨麻豆| 国产精品毛片va一区二区三区| 国产精品女人毛片在线看| 精品久久精品午夜精品久久| av午夜福利一片看久久| 亚洲激情一区二区三区视频| 国产太嫩了在线观看| 免费99精品国产人妻自在现线| 日本亚洲欧洲另类图片| 人人超人人超碰超国产| 国产国产午夜福利视频| 国产精品高清中文字幕| 东京热人妻丝袜无码AV一二三区观|