51单片机实用程序库
流水灯
程序介绍:利用P1 口通过一定延时轮流产生低电平 输出,以达到发光二极管轮流亮的效果。实际应用中例如: 广告灯箱彩灯、霓虹灯闪烁。 程序实例() ORG 0000H AJMP MAIN ORG 0030H MAIN: 9
MOV A,#00H
MOV P1,A ;灭所有的灯 MOV A,#B
MAIN1:
MOV P1,A ;开最左边的灯 ACALL DELAY ;延时 RL A ;将开的灯向右边移 AJMP MAIN ;循环 DELAY: MOV 30H,#0FFH D1: MOV 31H,#0FFH D2: DJNZ 31H,D2 DJNZ 30H,D1 RET END 方波输出
程序介绍: 口输出高电平,延时后再输出低电
平,循环输出产生方波。实际应用中例如:波形发生器。
程序实例(): ORG 0000H MAIN:
;直接利用口产生高低电平地形成方波步移位 ;显示个,十,百,千算机的内部计算都是二进
制,而二进制每除一个2,实际上是向右移一次。所以为 了计算方便,我们选择取6个数,最后在算除法的时候, 只需要用单片机自带的右移位命令移2次就行了。 27
十六进制六位数加法(数码显示) 程序实例: ORG 0000H MAIN:
ADNUMBER EQU 30H ;AD转换值 ADDNUMBER EQU 31H ;加数值1
ADL EQU 32H ;//
ADH EQU 33H ;ADL转换高低位值 DISL EQU 34H ;//
DISH EQU 35H ;显示高低位值 ADDTOTAL EQU 36H ;第一次AD转换值 ADDJW EQU 37H ;加法进位数 ADDHOLD EQU 38H ADDFLAG EQU 39H ;加标志 ENDFLAG EQU 40H
;赋初值//////////////////////////////////////////// MOV ADDHOLD,#00H MOV ADDNUMBER,#00H MOV ADL,#00H MOV ADH,#00H MOV DISL,#00H
MOV DISH,#00H MOV ADDJW,#00H MOV ADDFLAG,#00H MOV ENDFLAG,#00H MOV ADDTOTAL,#00H
;////////////////////////////////////////////////// MAIN1: 28
;显示AD值////////////////////////////////////////// ACALL DELAY ACALL DELAY ACALL AD MAIN3: ACALL CAIFEN ACALL DISPLAY