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

📄 25431.c

📁 凌阳控制AD2543
💻 C
字号:
#include "SPCE061A.h"
#include "lcd.h"
#include "IO_SET.H"
#define uchar unsigned char
#define uint unsigned int


//IOB12 : clk   38pin
//IOB13 : dat_in read   37pin
//IOB14 : dat_out write  36pin
//IOB15 : cs    35pin
#define comm  0
#define dat   1 
void lcd_init(void)
{
         wr_lcd(comm,0x0030);			//基本指令集
		 wr_lcd(comm,0x0001);			//清除显示屏幕,把DDRAM位址计数器调整为"00H"
		 wr_lcd(comm,0x0003);			//把DDRAM位址计数器调整为"00H",游标回原点,该功能不影响显示DDRAM
		 wr_lcd(comm,0x0006);			//光标右移
		 wr_lcd(comm,0x000c);			//显示屏打开
}


void delay2543(int us)
  {  while(us--)
  *P_Watchdog_Clear=1;
  }
  
  void dis_end(uint in)          //十进制显示数据in
{
  uint i,m,n,j,a[8],g;
   m=in;
  for(i=0;m;i++)
   m=m/10;
  for(n=0;n<i;n++)
   {a[n]=in%10; 
   *P_Watchdog_Clear=1;
   in=in/10; }
   if(i==3)
   {
     wr_lcd(dat,'0'); 
     wr_lcd(dat,'.');	  
     for(j=i;j>0;j--)
       {  g=0x30+a[j-1];
           wr_lcd(dat,g);   
       }
   }
   else
   {
    for(j=i;j>0;j--)
       {  g=0x30+a[j-1];
           wr_lcd(dat,g);
          if(j==i)
          wr_lcd(dat,'.');	   
       }
   }   
}

void io_initial(void)
{
 *P_IOB_Dir=0xB007;
 *P_IOB_Attrib=0xf007;
 *P_IOB_Data=0x8000;
}


void send_a_bit(int n)
{
 if(n)
 	*P_IOB_Data |= 0x2000;   //IOB13 : dat_out write  set 1
 else
 	*P_IOB_Data &= 0xdfff;   //IOB13 : dat_out write  clr 0
}
void send_pulse_2543(void)
{
 set_IOB(12);    //*P_IOB_Data |= 0x4000;      //clk
 clr_IOB(12);    //*P_IOB_Data &= 0xbfff;
}

int get_a_bit(void)
{
 if(*P_IOB_Data&0x4000)
 return 1;
 else
 return 0;
}

int send_get_2543(int next_addr)			//int next_addr
{
 int i=12;
 unsigned int value=0;
 *P_IOB_Data=0x7fff&*P_IOB_Data;			//CS置为低电平
  while(i--)
  {
   	send_a_bit(0x0080&next_addr);
	next_addr=next_addr<<1;
	set_IOB(12);   //*P_IOB_Data |= 0x4000;           //clk  set  1
	delay(1);
   if(*P_IOB_Data&0x4000)
  	value=value | 0x0001;
   else
  	value=value & 0xfffe;
   value=value<<1;
	clr_IOB(12);   //*P_IOB_Data &= 0xbfff;          //clk  clr  0
	delay(1);
//   send_pulse_2543();
  }
  *P_IOB_Data |= 0x8000;			//CS置为高电平
  return(value>>1);
}

⌨️ 快捷键说明

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