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

📄 pic16f690.c

📁 单路闪烁控制
💻 C
字号:
/****************************************************************/
//频率切换程序,从0.1HZ-1HZ,空档时ON,每档递增0.1HZ
//些程序不使用中断等任何高级功能,以便移植所有低档单片机,降低成本!
//
/****************************************************************/
#include <pic.h>
#include <pic16f685.h>
__CONFIG(0x03F8C);

//***************************************
#define BYTE unsigned char 
#define	WORD unsigned int

#define	G_LED	RC3

#define	SW1		RB7
#define	SW2		RB6
#define	SW3		RB5
#define	SW4		RB4
#define	SW5		RC2
#define	SW6		RC1
#define	SW7		RC0
#define	SW8		RA2
#define	SW9		RA1
#define	SW10	RA0
			
BYTE flash_data,flag_timesover;

//*************************************
	void ini()
	{
		OPTION=07;//;定时器1:256分频器初始值
		ANSEL=0;
		ANSELH=0;
		TRISA=0x07;
		TRISB=0xf0;
		TRISC=0x07;
		PORTA=0;
		PORTB=0;
		PORTC=0;
	}
//*****************************times查询子程序,flag_timesover=1时,延时500MS。
	void sub_times()
	{
		BYTE i;
		asm("clrwdt");
		if (TMR0>121)
		{
			TMR0=0;
			i++;
			if(i>(flash_data*15))
			{
				flag_timesover=1;
				i=0;
			}
		}		
	}
//*********************************
	void Loop_hz()
	{
		sub_times();
		if(flag_timesover==1)
		{
			flag_timesover=0;
			if(flash_data!=0)			//==0,没有键值,常亮
			{
				G_LED=!G_LED;
			}
			else
			{
				G_LED=1;
			}
		}	
	}
//*********************************	
	void Loop()
	{
		while(1)
		{
			asm("clrwdt");
			flash_data=0;			
		//	if(!SW1+!SW2+!SW3+!SW4+!SW5+!SW6+!SW7+!SW8+!SW9+!SW10==1)	//所有的IO口,只能有一个为低电平
			{
				if(SW10==0)
				{
					flash_data=10;	
				}
				if(SW9==0)
				{
					flash_data=9;
				}
				if(SW8==0)
				{
					flash_data=8;
				}
				if(SW7==0)
				{
					flash_data=7;	
				}
				if(SW6==0)
				{
					flash_data=6;
				}
				if(SW5==0)
				{
					flash_data=5;
				}
				if(SW4==0)
				{
					flash_data=4;	
				}
				if(SW3==0)
				{
					flash_data=3;
				}
				if(SW2==0)
				{
					flash_data=2;
				}
				if(SW1==0)
				{
					flash_data=1;
				}
			}
		Loop_hz();
		}
	} 
//*******************************
	main()
	{ 
		ini();
		Loop();
	}

⌨️ 快捷键说明

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