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

📄 复件 (7) main.c

📁 ATMEL用IO模拟直接驱动内部无控制器的夏普320240
💻 C
📖 第 1 页 / 共 3 页
字号:
				PIO_ODSR = jzsj;
				clr_cp2;//24 
				jzsj = uc_yjsj[jzsjdz];
				++jzsjdz;    
		        set_cp2;
				PIO_ODSR = jzsj;
				clr_cp2; //25
				jzsj = uc_yjsj[jzsjdz]; 
				jzsj = jzsj>>4;
		        set_cp2; 
				PIO_ODSR = jzsj;
				clr_cp2;//26 
				jzsj = uc_yjsj[jzsjdz];
				++jzsjdz;    
		        set_cp2;
				PIO_ODSR = jzsj;
				clr_cp2; //27
				jzsj = uc_yjsj[jzsjdz]; 
				jzsj = jzsj>>4;
		        set_cp2; 
				PIO_ODSR = jzsj;
				clr_cp2;//28 
				jzsj = uc_yjsj[jzsjdz];
				++jzsjdz;    
		        set_cp2;
				PIO_ODSR = jzsj;
				clr_cp2; //29
				jzsj = uc_yjsj[jzsjdz]; 
				jzsj = jzsj>>4;
		        set_cp2; 
				PIO_ODSR = jzsj;
				clr_cp2;//30 
				jzsj = uc_yjsj[jzsjdz];
				++jzsjdz;    
		        set_cp2;
				PIO_ODSR = jzsj;
				clr_cp2; //31
				jzsj = uc_yjsj[jzsjdz]; 
				jzsj = jzsj>>4;
		        set_cp2; 
				PIO_ODSR = jzsj;
				clr_cp2;//32 
				jzsj = uc_yjsj[jzsjdz];
				++jzsjdz;    
		        set_cp2;
				PIO_ODSR = jzsj;
				clr_cp2; //33
				jzsj = uc_yjsj[jzsjdz]; 
				jzsj = jzsj>>4;
		        set_cp2; 
				PIO_ODSR = jzsj;
				clr_cp2;//34 
				jzsj = uc_yjsj[jzsjdz];
				++jzsjdz;    
		        set_cp2;
				PIO_ODSR = jzsj;
				clr_cp2; //35
				jzsj = uc_yjsj[jzsjdz]; 
				jzsj = jzsj>>4;
		        set_cp2; 
				PIO_ODSR = jzsj;
				clr_cp2;//36 
				jzsj = uc_yjsj[jzsjdz];
				++jzsjdz;    
		        set_cp2;
				PIO_ODSR = jzsj;
				clr_cp2; //37
				jzsj = uc_yjsj[jzsjdz]; 
				jzsj = jzsj>>4;
		        set_cp2; 
				PIO_ODSR = jzsj;
				clr_cp2;//38 
				jzsj = uc_yjsj[jzsjdz];
				++jzsjdz;    
		        set_cp2;
				PIO_ODSR = jzsj;
				clr_cp2; //39
				jzsj = uc_yjsj[jzsjdz]; 
				jzsj = jzsj>>4;
		        set_cp2; 
				PIO_ODSR = jzsj;
				clr_cp2;//40 
				jzsj = uc_yjsj[jzsjdz];
				++jzsjdz;    
		        set_cp2;
				PIO_ODSR = jzsj;
				clr_cp2; //41
				jzsj = uc_yjsj[jzsjdz]; 
				jzsj = jzsj>>4;
		        set_cp2; 
				PIO_ODSR = jzsj;
				clr_cp2;//42 
				jzsj = uc_yjsj[jzsjdz];
				++jzsjdz;    
		        set_cp2;
				PIO_ODSR = jzsj;
				clr_cp2; //43
				jzsj = uc_yjsj[jzsjdz]; 
				jzsj = jzsj>>4;
		        set_cp2; 
				PIO_ODSR = jzsj;
				clr_cp2;//44 
				jzsj = uc_yjsj[jzsjdz];
				++jzsjdz;    
		        set_cp2;
				PIO_ODSR = jzsj;
				clr_cp2; //45
				jzsj = uc_yjsj[jzsjdz]; 
				jzsj = jzsj>>4;
		        set_cp2; 
				PIO_ODSR = jzsj;
				clr_cp2;//46 
				jzsj = uc_yjsj[jzsjdz];
				++jzsjdz;    
		        set_cp2;
				PIO_ODSR = jzsj;
				clr_cp2; //47
				jzsj = uc_yjsj[jzsjdz]; 
				jzsj = jzsj>>4;
		        set_cp2; 
				PIO_ODSR = jzsj;
				clr_cp2;//48 
				jzsj = uc_yjsj[jzsjdz];
				++jzsjdz;    
		        set_cp2;
				PIO_ODSR = jzsj;
				clr_cp2; //49
			    jzsj = uc_yjsj[jzsjdz]; 
				jzsj = jzsj>>4;
		        set_cp2; 
				PIO_ODSR = jzsj;
				clr_cp2;//50 
				jzsj = uc_yjsj[jzsjdz];
				++jzsjdz;    
		        set_cp2;
				PIO_ODSR = jzsj;
				clr_cp2; //51
				jzsj = uc_yjsj[jzsjdz]; 
				jzsj = jzsj>>4;
		        set_cp2; 
				PIO_ODSR = jzsj;
				clr_cp2;//52 
				jzsj = uc_yjsj[jzsjdz];
				++jzsjdz;    
		        set_cp2;
				PIO_ODSR = jzsj;
				clr_cp2; //53
				jzsj = uc_yjsj[jzsjdz]; 
				jzsj = jzsj>>4;
		        set_cp2; 
				PIO_ODSR = jzsj;
				clr_cp2;//54 
				jzsj = uc_yjsj[jzsjdz];
				++jzsjdz;    
		        set_cp2;
				PIO_ODSR = jzsj;
				clr_cp2; //55
				jzsj = uc_yjsj[jzsjdz]; 
				jzsj = jzsj>>4;
		        set_cp2; 
				PIO_ODSR = jzsj;
				clr_cp2;//56 
				jzsj = uc_yjsj[jzsjdz];
				++jzsjdz;    
		        set_cp2;
				PIO_ODSR = jzsj;
				clr_cp2; //57
				jzsj = uc_yjsj[jzsjdz]; 
				jzsj = jzsj>>4;
		        set_cp2; 
				PIO_ODSR = jzsj;
				clr_cp2;//58 
				jzsj = uc_yjsj[jzsjdz];
				++jzsjdz;    
		        set_cp2;
				PIO_ODSR = jzsj;
				clr_cp2; //59
				jzsj = uc_yjsj[jzsjdz]; 
				jzsj = jzsj>>4;
		        set_cp2; 
				PIO_ODSR = jzsj;
				clr_cp2;//60 
				jzsj = uc_yjsj[jzsjdz];
				++jzsjdz;    
		        set_cp2;
				PIO_ODSR = jzsj;
				clr_cp2; //61
				jzsj = uc_yjsj[jzsjdz]; 
				jzsj = jzsj>>4;
		        set_cp2; 
				PIO_ODSR = jzsj;
				clr_cp2;//62 
				jzsj = uc_yjsj[jzsjdz];
				++jzsjdz;    
		        set_cp2;
				PIO_ODSR = jzsj;
				clr_cp2; //63
				jzsj = uc_yjsj[jzsjdz]; 
				jzsj = jzsj>>4;
		        set_cp2; 
				PIO_ODSR = jzsj;
				clr_cp2;//64 
				jzsj = uc_yjsj[jzsjdz];
				++jzsjdz;    
		        set_cp2;
				PIO_ODSR = jzsj;
				clr_cp2; //65
				jzsj = uc_yjsj[jzsjdz]; 
				jzsj = jzsj>>4;
		        set_cp2; 
				PIO_ODSR = jzsj;
				clr_cp2;//66 
				jzsj = uc_yjsj[jzsjdz];
				++jzsjdz;    
		        set_cp2;
				PIO_ODSR = jzsj;
				clr_cp2; //67
				jzsj = uc_yjsj[jzsjdz]; 
				jzsj = jzsj>>4;
		        set_cp2; 
				PIO_ODSR = jzsj;
				clr_cp2;//68 
				jzsj = uc_yjsj[jzsjdz];
				++jzsjdz;    
		        set_cp2;
				PIO_ODSR = jzsj;
				clr_cp2; //69
				jzsj = uc_yjsj[jzsjdz]; 
				jzsj = jzsj>>4;
		        set_cp2; 
				PIO_ODSR = jzsj;
				clr_cp2;//70 
				jzsj = uc_yjsj[jzsjdz];
				++jzsjdz;    
		        set_cp2;
				PIO_ODSR = jzsj;
				clr_cp2; //71
				jzsj = uc_yjsj[jzsjdz]; 
				jzsj = jzsj>>4;
		        set_cp2; 
				PIO_ODSR = jzsj;
				clr_cp2;//72 
				jzsj = uc_yjsj[jzsjdz];
				++jzsjdz;    
		        set_cp2;
				PIO_ODSR = jzsj;
				clr_cp2; //73
				jzsj = uc_yjsj[jzsjdz]; 
				jzsj = jzsj>>4;
		        set_cp2; 
				PIO_ODSR = jzsj;
				clr_cp2;//74 
				jzsj = uc_yjsj[jzsjdz];
				++jzsjdz;    
		        set_cp2;
				PIO_ODSR = jzsj;
				clr_cp2; //75
				jzsj = uc_yjsj[jzsjdz]; 
				jzsj = jzsj>>4;
		        set_cp2; 
				PIO_ODSR = jzsj;
				clr_cp2;//76 
				jzsj = uc_yjsj[jzsjdz];
				++jzsjdz;    
		        set_cp2;
				PIO_ODSR = jzsj;
				clr_cp2; //77
				jzsj = uc_yjsj[jzsjdz]; 
				jzsj = jzsj>>4;
		        set_cp2; 
				PIO_ODSR = jzsj;
				clr_cp2;//78 
				jzsj = uc_yjsj[jzsjdz];
				++jzsjdz;    
		        set_cp2;
				PIO_ODSR = jzsj;
				clr_cp2; //79
			}
		    set_cp1;
			set_cp1;
		    --y;
		    clr_cp1;
			clr_cp1;
			clr_cp1;
		} 
		clr_disp;
	}
}
//数据PA0-PA7
//定义脚位
#define bmxh set_25						//忙信号
#define byjs set_26	 					//已接收信号
#define bzlsj set_27	 				//指令数据
#define bywmc set_28	 				//移位脉冲
//
#define set_mxh PIO_SODR = bmxh
#define clr_mxh PIO_CODR = bmxh	   //忙信号
#define set_yjs PIO_SODR = byjs
#define clr_yjs PIO_CODR = byjs	 	//已接收信号
#define qs_zlsj (PIO_PDSR&bzlsj)	 	//指令数据
#define qs_ywmc (PIO_PDSR&bywmc)	 	//移位脉冲
/*
	初始化,复位忙信号,复位已接收信号	
	等待,移位脉冲变高,锁存脉冲变低,取数
*/
void hssxsj(void)		//刷新数据
{
	unsigned char jzddz;		//读数据还是地址
	unsigned int jisjdz;		//数据地址
	unsigned int jizcsj;		//暂存数据
	set_mxh;	   //忙信号
	set_yjs;	 	//已接收信号
	PIO_ODR |= 0xff;			//低8位输入
	PIO_ODR |=bzlsj;	 		//指令数据输入
	PIO_ODR |=bywmc;			//移位脉冲输入
	PIO_OER |= bmxh;			//忙信号定义输出
	PIO_OER |= byjs;			//已接收定义输出
    PIO_OWDR = 0xffffff00;		//禁用I/O 线对PIO_ODSR 写。只写
	jzddz = 0;		//读地址
	hsqkmg();		//清看门狗
	hst0sz(); 		//t0设置
	set_mxh;	    //忙信号
	set_yjs;	 	//已接收信号
	while(uz_zd2msyd ==0)
	{
		if(qs_ywmc != 0)	 	//移位脉冲
		{
			set_yjs;	 	//置已接收信号
			clr_mxh;	   //忙信号
		}
		else
		{
			if(qs_zlsj != 0)		//是指令指令数据
			{
				jzddz = 0;			//读地址
			}
			else
			{
				switch(jzddz)		  //读地址
				{
					case 0:
					{
						jzddz = 1;
						jizcsj = (int)(PIO_PDSR);		//暂存数据	//数据地址
					}
					break;
					case 1:
					{
						jzddz = 2;		//读地址
						jisjdz = (int)(PIO_PDSR);		//暂存数据	//数据地址
						jizcsj = jizcsj<<8;
						jizcsj &= 0xff00;
						jisjdz &= 0x00ff;
						jisjdz |= jizcsj;	 			//取数据地址
					}
					break;
					case 2:
					{
						uc_yjsj[jisjdz] = (char)(PIO_PDSR);		//暂存数据	//数据地址
						++jisjdz;
					}
					break;
				}	
			}
			clr_yjs;	 	//置已接收信号
			while(qs_ywmc == 0)	 	//等待下一个数据移位脉冲
			{
				;
			}
		}
	}
	set_mxh;	   //忙信号
	set_mxh;	   //忙信号
	set_yjs;	 	//已接收信号
	TC0_IDR = 0xffffffff;
	uz_zd2msyd = 0;
	TC0_CCR=0x02; // reset start软件触发命令软件触发执行:计数器复位,时钟启动。
}			

⌨️ 快捷键说明

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