单片机汇编语言经典一百例3.doc

  1. 1、本文档共79页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

PAGE/NUMPAGES

51单片机实用程序库

??

?4.1流水灯

程序介绍:利用P1口通过一定延时轮流产生低电平

输出,以达到发光二极管轮流亮的效果。实际应用中例如:

广告灯箱彩灯、霓虹灯闪烁。

程序实例()

0000H

0030H

:

9

00H

P1;灭所有的灯

1:

P1;开最左边的灯

;延时

A;将开的灯向右边移

;循环

:

300

D1:310

D2:312

301

4.2方波输出

程序介绍:P1.0口输出高电平,延时后再输出低电

平,循环输出产生方波。实际应用中例如:波形发生器。

程序实例():

0000H

:

;直接利用P1.0口产生高低电平地形成方波

P1.0

10

P1.0

:

R10

R1,$

五、定时器功能实例

5.1定时1秒报警

程序介绍:定时器1每隔1秒钟将p1的输出状态改变1

次,以达到定时报警的目的。实际应用例如:定时报警器。

程序实例(1):

0000H

000

0;定时器0入口

:

G34H;时间秒标志,判是否到50个

0.2秒,即50*0.2=1秒

;定时器0工作于方式

1

00

03;设定时时间为0.05秒,定时

20次则一秒

11

;开总中断

0;开定时器0中断允许

0;开定时0运行

P1.0

:

0:

;是否到一秒

:

20

00H

P1.0

:

00

03;设定时时间为0.05秒,定时

20次则一秒

5.2频率输出公式

介绍:1

s51使用12M晶振,一个周期是1微秒使用定时器1

工作于方式0,最大值为65535,以产生200的频率为

例:

200=1:推出0.005秒,即5000微秒,即一个高电

12

平或低电平的时间为2500微秒。这样,定时值应设为

65535-2500=63035,将它转换为十六进制则为63B。

具体程序请看f200

频率递增:

200:6303563B

250:6353582F

300:6386897C

5.3200频率输出

程序介绍:利用定时器定时,在P1.0口产生200

的频率输出。实际应用例如:传感器前级推动。

程序实例(F200):

0000H

001

0

:

P1.0;产生一个低电平,实际上

是从p1.0口产生频率

;定时器1工作于方式0

10F6H

13;频率产生的时间,详细请

见频率公式

;开总中断

13

1;开定时器1运行

1;开定时器1允许

:;无限循环

0:P1.0;产生一个高电平,

下次来就是低电平(因为取反),一个高电平和一个低电平

形成一个周期

10F6H

13;重置频率产生时间

;返回

5.4200——250变化频率输出

程序介绍:利用定时器定时时间的变化,由P1.0口

产生200——250变化的频率。实际应用例如:传感器

前级推动、频率发生器。

程序实例(F250):

0000H

001

1

:

;定义频率200和300

F2H30H

F2L31H

F3H32H

F3L33H

14

;定义频率保持初值

R150

R202H

;频率赋初值

F20F6H

F23

F30F8H

F32

P1.0;在P1.0口产生一个低

电平,一个脉冲是由一个高电平和一个低电平组成的

;定时器工作于方式1

12H

12L;200输出

;开总中断

1;开定时器1运行

1;开定时器1允许

:

1:

P1.0;取反P1.0口,实际

是为了不断的将p1.0的电平关系转换,即产生了频率

;频率保持时间

R1

R150

R2

R202H

15

2H

3;频率高位到300

的高位了吗?

;频率高位没到

300的高位值,直接将低位值加1

:F2L

2L

00

F2H

2H

3

;频率高位加到300的高位值了,低位加一,到300的低

位值了吗,没到出去,到了关定时器

:

F2L;到了将200频率的低位加1

2L

3

1

:

12H

12L

16

六、数显

0——9999显示

程序介绍:利用S51的串行口功能,实现数码管0—

—9999的循环显示。实际应用例如:电子计分牌。

程序实例(9999):

0000H

:

30H

31H

32H

33H;定义个十百千

00H

00H

00H

00H;赋初值

00H;串行口工作于方式

0.同步移位

;显示个,十,百,千

:

;延时

文档评论(0)

186****6075 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档