;定时器实验
T100us equ 256-50 ;100us时间常数(6M)
C100us equ 30h ;100us计数单元
LEDBuf equ 0
LED equ P1.0
ljmp Start
org 000bh
T0Int: ;中断子函数
push PSW
mov a,C100us+1
jnz Goon
dec C100us
Goon:
dec C100us+1
mov a,C100us
orl a,C100us+1
jnz Exit
mov C100us,#27h ;要定时10000次才能达到一秒,10000的十六进制位2710h,存储时先放高字节。
mov C100us+1,#10h
cpl LEDBuf
Exit:
pop PSW
reti
Start: ;主函数
mov TMOD,#02h ;方式2,定时器
mov TH0,#T100us
mov TL0,#T100us
mov IE,#10000010b ;EA=1,IT0=1
setb TR0 ;开始定时
clr LEDBuf
clr LED
mov C100us,#27h ;要定时10000次才能达到一秒,10000的十六进制位2710h,存储时先放高字节。
mov C100us+1,#10h
Loop:
mov c,LEDBuf
mov LED,c
ljmp Loop
end
1,reti
概念
RETI是中断返回指令
这条指令的功能和RET指令相似,2条指令的不同之处,是本指令除了中断响应时,被置1的MCS-51内部中断优先级寄存器的优先级状态。
中断程序完成后,一定要执行一条RETI指令,执行这条指令后,CPU将会把堆栈中保存着的地址取出,送回PC,那么程序就会从主程序的中断处继续往下执行了。中断指令“RETI”作为中断跳出指令,除了将堆栈中保存着的地址取出,送回PC,使程序从主程序的中断处继续往下执行的作用外,还有将“优先级生效”触发器清零的功能。
2,注意点
mov C100us,#27h ;要定时10000次才能达到一秒,10000的十六进制位2710h,存储时先放高字节。
mov C100us+1,#10h
笔者开始没有写#号,导致了奇怪错误
3,orl a,C100us
把a累加器和C100us中得值进行或运算。
4,一段经典写法:
mov a,C100us+1
jnz Goon
dec C100us
Goon:
dec C100us+1
经典的用两个变量做减法,控制每次减一的算法!好!
<!--EndFragment-->
分享到:
相关推荐
LAB_4_KEYPAD.asm
《深入解析Spring ASM库:org.springframework.asm-3.0.5.RELEASE.jar》 Spring框架是Java开发领域中不可或缺的一部分,而org.springframework.asm-3.0.5.RELEASE.jar是Spring框架中的一个关键组件,主要涉及到字节...
asm字节码jar包,仅需要一个就可以。具体使用,可以参考http://blog.csdn.net/gaoshan12345678910/article/details/78131784
org.springframework.asm-sources-3.0.5.release.jar
E158255MatrixKey.asm.asm.asm
IO.ASM就是用来编写这些低级别I/O操作的程序。 IO.ASM的编写通常包括以下部分: 1. **初始化**:在程序开始时,可能需要设置某些寄存器或者端口,以便后续的I/O操作。例如,设置中断向量或配置设备的工作模式。 2...
严重: Exception sending context initialized event to listener instance ... nested exception is java.lang.NoClassDefFoundError: org/objectweb/asm/Type ssh 框架的java web项目部署到tomcat报上面错误 添加此包
程序2.asm
rg.springframework.asm-3.0.1.RELEASE-A.jar
jar包,官方版本,自测可用
标题中的“lcd.asm.rar_lcd.asm”表明这是一个与液晶显示屏(LCD)编程相关的资源,其中包含一个名为“lcd.asm”的汇编语言源代码文件。汇编语言是计算机编程的基础语言之一,它将机器指令以人类可读的形式表示出来...
汇编\示例\Sample.asm汇编\示例\Sample.asm汇编\示例\Sample.asm汇编\示例\Sample.asm
5.5.5菜单程序设计.asm
实验七程序讲解.asm
《深入理解DSP源码:以SINX.ASM为例》 在数字信号处理(DSP,Digital Signal Processing)领域,源代码是实现算法的核心。这里提到的"DSP_examples.rar"压缩包,内含"DSP_examples"文件夹,以及一个名为"SINX.ASM...
jar包,官方版本,自测可用
在提供的文件名"Mader.C.ASM"中,我们可以推测这可能是一个使用Mader.C.ASM编码器编写的汇编程序源文件。打开这个文件,我们可以看到一系列的汇编指令,以及可能的宏定义和数据结构,这些都是为了实现特定的功能。...
标题中的"written_mult.asm.rar_Mult.asm_space"表明这是一个关于汇编语言编程的资源,特别是与多重(Mult)操作和空间控制(space control)相关的。这个压缩包可能包含一个名为"Mult.asm"的源代码文件,该文件是用...
lxt.ASM.asm
9.ASM.asm