- 打卡等级:以坛为家I
- 打卡总天数:358
- 最近打卡:2025-05-09 06:12:04
高级会员
- 积分
- 861
|
发表于 2023-7-20 09:30:51
|
显示全部楼层
本帖最后由 newlined 于 2023-7-20 11:11 编辑
单片机程序我还是喜欢汇编写的,就把昨天点亮LED的程序改成了汇编,对自己也是个练习,大家见笑了。
P0M0 DATA 094H ;
P0M1 DATA 093H ;
AUXR DATA 08EH
;
LED BIT 80H ;LED灯
VCC BIT 81H ;电源
COUNT DATA 30H
ORG 0000H
BEGIN: LJMP INIT
ORG 000BH
LJMP TIM0 ;T0中断
ORG 100H
TIMER0_INIT: ;10毫秒@12.000MHz
ANL AUXR,#7FH ;定时器时钟12T模式
ANL TMOD,#0F0H ;设置定时器模式
MOV TL0,#0F0H ;设置定时初始值
MOV TH0,#0D8H ;设置定时初始值
CLR TF0 ;清除TF0标志
RET
TIM0:
PUSH ACC
PUSH PSW
CLR RS1 ;使用寄存器0区
CLR RS0
INC COUNT
POP PSW
POP ACC
RETI
INIT: MOV P0M1,#00H ;P0设为准双向
MOV P0M0,#00H
ACALL TIMER0_INIT ;T0初始化
SETB VCC ;打开电源
MOV COUNT,#1
SETB EA
SETB ET0
SETB TR0 ;定时器0开始计时
LOOP: MOV A,#50
CLR C
SUBB A,COUNT
JNC LOOP
MOV COUNT,#1
CPL LED
AJMP LOOP
END |
|