;************************************************ ; 按鍵中斷報(bào)警.dt ;************************************************ PORT6 == 0x06 ;定義端口6,7 PORT7 == 0x07 ;----------------------------------------------------------------------- IOCE == 0x0E ;定義看門(mén)狗控制寄存器IOCE IOCF == 0x0F ;定義中斷屏蔽寄存器IOCF ISR == 0X3F ;定義中斷狀態(tài)寄存器ISR ;----------------------------------------------------------------------- DLY1 == 13 ;定義延時(shí)暫存單元DLY1,DLY2,DLY3 DLY2 == 14 DLY3 == 15 COUNT == 16 ;定義計(jì)數(shù)暫存單元COUNT EXIE == 3 ;定義中斷屏蔽寄存器的第3位EXIE ;允許外部中斷時(shí)需將EXIE置1 EXIF == 3 ;定義中斷狀態(tài)寄存器的第3位EXIT ;中斷響應(yīng)以后EXIF自動(dòng)置1,要用程序清0 ;----------------------------------------------------------------------- ORG 0x00 JMP INIT ORG 0x01 JMP INT_SERVICE INIT: MOV A,@0x00 ;設(shè)定P6口,P7口全部為輸出 IOW PORT6 IOW PORT7 MOV A,@0X11 ;關(guān)閉看門(mén)狗功能 IOW IOCE MOV A,@0XFF ;LED數(shù)碼管顯示全暗 MOV PORT6,A MOV A,@0X20 ;設(shè)定延時(shí)時(shí)間 MOV DLY3,A BC PORT7,1 ;P71低電平,繼電器接通,電動(dòng)機(jī)運(yùn)行 MOV A,@0x0A ;為計(jì)數(shù)器置數(shù)10 MOV COUNT,A MOV A,@0B00001000 ;將中斷屏蔽寄存器第3位置1,允許外部中斷 IOW IOCF ;----------------------------------------------------------------------- MAIN: ENI ;允許中斷,將控制寄存器第6位INT置1 MAIN1: JMP MAIN1 ;等中斷 ;----------------------------------------------------------------------- INT_SERVICE:BS PORT7,1 ;P71高電平,繼電器斷開(kāi),電動(dòng)機(jī)仃止 INT_S1 MOV A,@0X00 ;LED數(shù)碼管顯示全亮 MOV PORT6,A CALL DELAY ;延時(shí) MOV A,@0XFF ;LED數(shù)碼管顯示全暗 MOV PORT6,A CALL DELAY ;延時(shí) DJZ COUNT ;計(jì)數(shù)器減1,閃爍10次到否? JMP INT_S1 ;未到,繼續(xù)閃爍 BC ISR,EXIF ;已到,清除中斷響應(yīng)標(biāo)志,為下次中斷作準(zhǔn)備 MOV A,@0x0A ;重新為計(jì)數(shù)器置數(shù)10 MOV COUNT,A BC PORT7,1 ;P71底電平,繼電器接通,電動(dòng)機(jī)運(yùn)行 RETI ;中斷返回,將控制寄存器第6位INT置1 ;----------------------------------------------------------------------- DELAY: MOV A,@20 ;1*(DLY3) 延時(shí)子程序 MOV DLY2,A ;1*(DLY3) INNER2: MOV A,@5 ;1*(DLY3)*(250) MOV DLY1,A ;1*(DLY3)*(250) INNER1: DJZ DLY1 ;1*(DLY3)*(250)*(133) JMP INNER1 ;2*(DLY3)*(250)*(133) DJZ DLY2 ;1*(DLY3)*(250) JMP INNER2 ;2*(DLY3)*(250) DJZ DLY3 ;1*(DLY3) JMP DELAY ;2*(DLY3) RET ;延時(shí)子程序返回 EOP |