汇编实操项目·内部定时器0.5s翻转电平
暂无txt文本ORG 0000H ;设置MAIN主程序运行起始地址为0000H
LJMP MAIN ;设置在0000H开始的程序为MAIN
ORG 000BH ;设置内部中断地址
LJMP TT0 ;跳转至TT0标识位
ORG 0100H ;运行地址修改为0100H
MAIN:
MOV TMOD,#01H ;进择M1M0计数器为方式1
MOV TH0,#0B1H ;计数解1s计算结果取高8位
MOV TL0,#0E0H ;计数程1s计算结果取低8位
MOV R7,#50 ;计数器设定计数次数为50
SETB EA ;开启中断系统总开关
SETB TR0 ;设定T0内部中断为开启
SETB ET0 ;设定IE-T0中断路径为高电平开启
SJMP $ ;运行结束等待
TT0: DJNZ R7, ONEs ;计数程达到50次桃转到LED翻转状态
MOV R7,#50 ;达到50次后重新设定值为50次计数
CPL P0.0 ;取反LED状态翻转
ONEs: MOV TH0,#0B1H ;重新设定LD灯亮状态
MOV TL0,#0E0H
RETI ;中断子程序返回
END
ORG 0000H ;设置MAIN主程序运行起始地址为0000H
LJMP MAIN ;设置在0000H开始的程序为MAIN
ORG 000BH ;设置内部中断地址
LJMP TT0 ;跳转至TT0标识位
ORG 0100H ;运行地址修改为0100H
MAIN:
MOV TMOD,#01H ;进择M1M0计数器为方式1
MOV TH0,#0B1H ;计数解1s计算结果取高8位
MOV TL0,#0E0H ;计数程1s计算结果取低8位
MOV R7,#50 ;计数器设定计数次数为50
SETB EA ;开启中断系统总开关
SETB TR0 ;设定T0内部中断为开启
SETB ET0 ;设定IE-T0中断路径为高电平开启
SJMP $ ;运行结束等待
TT0: DJNZ R7, ONEs ;计数程达到50次桃转到LED翻转状态
MOV R7,#50 ;达到50次后重新设定值为50次计数
CPL P0.0 ;取反LED状态翻转
ONEs: MOV TH0,#0B1H ;重新设定LD灯亮状态
MOV TL0,#0E0H
RETI ;中断子程序返回
END
学习了,感谢分享
页:
[1]