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

📄 cursor.c

📁 基于C51的通用人机界面程序
💻 C
字号:
#define _cursor_ 
#include "general.h"
#include "state.h"


//常量
//#define CEN 		2000	//中心
#define STEP 		65		//步长


//定义硬件引脚
sbit	cs1=P3^2;
sbit	cs2=P3^3;
sbit	PD=P3^7;
sbit	PC=P3^6;
sbit	PB=P3^5;
sbit	PA=P3^4;



/****************************************
31只LED组成的流水光标
输入:坐标数组
输出:显示函数
***************************************/
void gboff(void){
	cs1=1;
	cs2=1;
}

/*void init_154(void){
	PD=0;
	PC=0;
	PB=0;
	PA=0;
	cs1=0;
	cs1=1;
	cs2=0;
	PD=0;
	PC=0;
	PB=0;
	PA=0;
	cs2=1;
	//gboff();
}
*/
void gb(uint n,		//坐标
		uint cen)	//流水灯中心
{					//2035~2965,char型会溢出
	
	
	//gboff();
	//n=para_gb[5]*1000+para_gb[4]*100+para_gb[3]*10+para_gb[2];
	
	     if(n>(cen+31*STEP/2))	{cs1=0;cs2=1;PD=0;PC=0;PB=0;PA=0;/*delay(200);gboff();*/}							//left out
	else if(n>(cen+29*STEP/2))	{cs1=0;cs2=1;PD=0;PC=0;PB=0;PA=0;}//1
	else if(n>(cen+27*STEP/2))	{cs1=0;cs2=1;PD=0;PC=0;PB=0;PA=1;}//2
	else if(n>(cen+25*STEP/2))	{cs1=0;cs2=1;PD=0;PC=0;PB=1;PA=0;}//3
	else if(n>(cen+23*STEP/2))	{cs1=0;cs2=1;PD=0;PC=0;PB=1;PA=1;}//4
	else if(n>(cen+21*STEP/2))	{cs1=0;cs2=1;PD=0;PC=1;PB=0;PA=0;}//5
	else if(n>(cen+19*STEP/2))	{cs1=0;cs2=1;PD=0;PC=1;PB=0;PA=1;}//6
	else if(n>(cen+17*STEP/2))	{cs1=0;cs2=1;PD=0;PC=1;PB=1;PA=0;}//7
	else if(n>(cen+15*STEP/2))	{cs1=0;cs2=1;PD=0;PC=1;PB=1;PA=1;}//8
	else if(n>(cen+13*STEP/2))	{cs1=0;cs2=1;PD=1;PC=0;PB=0;PA=0;}//9
	else if(n>(cen+11*STEP/2))	{cs1=0;cs2=1;PD=1;PC=0;PB=0;PA=1;}//10
	else if(n>(cen+9*STEP/2))	{cs1=0;cs2=1;PD=1;PC=0;PB=1;PA=0;}//11
	else if(n>(cen+7*STEP/2))	{cs1=0;cs2=1;PD=1;PC=0;PB=1;PA=1;}//12
	else if(n>(cen+5*STEP/2))	{cs1=0;cs2=1;PD=1;PC=1;PB=0;PA=0;}//13
	else if(n>(cen+3*STEP/2))	{cs1=0;cs2=1;PD=1;PC=1;PB=0;PA=1;}//14
	else if(n>(cen+1*STEP/2))	{cs1=0;cs2=1;PD=1;PC=1;PB=1;PA=0;}//15
	else if(n>(cen-1*STEP/2))	{cs1=0;cs2=1;PD=1;PC=1;PB=1;PA=1;}//16--cent2485~2515
	else if(n>(cen-3*STEP/2))	{cs1=1;cs2=0;PD=0;PC=0;PB=0;PA=0;}//17
	else if(n>(cen-5*STEP/2))	{cs1=1;cs2=0;PD=0;PC=0;PB=0;PA=1;}//18
	else if(n>(cen-7*STEP/2))	{cs1=1;cs2=0;PD=0;PC=0;PB=1;PA=0;}//19
	else if(n>(cen-9*STEP/2))	{cs1=1;cs2=0;PD=0;PC=0;PB=1;PA=1;}//20
	else if(n>(cen-11*STEP/2))	{cs1=1;cs2=0;PD=0;PC=1;PB=0;PA=0;}//21
	else if(n>(cen-13*STEP/2))	{cs1=1;cs2=0;PD=0;PC=1;PB=0;PA=1;}//22
	else if(n>(cen-15*STEP/2))	{cs1=1;cs2=0;PD=0;PC=1;PB=1;PA=0;}//23
	else if(n>(cen-17*STEP/2))	{cs1=1;cs2=0;PD=0;PC=1;PB=1;PA=1;}//24
	else if(n>(cen-19*STEP/2))	{cs1=1;cs2=0;PD=1;PC=0;PB=0;PA=0;}//25
	else if(n>(cen-21*STEP/2))	{cs1=1;cs2=0;PD=1;PC=0;PB=0;PA=1;}//26
	else if(n>(cen-23*STEP/2))	{cs1=1;cs2=0;PD=1;PC=0;PB=1;PA=0;}//27
	else if(n>(cen-25*STEP/2))	{cs1=1;cs2=0;PD=1;PC=0;PB=1;PA=1;}//28
	else if(n>(cen-27*STEP/2))	{cs1=1;cs2=0;PD=1;PC=1;PB=0;PA=0;}//29
	else if(n>(cen-29*STEP/2))	{cs1=1;cs2=0;PD=1;PC=1;PB=0;PA=1;}//30
	else if(n>(cen-31*STEP/2))	{cs1=1;cs2=0;PD=1;PC=1;PB=1;PA=0;}//31
	else 					  	{cs1=1;cs2=0;PD=1;PC=1;PB=1;PA=0;/*delay(200);gboff();*/}//out
}

⌨️ 快捷键说明

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