预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共19页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

4.1流水灯 程序介绍:利用P1口通过一定延时轮流产生低电平 输出,以达到发光二极管轮流亮的效果。实际应用中例如: 广告灯箱彩灯、霓虹灯闪烁。 程序实例(LAMP.ASM) ORG0000H AJMPMAIN ORG0030H MAIN: 9 MOVA,#00H MOVP1,A;灭所有的灯 MOVA,#11111110B MAIN1: MOVP1,A;开最左边的灯 ACALLDELAY;延时 RLA;将开的灯向右边移 AJMPMAIN;循环 DELAY: MOV30H,#0FFH D1:MOV31H,#0FFH D2:DJNZ31H,D2 DJNZ30H,D1 RET END 4.2方波输出 程序介绍:P1.0口输出高电平,延时后再输出低电 平,循环输出产生方波。实际应用中例如:波形发生器。 程序实例(FAN.ASM): ORG0000H MAIN: ;直接利用P1.0口产生高低电平地形成方波////////////// ACALLDELAY SETBP1.0 ACALLDELAY 10 CLRP1.0 AJMPMAIN ;////////////////////////////////////////////////// DELAY: MOVR1,#0FFH DJNZR1,$ RET END 五、定时器功能实例 5.1定时1秒报警 程序介绍:定时器1每隔1秒钟将p1.o的输出状态改变1 次,以达到定时报警的目的。实际应用例如:定时报警器。 程序实例(DIN1.ASM): ORG0000H AJMPMAIN ORG000BH AJMPDIN0;定时器0入口 MAIN: TFLAGEQU34H;时间秒标志,判是否到50个 0.2秒,即50*0.2=1秒 MOVTMOD,#00000001B;定时器0工作于方式 1 MOVTL0,#0AFH MOVTH0,#3CH;设定时时间为0.05秒,定时 20次则一秒 11 SETBEA;开总中断 SETBET0;开定时器0中断允许 SETBTR0;开定时0运行 SETBP1.0 LOOP:AJMPLOOP DIN0: ;是否到一秒//////////////////////////////////////// INCC:INCTFLAG MOVA,TFLAG CJNEA,#20,RE MOVTFLAG,#00H CPLP1.0 ;////////////////////////////////////////////////// RE: MOVTL0,#0AFH MOVTH0,#3CH;设定时时间为0.05秒,定时 20次则一秒 RETI END 5.2频率输出公式 介绍:f=1/t s51使用12M晶振,一个周期是1微秒使用定时器1 工作于方式0,最大值为65535,以产生200HZ的频率为 例: 200=1/t:推出t=0.005秒,即5000微秒,即一个高电 12 平或低电平的时间为2500微秒。这样,定时值应设为 65535-2500=63035,将它转换为十六进制则为:F63B。 具体程序请看f200.asm 频率递增: 200HZ:63035:F63B 250HZ:63535:F82F 300HZ:63868:F97C 5.3200HZ频率输出 程序介绍:利用定时器定时,在P1.0口产生200HZ 的频率输出。实际应用例如:传感器前级推动。 程序实例(F200.ASM): ORG0000H AJMPMAIN ORG001BH AJMPDIN0 MAIN: CLRP1.0;产生一个低电平,实际上 是从p1.0口产生频率 MOVTMOD,#00010000B;定时器1工作于方式0 MOVTH1,#0F6H MOVTL1,#3BH;频率产生的时间,详细请 见频率公式 SETBEA;开总中断 13 SETBTR1;开定时器1运行 SETBET1;开定时器1允许 LOOP:AJMPLOOP;无限循环 DIN0:CPLP1.0;产生一个高电平, 下次来就是低电平(因为取反),一个高电平和一个低电平 形成一个周期 MOVTH1,#0F6H MOVTL1,#3BH;重置频率产生时间 RETI;返回 END 5.4200——250HZ变化频率输出 程序介绍:利用定时器定时时间的变化,由P1.0口 产生200——250HZ变化的频率。实际应用例如:传感器 前级推动、频率发生器。 程序实例(F250.ASM): ORG0000H AJMPMAIN ORG001BH AJMPDIN1 MAIN: ;定义频率200和300////////////////////////////////// F2HEQU30H F2LEQU31H F3HEQU32H F3LEQU33H 14