新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 51單片機(jī)系列之:閃爍燈

        51單片機(jī)系列之:閃爍燈

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

        一、設(shè)計(jì)任務(wù)

        1、做單個(gè)燈的閃爍,在P1.0端口接一個(gè)的D1,使D1不停地一亮和一滅,時(shí)間間隔大約為0.125秒。

        2、做一個(gè)流水燈的設(shè)計(jì),在P0.0端口分別對(duì)應(yīng)接上8個(gè)LED燈(在此,每個(gè)端口接上了3個(gè)燈),使這8個(gè)燈循環(huán)亮滅:P0.0—P0.1—P0.2—……—P0.7。

        3做完上面兩個(gè)了,現(xiàn)在來設(shè)計(jì)任意燈的點(diǎn)亮。


        二、設(shè)計(jì)程序

        //單片機(jī)的p1.0口接一個(gè)閃光的二極管(設(shè)計(jì)1)

               org 0hljmp mainorg 30hmain: clr  p1.0acall delaysetb p1.0acall delaysjmp maindelay:mov R7,#250d1 :mov R6,#250    djnz R6,$djnz R7,d1retend//單片機(jī)的P0口接上8個(gè)燈,使這8個(gè)燈循環(huán)點(diǎn)亮(設(shè)計(jì)2)START: MOV ACC,#0FEHMOV P0,ACCMOV  R0,7LOOP1: RL AMOV P0,ACCACALL DELAYDJNZ R0,LOOP1AJMP STARTDELAY: MOV R0,255L1:  MOV R1,255DJNZ R1,$DJNZ R1,$DJNZ R0,L1RETEND//任意燈的點(diǎn)亮(設(shè)計(jì)3)START: MOV ACC,#7EH  ;1和8燈亮MOV P0,ACCACALL DELAYMOV ACC,#0BDH  ;2和7燈亮MOV P0,ACCACALL DELAY  MOV ACC,#0DBH  ;3和6燈亮MOV P0,ACCACALL DELAYMOV ACC,#0E7H  ;4和5燈亮MOV P0,ACCACALL DELAYMOV ACC,#0FCH  ;1和2燈亮MOV P0,ACCACALL DELAYMOV ACC,#0F3H  ;3和4燈亮MOV P0,ACCACALL DELAYMOV ACC,#0CFH  ;5和6燈亮MOV P0,ACCACALL DELAYMOV ACC,#3FH    ;7和8燈亮MOV P0,ACCACALL DELAY AJMP STARTDELAY: MOV R0,255L1:  MOV R1,255DJNZ R1,$DJNZ R1,$DJNZ R1,$DJNZ R0,L1RETEND


        評(píng)論


        相關(guān)推薦

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

        關(guān)閉
        主站蜘蛛池模板: 哈尔滨市| 西乌珠穆沁旗| 镇雄县| 房山区| 内黄县| 旺苍县| 南川市| 舞钢市| 天全县| 新营市| 辽宁省| 专栏| 新竹县| 河西区| 汉中市| 安顺市| 荥阳市| 鹿邑县| 衢州市| 郴州市| 北票市| 辽阳市| 余庆县| 闸北区| 威远县| 集贤县| 甘孜县| 大城县| 临泉县| 商洛市| 泰兴市| 鲁山县| 阿克陶县| 溧阳市| 大渡口区| 林芝县| 祥云县| 平凉市| 元谋县| 井陉县| 安多县|