51单片机汇编模板,方便初学者使用
单片机源程序如下:
- ORG 00H
- LJMP MY_MAIN
- ORG 03H
- LJMP MY_INT0
- ORG 0BH
- LJMP MY_T0
- ORG 13H
- LJMP MY_INT1
- ORG 1BH
- LJMP MY_T1
- ORG 23H
- LJMP MY_RT
- ORG 30H
- MY_MAIN: MOV SP,#10H ;堆栈指针初始化;
- MOV IP, #00H ;优先级初始化
- ;MOV IE, #1FH ;除总中断不使能外全部使能;
- ; SETB EX0 ;使能外部中断0, (CLR EXO;不使能外部中断0)
- ; SETB EX1 ; 使能外部中断1, (CLR EX1;不使能外部中断1)
- ; SETB ET0 ; 使能外部中断T0, (CLR ETO;不使能中断T0)
- ; SETB ET1 ; 使能外部中断T1, (CLR ET1;不使能中断T1)
- ; SETB E5 ; 使能串口中断, (CLR E5;不使能串口中断)
- SETB IT0; 外部中断0,为下降沿触发方式 (CLR IT0,为低电平触发方式)
- SETB IT1; 外部中断1,为下降沿触发方式 (CLR IT1,为低电平触发方式)
- MOV TMOD, #01H; 选择T0/T1工作方式,定时/计数方式,门控制方式
- ;MOV TH0,#00H ;T0高八位赋初值
- ; MOV TL0,#00H ;T0低八位赋初值
- MOV TH1,#00H ;T1高八位赋初值
- MOV TL1,#00H ;T1低八位赋初值
- MOV IE, #00H ;除总中断不使能外全部使能
- SETB TR0 ; T0中断开始
- SETB TR1 ; T1中断开始
-
- MOV P1,#01H
- LCALL DELAY
- MOV P1,#00H
- LCALL DELAY
- SJMP MY_MAIN
- DELAY: MOV R5,#20
- D1: MOV R6,#20
- D2: MOV R7,#250
- DJNZ R7,$
- DJNZ R6,D2
- DJNZ R5,D1
- RET
-
- MY_INT0:
- RETI
- MY_T0: DJNZ R0,Y0
- MOV A,P2
- CPL A
- MOV P2,A
- MOV R0,#1
- Y0:
- MOV TH0,#3CH
- MOV TL0,#0B0H
-
- RETI
- MY_INT1:
- RETI
- MY_T1:
- RETI
- MY_RT:
- RETI
- END
复制代码
所有资料51hei提供下载:
单片机main.zip
(23.83 KB, 下载次数: 9)
|