这是2008年stc程序个人设计汇总

源代码在线查看: 12定时中断跑马灯.asm

软件大小: 511 K
上传用户: newyearday
关键词: 2008 stc 程序
下载地址: 免注册下载 普通下载 VIP

相关代码

				org 00h    ;指定程序放置的地址,说明,放在程序寄存器的任意地址运行效果都是相同的,但是,用户必须合理分配,一般从00h开始放置
				clr p1.0   ;点亮一个灯,以便观查移位效果
				jmp cfg
				
				org 0bh
				jmp t0int
				
				cfg:
				mov tmod,#00010001b;
				mov th0,#155 ;12MHz时,1次计数为1US
				mov tl0,#205 ;12MHz时,
				
				setb et0 ;开启中断
				setb tr0 ;允许计数
				
				setb ea  ;开启总中断
				mov r7,#5    ;保证以下程序每5次中断执行1次,因此灯闪的时间为中断时间乘以100次
				
				
				main:	
				jmp main    ;进入下一循环,这实际是一个没有多大意义的死循环,唯一的意义就等待中断
				
				
				t0int:djnz r7,t0end   ;中断的延时很短,需要进一步延时
				mov r7,#5    ;保证以下程序每5次中断执行1次,因此灯闪的时间为中断时间乘以100次
				
				mov a,p1   ;读入P1的灯亮情况
				rr a       ;移动一次
				mov p1,a   ;送回p1口,按照新的状态点亮灯
				
				t0end:			reti               ;子程序运行结束,返回原调用的位置  
				
				
				end   ;程序结束,以后可以放置任何内容
				
				
				说明:由于单片机运行的速度很快,必须延时,人眼才能看清楚LED点亮和熄灭的过程,但是,在实际应用中,象这样应用延时程序的意义不在,
				因为这占用了宝贵的CPU运行时间,在很多时间,CPU不是很有空.			

相关资源