在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,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首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 單片機(jī)匯編實(shí)驗(yàn)三:外部中斷實(shí)驗(yàn)

            單片機(jī)匯編實(shí)驗(yàn)三:外部中斷實(shí)驗(yàn)

            作者: 時間:2016-12-01 來源:網(wǎng)絡(luò) 收藏
            實(shí)驗(yàn)要求:

            由AT89S52內(nèi)部定時器0,按方式1工作,即作為16位定時器使用每0.05秒T1溢出中斷一次。P1口的P1.0~P1.8分別接8個發(fā)光二極管。要求編寫程序模擬一時序控制裝置。開機(jī)后第一秒鐘L1,L8亮,第二秒鐘L2,L7亮,第三秒鐘L3,L6亮,第四秒L4,L5亮,第五秒L3,L6亮,第六秒L2,L7亮,第七秒L1,L8亮,第八秒L1,L3,L5,L7亮,第九秒L2,L4,L6,L8亮,第十秒全亮,第十一秒全滅。然后再從頭循環(huán)。

            本文引用地址:http://www.biyoush.com/article/201612/324148.htm

            由鍵盤生成外部中斷信號,當(dāng)任意鍵按下時,為外部中斷請求信號,此時L3,L4, L5,L6亮,持續(xù)時間為5秒。
            //This is the third program of the homework;
            //Name: WQ DATE: 2013214
            //In thisprogramwe used Intterput;
            ORG 0000H //****無條件轉(zhuǎn)移指令*******
            LJMP MAIN //LJMP 長轉(zhuǎn)移指令 65535 (雙字節(jié))
            ORG 0003H //0003H 中斷程序I0入口地址
            LJMP WINTT0 //AJMP 絕對轉(zhuǎn)移
            ORG 000BH //000BH 計時器程序T0入口地址
            LJMP WT0 //SJMP 短轉(zhuǎn)移 -128——127
            // ORG 001BH //001BH 計時器程序T1入口地址 JMP 變址轉(zhuǎn)移 JMP @A+DPTR
            // LJMP WT1 //另外只要程序段的空間能合理分配不沖突就能隨便調(diào)用
            ORG 0050H
            MAIN:MOV DPTR,#TABLE
            MOV R1,#11 //R1做一個計數(shù)器 查表用
            CLR A //將A清零,用來尋址
            MOV R2,A //另一個計數(shù)器用來加減
            MOV TMOD,#01H
            MOV TH0,#4CH
            MOV TL0,#00H
            MOV R3,#20 //R3做一個計數(shù)器
            SETB EA //開總中斷
            SETB ET0 //允許計時器
            SETB TR0 //開啟計時器0
            // SETB TR1 //開啟計時器1
            SETB IT0 //邊沿觸發(fā)方式
            SETB EX0 //允許外部中斷0
            MOV P0,#0FFH
            OK1: MOV C,P3.4
            JNC KAISHI
            MOV C,P3.5
            JNC KAISHI
            MOV C,P3.6
            JNC KAISHI
            MOV C,P3.7
            JNC KAISHI
            SJMP OK1
            KAISHI:CLR P3.2
            SETB P3.2
            SJMP OK1

            //外部中斷程序的入口
            ORG 0AA0H
            WINTT0:PUSH TH0
            PUSH TL0
            CLR TR0 //關(guān)閉定時器0
            MOV P1,#3CH
            CALL DELAY1
            POP TL0
            POP TH0
            SETB TR0
            RETI
            ORG 0100H //計時器0程序
            WT0: MOV TH0,#4CH //計時器0置數(shù)
            MOV TL0,#00H
            DJNZ R3,RETN //1秒鐘到來了
            MOV R3,#20
            MOV A,R2 //
            MOVC A,@A+DPTR
            MOV P1,A
            INC R2 //指針加一
            DJNZ R1,RETN //不滿足調(diào)見返回主程序繼續(xù)計時
            MOV R1,#11 //循環(huán)之后置數(shù)
            MOV R2 ,#0 //循環(huán)之后清零
            RETN:RETI //中斷子程序的返回指令

            //延時函數(shù)
            ORG 0200H
            delay1:MOV R7,#0FFH
            DELY1:MOV R6,#0AAH
            DELY2:MOV R0,#024H
            DELY3: NOP//MOV P1,#00H
            DJNZ R0,DELY3
            DJNZ R6,DELY2
            DJNZ R7,DELY1
            RET
            TABLE:DB 7EH,0BDH,0DBH,0E7H,0DBH
            DB 0BDH,7EH,0AAH,55H,00H,0FFH //十六進(jìn)制數(shù)前面要加零
            END //主程序結(jié)束指令



            評論


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

            關(guān)閉