51 单片机有用程序库4、1 流水灯程序介绍:利用P1 口通过一定延时轮流产生低电平输出,以达到发光二极管轮流亮得效果。实际应用中例如:广告灯箱彩灯、霓虹灯闪耀。程序实例(LAMP、ASM)ORG 0000HAJMP MAINORG 0030HMAIN:9MOV A,#00HMOV P1,A ;灭所有得灯MOV A,#11111110BMAIN1:MOV P1,A ;开最左边得灯ACALL DELAY ;延时RL A ;将开得灯向右边移AJMP MAIN ;循环DELAY:MOV 30H,#0FFHD1: MOV 31H,#0FFHD2: DJNZ 31H,D2DJNZ 30H,D1RETEND4、2 方波输出程序介绍:P1、0 口输出高电平,延时后再输出低电平,循环输出产生方波。实际应用中例如:波形发生器。程序实例(FAN、ASM):ORG 0000HMAIN:;直接利用P1、0 口产生高低电平地形成方波//////////////ACALL DELAYSETB P1、0ACALL DELAY10CLR P1、0AJMP MAIN;//////////////////////////////////////////////////DELAY:MOV R1,#0FFHDJNZ R1,$RETEND五、定时器功能实例5、1 定时1 秒报警程序介绍:定时器1 每隔1 秒钟将p1、o 得输出状态改变1次,以达到定时报警得目得。实际应用例如:定时报警器。程序实例(DIN1、ASM):ORG 0000HAJMP MAINORG 000BHAJMP DIN0 ;定时器0 入口MAIN:TFLA G EQU 34H ;时间秒标志,判就是否到50 个0、2 秒,即50*0、2=1 秒MOV TMOD,#00000001B;定时器0 工作于方式1MOV TL0,#0AFHMOV TH0,#3CH ;设定时时间为0、05 秒,定时20 次则一秒11SETB EA ;开总中断SETB ET0 ;开定时器0 中断允许SETB TR0 ;开定时0 运行SETB P1、0LOOP: AJMP LOOPDIN0:;就是否到一秒////////////////////////////////////////INCC: INC TFLAGMOV A,TFLAGCJNE A,#20,REMOV TFLAG,#00HCPL P1、0;//////////////////////////////////////////////////RE:MOV TL0,#0AFHMOV TH0,#3CH ;设定时时间为0、05 秒,定时20 次则一秒RETIEND5、2 频率输出公式介绍:f=1/ts51 使用12M 晶振,一个周期就是1 微秒使用定时器1工作于方式0,最大值为65535,以产生200HZ 得频率为例:200=1/t:推出t=0、005 秒,即5000 微秒,即一个高电12平或低电平得时间为2500 微秒。这样,定时值应设为65535-2500=63035,将它转换为...