合泰單片機中斷嵌套
;數碼管段碼接法A-PD0,B-PD1....G-PD6,H-PD7
;數碼管位碼接法OM0-PC0...COM4-PC3
;源碼下載:http://www.51hei.com/f/htzdqt.rar
;1.開中斷
;2.中斷中防抖
;3.查表
;4.間接尋址
;5.定時器的使用
;中斷嵌套處理
include HT66F50.inc
ORG0000H
JMPA1
ORG04H;外部中斷0入口地址
JMPZD01;
ORG0014H ;多功能中斷入口地址
JMPZD1
ORG30H;
Q1:
DC03FH; 0
DC006H; 1
DC05BH; 2
DC04FH; 3
DC066H; 4
DC06DH; 5
DC07DH; 6
DC007H; 7
DC07FH; 8
DC06FH; 9
DC077H; A
DC07CH; B
DC039H; C
DC05EH; D
DC079H; E
DC071H; F
A1:
MOVA,0;顯示內容
MOV[8AH],A;第一位數碼管段碼顯示內容寄存器
MOVA,0;顯示內容
MOV[8BH],A;第二位數碼管段碼顯示內容寄存器
MOVA,0;顯示內容
MOV[8CH],A;第三位數碼管段碼顯示內容寄存器
MOVA,0;顯示內容
MOV[8DH],A;第四位數碼管顯示內容寄存器
MOVA,08H;跟CP1C寄存器設置要求選擇數據
MOVCP1C,A;設置PC口為I/0口而不是中斷口
CLRPCC;設置pc 口為輸出口
CLRPDC;設置PD 口為輸出口
MOVA,1;設置初始顯示位碼顯示第一位
MOV[80H],A;位碼寄存器
MOVA,8AH;設置對應第一位段碼寄存器
MOVMP0,A;間接寄存器指針
MOVA,00000000B;
MOVPRM1,A;設置外部中斷0的管腳為PA.3
MOVA,00000010B;
MOVINTEG,A;設置外部中斷0為下降沿觸發
CLRACERL;設置PA口不為AD輸入口
SETPAPU.3;設置PA.3上拉
SETPAC.3;設置PA.3為輸入口
MOVA,08H;
MOVCP0C,A;設置PA3不為比較器輸入口
CLRPDC;設置PD口為輸出口
MOVA,01H;設置PD口初始狀態
MOVPD,A;PD口顯示初始狀態
MOVA,00000000B;設置TM2 計數時鐘位為fSYS/4
MOVTM2C0,A
MOVA,11000001B ;設置TM2中斷為定時/計數模式選擇比較器A匹配
MOVTM2C1,A
MOVA,LOW 5000;設置中斷時間為5000個時鐘周期
MOVTM2AL,A;低8位
MOVA,HIGH 5000;設置中斷時間為5000個時鐘周期
MOVTM2AH,A;高8位
CLRMF0F;清多功能中斷0標志
CLRT2AF;清定時器2較器A中斷標志
SETMF0E;使能多功能0中斷
SETT2AE;使能定時器2較器A中斷
CLRINT0F;清中斷0標志
SETINT0E;使能外部0中斷
SETEMI;使能總中斷
SETT2ON;開始計數
JMP$
評論