您现在的位置: 主页 > MCU > 单片机技术应用 > PIC16F628A LED流水灯示例程序 -
本文所属标签:
为本文创立个标签吧:

PIC16F628A LED流水灯示例程序 -

来源: 网络用户发布,如有版权联系网管删除 2018-09-06 

[导读]
#include__CONFIG(0x3f38);//看门狗关,内部RC震荡,RA6/RA7做I/O//-----------------------------------//延时函数voiddelay(){inti;//定义循环变量for(i=5000;i>0;i--)//循环次数控制{NOP();//消耗一

 

本文引用地址: http://www.21ic.com/app/mcu/201804/765559.htm

#include

__CONFIG(0x3f38);//看门狗关,内部RC震荡,RA6/RA7做I/O

//-----------------------------------

//延时函数
voiddelay()
{
inti;//定义循环变量
for(i=5000;i>0;i--)//循环次数控制
{
NOP();//消耗一个指令周期的时间
NOP();
}
}

//----------------------------------
//初始化函数
voidinit()
{
TRISA=0X00;//设置A口为输出
TRISB=0X00;//设置B口为输出
}

//---------------------------------
//亮灯函数
voidLED()
{
chari;//设置循环变量
while(1)
{
PORTA=1;//点亮RA0
delay();
delay();
delay();
PORTA=2;//点亮RA1
delay();
delay();
delay();
PORTA=4;//点亮RA2
delay();
delay();
delay();
PORTA=8;//点亮RA3
delay();
delay();
delay();

PORTA=0X40;//点亮RA6
for(i=2;i>0;i--)//循环两次(RA6-RA7)
{
delay();
delay();
delay();//调用3次延时函数,确定流水灯闪烁的快慢
PORTA=PORTA<<1;//点亮下一位LED
}
PORTA=0;//清除A口所有显示
PORTB=1;//点亮RB0
for(i=8;i>0;i--)//循环8次(RB0-RB7)
{
delay();
delay();
delay();
PORTB=PORTB<<1;
}
PORTB=0;//清除B口所有显示
}
}

//---------------------------------------
//主函数
voidmain()
{
init();//调用初始化函数
led();//调用亮灯函数
}

 

 



              查看评论 回复



嵌入式交流网主页 > MCU > 单片机技术应用 > PIC16F628A LED流水灯示例程序 -
 

"PIC16F628A LED流水灯示例程序 -"的相关文章

网站地图

围观()