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

📄 lcd_ocmj.c

📁 AD9851-dds的设计资料
💻 C
字号:
#include<iom128v.h>
#include<macros.h>
#define ASK           (PINE&0X40)
#define SBT_ANSWER    PORTE|=BIT(PORTE7)
#define CLR_ANSWER    PORTE&=~BIT(PORTE7)
#define SBT_RESET     PORTC|=BIT(PORTC3)
#define CLR1_RESET    PORTC&=~BIT(PORTC3)
#define DPORT_A       PORTA


/*************************************/
void delay(unsigned char n)
  {
   unsigned char i;
  
    for(;n>0;n--)
   for(i=0;i<100;i++);
  }

/**************************************/
  void initail_ocmj(void)
  { 
   MCUCR=0X00;
   DDRA=0XFF;         
   DPORT_A=0XFF;
   DDRE=0X80;      ///PORTE.7作为输出脚
   PORTE=0XFF;
   DDRC=0X08;
   CLR1_RESET;
   delay(100);
   SBT_RESET;
   CLR_ANSWER;
   delay(100);
 }



/***************************************/ 
  void ocmj_write(unsigned char adata)
   {
      while(ASK);
     DPORT_A=adata;
     _NOP();
    SBT_ANSWER;
    _NOP();
    while(ASK==0);
    CLR_ANSWER;
  }
 /********************************************/ 
 
   void write_lcd_word(unsigned char cmd ,unsigned char x,unsigned char y,unsigned char *pp)
             /// x:0x00~0x07 y:0x00~0x03  
      { x+=2;
	  while(*pp!=0)
       { ocmj_write(cmd);
        ocmj_write(x);
        ocmj_write(y);
		 ocmj_write(*pp-0xa0);
		 pp++;
		 ocmj_write(*pp-0xa0);
		 pp++;
		if(x<0x09)
 		    x++;
		 else
		    {
			 x=0x02;
			 y++;
			}	
       }
	 }
/**********************************************************************/	 
void write_asiic(unsigned char x,unsigned char y,unsigned char *asc_p)
  
    {
	 x+=4;
	while((*asc_p)!=0)
	   {
		 ocmj_write(0xf1);
		 ocmj_write(x);
		 ocmj_write(y);
		 ocmj_write(*asc_p);
		 asc_p++;
		 if (x<0x13) 
		    x++;
		 else
		   {
		    x=0x04;
			y+=8;		    
		   }	
		}	
	 }

 /********************************************************/
   void write_a(unsigned char x,unsigned char y,unsigned char asc_p)
    {
	         
	     x+=4;
		 ocmj_write(0xf1);
		 ocmj_write(x);
		 ocmj_write(y);
		 ocmj_write(asc_p);
      }
	////CLR LCD  
  /********************************/
	   void  DisplayListChar(unsigned char x,unsigned char y)
     {
        unsigned char i,asc_p;
        asc_p=' ';
        x+=4;
       for(i=0;i<16;i++)
          {   ocmj_write(0xf1);
		      ocmj_write(x+i);
		      ocmj_write(y);
		      ocmj_write(asc_p);
	      }
		  
        }	
     

⌨️ 快捷键说明

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