汇编语言编程:定时器中断实验。求程序,附图

8个LED灯同时闪烁,间隔为0.5秒。
定时方法采用定时器中断。

第1个回答  2014-10-15
如下即可:

ORG 0000H
MOV IE, #82H
MOV R2, #61
SETB TR0
SJMP $
ORG 000BH
DJNZ R2, T0_END
XRL P0, #255
MOV R2, #61
T0_END:
RETI

END追问

可以了,但是错了你搞错了不是P0口是P2口,我改了后亮了
还有能不能给我讲讲这个程序的每条语句的作用呢?好希望能看懂啊
然后自己编个
可以加分

追答

实质上的语句,一共才8条。
每条语句的作用,其实,都很明显。
不知道该怎么讲。

那条看不懂,就问吧。

追问

MOV IE, #82H
MOV R2, #61
XRL P0, #255
MOV R2, #61

追答

MOV IE, #82H----开T0中断
MOV R2, #61----中断次数
XRL P0, #255----对P0取反
MOV R2, #61----重设中断次数

假设晶振为 12MHz。
在复位后,启动T0,并打开中断,T0将每隔 8192us 中断一次。
中断 61 次,就是 499712us。

追问

好专业啊
初学者搞不清用这些专业的立即数啊
可以帮我再写个这个程序的通俗的程序吗

本回答被提问者和网友采纳

如何用汇编语言编写单片机试验中的定时中断实验?
第一、设置定时器工作模式;第二、给TLX、THX赋初值;第三、开中断;第四、启动定时器。当然你要编好中断服务程序了。下面给一个简单的示范例程:程序运行后将在P1.0上产生1K的方波信号输出。ORG 0000H LJMP START ORG 000BH LJMP TM0 ORG 0100H START:CLR EA MOV SP,#60H MOV TMOD,#01H...

单片机定时器中断实验 程序(汇编语言)不要c语言的
SJMP MAIN ORG 000BH SJMP T0_INT MAIN:MOV TMOD, #01H ;T0定时方式1 MOV TH0, #(65536-50000) \/ 256 ;定时50ms@12MHz MOV TL0, #(65536-50000) MOD 256 ;SETB TR0 ;启动T0 MOV IE, #82H ;开中断 ;第一秒钟L0,L2亮,第二秒钟L1,L3亮,第三秒L...

51单片机,用定时器中断,在P1口实现1S移动一次的流水灯,用汇编语言编写...
DSEG AT 30H timetemp: DS 1 LED: DS 1 CSEG AT 00H ORG 0000H LJMP START ORG 000BH LJMP Timer0Interrupt START:MOV SP,#60H MOV timetemp,#20 MOV P1,#0FFH;LED低电平点亮 LCALL InitTimer0 MOV LED,#0FEH LOOP:MOV P1,LED ;add your code here!LJMP LOOP ...

单片机汇编语言:定时器
RETI \/\/这是中断方式的,,哎,由于 好久没用了,,估计有点小错!出错了,,留言,,我再改进!呵呵!!希望对你有帮助!

51单片机定时器的汇编语言程序编程,
看看下面的程序,是不是最简单:ORG 0000H SETB TR0 ;启动T0 MOV R2, #250 ;定时计数初值 LOOP:MOV TH0, #(8192 - 8000) \/ 32 ;定时8ms MOV TL0, #(8192 - 8000) MOD 32 JNB TF0, $ ;等待8ms CLR TF0 DJNZ R2, LOOP ;每隔8ms,R2减一次一 ...

51单片机中如何用汇编语言编写流水灯
流水灯就是51单片机控制led灯依次点亮的控制方式。具体程序如下:ORG 0000H;复位启动AJMP START;ORG 001BH;T1中断AJMP T1INT;;定义变量===YSJSEQU 30H;延时计数器LEDEQU 31H;LED控制缓冲器 ;主程序===START:MOV LED,#0FEH;初始化数据MOV YSJS,#0;MOV TMOD,#10H;定时器1工作于方式1,16位定时...

单片机汇编语言流水灯,定时器中断控制,(500ms)延时
单片机汇编语言流水灯,用定时器中断控制,可以初始化设置定时器时间(如50mS注定时器最大定时时间到不了500mS,需要加计数存储,中断10就是500mS),有多种方式实现如作一个流水状态表,定时读取写入IO端口 表加一,,或者用左移太移等方式都可以实现在,网上有很多这种实例。

分别用汇编语言和C语言设计: 采用中断方式,利用定时器进行0-9秒表计数...
#HIGH(65536-50000) MOV TL0,#LOW((65536-50000) SETB TR0 INC R0 CJNE R0,#20,T0E INC R2 CJNE R2,#10,T001 MOV R2,#0T001: MOV A,R2 MOV DPTR,#TABLE MOV A,@A+DPTR MOV P0,AT0E: RETITABLE: ; 共阴极数码管显示代码表 DB ...

MCS—51单片机定时\/计数器实验 编程 求程序
下列程序,在PROTEUS中仿真通过 ;--- ORG 0000H JMP START ORG 000BH JMP T0_INT ORG 001BH JMP T1_INT ORG 0030H START:MOV SP,#60H MOV TMOD,#52H ;T1计数方式1; T0定时方式2 MOV TH0, #(256-250) ;T0定时250us@12MHz MOV TL0, #(256-250) ;SETB ...

用汇编语言中断函数实现按下K1灯全亮,按下K2灯全灭
我说,例如,如哈萨克斯坦,设置定时中断时间为1分钟,然后设置一个变量INT_2分配到两分钟,然后启动定时器分钟到INT_2减一的时间还有两分钟当的零INT_2的两分钟,灯上面的灯

相似回答