网站大量收购独家精品文档,联系QQ:2885784924

MCS-51单片机的编程应用范例.pdf

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

电子发烧友 电子技术论坛 第4 节 编程应用范例 [学习要求] 掌握MCS-5 1 单片机的基本应用。 [重点与难点] 重点:动态扫描LED 显示电路编程范例;定时/计数器软件编程范例;A/D 接口电路; 矩阵式键盘接口技术及编程。 难点:动态扫描LED 显示电路编程范例;定时/计数器软件编程范例。 [理论内容] 一、并行I/O 口编程范例 单片机I/O 的应用最典型的是通过I/O 口与7 段LED 数码管构成显示电路,下面从常 用的LED 显示原理开始,详尽讲解利用单片机驱动LED 数码管的电路及编程原理,目的在 于通过这一编程范例,让初学者了解I/O 口的编程原理,意在起举一反三,抛砖引玉的作用。 LED 的发光原理,稍有电子技术基础的人士都很清楚,这里不想作过多的介绍,7 段 LED 数码管,则在一定形状的绝缘材料上,利用单只LED 组合排列成 “8”字型的数码管, 分别引出它们的电极,点亮相应的点划来显示出0-9 的数字。 LED 数码管根据LED 的接法不同分为共阴和共阳两类,了解LED 的这些特性,对编 程是很重要的,因为不同类型的数码管,除了它们的硬件电路有差异外,编程方法也是不同 的。图1 是共阴和共阳极数码管的内部电路,它们的发光原理是一样的,只是它们的电源极 性不同而已。 图1 段数码管 将多只LED 的阴极连在一起即为共阴式,而将多只LED 的阳极连在一起即为共阳式。 电子发烧友 电子技术论坛 以共阴式为例,如把阴极接地,在相应段的阳极接上正电源,该段即会发光。当然,LED 的电流通常较小,一般均需在回路中接上限流电阻。假如我们将b和c段接上正电源,其 它端接地或悬空,那么b和c段发光,此时,数码管显示将显示数字 “1”。而将a、b、 d、e和g段都接上正电源,其它引脚悬空,此时数码管将显示 “2 ”。其它字符的显示原 理类同,读者自行分析即可。 图2 LED 显示电路 图2 中使用80C51 单片机,电容C1、C2 和CRY 1 组成时钟振荡电路,这部分基本无需 调试,只要元件可靠即会正常起振。C3 和R1 为单片机的复位电路,80C51 的并行口P1.0-P1.7 直接与LED 数码管的a-f引脚相连,中间接上限流电阻R3-R 10。值得一提的是,80C51 并 行口的输出驱动电流并非很大,为使LED 有足够的亮度,LED 数码管应选用高亮度的器件。 此外,图中的80C51 还可选用C51 系列的其它单片机,只要它们的指令系统兼容C51 即可正常运行,程序可直接移植,例如选用低价Flash 型的AT89C1051 或 2051 等,它们的 ROM 可反复擦写,非常适合作实验用途。 ·程序清单: 0 1 START: ORG 0100H ;程序起始地址 02 MAIN : MOV R0,#00H ;从“0 ”开始显示 03 MOV DPTR,#TABLE ;表格地址送数据指针 04 DISP: MOV A,R0 ;送显示 05 MOVC A,@A+ADPTR ;指向表格地址 06 MOV P 1,A ;数据送LED 07 ACALL DELAY ;延时 08 INC R0 ;指向下一个字符 09 CJNE R0,#0AH,DISP ;未显示完,继续 10 AJMP MAIN ;下一个循环 11 DELAY: MOV R 1,#0FFH ;延时子程序,延时时间赋值 电子发烧友 电子技术论坛 12 LOOP0: MOV R2,#0FFH 13 LOOP1: DJNZ

文档评论(0)

xxj1658888 + 关注
实名认证
内容提供者

教师资格证持证人

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

领域认证该用户于2024年04月12日上传了教师资格证

1亿VIP精品文档

相关文档