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

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

   ieqyd 
ieqyd发表的帖子 

 看不懂,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


发表时间:2004年6月18日15:08:32

  
回复该帖

本主题共有 2 帖,分页:>>>>>该主题的所有内容[2]条

 *树形目录 只列出部分跟帖的标题以及简单的摘要信息 该主题的部分跟帖如下:

  56920.[详细]简单啊,如果还没看懂的话,周三出差回来告诉你!
摘要:程序很简单的,如果还没看懂的话,周三出差回来告诉你! QQ:271817264......(67字)
- [guest][885次] 2004年6月21日

[上一篇帖子]:关于IAR Embedded Workbench 和 AVR
[下一篇帖子]:有什麽项目,我可以和你合作 moremoremoretea@sina.com 兼职