基于Proteus的51单片机仿真实例!和基于P2口的流水灯设计!
发布时间
阅读量:
阅读量
1、在该实例执行过程中,与P2端口相接的8个LED灯会以左右移动的方式依次循环点亮。
2、在proteus软件中创建新的仿真文档ex39.dsn,绘制对应的电路图。本例中,8个LED器件均接入P2端口,其中LED的正极与端口相连,负极则通过限流电阻连接至地。需要注意的是,当使用P0端口采用类似连接方式时,即便端口输出值为0xFF,LED仍无法被点亮(请思考这一现象背后的原因是什么?)

3、程序设计:
在本例中,LED的阳极连接至端口,阴极则接地,因此只有当对应端口输出高电平时,相应的LED才会被点亮。为了实现单个LED循环滚动的效果,P2口的初始值设定为0x01,从而首先点亮第一个LED。随后,在主程序中通过调用循环移位函数,使8个LED依次被点亮。
需要特别注意的是:两个循环的执行次数设定为7次而非8次,请思考其中的原因。
在Keil C51环境中创建新工程ex39,并输入以下程序代码,完成编译后生成ex39.hex文件:
//实例39:利用循环移位库函数在P2口实现流水灯
#include <reg51.h> //包含头文件
#include <intrins.h>
全部评论 (0)
还没有任何评论哟~
