本站联系电话:023-58186350 客服手机:15823731091 客服QQ:865697323
  给本站投递文章!
  购买本站产品,享受优惠价格!
  初学者应该怎样快速入门?
您现在的位置: 五六电子 > 电子技术 > 单片机 > 系列教程 > 正文 本站公告:网站公告列表     本站代理多家公司产品,质量保证,发货快捷,欢迎大家购买!  [2008年2月14日]            本站向各位网友征稿!  [2007年11月6日]        
  单片机教学 第四课         ★★★★ 【字体:
单片机教学 第四课
作者:佚名    文章来源:本站原创    点击数:    更新时间:2007-8-29    

    单片机教学(3)

单片机的内外部结构分析(二)

一、 程序的完善

  上一次我们的程序实在是没什么用,要灯亮还要重写一下片子,下面我们要让灯不断地闪烁,这就有一定的实用价值了,比如可以把它当成汽车上的一个信号灯用了。怎样才能让灯不断地闪烁呢?实际上就是要灯亮一段时间,再灭一段时间,也就是说要P10不断地输出高和低电平。怎样实现这个要求呢?请考虑用下面的指令是否可行:

SETB P10

CLR P10

……

这是不行的,有两个问题,第一,计算机执行指令的时间很快,执行完SETB P10后,灯是灭了,但在极短时间(微秒级)后,计算机又执行了CLR P10指令,灯又亮了,所以根本分辨不出灯曾灭过。第二,在执行完CLR P10后,不会再去执行SETB P10指令,所以以后再也没有机会让灭了。

  为了解决这两个问题,我们可以做如下设想,第一,在执行完SETB P10后,延时一段时间(几秒或零点几秒)再执行第二条指令,就可以分辨出灯曾灭过了。第二在执行完第二条指令后,让计算机再去执行第一条指令,不断地在原地兜圈,我们称之为"循环",这样就可以完成任务了。

以下先给出程序(后面括号中的数字是为了便于讲解而写的,实际不用输入):

;主程序:

LOOP: SETB P10     ;(1)

    LCALL DELAY   ;(2)

    CLR P10     ;(3)

    LCALL DELAY   ;(4)

    AJMP LOOP    ;(5)

;以下子程序

DELAY: MOV R7,#250  ;(6)

D1: MOV R6,#250    ;(7)

D2: DJNZ R6,D2    ;(8)

[1] [2] [3] 下一页

文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【文章投稿】【加入收藏】【告诉好友】【打印此文
    载入中...
    载入中...
         网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    数据载入中,请稍后……
    专 题 栏 目
    推 荐 商 品
    最 新 商 品
    推 荐 图 文
    最新热点 最新推荐 相关文章
    单片机大虾是怎么样炼成的
    5年单片机学习总结
    如何学好单片机
    单片机系统延时关机电路
    对51单片机的学习心得
    致单片机初学者
    从无线电世界到单片机世界
    我对单片机的向往!
    单片机入门制作(三)
    单片机入门制作(四)
    地址:重庆市万州区石柱坪6号5单元601室 邮编:404000
    联系电话:023-58186350 邮箱:webmaster@56dz.com QQ:865697323
    Copyright©2007-2008 五六电子 All rights reserved
    渝ICP备07007061号