导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→看不懂,1s定时中断服务“汇编”子程序[ieqyd]

 *第23066篇: 看不懂,1s定时中断服务“汇编”子程序

  
楼 主:ieqyd 2004年6月18日15:08
 看不懂,1s定时中断服务“汇编”子程序
;这个程序有好几处看不懂
;

 ORG 0000H  ;复位入口指定
 SJMP START
 ORG OOOBH  ;T0中断入口指定
 SJMP T0SVR
 ORG 0030H
;主程序
START:MOV SP, #40H
 MOV P1, #0FH ;初始状态,发光二极管熄灭
 MOV A, #1FH
 MOV TMOD, #01H ;设置T0工作方式1
 MOV TH0, 0ECH ;置10ms计数初值
;---------------------------------------
;这里计满只有5000个数呀,应该5ms。难道晶振是6MHz?
 MOV TLO, #78H
 MOV R0, #64H ;计数100个10ms,即1s
 SETB EA  ;开放总中断
 SETB ET0  ;开放T0中断
 SETB TR0  ;启动T0
DISP:MOV P1, A
 SJMP DISP  ;循环显示
;---------------------------------
;这里循环显示是什么意思?好像是个死循环呀
;T0中断服务子程序
T0SVR:MOV TL0, #78H ;重置计数初值
 MOV TH0, #0ECH
 DJNZ R0, QUIT ;1s时间未到,退出
 MOV R0, #64H ;1s时间到,重置R0计数初值(100)
 ANL A, #0F0H ;L0~L3位于P1口的高4位
;-----------------------------------------------
;不是接在低四位吗?主程序第二行不是这样的意思吗?MOV P1, #0FH ;初始状态,发光二极管熄灭

 CLR C
 RLC A  ;将点亮的LED循环左移
 JNC QUIT
;---------------为什么没进位时跳出?
 MOV A, #10H ;移到L3后,复位到L0
;--------------------------------------------不懂这个功能是怎么做到的

QUIT: ORL A, #OFH
 RETI END

  
2楼:guest 2004年6月21日16:35
 简单啊,如果还没看懂的话,周三出差回来告诉你!
程序很简单的,如果还没看懂的话,周三出差回来告诉你!
QQ:271817264

>>>>>>对该主题发表你的看法

本主题贴数2,分页: [第1页]


[上一篇主题]:关于IAR Embedded Workbench 和 AVR

[下一篇主题]:Linuxbios中poweroff后,电源没有判断!