コード例 #1
0
ファイル: 1602chuanhang.c プロジェクト: anan-cn/MCU
void lcd_write(bit start, uchar in_data) 
{
    uchar Hdata,Ldata;

    while(lcd_busy());

    Hdata=in_data&0xf0;             //取高四位
    Ldata=(in_data<<4)&0xf0;    //取低四位

    if(start==0) 
    LCD_RS = 0;               //写入命令
    else
    LCD_RS = 1;                 //写入数据

    LCD_RW = 0;
    LCD_EN = 0;
    delayNOP();

    P0 = Hdata;                 //发送高四位   
    LCD_EN = 1;
    delayNOP();
    LCD_EN = 0;
    delayNOP();

    P0 = Ldata;                 //发送低四位     
    LCD_EN = 1;
    delayNOP();
    LCD_EN = 0;
    delayNOP();
}
コード例 #2
0
ファイル: hao.c プロジェクト: caozhengquan/Learning
/*写数据 */
void write_data(uchar dat)
{                          
   while(lcd_busy());
    LCD_RS = 1;
    LCD_RW = 0;
    LCD_EN = 0;
    P2 = dat;
    delayNOP();
    LCD_EN = 1;
    delayNOP();
    LCD_EN = 0; 
}
コード例 #3
0
void lcd_wdat(uchar dat)
{                          
   while(lcd_busy());
    LCD_RS = 1;
    LCD_RW = 0;
    LCD_EN = 0;
    P0 = dat;
    delayNOP();
    LCD_EN = 1;
    delayNOP();
    LCD_EN = 0; 
}
コード例 #4
0
ファイル: hao.c プロジェクト: caozhengquan/Learning
/*写指令数据到LCD  */
void lcd_wcmd(uchar cmd)
{                          
   while(lcd_busy());
    LCD_RS = 0;
    LCD_RW = 0;
    LCD_EN = 0;
    _nop_();
    _nop_(); 
    P2 = cmd;
    delayNOP();
    LCD_EN = 1;
    delayNOP();
    LCD_EN = 0;  
}
コード例 #5
0
ファイル: MMC.c プロジェクト: WilliamRen/hc6800e
//****************************************************************************
//Routine for reading a byte from MMC/SD-Card
  //Software SPI
//****************************************************************************
unsigned char Read_Byte_MMC()
{ 
   unsigned char temp=0;
   unsigned char i;
   SPI_DO=1;

   for (i=0;i<8;i++)    //MSB First
   {
     SPI_CLK=0;         //Clock Low
     if(Init_Flag)
	 delayNOP();   
     SPI_CLK=1;         //Clock High
     if(Init_Flag) 
	 delayNOP();	

	 temp=(temp<<1)|SPI_DO; 	  //read mmc data out pin 
   }
   return (temp);
}
コード例 #6
0
ファイル: 1602chuanhang.c プロジェクト: anan-cn/MCU
/**********************************************************

* 检查LCD忙状态                                           
* lcd_busy为1时,忙,等待。                               
* lcd-busy为0时,闲,可写指令与数据                        

**********************************************************/ 
bit lcd_busy()
{                          
    bit result;
    LCD_RS = 0;
    LCD_RW = 1;
    LCD_EN = 1;
    delayNOP();
    result = (bit)(P0&0x80);
    LCD_EN = 0;
    return(result); 
}
コード例 #7
0
ファイル: MMC.c プロジェクト: WilliamRen/hc6800e
//****************************************************************************
void Write_Byte_MMC(uchar value)
{ 
   unsigned char i;

   for (i=0;i<8;i++)
   { 
     if (value&0x80)
	  SPI_DI=1;      //Send bit by bit(MSB First)
     else 
	  SPI_DI=0;

     SPI_CLK=0;         //Clock low
     if(Init_Flag)
	  delayNOP();
     SPI_CLK=1;        //Clock High
     if(Init_Flag)
	  delayNOP();
     value <<=1;
   }
}