⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 led_01.c

📁 PIC LED 流水灯实验
💻 C
字号:
//*本实验用于熟悉8位流水灯的使用
// 先轮流点亮8个灯,再依次点亮1,3,5,7
// 2.4.6.8个灯;接着同时点亮1,3,5,7;同时点亮
// 2,4,6,8.交替进行三次。
// 硬件要求: 拨码开关S0全部置ON
//芯片配置字,看门狗关,上电延时开,掉电检测关
//低压编程关,加密,4M晶体HS振荡
//作者:龙爷。2009年01月11日

//------头文件及数据定义----------------
#include<pic.h>
__CONFIG(0xf739); 

//------函数申明------------------
void	delayUS(unsigned char j);	//US级延时子函数
void	delayMS(unsigned char b);	//MS级延时子函数

//-------主函数-------------------
void main()
{   
	while(1)              //死循环,让c口流水灯一直工作
	{
		int i;            //定义局部变量
		TRISC=0X00;       //定义C为输出
		PORTC=0X01;       //RCO置高电平,点亮第一个灯
		for(i=8;i>0;i--)  //循环左移七次
		   {
			   delayMS(200);          //调用延时函数
			   delayMS(200);          //两次延时便于观察,也可以用一次长一点的延时函数。
			   PORTC=PORTC<<1;   //显示左移
			 }
		PORTC=0x01;
		for(i=4;i>0;i--)
		  {
			  delayMS(200);          //1,3,5,7亮
			  delayMS(200);
			  PORTC=PORTC<<2;   //左移两位
			}
		PORTC=0X02;
		for(i=4;i>0;i--)
		   {                         //2,4,6,8依次亮
			   delayMS(200);
			   delayMS(200);
			   PORTC=PORTC<<2;
			}
		for(i=3;i>0;i--)             //循环三次
			{                       
		        PORTC=0XAA;         //1,3,5,7同时亮
	         	delayMS(200);
	         	delayMS(200);
	        	PORTC=0X55;         //2,4,6,8同时亮
	        	delayMS(200);
	        	delayMS(200);
	         }
	      }
		}
		
//----------子程序---------

void  delayUS(unsigned char i)			//US级延时子函数
{		
	while(--i);
	}
void  delayMS(unsigned char a)			//MS级延时子函数
{		do{
	     delayUS(199);
	     }while(--a);
	     }
			   
				


 

 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -