˜Ë(bi¨¡o)î}: Çó¸÷λ´óÉñŽÍÖú°¡£¡£¡£¡êP(gu¨¡n)ÓÚ1602Òº¾§µÄ¡£¡£¡£ [´òÓ¡±¾í“(y¨¨)]

×÷Õß: ÀäÒ¹³½    •r(sh¨ª)ég: 2013-8-6 12:07
˜Ë(bi¨¡o)î}: Çó¸÷λ´óÉñŽÍÖú°¡£¡£¡£¡êP(gu¨¡n)ÓÚ1602Òº¾§µÄ¡£¡£¡£
/**************************************************
            Ãû·Q£»1602Òº¾§¿ØÖÆÅcï@ʾ³ÌÐò
***************************************************/
#include<stc15.h>
#include<intrins.h>
#include<stdio.h>
#define uint unsigned int
#define uchar unsigned char
sbit RS=P0^0;
sbit RW=P0^1;
sbit EN=P0^2;
#define lcd_data P0
//uchar Temp_Disp_Buff[17];
void delay5us()  [url=]//@12.000MHz[/url]
{
uchar i;

_nop_();
_nop_();
i = 15;
while (--i);
}
void Delay1ms()  [url=]//@12.000MHz[/url]
{
uchar i, j;
i = 12;
j = 169;
do
{
  while (--j);
} while (--i);
}
//Òº¾§ÆÁæµÈ´ý
void busy_LCD_wait()
{

    uchar h,l;
do      
{
// lcd_data |=0xf0;
  RS=0;
  RW=1;
  EN=1;
  delay5us();
  h=lcd_data;
  delay5us();
  EN=0;
  delay5us();
  EN=1;
  delay5us();
  l=lcd_data;
  delay5us();
  EN=0;
  delay5us();
}
while(h & 0x80);
}
//Œ‘LCDÃüÁî  (ï@ʾλÖã¬ï@ʾʲô£¬¹â˜Ë(bi¨¡o)µÈµÈ)
void Write_LCD_Command(uchar cmd)
{
busy_LCD_wait();
lcd_data = cmd & 0xf0 | 0x04;
delay5us();
EN=0;
delay5us();
lcd_data = cmd << 4 | 0x04;
delay5us();
EN=0;
delay5us();
}
// °l(f¨¡)ËÍ”µ(sh¨´)“þ(j¨´)  £¨ï@ʾƒÈ(n¨¨i)ÈÝ£©
void Write_LCD_Data(uchar dat)
{
busy_LCD_wait();
lcd_data = dat & 0xf0 | 0x05;
delay5us();
EN=0;
delay5us();
lcd_data = dat << 4 | 0x05;
delay5us();
EN=0;
delay5us();
}
// LCD ³õʼ»¯
void Init_LCD()
{
    lcd_data = 0xff;
lcd_data = 0x24;
_nop_();
EN=0;
delay5us();
Write_LCD_Command(0x28);   
Delay1ms();
Write_LCD_Command(0x0c);   
Delay1ms();
Write_LCD_Command(0x06);   
Delay1ms();
Write_LCD_Command(0x01);   
Delay1ms();
Write_LCD_Command(0x02);   
Delay1ms();
}
// ÔÚÖ¸¶¨Î»ÖÃï@ʾ×Ö·û´®
void LCD_ShowString(uchar r,uchar c,uchar *str)
{
    uchar i = 0;
uchar code DDRAM[] = {0x80,0x80+0x40};    // ƒÉÐÐÆðʼµØÖ·
Write_LCD_Command(DDRAM[r] | c);          // °l(f¨¡)ËÍï@ʾÆðʼλÖÃÃüÁî

for(i=0; str!='\0' && i<16; i++)
     Write_LCD_Data(str);

// for(; i<16; i++)                 //²»×ãÒ»ÐЕr(sh¨ª)ÓÿոñÌî³ä
//     Write_LCD_Data(' ');
}
void main()
{

Init_LCD();
while(1)
{
  LCD_ShowString(0,0,"welcome to");
  LCD_ShowString(1,0,"danpianji");
}
}


ß@ÊÇÎҵijÌÐò£¬Ö»ÓÃ4¸ù”µ(sh¨´)“þ(j¨´)¾€¡£¡£¬F(xi¨¤n)ÔÚÖ»ÓеÚÒ»ÐÐÄÜï@ʾ¡£¡£¡£µÚ¶þÐÐï@ʾ²»ÁË¡£¡£Ö÷º¯”µ(sh¨´)ÖаѵڶþÐÐï@ʾעáŒÁË¡£¡£µÚÒ»ÐÐï@ʾÕý³£¡£¡£¡£µ«ÊǰÑÒ»ÐÐï@ʾעጵô¡£¡£¡£µÚ¶þÐоÍÊDz»ï@ʾ¡£¡£¡£µ«ÊÇ°Ñ†ÎÆ¬™C(j¨©)”à늣¬ÔÚ½ÓÉÏ£¬µÚ¶þÐоͿÉÒÔï@ʾÁË¡£¡£¡£Çó½â´ð°¡¡£¡£¡£





šgÓ­¹âÅR (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1