单片机定时中断实验

来源:百度知道 编辑:UC知道 时间:2024/06/06 06:47:34
51单片机的P1口外接发光二极管依次点亮1秒,不断循环。(1秒延时采用定时器定时)

是用汇编吗?
(假设系统晶振是12MHz)
ORG 0000H
LJMP START
ORG 000BH
LJMP TIMER0
ORG 0300H
START:
MOV R0,#FEH
MOV R1,#32H ;50次
MOV TMOD,#01H
SETB ET0
SETB EA
MOV TH0,#0B1H ;定时20ms
MOV TL0,#0E0H
SETB TR0
HERE:
SJMP HERE
TIMER0:
CLR TR0
MOV TH0,#0B1H
MOV TL0,#0E0H
DJNZ R1,GOON
MOV A,R0
MOV P1,A
RL A
MOV R0,A
MOV R1,#32H
GOON:
SETB TR0
RETI

12M晶振,用定时器0,假设你的发光二极管正极接单片机引脚
org 1000h
ljmp start
org 000bh
ljmp INTT0
start: mov tmod,#11h
setb IT0
setb EA
mov TH0,#0D8h
mov TL0,#0EFh ;10毫秒定时初值
mov A,#01h
mov P0,A ;开始时,p0.0脚上的灯亮
mov R0,#100 ;10毫秒延时100次
sjmp $ ;等待中断
INTT0: dec R0
cjne R0,#0,next
rl A ;循环左移
mov P0,A
mov R0,#100
next: r